基于CPLD和Embedded System的LED點(diǎn)陣顯示
摘要:采用自頂向下的設計思想,綜合運用EDA 技術(shù)、CPLD技術(shù)和共享式雙口RAM,解決了大屏幕LED點(diǎn)陣顯示屏無(wú)閃爍顯示的技術(shù)難題。給出了系統設計方法及實(shí)際電路。
本文引用地址:http://dyxdggzs.com/article/150499.htmLED點(diǎn)陣顯示屏是顯示公共信息的一種重要顯示終端,其中大屏幕LED點(diǎn)陣顯示屏在許多場(chǎng)合得以應用。大屏幕顯示所采用的技術(shù)比中小屏幕顯示難度更大,因為其屏幕大、LED點(diǎn)數多,要求在極短的時(shí)間內刷新每個(gè)點(diǎn),使得其掃描速率必須非常高,所以只有設計合理的控制電路才能達到這個(gè)要求。本文著(zhù)重解決大屏幕LED點(diǎn)陣顯示這一技術(shù)難題。通過(guò)采用自頂向下的設計思想,綜合運用高速CPLD、雙口RAM等技術(shù)和芯片,設計出了大、小屏幕皆適合的顯示控制電路。特別是利用單片機、CPLD與雙口RAM的無(wú)縫結合,將復雜的任務(wù)分配給不同的硬件處理,滿(mǎn)足了對實(shí)時(shí)性的要求。本系統不僅給大屏幕LED點(diǎn)陣顯示提供了優(yōu)良的控制電路,而且為CPLD器件和EDA技術(shù)提供了切實(shí)的應用實(shí)例。其中,共享雙口RAM的應用,為高速總線(xiàn)與低速總線(xiàn)的通信提供了一個(gè)新的解決方案。
1 硬件設計
顯示系統由信號處理電路和掃描電路兩大塊構成,其系統原理框圖如圖1所示,實(shí)際電路框圖如圖2所示。微處理器MCU采用8 位單片機AT89C51,它通過(guò)串口接收來(lái)自PC機的待顯示數據。由于PC機串行總線(xiàn)標準RS232 的邏輯電平與單片機電路使用的TTL電平不同,所以PC機與MCU之間的通信數據必須經(jīng)過(guò)RS232 電平轉換芯片MAX232進(jìn)行轉換。從PC機接收到的數據存放在8K字節的電可擦寫(xiě)內存EEPROM 28C64中,這樣可方便地隨時(shí)修改待顯示的信息,并且在掉電情況下不至于丟失數據。由于系統軟件要進(jìn)行大批量的數據處理,所以擴充了單片機緩存區大小,采用了8K字節的外部靜態(tài)RAM 6264。
1.1 雙口RAM的應用
采用雙口RAM是本設計的一個(gè)主要特色。一般的RAM(如6116)只有一套地址總線(xiàn)、數據總線(xiàn)和控制總線(xiàn),在同一時(shí)間只能執行同一總線(xiàn)操作。而標準雙口RAM有左側和右側兩套地址總線(xiàn)、數據總線(xiàn)和控制總線(xiàn),可供兩套總線(xiàn)對其進(jìn)行訪(fǎng)問(wèn)。在本系統中,單片機通過(guò)共享的雙口RAM IDT7132與CPLD通信,單片機將數據寫(xiě)入IDT7132中,而CPLD則從IDT7132中讀取數據并通過(guò)掃描邏輯電路輸出出去。
由于CPLD掃描模塊可以達到很高的掃描速率,而單片機的運行速度則相對較低,并且兩個(gè)模塊間需要有大量的數據交換,為此選擇雙口RAM芯片IDT7132SA35JS,它的速度等級是35ns,完全滿(mǎn)足兩個(gè)模塊實(shí)時(shí)通信的要求。雙口RAM是兩個(gè)數據模塊間的數據信道,必須是共享的,它在本設計中起到了關(guān)鍵作用。
1.2 基于CPLD的獨立掃描模塊
顯示部分的點(diǎn)陣模塊采用雙色LED共陰點(diǎn)陣模塊(實(shí)際上可顯示紅、黃、綠三色)。 8 塊8×8點(diǎn)陣模塊連接成32×32點(diǎn)陣。為易于控制,將公共接口作為行控制,且行的接地引腳經(jīng)過(guò)一個(gè)開(kāi)關(guān)三極管接地(設計中簡(jiǎn)稱(chēng)行掃描管),實(shí)現對相應列的控制。因為一個(gè)行掃描管同時(shí)控制著(zhù)一行中多個(gè)LED的通斷,所以它承載較大電流。以每個(gè)發(fā)光二極管流過(guò)的電流為10mA計算,一個(gè)128列的點(diǎn)陣屏中,每個(gè)行掃描管所承受的電流是10mA×128=1.28A,為此選用高速中功率達林頓管TIP127,它的集電極吸收電流最大可達5A,保證了行的驅動(dòng)能力。由于顯示點(diǎn)陣的每一行都需要用一個(gè)三極管來(lái)控制,所以32×32點(diǎn)陣共需要32個(gè)TIP127。
行掃描電路采用通用數字電路譯碼輸出來(lái)控制。在32×32點(diǎn)陣顯示時(shí),掃描輸出需要大量的I/O埠,而ATMEL公司生產(chǎn)的CPLD 芯片ATF1508AS15JC84(與ALTERA公司的MAX7128SLC84-15功能及封裝等完全兼容)的外部I/O埠不夠用,所以采用兩片CPLD,一片專(zhuān)用于行掃描,另一片用于讀取雙口RAM IDT7132中的數據并進(jìn)行列掃描。
列掃描電路的功能是在選中某行時(shí)送該行對應的列數據,由于采用的是8位微處理器,一次只能送一個(gè)字節的數據,即每次只能掃描8列。本設計中,采用8550三極管矩陣驅動(dòng)方式,從而節省了大量控制信號引腳資源。
獨立掃描模塊的功能是以雙口RAM 為中介將單片機送來(lái)的資料在LED 點(diǎn)陣顯示屏上顯示出來(lái),其電路原理圖如圖3所示。單片機總線(xiàn)將處理好的待顯示數據存放在U5(雙口RAM IDT7132SA35JS中,然后U6(CPLD芯片ATF1508AS15JC84,用Verilog HDL語(yǔ)言編寫(xiě)其總線(xiàn)讀邏輯)讀取存放在U5中的待顯示數據并驅動(dòng)顯示屏。整個(gè)顯示屏為128×32點(diǎn)陣,一次掃描一個(gè)字節即8位,為此全屏顯示需要128×32÷8=512字節。將地址線(xiàn)A9R、A10R 接地,這樣只允許訪(fǎng)問(wèn)U5中的低512K 字節。 CA0~CA8是CPLD 輸出到U5中的地址總線(xiàn),CD0~CD7是從U5讀出數據的數據總線(xiàn)。 J1是行掃描信號接口,CH0~CH4 為行掃描計數器輸出信號,時(shí)鐘信號可從CLK 輸出給行掃描計數器。 J2為列掃描控制信號V0~V7輸出接口。 DR0~DR15為一色的列選通控制信號輸出,由于I/O端口引腳不夠,所以另一色的列選通信號采用譯碼電路譯碼輸出,用J3的四線(xiàn)輸出。 CON1為JTAG 接口,J6為時(shí)鐘源選擇接口,可接單片機的ALE信號,也可接有源晶振CR2的輸出。有源晶振CR2相當于一信號產(chǎn)生電路,只要其2腳接地,4腳接電源,3腳就有額定的輸出波形。
由于采用CPLD 設計掃描邏輯,所以?huà)呙柽壿嫷年P(guān)鍵不再取決于硬件連接,而是取決于芯片的設計。
評論