基于A(yíng)VR單片機的LED顯示屏控制系統的研究
1 引言
本文引用地址:http://dyxdggzs.com/article/172445.htmLED 顯示屏是八十年代后期在全球迅速發(fā)展起來(lái)的新型信息傳播媒體,是集微電子技術(shù)、光電子技術(shù)、計算機技術(shù)、信息處理技術(shù)于一體的大型顯示系統。它以其色彩鮮艷、動(dòng)態(tài)范圍廣、亮度高、壽命長(cháng)、工作性能穩定而日漸成為顯示媒體中的佼佼者,廣泛應用于廣告、證券、信息傳播、新聞發(fā)布等方面, 是目前國際上較為先進(jìn)的宣傳顯示媒體[1].本文提出了一種主從式單片機的LED 顯示屏解決方案, 該設計方案利用AVR單片機自身的FLASH ROM 和RAM,外部無(wú)需任何存儲電路,電路結構簡(jiǎn)單。
2 系統的工作原理及總體方案設計
AVR 單片機是增強型內置Flash 的RISC(ReducedInstruction Set CPU) 精簡(jiǎn)指令集高速8 位單片機,硬件采用哈佛(Harward) 結構,達到一個(gè)時(shí)鐘周期可以執行一條指令,絕大部分指令都為單周期指令。支持在系統編程ISP,其中MEGA 系列還支持在應用編程IAP.內置的FLASH 程序存儲器可擦寫(xiě)1000 次以上,給用戶(hù)的開(kāi)發(fā)生產(chǎn)和維護帶來(lái)方便??刹翆?xiě)10 萬(wàn)次E PROM,為掉電后數據的保存帶來(lái)方便。AVR 單片機有豐富的片內資源,如RTC、WATCHDOG、A /D 轉換器、PWM 、USART、SPI、TWI 接口等,I / O 口功能強、驅動(dòng)能力強。
2. 2 系統的工作原理
本設計采用AVR 系列單片機ATMEGA16 作為主控制器,以DS1302 時(shí)鐘芯片和16M 的外置晶振提供準確時(shí)間標準、很方便的現實(shí)和校準時(shí)間。
Atmega32 的內核具有豐富的指令集和32 個(gè)通用工作寄存器。所有的寄存器都直接與算邏單元(ALU) 相連接,使得一條指令可以在一個(gè)時(shí)鐘周期內同時(shí)訪(fǎng)問(wèn)兩個(gè)獨立的寄存器。采用74HC245 存儲器作為信號功率放大。通過(guò)2 片74HC595 移位寄存器實(shí)現對數據的播放格式,ATMEGA32 卡內帶32MFLASH,用戶(hù)可用專(zhuān)用上位機軟件對要顯示的內容按照預定的顯示格式進(jìn)行編輯后,通過(guò)RS485或RS232 接口,向顯示屏控制卡發(fā)送。發(fā)送結束后,控制卡可以脫開(kāi)計算機,自動(dòng)按照用戶(hù)設定的模式顯示所輸入的內容,從而通過(guò)LED 顯示屏來(lái)顯示你所需要的內容。直到下一次數據更新,所顯示的內容一直保持。
2. 3 系統的總體方案設計
LED 點(diǎn)陣顯示系統由計算機、RS-232 通訊電路、控制電路和LED 點(diǎn)陣顯示電路構成,結構框圖如圖1 所示。
圖1 系統結構框圖
上位機完成把圖像和文字轉換成為顯示屏的顯示碼,并且把顯示信息發(fā)通過(guò)RS232 送到控制電路上??刂齐娐愤x用具有32KB 片內FLASH ROM 和2KB 片內RAM 的AT2mega32 單片機,沒(méi)有外掛存儲器。如果要存儲更多的顯示信息,可以選用具有64KB 片內FLASH ROM 的AT2mega64 或者具有128kB 片內FLASH ROM 的AT2mega128,也可以外掛存儲器來(lái)增大存儲能力??刂齐娐分饕瓿蓪︼@示數據的滾動(dòng)和分割處理,然后通過(guò)異步串行口發(fā)送到每個(gè)單元板中。每塊單元板用16 × 32 單色點(diǎn)陣塊拼成的點(diǎn)陣屏,控制電路更新顯示單元板的顯示內容時(shí),對所有單元板按地址逐個(gè)發(fā)送顯示數據,更新完所有子模塊數據后,再發(fā)送一個(gè)特殊的地址字0xFF 作為控制字,使所單元板同時(shí)更新顯示數據,這樣可以避免當屏幕較大,單元板數量較多時(shí)各子模塊畫(huà)面更新不同步的問(wèn)題。對本設計中完成的2 × 10 個(gè)單元板而言, 由于通訊速率限制,畫(huà)面更新速度最高可達56800 / ( 129 × 24 + 1 ) =18134 幀/ s,由于主控制電路還要完成全屏數據的分割和顯示內容的移動(dòng)控制, 所以其實(shí)際幀數低于上述值,不過(guò)用于普通的圖片顯示已經(jīng)可以達到要求。
3 系統硬件設計
3. 1 主控制器的選擇
Atmega32 是基于增強的AVR RISC 結構的低功耗8 位CMOS 微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執行時(shí)間,Atmega32 的數據吞吐率高達1 MIPS /MHz,從而可以緩減系統在功耗和處理速度之間的矛盾。
Atmega32 有32K 字節的系統內可編程Flash( 具有同時(shí)讀寫(xiě)的能力, 即RWW ) , 512 字節EEPROM,1K 字節SRAM,32 個(gè)通用I /O 口線(xiàn),32個(gè)通用工作寄存器,用于邊界掃描的JTAG 接口,支持片內調試與編程,三個(gè)具有比較模式的靈活的定時(shí)器/ 計數器( T /C) ,片內/ 外中斷, 可編程串行USART,有起始條件檢測器的通用串行接口,具有片內振蕩器的可編程看門(mén)狗定時(shí)器,一個(gè)SPI 串行端口,以及六個(gè)可以通過(guò)軟件進(jìn)行選擇的省電模式。
3. 2 單元板顯示電路單元
顯示驅動(dòng)電路由RS232 轉換電路、子模塊地址標識電路和點(diǎn)陣驅動(dòng)電路組成。RS232 轉換電路和主機板中一樣, 同樣采用MAX485 作電平轉換。由于采用單片機的異步串行口進(jìn)行多機通信進(jìn)行數據傳輸,單元模塊應該有和其位置相對應的地址標識地址標識電路采用8 位并進(jìn)串出芯片74HC595 和8 位撥碼開(kāi)關(guān)組成,因此本系統最多可以容納255 個(gè)子模塊( 地址0xFF 作為更新子模塊顯示的控制字)。
LED 點(diǎn)陣采用動(dòng)態(tài)掃描法進(jìn)行驅動(dòng),并且實(shí)現16 階灰度顯示,為了節省單片機程序中掃描程序的時(shí)間消耗,提高掃描速度,顯示數據采用并行輸出的方法。驅動(dòng)電路采用譯碼器74HC138 和74HC245,分別實(shí)現行選和位選。
評論