1 引言
LED顯示屏是利用發(fā)光二極管點陣模塊或像素單元組成的平面式顯示屏幕,主要應用在公眾場合的信息發(fā)布。它具有發(fā)光效率高、使用壽命長、組態(tài)靈活、色彩豐富以及對室內(nèi)外環(huán)境適應能力強等優(yōu)點。本文提出了一款基于32位高性能ARM處理器和μC/OS-II的顯示屏控制器的設計方案。它充分利用了μC /OS-II高效的多任務管理功能和ARM處理器強大的運算能力,實現(xiàn)了單屏幕多窗口的任意位置顯示,使得屏幕顯示內(nèi)容變得更加豐富,顯示方式變得更加靈活。從而使得控制器同步化。
2 控制器硬件總體結構設計
本控制器的硬件結構框圖如圖1所示。數(shù)據(jù)處理模塊由MCU,一片SRAM和一片F(xiàn)LASH存儲器組成。MCU選用基于32位ARM內(nèi)核的 LPC2214處理器,它有著豐富的外圍接口資源和強大的運算能力,是整個控制器的核心。SRAM作為MCU進行特技處理時的緩存使用。FLASH存儲器用于存儲顯示的點陣信息和一些必要的參數(shù)。掃描控制模塊由CPLD和顯存組成。顯存為一片SRAM,它用于保存當前正在顯示的一幀數(shù)據(jù)。通信模塊包括以太網(wǎng)模塊和串口通信模塊,可以實現(xiàn)PC與控制器的RS232、RS485以及工業(yè)以太網(wǎng)通信。
圖1 控制器的硬件結構框圖
3 控制器硬件詳細設計
1、RTC電路。LPC2214內(nèi)部集成了RTC功能模塊,但由于其時鐘源為VPB時鐘,故其不能在芯片斷電時使用,故其不適合由電池供電的系統(tǒng)。故我們在這里采用了外置的RTC芯片--HOLTEK公司生產(chǎn)的低功耗串行實時時鐘芯片HT1381。HT1381采用串行傳輸方式與微處理器接口,只需三根引線就可以實現(xiàn)微處理器對HT1381訪問控制。RTC部分電路原理圖如圖2所示,圖中,C1、C2、G1及X1和X2內(nèi)部的振蕩器組成了 HT1381的時鐘發(fā)生電路。D1、D2、D3以及3V的可充電電池,+3.3V的電源組成了HT1381的供電電路。系統(tǒng)采用外部供電時,D3、D2 導通,D1截止,外部電源一方面向芯片供電,另一方面對充電電池進行充電。當系統(tǒng)電源停止供電時,D3截止,D1導通,芯片由電池來供電。
圖2 RTC電路
2、溫度傳感器電路。DS18B20是單總線數(shù)字溫度傳感器。DS18B20采用3腳封裝,從DS18B20讀出或?qū)懭霐?shù)據(jù)僅需要一根I/O線。并且以串行通信的方式與微控制器進行數(shù)據(jù)通信。該器件將半導體溫敏器件、A/D轉換器、存儲器等集成在一個很小的電路芯片上,傳感器直接輸出的就是溫度信號的數(shù)字值。信號傳輸采用兩芯(或三芯)電纜構成的單總線結構。一條單總線電纜上可以掛接若干個數(shù)字溫度傳感器,每個傳感器有一個唯一的地址編碼。微控制器通過對器件的尋址,就可以讀取某一個傳感器的溫度值,從而簡化了信號采集系統(tǒng)的電路結構。采集端口的連接線減少了50倍,既節(jié)省了造價,又給現(xiàn)場施工帶來極大的方便。
[!--empirenews.page--]
3、串行接口電路。雖然,現(xiàn)如今以太網(wǎng)通信的使用已非常普及,但由于串行通信接線少、成本低,所以其在數(shù)據(jù)采集和控制系統(tǒng)中仍然有著非常廣泛的應用。RS232和RS485兩種標準的主要區(qū)別與使用平衡信號和非平衡信號有關。RS232采用非平衡信號,而RS485采用平衡信號。究竟采用哪一種, 主要取決于傳輸距離和電器噪聲兩個因素。在傳輸距離小于30米,并且環(huán)境電器噪聲較小情況下,最好采用非平衡的RS232,在傳輸距離較長,但小于300 米時,或者環(huán)境電器噪聲影響必需考慮時,最好采用RS485。并且RS485的二線制通訊方式可實現(xiàn)真正的多點雙向通信。
4、自動調(diào)亮電路。在環(huán)境光線較弱時,LED屏的亮度應相應降低,否則會顯得刺眼。而在環(huán)境光線較強時,LED屏的亮度也應相應提高,否則屏幕顯示內(nèi)容會看不清楚。所以控制器需根據(jù)周圍光線的亮度來自動調(diào)整量度。為了實現(xiàn)上述功能,系統(tǒng)采用了光敏電阻,與一定值電阻串聯(lián),當外界環(huán)境光線變化時,光敏電阻阻值發(fā)生變化,R2所分電壓也跟著發(fā)生變化,然后根據(jù)此電壓值來調(diào)整屏幕亮度,具體電路如圖3所示。LPC2214具有8路10位ADC轉換器,其參考電壓為3.3V,參考電壓的精度會影響ADC的轉換結果。R1為I/O口保護電阻,用于保證電路不產(chǎn)生短路故障。
圖3 自動調(diào)亮電路
5、LED顯示屏掃描驅(qū)動電路。LED顯示屏的掃描邏輯由CPLD來實現(xiàn),CPLD采用 Altera的EPM1270。EPM1270屬于Altera的MAX II系列。MAX II是Altera推出的迄今為止成本最低的CPLD器件。
3 LED掃描邏輯設計
LED掃描邏輯采用CPLD來實現(xiàn),它具有很好的組合邏輯和時序邏輯功能,能夠完成LED顯示所需要的掃描控制信號。CPLD設計框圖如圖4所示, 它主要包括以下幾個模塊:⑴ 時鐘進程:產(chǎn)生各種頻率的時鐘;⑵ FIFO:CPLD與MCU之間的接口部分,用作數(shù)據(jù)緩沖,它使得MCU可以對顯存進行全速寫操作;⑶ 寫入地址及數(shù)據(jù)產(chǎn)生器:產(chǎn)生向顯存進行寫操作的地址和數(shù)據(jù);⑷ 讀地址產(chǎn)生器:掃描方式不同,從顯存中讀取數(shù)據(jù)時的尋址方式也不同,讀地址產(chǎn)生器,可根據(jù)掃描方式的不同,產(chǎn)生不同的讀顯存的地址,從而完成1/16、1 /8、1/4等掃描方式;⑸ 掃描控制電路:在不同的掃描方式下,根據(jù)從顯存中讀取的數(shù)據(jù)產(chǎn)生相應的掃描控制信號;⑹ 讀寫切換電路:對顯存的讀寫狀態(tài)進行切換。
圖4 CPLD設計框圖
4 基于μc/OS-II控制器軟件設計
為了實現(xiàn)單屏幕、多窗口任意位置的顯示,軟件部分我們基于μc/OS-II進行設計,這樣可以充分利用操作系統(tǒng)高效的任務調(diào)度算法,將每個窗口的顯示都交由單個任務來完成,從而極大地提高系統(tǒng)的運行速度和可靠性,并且使得程序的開發(fā)和擴展變得更加方便。程序的結構如圖5所示,控制器上電后,首先進行系統(tǒng)初始化,然后從 FLASH 中讀取屏參數(shù),進行參數(shù)初始化。然后建立任務TaskControl,TaskControl用于對各窗口顯示任務進行實時管理,它擁有比各窗口顯示任都高的優(yōu)先級。它每隔1s對reset標志進行一次查詢,如果reset=1,則刪除原先建立的各窗口顯示任務,然后從FLASH中讀取新的窗口個數(shù),然后依此建立新任務,將每個窗口的顯示交由單個任務來控制。
圖5 系統(tǒng)程序結構圖
[!--empirenews.page--]
1、RS485總線的集群通訊協(xié)議。其具體過程如下:首先,PC向控制器發(fā)送地址幀,地址幀采用MARK校驗。它包括6個字節(jié),第一個字節(jié)為地址碼,控制器接收到這個字節(jié)后,先判斷其是否與自己的地址相同,如果相同則繼續(xù)接收下一個字節(jié),否則就退出中斷,每個控制器的地址可通過控制器上的撥碼開關來設置。接下來的三個字節(jié)為屏參數(shù),他主要包括屏的橫向點數(shù)、縱向點數(shù)和顯示屏的色彩(單、雙色)??刂破鹘邮盏竭@幾個參數(shù)后,先與自身參數(shù)進行比較,如果參數(shù)不相同則退出中斷,否則繼續(xù)接收下一個字節(jié)。接下來發(fā)送的一個字節(jié)為操作碼,它主要是告訴控制器下面是要進行什么樣的操作,這些操作包括加載屏參、系統(tǒng)復位、加載數(shù)據(jù)、開關機等??刂破鲿鶕?jù)操作碼來對Flash進行操作。
2、GUI接口的設計。GUI為Graphic User Interface的縮寫,即圖形用戶接口。它是建立在計算機圖形學基礎上的產(chǎn)物,它可用于提高人機交互友好性,在LED屏上我們可以用它來實現(xiàn)許多意想不到的效果。這里提供了在LED屏上最基本的畫點、線、圓等功能。
(1) 畫點函數(shù)。一切圖形都是由一個一個點來組成的,它是圖形的最基本元素,描述一個點時需要使用其坐標值(X,Y)和顏色。對于雙色LED屏顏色值0表示綠色,1表色紅色,2表示黃色。在畫點時,先把指定的點坐標值轉換為顯存上的對應字節(jié),然后對相應字節(jié)進行顏色處理。然后在將此字節(jié)寫入顯存完成該點的顯示。(2) 畫線函數(shù)。對于直線的繪畫,分為水平線、垂直線和一般直線3種繪畫方法。其實一般直線就包括水平直線和垂直線,但由于這兩種直線較為特殊,繪畫操作不需要像其他直線一樣須進行較多的運算,故將它們分開有利于提高繪畫的速度。
本文作者創(chuàng)新點
本文主要介紹了一款基于32位高性能ARM處理器和μC/OS-II的顯示屏控制器的設計方案。本系統(tǒng)充分利用了μC/OS-II高效的多任務管理功能和ARM處理器強大的運算能力,實現(xiàn)了單屏幕多窗口的任意位置顯示,使得屏幕顯示內(nèi)容變得更加豐富,顯示方式變得更加靈活,使得控制器同步化。
參考文獻:
[1] 龔兆崗.基于ARM處理器的LED可變情報板嵌入式控制器[J].現(xiàn)代顯示.2006, (06)
[2] 張叔猛.嵌入式系統(tǒng)和FPGA在LED顯示屏中的應用研究與實現(xiàn)[J].武漢理工大學.2005
[3] Jean. Labrosse著,邵貝貝等譯.嵌入式操作系統(tǒng)μC/OS-II(第二版)[M].北京航空航天大學出版社.2005年
[4] 宋暉, 高小明. 基于ARM的嵌入式操作系統(tǒng)μC/OS-II的移植[J]. 微計算機信息, 2006,2-2: 135-136