LED电子显示屏的数据存储和处理
扫描二维码
随时随地手机看文章
摘要:采用发光二极管(LED)点阵模块构成的电子显示屏已经越来越广泛地应用于生产、生活、公共场所等各个方面。用于小型公示场所的电子显示屏是规模最小的一种。设计这类电子显示屏的原则是,在满足显示要求的前提下,尽量节省投入,缩短开发周期,以降低成本。而正确选择、设计异步式LED电子显示屏的数据存储和处理方案,是设计这类电子显示屏的关键。
关键词:LED;数据存储器;读/写速度
引言
采用发光二极管(LED)点阵模块构成的电子显示屏已经越来越广泛地应用于生产、生活、公共场所等各个方面。其规模和复杂程度各有所异,投入成本也差别很大。按照微处理器工作原理,可将电子显示屏分为两大类:同步型和异步型。前者的微处理器就是一台电脑,显示屏在电脑支持下工作。其优点是规模大、显示花样多,可用于彩色显示。很显然,其缺点是成本高、体积大,须专业人员操作。异步型电子显示屏的微处理器一般采用单片机(MCU),显示内容由电脑通过通信方式发送到单片机系统的数据存储器,显示控制完全由单片机完成。异步型电子显示屏具有结构简单、维护方便、显示刷新简单、无需专业人员操作、成本低等优点,但对于大规模、彩色、显示花样复杂的动态显示它却无能为力。
用于小型公示场所(例如公交车的到站提示等)的电子显示屏是规模最小的一种,自然采用异步型系统比较合适。设计这类电子显示屏的原则是,在满足显示要求的前提下,尽量节省投入,缩短开发周期,以降低成本。为此,选择通用型51系列单片机为核心是明智的选择。
1 原理概述
本电子显示屏的整体硬件结构如图1所示。本系统采用的是共阴极(AS)的LED点阵模块,行、列驱动方法上与一般资料所述不同。由于篇幅限制,本文不作详细论述。
由图1可以看出,本系统的片外数据存储器(RAM)与MCU通过地址锁存器交换数据。小规模电子显示屏的显示内容一般在几十个到几百个汉字,按一个汉字字模占用32字节计算,故32 KB的数据存储器可存储900个汉字。实际上,由于汉字在动态显示时(例如左移、上移等),需要进行数据处理,故需在片外数据存储器预留3 KB左右的空间作为数据处理缓冲空间。这是对片外数据存储器的容量要求。[!--empirenews.page--]
有时候数据处理量是很大的。例如,一屏32个汉字左移,一次需处理32×32=1024个字节,处理过程有读也有写,因此对片外数据存储器的读/写速度有严格要求。否则,会因为数据处理消耗大量时间而造成闪烁。这是对片外数据存储器读/写速度的要求。
电子显示屏一次显示的内容通常希望重复显示几天、几个星期甚至几个月才得以更新。为此,片外RAM中汉字字模数据至少要能保存一个更新周期,不能因停电、下班而丢失。因此对片外数据存储器有掉电不丢失数据(即“不挥发”)的要求。
2 存储器选择
2.1 数据存储器性能比较
开发试验过程中,关注过如表1所列的各种可能用于单片机扩展的片外数据存储器芯片。
表中所列的前3类都有掉电不丢失数据功能。第一类为光擦除程序存储器,不能在线写入,只能用作只读存储器,显然不适用于本系统。第二类为电擦除程序存储器,在线写入数据不多时,也可以作为不挥发数据存储器使用。它是按页(16字节)写入,页之间须有一定延时。由于本系统要求一次连续写入的数据可能多达1 KB,故写入速度不能满足要求。第三类为闪烁(Flash)存储器,其读/写速度应该很快,但是在写入时也是和第二类一样分块写入。一块为64字节,块之间写入需要一定延时(ms级),故不能在指定地址连续大量数据,经过试验以后,本系统也摒弃了这类存储器。表中所列最后两类都属于静态数据存储器,读/写速度都很快,其引脚完全和单片机爱好者所熟悉的6264(8KB)兼容,只要增加两条地址线即可。HKl235-7实际上是62256加上保持数据的电池组成的模块。广告宣传数据可以保持10年不丢失,实际上,我们在以前的课题中使用发现数据不能保持这么长时间,而且价格昂贵,是62256的10倍!无论开发试验或者产品生产都不宜选择HK1235-7模块。
2.2 对62256的评价
表中所列的62256属于51系列单片机典型的片外数据存储器,一片62256的容量为32 KB,完全可以满足小规模显示系统的要求。若用户嫌容量不够还可以扩展第二片、第三片。62256的读/写速度与单片机匹配,可以达到最快。而且,可以对任意指定地址进行单个字节或者连续写入,一次写入的字节数没有限制。和其他RAM芯片一样,其缺点是掉电不能保持数据。在试验中,我们另辟蹊径解决了这一问题。[!--empirenews.page--]
3 实现方法和效果
3.1 实现62256数据不挥发的方法
参照HK1235-7模块的方法,在靠近62256的电路板上增加了一颗专用于保持数据的电池,如图2所示。图中二极管有两方面作用:一是在电源停电时,防止锂电池对其他元件放电,缩短保持数据时间;二是在电源对锂电池充电时,对电源电压进行钳位。因为锂电池最高电压为4.2 V左右,电源电压为5 V,二极管正向饱和压降为0.7 V左右,故可防止锂电池的过充电。
3.2 调试中遇到的问题
3.2.1 二极管选型问题
开始试验时,选用检波二极管4148作为钳位二极管,使用不到一个星期发现被击穿短路,无法保持数据。后来改用整流二极管1N4007,长期使用,未发现击穿问题。可能是在锂电池充电电流比较大,特别是当锂电池刚充电时,本身电压比较低,充电电流最大,故检波二极管容易损坏。
3.2.2 片外数据存储器读/写技巧
刚开始调试显示程序的时候,为了节省时间,没有使用串口通信向62256注入汉字编码(汉字字模),而是将程序存储器(ROM)的汉字字模传送给62256。
这样的传送过程必须有两个地址指针才能完成,AT89S52正好满足了这一要求。例如,将ROM中512字节的字模传送给62256,程序流程如图3所示。
[!--empirenews.page--]
以下为此段子程序对应的代码全文。
由上述程序清单可以看出,AT89S52并没有实际独立的两个地址指针,而是通过修改特殊功能寄存器OA2H中的数据(0或者1)使一个地址指针指向两个不同的16位地址,就像操作两个地址指针一样。
程序清单中第一条指令对于读/写片外数据存储器是必要的。如果不对P2口初始化,可能出现读/写错误,这一点是经过反复试验得出的结论。
3.3 使用效果
LED电子显示屏的片外数据存储器的扩展方案经调试后试运行半年,工作正常。读/写速度完全和MCU匹配,数据保持时间为2天到1星期(视锂电池充电容量而定)。这一数据保持周期完全能满足实际使用需要。
4 结论
①用于LED电子显示屏的片外数据存储器的芯片不但要满足存储容量要求,更加重要的是要满足读/写速度要求,还要能在一定周期内保持数据不丢失。
②试验证明,采用62256加保持数据电池是最佳方案。此方案已经试运行半年,完全符合使用要求,其成本也是最低的。