图2.2 用动态扫描显示字符9的过程
假设X,Y为两个8位宽的字节型数据,X的每位对应LED模块的8根列线X7-X0,同样Y的每位对应LED模块的8根行线Y7-Y0。在这个示例中,Y叫行扫描线,行扫描线在每个时刻只有一根线为“1”即有效行选通电平,X叫列数据线,其内容就是点阵化的字模数据的体现。下面用伪代码描述动态显示的过程。 (1).Y=0x01,X=0xFF,如图 2.2第一行; (2).Y=0x1C,X=0x02,如图 2.2第二行; (3).Y=0x22,X=0x04,如图 2.2第三行; (4).Y=0x22,X=0x08,如图 2.2第四行; (5).Y=0x1E,X=0x10,如图 2.2第五行; (6).Y=0x01,X=0x20,如图 2.2第六行; (7).Y=0x04,X=0x04,如图 2.2第七行; (8).Y=0x38,X=0x80,如图 2.2第八行; (9).跳到第(1)步循环。
如果高速地进行(1)到(9)的循环,且两个步骤间的间隔时间小于124秒,由于视觉暂留。LED显示屏上将呈现出一个完整的“9”字符。这就是动态扫描的原理。只不过实际运用的时候,列线和行线
通常不止8位,还要根据列线和行线的数量来决定是用行线或列线来做扫描线。例如0601条屏(每行6个汉字,共1行),行线有16根,列线有96根[10]。如果用列线来做扫描线,则每列LED在每96次循环扫描中只可能亮一次,则其发光视觉平均亮度为直流亮度的196。如果用行线来做扫描线,则每16次循环,每行LED就能亮一次,其发光视觉平均亮度为直流情况下的116。可见,用行线做扫描线,因为其发光周期的占空比较大,其视觉亮度是用列线做扫描线的6倍。因而发光效率比前者高。
在实际运用的时候,还要在每两帧之间加上合适的延时,以使人眼能清晰的看见发光。在帧切换的时候还要加入余辉消除处理。比如先将扫描线全部设置为无效电平,送下一行的列数据后再选通扫描线,避免出现尾影。
3 系统设计的任务与方案论证 3.1 设计任务
本设计的任务要求完成可以控制兼容T12和T08显示屏单元板并可扩展显示单元数目的单色动态调幅屏 (1)、显示区域:单色显示64*32点;
(2)、通过上位机修改显示内容,按键可改变显示内容; (3)、能存储16*16点阵汉字不少于64个。 3.2 设计方案论证 3.2.1 显示单元模块的选择
LED显示屏显示一个简单的汉字,至少需要一个16*16点阵单
元来构成,根据发光点直径的大小分为3.75mm和5mm的LED点阵模块。
方案一:3.75mm的小型发光二极管组成的8*8的点阵模块,发光亮度不足,电流过大时易烧坏,远距离观看视觉效果模糊一般把3.75mm的屏作为室内屏使用。
方案二:5mm直径组成的8*8点阵模块,在同样的距离内5mm直径的发光二极管组成的8*8的点阵模块所发出的亮度值大约是3.75mm单元模块的一倍,清晰程度也高于3.75mm的单元模块。
因此为了在较远距离处获得清晰的视觉效果,本设计选择方案二,采用32个8×8点阵单元,像素直径5mm的LED模块拼接成32*64的LED显示屏。这样每个8×8汉字能够获得16×16cm的显示尺寸,因此在50米处仍能清晰阅读。而本设计使用是一块完整的32*64的点阵屏,能同时显示8个汉字。 3.2.2 主控制器的选择
随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。从单片机,到FPGA,直到现在的ARM处理器。控制器的种类也在不断发展以适应市场需求,不同功能档次的广告屏对应着不同的处理器。
方案一:以单片机(STC12C5A60S2高速单片机)为控制器的LED显示屏。STC12C560S2单片机是传统的8051单片机的升级版,外部时钟频率可达到80MHZ、60K的FLASH存储器、1280字节的ROM和10位AD转换,拥有P4口适合需要多个IO的设计系统。
其内部资源对于点阵单元模块确定的条屏LED显示屏,无论从存储容量还是单片机的执行速度都能很好的适用单元点阵模块确定的LED显示屏
方案二:以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。
方案三:以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。
经过上面方案的比较最终确定选择方案一,选用STC12C5A60S2单片机作为本次设计的核心控制器,其内部资源丰富、成本比较低廉各项功能均能满足本设计的要求。 3.2.3 点阵数据存储方式的选择
目前使用最广泛的技术是,通过上位机软件将待显示的字符串转换为对应的点阵字模数据,通过烧写的方式将这些字模数据按一定的
顺序编址后存储在E2PROM中。在条屏显示的过程中按规定的方式取出E2PROM中的字模数据进行处理。对于一个16*16点阵的汉字字模数据,需要连续32字节的E2PROM空间来存储。照此计算,若有256个需要显示的字符,则至少需要32B×256=8192字节(8KB)的E2PROM存储空间。通常的单片机内部没有集成这么大容量的E2PROM。因此需要在单片机外部扩展大容量的E2PROM。 方案一:选用FLASH存储器来存储上位机发送过来的汉字编码,FLASH存储器种类多样,其中最为常用的为NOR型和NAND型FLASH。通常NOR型比较适合存储程序代码,其随机读写速度快,容量一般较小,且价格较高,一般只能整块读写数据,随机存取能力差。它们对数据的存取不是使用线性地址映射,而是通过寄存器的操作串行存取数据。FLASH存储器的擦除过程相对费时,且擦除流程相对复杂。
方案二:选用AT24C64存储器来存储汉字编码,AT24C64采用的是I2C总线接口方式,I2C总线是一种用于IC器件之间连接的二线制总线。连接总线的器件的输出必须是集电极或漏极开路,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbits,在快速方式下,最高传送速率可达400kbits。它通过SDA(串行数据线)及SCL(串行时钟线)两根线和连在总线上的上位机进行通信,并根据地址识别每个器件。采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线