0引言
随着城市化建设和交通事业的飞速发展,在智能交通系统(ITS)的研究和发展中,交通诱导信息系统是解决交通拥挤、保证交通安全、提高交通网络使用效率的主要手段。交通信息的发布是整个诱导系统中发挥直接效应的重要组成部分,利用它实时发布交通指令、道路状况等信息来提高道路的通行能力。LED点阵显示屏以其色彩鲜艳、亮度高、寿命长、工作稳定可靠等优点成为交通信息发布的重要途径。单基色(红色或绿色)LED显示屏往往不能满足信息分类和视角上的差别,而交通信息主要面向车辆驾驶者,由于车辆在可视距离内停留的时间很短,因此应避免用复杂的多灰度图形和动画内容,以免干扰行驶者。而在以二基色实现红、黄、绿三种颜色的显示屏系统中,红、黄、绿是交通领域内的通用颜色,分别代表禁止、警告、和同意性标语,既可以达到颜色变化的效果,给人视觉上的差别,又与交管部门的信号装置颜色相吻合。采用双CPU和双口RAM制作大型三色图文显示系统,将数据处理和传输分别由两个独立的CPU来完成,不仅提高了系统的处理速度和稳定性,软件设计也相对简单。
1系统总体设计方案
显示屏的内容是动态刷新的,CPU要进行大量的数据处理和传输。根据人的视觉特性,频率应大于50HZ,在实际设计时,为了达到比较好的效果,频率一般大于60HZ。对于大型的图文显示屏来说,基于单处理器和普通存储器的系统在硬件和软件设计上都遇到叫大困难,显示内容易出现闪烁。采用双CPU结构和双口RAM使处理数据和输出数据同时进行,提高扫描速度,显示内容相当稳定。总体结构如图1。
1. 1系统双CPU控制原理
两片CPU均采用AT89C51,带4KROM,对本系统来说空间已足够。CPU1负责与指挥中心PC机进行通信和缓存区内数据的处理与编排,CPU2负责行扫描信号的产生和显示数据的输出。采用非易失性的存储芯片28C64存储显示内容,可存放8K字节的汉字、ASCII或图形。IDT7132是COMS静态双口RAM,存储容量为2K x8 bit。它有两套完全独立的数据线、地址线和读写控制线,并有一套竞争仲裁电路,因而可以使用两个CPU分地独立的访问内部资源。
图1 系统原理框图
将IDT7132的2K字节存储空间分为2个显示缓存E1区和E2区,分别占1K字节的空间。CPU1通过P1.1和P1.2与CPU2(P3.2,P3.3)进行协调,对缓存区E1和E2交替使用。CPU1处理E1区的数据时,CPU2将E2区的数据输出显示。当CPU2输出完E2区的数据后,转向对E1区的数据输出,并通知CPU1对E2区的数据进行处理,开始下一轮的循环。由于两片CPU访问的是ITD7132的两块不同的区域,避免了对同一单元同时进行访问,不存在仲裁的问题,因此两片CPU可同时独立工作,分别完成数据的处理和传输,减轻了CPU2处理大量数据的压力,大大提高运行速度,显示内容相当稳定。
CPU1在处理数据的同时,通过RS232接口随时监测指挥中心发来的命令和数据。如显示屏开/关、颜色、运行方式、移动速度、交通信息内容等。CPU1接受完数据并处理好缓存区的数据后通知CPU2开始输出显示新的内容并按新的运行控制字运行。
1.2颜色的产生和控制
显示模块采用8X8点阵的双基色模块,有16个引角驱动红色的灯管和16个引角驱动绿色灯管,其组合的颜色可以达到明黄的效果。行扫描信号用两片74LS154 4-16译码器完成,通过CPU2的P3.4,P3.5控制,分别产生16行红色和16行绿色扫描信号,高电平有效。若P3.4=1,P3.5=1,即同时为高电平,则同时产生红色和绿色扫描信号,显示屏的颜色表现为黄色,从而实现三色。在交通领域中,红色代表禁止性标语,黄色代表警告性标语,而绿色代表同意性标语,与交通部门在实际应用中的信号颜色保持一致。根据显示内容的需要,通过应用程序编排,可以同时实现三种颜色的文字和图行的显示,如图2。
1.3通用显示单元的驱动
驱动电路设计的好坏直接影响到系统的生产成本和显示的效果及系统的运行性能。采用16块双级基色8x8点阵模块构成16x64点阵的通用显示单元。分两行,每行8块。行扫描信号用两片74LS154 4-16译码器完成,列数据的输出采用并行移位锁存的传输方式。可以选用74LS273这样一类锁存芯片,采用首尾相连的方式。这种方式虽然对印刷线路扳的质量要求高,密度大,增加了布线的难度,但目前的制板技术和采用SMD贴片元件,完全可以克服。且这一设计方案优点是传输速度快,控制方便,系统的整体投入成本比较低,大大地提高系统的性价比。P3.1与写信号(/WR)经过或非门后产生锁存信号,同时锁存列数据。行、列信号的驱动分别采用PNP型的BD682和NPN型的BD681达林顿管,其特点是增益高,开关速度快,设计电路简单。
整个显示屏根据尺寸大小,可以象“搭积木”一样进行拼接,以保证系统安装方便。
2 通信传输和网络控制
在诱导系统中,交通信息的发布和显示要有一定的实时性,实现实时数据的传输。网络结构如图3。
图3 系统网络结构框图
用标准的RS232通信方式实现指挥中心与显示系统信息的传输,对于距离较远的可通过电话线用MODEM或光纤通讯。指挥中心通过接受采集的交通信息和调度指令,对不同位置的显示子系统进行集中控制和管理。每个信息显示子系统分配不同的端口号(地址),分别实时检测和接受指挥中心发来的不同路段的交通信息和图文数据。PC机应用软件利用VB6.0的ActiveX控件MSCcomm能方便的开发使用计算机的串口,可简单高效的实现设备之间的通信。其使用方法目前有很多书籍均有介绍,这里不多加论述。
3 系统软件设计
3.1单片机显示控制的软件设计
LED 点阵显示屏可实现动态、静态图文显示。动态中有打字、左移、右移、上移、下移、开帘、关帘等多种方式。可根据显示屏的尺寸规格和内容选择不同的颜色、显示方式和移动速度。通过标准RS232接口,计算机将编辑好的文字或图形数据下载到主控器,并存储在非易失性存储器中,然后就可以脱机运行。整个软件程序采用C51编程,由于采用了双CPU的结构,使得处理数据和传输数据分别由两片CPU来完成,避免了处理大量数据的复杂性,编程实现相对比较简单。
3.2应用软件点阵数据的提取
本文设计的显示屏可以实现汉字、全角字符和ASCII码混合显示,编辑文本简单灵活。选用UCDOS的ASC16和HZK16文件做字模库。HZK16文件是16x16字模点阵,占32个字节,而ASC16文件的字符为16x8点阵,占16个字节,针对这种情况,本文提出了一种新的字模处理方法,把汉字拆成两半,形成左右结构,当作两个字符,这样就和ASCII码的字模统一起来了,使处理汉字和字符都一样。对于特殊符号,可以直接通过程序界面输入点阵数据。图形的点阵数据的提取,可以先做一个BMP文件,然后用取模软件获得。根据GB2312—80标准,若知道汉字或字符的内码,假设为A1A2B1B2H,则可根据如下公式计算区位码。若为汉字则
区码=(A1A2-A1H) AND 7FH
位码=(B1B2H=A1H) AND 7FH
若为全角字符则
区码=(A1A2-21H) AND 7FH
位码=(B1B2H=21H) AND 7FH
点阵起始位置=(区码*94+位码)x点阵字节数
ASC16文件所有字符按照ASCII值从小到大升序排列。计算字符首地址的公式:
字符点阵首地址=字符的ASCII码值×16+1
根据起始地址连续取32或16个字节数据即可获得字模。限于篇幅,程序省略。
4 结束语
基于该设计方法的显示屏,扫描速度快,实际运行结果也相当稳定。三种颜色的实现保持了与交通部门采用信号颜色的一致性。用户根据定制的显示屏的尺寸,在硬件上只需对通用显示单元的拼接,在软件上则可进行灵活地编辑图文内容,颜色和运行方式。
参考文献
[1] 陆慰民.Visual Basic程序设计教程(6.0版).高等教育出版社,2000.7
[2] 王宏民.LED显示屏的驱动方案.黑龙江电子技术,1999.5
[3] 孙国栋等.VB6.0在LED在汉字显示信息系统中的应用.计算机信息, 2003 19,9
[4] 马忠梅.单片机的C语言应用程序设计.北京:航空航天大学出版杜,1999.1