1 引 言
在LED大屏幕等显示系统对数据输出速度的要求日益提高的背景下,当前对控制设备进行改造的过程中,首选的办法是更换更高速率的微处理器,而对硬件电路的挖潜往往容易被忽视。
在实践运用中,建议应先考虑在原有的系统上进行硬件电路改造,如仍不能满足显示要求,可再考虑更换高速率微处理器及用FPGA/ CPLD 器件进行输出电路替代处理的方案。本文以LED 大屏幕控制电路为例,提出了一种在硬件电路改造上提高显示数据输出速度的实现办法。
在研究目前LED 大屏幕控制电路的基础上,提出了一种提高输出速度的实现方法。文中给出了该方法的原理与电路图,并探讨了不同计数方式下,数据的组织与显示的实现过程。此方法如果与FPGA/ CPLD 改造、使用更高频率单片机的方式相结合,将会进一步提高大屏幕控制电路的性能。改造电路可以高至单片机主频的1/ 4 频率送出显示数据,文中说明了使用此方式时应注意的事项。
2 数据输出电路的优化基理
由LED大屏幕的显示原理可知,一个数据显示在LED大屏幕的过程分为:从存储器中读出数据与送入到LED板中显示两个步骤。这一过程需要产生如下控制信号:数据地址送入存储器,存储器读信号,锁存器开通及LED单元板中的行信号、HC595 的SCK 移位、RCK 锁存、E 使能信号等。这些必需信号的产生增加了数据显示过程的时间。如果能够复用其中的信号,势必减少这一过程的延时。在LED显示系统中,常把显示数据按行存储到外部ROM/ RAM 中的办法即是一例。该办法设定存储器的高位并接到L ED的行控制线上,数据按行储存,送入数据地址后,按行读出数据,并同时开通了行控制信号。下面的信号复用方案也是类似的原理。
图1 信号复用示例
在考查读外存的MOVX 命令时发现:执行该命令时可产生读信号(RD # ),即读外存时不但不需要另外去产生读信号(RD # ),而且还可以将此信号供给锁存器74HC273 及LED板上的移位信号SCK使用。这里要注意的是:在数据读出后,SCK信号才送出,所以RD # 信号不可直接做SCK信号使用,必须做延时处理(最小延时必须要略大于RAM 的读写时间tRC与74HC273 的数据锁存延时tTL H之和)。
而当连续读出一块存储器数据时,需要通过程序产生新的地址赋值给数据口, 而这些地址都是顺序变化的。基于这一特点,设计采用计数器电路用来保存读数据时的初始地址,利用外部供给的脉冲,只要对计数器的保存地址进行顺序增加,即可将数据连续读出。
单片机ALE 脚或是利用串行口工作方式也会产生一定频率的脉冲,但没有SPI 方式下产生的脉冲频率高,且这两种方式的使用均有一定的限制,而启动SPI 方式比较方便。串行外围接口(Serial Perip heral Interface , SPI) 总线系统是一种同步串行外设接口,是Motorola 首先在其MC68HCXX 系列处理器上定义的。SPI 系统有4 个I/ O 脚,它们是串行时钟SPSCK、主机输入/从机输出数据线MISO、主机输出/ 从机输入数据线MOSI 和低位有效的从机选择数据线SS.SP2SCK用于同步数据从MOSI 输入和MISO 的输出传送。通过对SPI 控制寄存器SPCR 的设置,SPSCK的频率最高可以达到振荡器频率( fOSC )的1/ 4。
因为SPI 模式可方便产生出较高频率脉冲的优点,即采用SPSCK作为计数器的脉冲,利用计数器对存储器产生连续变化的地址,实现对数据的高速读出。并且SPSCK 信号经过变换与延时处理,可同时供给LED做SCK移位信号使用。
图2 SPI 在读取存储器的运用