歡迎您光臨本站 登入註冊首頁

基於CPLD的LED顯示控制板

admin @ 2014-03-26 , reply:0

概述

   LED點陣顯示屏使用高亮度LED發光管構成點陣,通過編程式控制制可以顯示中英文字元、圖形及視頻動態圖形.LED顯示以其組構方式靈活、亮度高、技術成熟、成本低廉等特點……

    LED點陣顯示屏使用高亮度LED發光管構成點陣,通過編程式控制制可以顯示中英文字元、圖形及視頻動態圖形.LED顯示以其組構方式靈活、亮度高、技術成熟、成本低廉等特點在證券、運動場館及各種室內/外顯示場合得到廣泛的應用.隨著集成電路技術的發展,數字系統迅速朝更高集成度、超小型化、高性能、高可靠性和低功耗的方向發展.用CPLD的引入,實現了LED屏自動掃描的功能,大幅提高LED屏的頻率,同時分擔了CPU 的任務,提高了CPU 的處理能力.

1 LED 點陣顯示屏驅動機制
    在加油系統中引入了點陣顯示,主要用來顯示加油的價格和計量,也可以用來顯示時間和廣告.用於發布消息、顯示漢字的點陣式LED顯示屏通常由若干塊LED點陣顯示模塊組成;用於顯示的8×8單色LED顯示點陣模塊,每塊有64個LED;為了減少引腳且便於封裝,LED顯示點陣模塊採用陣列形式排布,即在行列線的交點處接有顯示LED.因此,LED點陣顯示模塊的顯示驅動只能採用動態驅動方式,每次最多只能點亮一行LED(共陽形式LED顯示點陣模塊)或一列LED(共陰形式LED顯示點陣模塊).微機通過匯流排操作控制來完成對每一個LED點陣顯示模塊內每個LED顯示點的亮、暗控制操作.以此類推,可實現整屏LED點陣的亮、暗控制,從而實現LED顯示屏漢字或圖像的顯示控制操作.
    以一個由8個LED點陣顯示模塊組成的點陣顯示屏為例(如圖1),移位寄存器的輸入端是data引腳,pulse引腳接入移位寄存器的移位脈衝.點陣顯示控制板計算出顯示圖形的點陣碼,通過控制data和pulse引腳,輸入某行的數據,然後選通該行,LED顯示屏將得到該行的點陣顯示.這樣逐行掃描,得到整屏顯示效果.以顯示“A7我”的圖形為例,顯示的點陣碼是
“/*--A--*/0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,
0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00
/*--7--*/0x00,0x00,0x00,0x7E,0x44,
0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,
0x10,0x00,0x00
/*--我--*/0x06,0x40,0x38,0x50,0x08,0x48,0x08,0x48,0x08,0x40,
0xFF,0xFE,0x08,0x40,0x08,0x48,0x0E,0x28,
0x38,0x30,0xC8,0x20,0x08, 0x50, 0x09,
0x92,0x08,0x0A,0x28,0x06,0x10,0x02”。
    以第10行為例,其點陣數據是“00111100 00010000 00111000 00110000”。點陣顯示控制板輸出該數據和同步移位脈衝,圖1上部的移位寄存器將接收“00111100 00010000 00111000 00110000”並鎖存,然後LED顯示板的第10行被選通,LED顯示屏第10行顯示如圖點陣(黑方塊).
 

2 點陣顯示系統的框架
    點陣顯示在船用加油系統中主要起到顯示價格和體積的作用,要求實時性高,顯示準確.如圖2所示,PC Server控制整個加油系統,通過一個PCI卡與船用加油系統通信.PC Server實時地將顯示信息傳送給點陣顯示控制板,點陣顯示控制板接收顯示數據並轉化為點陣碼,從而進一步控制LED點陣顯示屏.點陣碼的移位和相應的行掃描是由CPLD開發的(如圖3).
 
 

3 點陣顯示板的硬體實現
    點陣顯示控制板主要硬體有AT89C51,MAX232,HY62256A,AT28C256和EPM7128-SLC8組成.串口晶元MAX232負責點陣顯示控制板和PC Server的通信.EPROM 除了存放控制程序以外,還存儲了部分漢字和符號的點陣碼庫,C51收到PC傳來的漢字內碼后,會搜索這個點陣碼庫以得到相應的點陣碼.C51并行輸出點陣碼,CPLD 將接收的點陣碼串列輸出到DataH 和DataL,並為點陣顯示屏提供同步移位脈衝信號Sck.
    點陣顯示板的部分外圍電路是用CPLD設計的,CPLD(complex programmable logic device,複雜可編程邏輯電路)是在PAL,GAL等基礎上發展起來的一種具有豐富的可編程I/O引腳的可編程邏輯器件,幾乎所有應用門陣列、PLD和中小規模通用數字集成電路的場合均可應用CPLD器件.CPLD同以往的PAL,GAL等相比較,具有集成度高、在線可編程、使用方便靈活的特點,且性價比合理;不但可實現常規的邏輯器件功能,還可實現複雜的時序邏輯功能.CPLD的應用使硬體開發更加靈活,可減輕系統開發時的電路調試強度,縮短開發周期,同時在硬體設計上有一定的保密性.
    CPLD晶元選用Altera公司的MAX7000S系列器件EPM7128SLC84,它有128個邏輯宏單元,邏輯門數為2500門,在MAX+PLUS II軟體環境下,採用VHDL和原理圖輸入相結合的方法進行設計.設計輸入完成後,進行整體的編譯和邏輯模擬,然後進行轉換、布局、布線、延時模擬生成配置文件,最後以4引腳的JTAG 介面方式通過ByteBlaster下載電纜對CPLD進行在線編程(ISP),完成結構功能配置,實現其硬體功能,製成專用晶元.為了避免器件內的設計被他人複製和取出,可通過對MAX7128S內部的一個保密位編程,對設計進行加密.當對器件重新編程時,保密位連同其他的編程數據均能擦除和重寫.MAX7000系列是工業界中速度最快的高集成度可編程邏輯器件系列.它的系統結構如圖4所示.它們的輸入寄存器的建立時間非常短,能提供多個系統時鐘且有可編程的速度/功率控制.
 

4 CPLD的設計實現
    CPLD設計為匯流排方式,所有的功能模塊和指令控制器都掛在匯流排上,AT89C51通過ALE,CS,RD,WE,P0口(數據地址復用),P2口(高地址)同晶元相連接,C51可以通過讀/寫指令對訪問.如圖5所示,8根三態數據/地址復用匯流排,連接C51的P0口,另有8根高地址匯流排連接C51的P2口,實現C51對EPM7128SLC8內部模塊的讀寫操作.因為在項目中使用的是一個8×2的LED屏,每個8位移位寄存器對應一行LED顯示模塊.EPM7128SLC8內部包含兩個8位移位寄存器,兩個8位移位寄存器的地址空間分別為0xA000圖5 EPM7128SLC84同單片機介面原理圖和0xA001.對0xA000和0xA001兩個地址的寫入,就可以把點陣碼鎖存在兩個8位移位寄存器中.移位控制埠的地址是0xC000,C51向0xC000寫入指令后,鎖存在0xA000和0xA001兩個移位寄存器的數據串列輸出,並為點陣顯示屏提供同步脈衝信號.在EPM7128SLC8里設計一個8位計數器,當移位寄存器移動8位后,計數器會通知移位控制單元結束移位,準備下一次移位的到來.AD0~ AD7是三態數據/地址復用匯流排,A8~A15是高8位地址匯流排,READ和WRIT是讀寫信號.
 

5 AT89C51的程序實現
    圖6是點陣顯示控制板AT89C51的主程序.主程序開始初始化相應的軟硬體,然後進入主循環,等待PC Server通過串口傳送的數據.數據的接收和CPLD點陣緩存區的掃描觸發程序都是C51的中斷程序.C51通過中斷1接收PCServer傳送的數據,其主循環程序不斷檢查接收緩存區,如果接收到發給新的完整數據,就會根據數據查找點陣碼庫,並將新的點陣碼寫入CPLD點陣掃描緩存區,並觸發新一輪的CPLD點陣掃描.CPLD點陣掃描緩存區是在RAM 中內建的一塊緩存數據區,其大小根據點陣顯示屏確定,點陣顯示屏的每個LED點對應內存中的一位.
 
    將點陣掃描中的部分固化在CPLD中后,與C51相配合提高了C51的處理速度.C51在將點陣碼寫入相應緩存區后,只要向CPLD發出掃描觸髮指令,具體的掃描工作將由CPLD硬體負責,點陣屏的掃描由C51軟體實現變為CPLD硬體實現,提高了掃描頻率和C51的處理能力.

6 結束語
    由於功能強大、速度高、設計靈活等優點,CPLD在數字系統設計、通信領域、DSP領域、計算機系統等領域有著越來越廣泛的應用.點陣顯示控制板引入CPLD集成了分離元件的設計,實現CPLD與單片機介面以及點陣掃描功能,同時CPLD的使用也分擔了CPU 的任務,並且CPLD可根據點陣屏的不同而更改設計,使得整個系統的性能以及靈活性在原有的電路上大幅度提高.


[admin via 研發互助社區 ] 基於CPLD的LED顯示控制板已經有4167次圍觀

http://cocdig.com/docs/show-post-43080.html