DIY编程器网

标题: LED电子显示屏的数据存储和处理 [打印本页]

作者: admin    时间: 2015-5-2 10:46
标题: LED电子显示屏的数据存储和处理
摘要: 采用发光二极管(LED)点阵模块构成的电子显示屏已经越来越广泛地应用于生产、生活、公共场所等各个方面。用于小型公示场所的电子显示屏是规模最小的一种。设计这类电子显示屏的原则是,在满足显示要求的前提下,尽量节省投入,缩短开发周期,以降低成本。而正确选择、设计异步式LED电子显示屏的数据存储和处理方案,是设计这类电子显示屏的关键。
关键词: LED;数据存储器;读/写速度
Data Storage and Processing of LED Electronic Display Monitor
Ren Yanwu(Department of Computer Science and Technology, Changsha University, Changsha 410003,China)
Abstract:Lightemitting diode (LED) dot matrix modules of the electronic display has become increasingly widely used in the production, life, public spaces and other aspects. Electronic screen for small publicity sites is the smallest one. The principle of designing such electronic display is to meet the display requirements and shorten the development cycle to reduce costs. Proper selection and design of asynchronous LED electronic display of data storage and processing program is the key.
Key words: LED; data memory; readwrite speed
引言
  采用发光二极管(LED)点阵模块构成的电子显示屏已经越来越广泛地应用于生产、生活、公共场所等各个方面。其规模和复杂程度各有所异,投入成本也差别很大。按照微处理器工作原理,可将电子显示屏分为两大类:同步型和异步型。前者的微处理器就是一台电脑,显示屏在电脑支持下工作。其优点是规模大、显示花样多,可用于彩色显示。很显然,其缺点是成本高、体积大,须专业人员操作。异步型电子显示屏的微处理器一般采用单片机(MCU),显示内容由电脑通过通信方式发送到单片机系统的数据存储器,显示控制完全由单片机完成。异步型电子显示屏具有结构简单、维护方便、显示刷新简单、无需专业人员操作、成本低等优点,但对于大规模、彩色、显示花样复杂的动态显示它却无能为力。
  用于小型公示场所(例如公交车的到站提示等)的电子显示屏是规模最小的一种,自然采用异步型系统比较合适。设计这类电子显示屏的原则是,在满足显示要求的前提下,尽量节省投入,缩短开发周期,以降低成本。为此,选择通用型51系列单片机为核心是明智的选择。
1 原理概述
  本电子显示屏的整体硬件结构如图1所示。本系统采用的是共阴极(AS)的LED点阵模块,行、列驱动方法上与一般资料所述不同。由于篇幅限制,本文不作详细论述。


图1 系统硬件结构框图
  由图1可以看出,本系统的片外数据存储器(RAM)与MCU通过地址锁存器交换数据。小规模电子显示屏的显示内容一般在几十个到几百个汉字,按一个汉字字模占用32字节计算,故32 KB的数据存储器可存储900个汉字。实际上,由于汉字在动态显示时(例如左移、上移等),需要进行数据处理,故需在片外数据存储器预留3 KB左右的空间作为数据处理缓冲空间。这是对片外数据存储器的容量要求。
  有时候数据处理量是很大的。例如,一屏32个汉字左移,一次需处理32×32=1024个字节,处理过程有读也有写,因此对片外数据存储器的读/写速度有严格要求。否则,会因为数据处理消耗大量时间而造成闪烁。这是对片外数据存储器读/写速度的要求。
  电子显示屏一次显示的内容通常希望重复显示几天、几个星期甚至几个月才得以更新。为此,片外RAM中汉字字模数据至少要能保存一个更新周期,不能因停电、下班而丢失。因此对片外数据存储器有掉电不丢失数据(即“不挥发”)的要求。
2 存储器选择
2.1 数据存储器性能比较
  开发试验过程中,关注过如表1所列的各种可能用于单片机扩展的片外数据存储器芯片。
表1 存储器芯片性能比较


  表中所列的前3类都有掉电不丢失数据功能。第一类为光擦除程序存储器,不能在线写入,只能用作只读存储器,显然不适用于本系统。第二类为电擦除程序存储器,在线写入数据不多时,也可以作为不挥发数据存储器使用。它是按页(16字节)写入,页之间须有一定延时。由于本系统要求一次连续写入的数据可能多达1 KB,故写入速度不能满足要求。第三类为闪烁(Flash)存储器,其读/写速度应该很快,但是在写入时也是和第二类一样分块写入。一块为64字节,块之间写入需要一定延时(ms级),故不能在指定地址连续大量数据,经过试验以后,本系统也摒弃了这类存储器。表中所列最后两类都属于静态数据存储器,读/写速度都很快,其引脚完全和单片机爱好者所熟悉的6264(8 KB)兼容,只要增加两条地址线即可。HK12357实际上是62256加上保持数据的电池组成的模块。广告宣传数据可以保持10年不丢失,实际上,我们在以前的课题中使用发现数据不能保持这么长时间,而且价格昂贵,是62256的10倍!无论开发试验或者产品生产都不宜选择HK12357模块。
2.2 对62256的评价
  表中所列的62256属于51系列单片机典型的片外数据存储器,一片62256的容量为32 KB,完全可以满足小规模显示系统的要求。若用户嫌容量不够还可以扩展第二片、第三片。62256的读/写速度与单片机匹配,可以达到最快。而且,可以对任意指定地址进行单个字节或者连续写入,一次写入的字节数没有限制。和其他RAM芯片一样,其缺点是掉电不能保持数据。在试验中,我们另辟蹊径解决了这一问题。
3 实现方法和效果
3.1 实现62256数据不挥发的方法
  参照HK12357模块的方法,在靠近62256的电路板上增加了一颗专用于保持数据的电池,如图2所示。图中二极管有两方面作用:一是在电源停电时,防止锂电池对其他元件放电,缩短保持数据时间;二是在电源对锂电池充电时,对电源电压进行钳位。因为锂电池最高电压为4.2 V左右,电源电压为5 V,二极管正向饱和压降为0.7 V左右,故可防止锂电池的过充电。


图2 片外数据存储器数据保持电路
3.2 调试中遇到的问题
3.2.1 二极管选型问题
  开始试验时,选用检波二极管4148作为钳位二极管,使用不到一个星期发现被击穿短路,无法保持数据。后来改用整流二极管1N4007,长期使用,未发现击穿问题。可能是在锂电池充电电流比较大,特别是当锂电池刚充电时,本身电压比较低,充电电流最大,故检波二极管容易损坏。
3.2.2片外数据存储器读/写技巧


图3 数据传送子程序流程
  刚开始调试显示程序的时候,为了节省时间,没有使用串口通信向62256注入汉字编码(汉字字模),而是将程序存储器(ROM)的汉字字模传送给62256。这样的传送过程必须有两个地址指针才能完成,AT89S52正好满足了这一要求[1]。例如,将ROM中512字节的字模传送给62256,程序流程如图3所示。
  以下为此段子程序对应的代码全文。
 MOV  P2,#0
 MOV  0A2H,#1
 MOV DPTR,#400H;设置DPTR1,指向RAM空间
 MOV  0A2H,#0
 MOV DPTR,#TABHZ;设置DPTR0,指向ROM空间
 MOV R6,#2;设置循环变量R6、R4为512次
STAR: MOV  R4,#0
LOP1: CLR  A
 MOV 0A2H,#0
 MOVC  A,@A+DPTR;从ROM空间读取一个字模进A
 INC DPTR;ROM地址增1
 MOV 0A2H,#1
 MOVX @DPTR,A;A中字模送RAM
 INC DPTR;RAM地址增1
 DJNZ R4,LOP1
 DJNZ R6,STAR;判断循环是否结束
 RET
 ……
TABHZ:DB……;512字节字模数据块
 DB……
  由上述程序清单可以看出,AT89S52并没有实际独立的两个地址指针,而是通过修改特殊功能寄存器0A2H中的数据(0或者1)使一个地址指针指向两个不同的16位地址,就像操作两个地址指针一样。
  程序清单中第一条指令对于读/写片外数据存储器是必要的。如果不对P2口初始化,可能出现读/写错误,这一点是经过反复试验得出的结论。
3.3 使用效果
  LED电子显示屏的片外数据存储器的扩展方案经调试后试运行半年,工作正常。读/写速度完全和MCU匹配,数据保持时间为2天到1星期(视锂电池充电容量而定)。这一数据保持周期完全能满足实际使用需要。
4 结论
  ① 用于 LED电子显示屏的片外数据存储器的芯片不但要满足存储容量要求,更加重要的是要满足读/写速度要求,还要能在一定周期内保持数据不丢失。
  ② 试验证明,采用62256加保持数据电池是最佳方案。此方案已经试运行半年,完全符合使用要求,其成本也是最低的。
参考文献
[1] 张迎新.单片机基础[M].北京:北京航空航天大学出版社,2006.
[2] 张奇志.一种小型LED电子显示屏系统[J].现代电子技术,2000(9):7477.
[3] 韩润萍,陈小萍. 点阵LED显示屏控制系统[J].微计算机信息,2003(10):5051.
[4] 董伟烽,李钟慎.电子显示屏单片机控制系统的设计[J].华侨大学学报:自然科学版,2008(3):336337.
任燕舞(高级实验师),研究方向为计算机应用。

作者: 李小路    时间: 2020-10-1 19:16
谢谢分享!




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2