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 在讀取存儲器的運用