《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 彩色點陣LED屏幕控制器的設計
彩色點陣LED屏幕控制器的設計
2014年微型機與應用第18期
楊家志1,易勝利1,蔣存波1,楊 帆2
1.桂林理工大學 信息科學與工程學院,廣西 桂林 541004; 2.河南電力公司 信陽供電公司,河南 信陽 464100
摘要: 設計了一種彩色點陣LED大屏幕的控制器,該控制器采用單片機讀取存儲在SD上的點陣數(shù)據(jù)文件,按幀串行地輸出到LED控制芯片并刷新LED屏幕顯示。該控制器能夠存儲并動態(tài)顯示靈活多樣的文字或者動畫,具有性價比高、體積小等優(yōu)點。
Abstract:
Key words :

  摘  要: 設計了一種彩色點陣LED大屏幕的控制器,該控制器采用單片機讀取存儲在SD上的點陣數(shù)據(jù)文件,按幀串行地輸出到LED控制芯片并刷新LED屏幕顯示。該控制器能夠存儲并動態(tài)顯示靈活多樣的文字或者動畫,具有性價比高、體積小等優(yōu)點。

  關鍵詞點陣LED屏幕;控制器;ATmega644

0 引言

  隨著國民經濟的發(fā)展,商品的廣告以多種多樣的方式呈現(xiàn)在消費者面前。其中,戶外的點陣LED式廣告牌越來越受到商家的歡迎,其樣式多種多樣,可任意顯示各種文字和圖形,并具有高亮度、防水、節(jié)能、壽命長等優(yōu)點,用途越來越廣泛[1-3]。

  點陣LED屏幕控制器負責對LED顯示內容進行控制和實時更新,是LED屏幕工作的必需部分。LED控制器的工作原理、顯示內容存儲或獲取方式、刷新速度等因素都關系到LED廣告牌的顯示效果和工作的便利性[4-5]??紤]到目前點陣LED屏幕控制器市場存在較多問題,本文基于單片機、彩色點陣LED驅動控制芯片和SD卡,設計了一種彩色點陣LED屏幕控制器。設計的彩色點陣LED屏幕控制器能夠選擇并循環(huán)顯示存儲在SD卡上的點陣數(shù)據(jù)文件,能調節(jié)顯示速度,并能夠根據(jù)需求并聯(lián)工作,實現(xiàn)對更大規(guī)模的點陣LED的控制,具有調節(jié)和更換顯示內容方便、結構簡單、可擴展、可靠性高等優(yōu)點。

1 系統(tǒng)概述

  彩色點陣LED屏幕控制器主要由單片機、SD卡、電源及相應的輸出電路組成。另外在點陣LED驅動部分,采用與LED集成在一起的控制芯片進行控制,專用的橫流電源為其供電。其結構框圖如圖1所示。

001.jpg

  單片機主要負責讀取SD卡內存儲的點陣數(shù)據(jù),讀取完一幀數(shù)據(jù)后,通過驅動電路串行地發(fā)送給LED控制芯片。此LED控制芯片能夠接收并存儲9 B的點陣數(shù)據(jù),分別對應相鄰3個像素點的RGB亮度數(shù)據(jù)。當單片機發(fā)送過來的數(shù)據(jù)超過9 B時,LED控制芯片會把數(shù)據(jù)串行地發(fā)送給相鄰的下一級控制芯片,直至所有的控制芯片都接收到點陣數(shù)據(jù),就可以進行一次顯示。

2 硬件設計

  在彩色點陣LED控制器的硬件上,主要設計了基于ATmega644單片機、SD卡最小系統(tǒng)及其驅動電路等。而在LED控制芯片上則選用Titan Micro公司生產的TM1809的具有9通道LED驅動控制專用芯片。

  以下將分別介紹ATmega644單片機及SD卡最小系統(tǒng)、驅動電路和LED控制電路。

  2.1 ATmega644最小系統(tǒng)

  ATmega644單片機是美國ATMEL公司生產的8位RISC結構的單片機,具有64 KB的閃存、4 KB的內存,最高運行頻率為20 MHz。該單片機的指令為單周期指令,執(zhí)行效率很高,支持在線下載。ATmega644單片機及SD卡最小系統(tǒng)的原理圖如圖2所示。

002.jpg

  ATMega644單片機最小系統(tǒng)由5 V供電電源、晶振、復位電路和程序在線下載電路組成。ATMega644的復位電路由電阻、電容、二極管和一個微動開關組成,能起到延時啟動,按下開關瞬時重啟的作用。單片機系統(tǒng)的晶振采用的是11.059 2 MHz的晶振,也可根據(jù)需要更換為20 MHz的晶振以提高運行速度。與ISP在線下載電路相連的是單片機的SPI接口和復位接口。單片機的供電電源為5 V,還需要額外的電源芯片轉換為3.3 V電源供給SD使用。

  SD與單片機相連接的電路也是SPI接口,可以用單片機的SPI接口方便地與SD卡進行數(shù)據(jù)的讀寫操作。單片機的在線編程接口和SD卡與單片機通信用到的都是SPI接口,但是由于在線編程是SPI接口與復位接口配合使用的,因此并不會產生沖突。另外,由于單片機接口與SD卡接口的電源電壓分別為5 V和3.3 V,并不兼容,因此在線路上串接有100 Ω的電阻,以達到可靠通信的目的。另外在靠近SD卡端的所有數(shù)據(jù)線上都加上了上拉電阻,以提高通信的可靠性。

  2.2 驅動電路

  由于單片機接口的負載能力有限,很難驅動距離較遠的芯片,因而需要提高其驅動能力后再連接后續(xù)電路,以便達到信號可靠傳輸?shù)哪康?。本文采用的驅動電路原理圖如圖3所示。

003.jpg

  該驅動電路采用的芯片為74HC245,是一種三態(tài)輸出、八路信號收發(fā)器,其接口的輸入、輸出電流能夠達到35 mA,在設計中,采取兩路收發(fā)器共同發(fā)送同一個信號,其最大能夠輸出或輸入70 mA的電流,保證了信號的可靠傳輸。由于該電路的信號傳輸是單向的,由單片機到LED控制電路,因此74HC245方向控制端接高電平,數(shù)據(jù)傳輸方向由端口A到B。

  2.3 LED控制電路

  LED控制芯片上則選用的是Titan Micro公司生產的TM1809,該芯片內部集成有MCU數(shù)字接口、數(shù)據(jù)鎖存器、LED高壓驅動等電路,通過外圍MCU控制實現(xiàn)該芯片的每路單獨輝度、級聯(lián)控制實現(xiàn)戶外大屏的彩色點陣發(fā)光控制。該芯片共有9個輸出端口,能夠連接9個LED,實現(xiàn)控制3個RGB像素的24位色彩控制。通過多級串聯(lián),完全能夠實現(xiàn)對彩色點陣LED顯示屏的控制。LED控制電路原理圖如圖4所示。

004.jpg

  在圖4中,TM1809的14腳為串行數(shù)據(jù)輸入腳,連接單片機驅動電路上的DAT1腳;其第3腳為串行數(shù)據(jù)輸出腳,連接下一級TM1809的14腳,按照這種連接方式實現(xiàn)級聯(lián)控制。在接收點陣數(shù)據(jù)時,每一級芯片接收完9 B的點陣數(shù)據(jù)后會自動把數(shù)據(jù)串行地發(fā)送給下一級控制芯片。

3 軟件設計

  LED控制器的正常運行需要編寫相應的單片機軟件。本文設計的LED控制器中,單片機的主要功能是通過SPI接口初始化和讀取SD卡內的數(shù)據(jù),并通過單片機端口串行地把數(shù)據(jù)發(fā)送給TM1809,直到發(fā)送完整幀的數(shù)據(jù),然后控制TM1809輸出當前幀數(shù)據(jù)給LED顯示,接下來再處理下一幀數(shù)據(jù)。

  設計單片機軟件的難點在于SD卡數(shù)據(jù)的讀取和驅動TM1809。其中,SD卡中存儲數(shù)據(jù)文件用到的是FAT32文件系統(tǒng),需要單片機軟件根據(jù)FAT表的信息判斷文件存儲的位置、幀大小、每扇區(qū)幀數(shù)等信息,以便完整地讀取所需要的文件內容。

  由于單片機向TM1809發(fā)送數(shù)據(jù)采用的是單線串行發(fā)送,因此需要準確地控制數(shù)據(jù)時序。TM1809對數(shù)字“0”的規(guī)定為600 ns的高電平,緊接著1 200 ns的低電平;對數(shù)字“1”的規(guī)定為1 200 ns的高電平,緊接著600 ns的低電平;10 μs以上的持續(xù)低電平為復位信號。當發(fā)送完一幀數(shù)據(jù)后,緊接著發(fā)送一個復位信號,TM1809會將當前存儲的數(shù)據(jù)發(fā)送到LED顯示。

005.jpg

  單片機程序的流程圖如圖5所示。單片機上電后首先進行端口、SPI接口和SD卡的初始化工作,這些工作完成后將讀取SD卡起始幀的數(shù)據(jù),并以此判斷分區(qū)格式、分區(qū)表的位置等信息。讀取分區(qū)表內容,根據(jù)撥碼開關決定所需讀取數(shù)據(jù)的文件名,并由分區(qū)表判斷此文件起始幀的位置。接下來就可以讀取數(shù)據(jù)文件的第一幀,其第一幀并不是點陣數(shù)據(jù),而是點陣數(shù)據(jù)的行數(shù)、列數(shù)、幀數(shù)等信息,第二幀才是點陣數(shù)據(jù),讀取后發(fā)送給TM1809顯示。在接續(xù)讀取和發(fā)送點陣數(shù)據(jù)之前要判斷撥碼開關是否變化,變化意味著要切換顯示文件;還要判斷是否是最后一幀數(shù)據(jù),如果都不是,則接續(xù)讀取下一幀數(shù)據(jù)。

  除此之外,本文還設計了點陣數(shù)據(jù)文件的存儲格式。點陣數(shù)據(jù)文件在SD卡中以512 B為單位進行存儲。其第一個512 B存儲的數(shù)據(jù)為點陣數(shù)據(jù)的行數(shù)、列數(shù)、幀數(shù)等數(shù)據(jù),不足512 B的空間將以0xFF補滿。從第二個512 B開始將是點陣數(shù)據(jù),若一幀點陣數(shù)據(jù)不足512 B,同樣以0xFF補滿,超出512 B將占用第二個直至更多個512 B,不足512 B的空間將以0xFF補滿。

  4 結論

  本文設計了一種彩色點陣LED屏幕控制器,該控制器通過單片機讀取SD卡中的點陣數(shù)據(jù),串行地發(fā)送到LED控制芯片中,刷新LED顯示動態(tài)圖像。同時,該控制器能夠通過撥碼開關調節(jié)顯示內容和顯示速度,并能夠通過并行連接多個控制器同步工作實現(xiàn)更大規(guī)模的顯示屏控制;并具有性價比高、體積小等優(yōu)點。

  參考文獻

  [1] 王有乾,佘焱,姜建國.LED大屏幕異步控制器多窗口顯示的實現(xiàn)[J].微計算機信息,2007,23(20):104-106.

  [2] 田秀偉,鄭喜鳳,丁鐵夫.基于SOPC的LED顯示屏控制器設計[J].液晶與顯示,2007,22(6):737-741.

  [3] 呂常智,范迪.基于CPLD的LED點陣顯示控制器[J].微計算機信息,2006,22(32):218-219,233.

  [4] 梁志明,李斌.基于FPGA的大屏幕全彩LED掃描控制器設計[J].液晶與顯示,2007,22(4):477-481.

  [5] 陳雁,安建平,徐紹劍.基于FPGA的全彩色大屏幕LED控制器設計[J].電子器件,2007,30(6):2155-2158.


此內容為AET網站原創(chuàng),未經授權禁止轉載。