在 LED大屏幕等显示系统对数据输出速率的哀求日益提高的背景下,当前对掌握设备进行改造的过程中,首选的办法是改换更高速率的微处理器,而对硬件电路的挖潜每每随意马虎被忽略。
在实践利用中,建议应先考虑在原有的系统上进行硬件电路改造,如仍不能知足显示哀求,可再考虑改换高速率微处理器及用 FPGA/ CPLD 器件进行输出电路替代处理的方案。本文以 LED 大屏幕掌握电路为例,提出了一种在硬件电路改造长进步显示数据输出速率的实现办法。

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 在读取存储器的利用
3 SPI 利用的实现过程
从上文可以得到这样的启迪:在 LED 掌握电路的设计中,可借助于 SPI 模式读取数据,即增加一块 SPI 模式的 FLASH 存储器,一方面可以保存主要文档,另一方面可以利用 SPSCK 产生的旗子暗记,通过计数器电路实现对存储器高速读数据,并且复用此旗子暗记产生屏幕显示的掌握旗子暗记。在给定了输出数据的首地址并启动 SPI 后,此办法使数据的读出到屏幕显示这一过程自动进行,同一旗子暗记源的全硬件办法大大减少了以往分别产生各掌握旗子暗记办法时的衔接延时。图 3 为 SPI 在 LED 大屏幕掌握电路中的利用示例。
图 3 SPI 模式下的 LED 大屏幕掌握电路图
级联计数器的个数根据 RAM 的容量大小,即地址线的数目来确定。微处理器通过驱动器连接 SPI 串行存储器, 驱动器可以选择 7407 或 7417 的型号。RM_MODE 用来差异不同的读写操作办法。当 RM_MODE = 1 时,是普通读写外部存储器的办法,当 RM_MODE = 0 时,就可以让主机作为主器件,串行 FLASH 存储器作为从器件,两者以 SPI 办法进行通信,利用此时产生的 SPSCK 旗子暗记对存储器进行高速读数据操作。同时 SPSCK 旗子暗记经由变换与延时处理,可以供给 LED 做 SCK 移位旗子暗记用。在计数脉冲的输入端,可以利用跳线做加、减办法的选择处理。当脉冲接于计数器 UP 端时, 为加计数办法, 接于 DOWN 时,为减计数办法。图 3 也可扩展并接多组计数器,多组 RAM.
减计数器办法的利用大大增强了数据输出的灵巧性。在 LED 大屏幕显示中,加、减计数器合营利用,可以使相同一块掌握卡输出数据的显示长度提高一倍。当利用减计数器办法时,为了与利用加办法时 LED 大屏幕上显示的图文同等,必须对与减计数器连接的 RAM 的数据进行上、下半屏交流处理,并且在输出时要在程序中改变数据的起始点,给出的行掌握旗子暗记(RCK) 也应做倒序处理(见图 4)。
图 4 加、减法模式下的数据组织与显示
4 本办法利用时的把稳事变
本办法利用时要把稳计数器及 RAM 芯片的读写速率必须与 SPSCK 相匹配。SPI 办法的速率比较高,电路各器件读取速率越高,数据出错的几率就会越小。
此外还有其他一些缘故原由也会引起读数据时的缺点。如软件编写不当导致数据地址超出 RAM 空间,电路设计未重视计数器高速事情时发热对周边器件与布线带来的影响等。
利用 SPSCK 旗子暗记读取外部储存器时,同样会产生 SPI 主、从模式下的溢出错误,即连续传输多个数据时, 后一个数据覆盖了前一个数据而产生的缺点。这种缺点产生的缘故原由是从器件的传输标志 SPIF 从相对付主器件的传输标志 SPIF 主有一定的滞后,在主器件连续发送数据时,会导致从器件的传输标志和主器件下一个数据的传输标志相重叠,而利用 SPSCK 触发计数器使地址递加读取数据,第一个收到的数据也会被覆盖。
这种传输缺点可以用软、硬件的方法进行改进。在本文的设计中,后期在软件编写上采取了如下办理方法:先启动 SPI 模式,再进入计数器读并行 RAM ,摧残浪费蹂躏一个时序。或是在 RAM 中存入数据时,全部存到它后一位的地址单元上,再用 SPI 办法产生的脉冲去读 RAM ,就可得到精确的数据。
理论上本文办法可使显示数据的输出速率高至 fOSC 的 1/ 4 ,但实际利用时却受到了 RAM、锁存器等输出电路器件的参数限定。SPSCK 的速率设定要根据所选择 RAM 的参数确定,即要知足 RAM 最小的地址有效韶光与数据有效韶光的哀求。
图 5 主、从 SPIF 时序下的数据溢出错误
5 结 语
在 LED 大屏幕的显示过程中,读取数据频繁,且随着显示面积的增加与色彩变革的丰富,对数据输出速率的哀求越来越高。普通办法读取一个字节的 RAM 数据,至少须要两个机器周期,即 24 T (时钟周期)。而利用 SPI 办法,数据的输出速率由 SPSCK(最高可设置为 f OSC 的 1/ 4) 决定,而普通办法读 RAM 的速率只有 1/ 24 f OSC ,即在 SPI 模式下,此 LED 大屏幕电路的数据输出速率最大可提高 6 倍。通过此方法对输出电路进行改造,可极大地使原有掌握系统知够数据高速输出的哀求。本文给出的例子虽是基于 LED 大屏幕运用的,但在 LCD 或是其他对数据有高速输出哀求的系统中,同样具有借鉴利用意义。






