《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 串行FLASH存儲器在小型LED顯示系統(tǒng)中的應用
串行FLASH存儲器在小型LED顯示系統(tǒng)中的應用
現代電子技術
摘要: LED顯示屏由于其具有耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠等特點,已經成為 ...
關鍵詞: 譯碼 串行 信號 掃描
Abstract:
Key words :

  LED顯示屏由于其具有耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠等特點,已經成為新一代的信息傳播媒體工具。LED與LCD相比較最突出的特點是亮度高、成本低且屏幕尺寸可根據現場情況用標準LED單元板拼制。按安裝位置可分為:室外、半室外和室內;按顏色可分為:單色、雙基色和彩色;按發(fā)光二極管點距可分為:φ5.0,φ3.75及φ3.0等。本文以市場上常見的室內雙色LED單元板為控制對象,說明基于STC單片機的LED顯示屏控制系統(tǒng)工作原理以及數據組織方法。

1 標準雙色LED單元板的硬件組成及工作原理

  市場上常見的室內雙色LED單元板電路框圖如圖1(a)所示。其中行掃描" title="掃描">掃描電路由2片74HC138(3-8譯碼" title="譯碼">譯碼器)構成的4-16譯碼器加上多個4953(MOS管)組成的,掃描方式為:1/16。上下半屏分別由2組用74HC595串行" title="串行">串行移位寄存器實現紅色、綠色顯示數據的列輸入,在圖1(a)所示的64×32標準LED單元板中每組串行移位寄存器中有8個74HC595級聯,4組共用了32個74HC595。74HC595內部電路框圖如圖1(c)所示。所有4組74HC595的控制信號" title="信號">信號RCK,SCK,EN全部接在一起,74HC595的控制信號和4組串行移位寄存器的輸入以及行掃描控制信號A,B,C,D構成整個LED單元板的輸入。74HC595的控制信號經驅動后和4組串行移位寄存器的輸出以及行經過驅動的掃描控制信號A,B,C,D構成整個LED單元板的輸出,用于級聯下一個LED單元板的輸入。雙色LED單元板等效電路框圖如圖1(b)所示。
 

 

2 LED顯示控制系統(tǒng)的硬件組成及工作原理

  LED顯示控制系統(tǒng)的硬件組成如圖2所示。從表面上看是一個普通的單片機簡單應用,實際上在設計此系統(tǒng)時已經考慮了很多硬件、軟件及硬軟件配合的因素。首先在使用51單片機的前提下,用其串行口方式0似乎可以利用單片機發(fā)出的移位脈沖將8位數據送入74HC595中,但要實現圖2中8位數據的同時輸入必須加入其他的輔助芯片,而且在減小數據傳輸時間上沒有什么好處。其次,采用FPGA,CPLD等可編程芯片設計成專用硬件電路與單片機接口可大幅度提高數據傳輸的速度,但成本也將同步大幅度提高。

  STC12C5410為IT高速低功耗單片機,其運行速度為一般標準51系列單片機的8~12倍,并具有標準的SPI和RS 232串行口。本文所述的LED顯示控制系統(tǒng)以其為核心控制芯片。圖2為雙色LED顯示屏控制系統(tǒng)電路原理圖,在圖2所示的LED控制系統(tǒng)中,SST25VF016B為16 Mb,具有SPI接口的8PIN串行FLASH存儲器,由于SST25VF016B工作電壓為3 V,故使用U3,U4兩片74LVC245完成5 V到3 V和3 V到5 V的電平轉換。SST25VF016B的SPI接口最大工作頻率為50 MHz,而STC12C5410 SPI接口最大工作頻率為晶振的1/4,故不存在速度上不匹配的問題。行掃描信號A,B,C,D由P1.0~P1.3控制。圖1(a)中74HC595的控制信號RCK,EN及SCK由P3.3~P3.5提供。顯示數據從P2口輸出。

3 LED顯示控制系統(tǒng)的數據組織及軟件優(yōu)化

  LED顯示控制系統(tǒng)的數據組織如圖3所示。從圖2可以得到如圖3(a)所示的從正面看過去顯示行與顯示數據位以及顏色的對應關系。圖2所示的硬件結構決定了每一行的數據可連續(xù)排列,同時為了提高數據的讀取速度,將所有顯示數據均按掃描行、掃描列進行連續(xù)排列,可得到如圖3(b)表明的存儲單元與掃描行、存儲單元數據位及顏色的關系。

  具體編程時可按下列步驟進行:

  (1)將準備掃描的行地址送P1口的低4位中。

  (2)初始化SST25VF016B將讀地址指針指向待顯示行相應存儲單元的首地址。

  (3)啟動SPI以順序讀方式連續(xù)讀顯示數據,并將顯示數據送P2口。

  (4)每讀一個數據通過P3.5產生一個SCK脈沖(SST25VF016B在順序讀方式下地址自動加1),將P2口上的顯示數據移入74HC595串行移位寄存器。

  (5)重復(2),(3),(4)直到一行數據顯示完畢,通過P3.3產生RCK將通過移位寄存器移入的一行數據顯示。
  (6)重復(2)~(5)直到16行數據全部顯示完畢。
  (7)重復(1)~(6)刷新顯示。
  源程序1和源程序2均為用C51編寫的顯示一屏完整數據的顯示函數。不同之處在于源程序1的SPI讀寫為一個單獨的函數,而源程序2為了進一步提高數據讀取的速度將顯示時的讀顯示數據變成了一個循環(huán)體。由于SST25VF016B串行大容量FLASH在給定讀地址后可連續(xù)的讀,其讀地址會自動加1,所以按圖2(b)所示的數據組織形式為一屏顯示數據在SST25VF016B中連續(xù)存放,編程時連續(xù)讀一行數據后再改變掃描行直到16行全部顯示完成。編程的指導思想是盡量減少SPI接口的無效等待時間,因此在源程序2第19行將讀取的顯示數據送P2口后第29行立刻啟動下一次SPI讀,而將SCK脈沖的發(fā)送指令放在SPI讀數據期間,然后再來判斷SPI讀數據是否完成。源程序2第10行啟動SPI讀是為一屏顯示最開始預讀第1行第1個數據(與第11行至第24行的循環(huán)體配合)。為避免出現顯示拖尾在第25至第29行換行時關閉顯示。實驗結果表明:源程序1每幀的顯示時間在24MHz晶振的條件下達到25 ms,即40幀/s,而源程序2在同樣晶振條件每幀的顯示時間為14 ms,即70幀/s,源程序2的執(zhí)行速度遠高于源程序1。

        為了便于控制,所以要求顯示程序與LED屏的硬件結構無關,通過自定義8字節(jié)顯示指令條[命令(1個字節(jié))+參數表(7個字節(jié))],將各種不同顯示效果所需的參數(如:LED顯示屏的硬件信息、起始地址、結束地址、每行長度、顯示時間等)指定存放在指令參數表中。顯示指令表存放在顯示數據的最前面,而指令表的長度亦用指令的方式加以描述,底層單片機運行時根據顯示指令可實現不同的顯示效果,如:畫面的切換、定時、水平移動、垂直移動以及特殊顯示效果。
4 控制系統(tǒng)單片機的選型及PC機軟件編程
  單片機的運行速度直接決定了顯示速度的快慢,而單片機的運行速度又與單片機的時鐘、(晶振)頻率和單片機的結構有關,在時鐘頻率確定的情況下,單片機的硬件結構直接決定單片機的運行速度。目前主流單片機主要采用以下兩種方式:

  (1)倍頻方式,通過硬件重新設計將標準51單片機一個機器周期12T改為6T、4T甚至1T;
  (2)利用硬件提高某些指令,如:MOVX指令的運行速度,采用雙DPTR模式,甚至在執(zhí)行MOVX指令后DPTR可自動加減1。
  本文中使用的STC單片機號稱為1T單片機,并非所有指令均為1T,但幾乎所有指令都在標準單片機指令運行速度上大幅度提高。其速度綜合約為標準51單片機的8倍,可以滿足顯示控制系統(tǒng)對單片機運行速度的要求。
  PC機軟件編程采用VB編程,該程序可完成各種字體、字型點陣的提取、顯示數據的組織、顯示效果的模擬演示、顯示信息的管理等功能。底層單片機運行時根據顯示指令可實現不同的顯示效果,如:畫面的切換、定時、水平移動、垂直移動以及其他特殊顯示效果。
5 結 語
  本控制系統(tǒng)通過大量的實驗檢驗是非??煽康?,利用該控制系統(tǒng)制作的小型LED顯示屏與一般用51單片機為控制核心的LED顯示控制系統(tǒng)相比,屏幕的刷新速度大幅度提高,在研制運行過程中也對該控制系統(tǒng)做了多方面的改進。如為了進一步提顯示速度可對編譯后的程序做匯編級的優(yōu)化,利用有些51單片機如DS89C450具有DPTR自動加1的功能,外加用CPLD制成的硬件地址發(fā)生器等。但所有改進的措施都是以增加外部輔助電路或成本為代價的。本控制系統(tǒng)的價格按市價不超過50元,因此其在小型LED顯示控制系統(tǒng)中有著廣泛的應用前景。
此內容為AET網站原創(chuàng),未經授權禁止轉載。