基于A(yíng)T91 M42800A的LED顯示系統設計
關(guān)鍵詞 LED 顯示系統 ARM 微處理器 SPI
最近,筆者在某工廠(chǎng)大型生產(chǎn)線(xiàn)上基于現場(chǎng)總線(xiàn)的物流呼叫系統項目中發(fā)現,由于所需要顯示的信息流比較大,用現有的基于AT89C51芯片組成的LED顯示屏控制系統,由于受到微處理器的處理速度、體系架構、尋址范圍、外圍接口資源等諸多限制,已難以在要求顯示較多像素、顯示內容幀頻較高、動(dòng)態(tài)顯示效果復雜的情況下,得到良好的動(dòng)態(tài)視覺(jué)效果。針對以上情況,在利用現有資源的基礎上,重新設計和研制了一種全新的,由32位高性能ARM微處理器組成的LED顯示屏控制系統,并通過(guò)RS485接口與現場(chǎng)總線(xiàn)中的上位機進(jìn)行實(shí)時(shí)數據通信,實(shí)現整個(gè)系統的信息顯示。
1 系統硬件結構
該系統的硬件組成框圖如圖1所示。圖1中,微處理器是Atmel公司生產(chǎn)的AT91M42800A,它采用基于ARM7TDMI內核的高性能32位RISC架構的處理器,有著(zhù)豐富的外圍接口資源。AT91M42800A有2個(gè)USART外圍接口,系統用USART0口和MAX485組成485接口電路,具體的接口電路如圖2所示。AT91M42800A還有2個(gè)SPI口,每個(gè)SPI口有4根片選信號,通過(guò)片選均可以支持外接15個(gè)設備。該系統的做法是將2個(gè)SPI口分別接到列驅動(dòng)電路和行驅動(dòng)電路上,并利用各自的2個(gè)片選信號CS0和CSl完成驅動(dòng)電路的信號鎖存和允許輸出控制,SPI的CLK輸出作為驅動(dòng)電路的時(shí)鐘信號輸入,工作頻率為4 MHz。
SRAM接口電路由2塊HY57V641620芯片并聯(lián)組成,HY57V641620是Hynix公司生產(chǎn)的4 BanksXlM16位的SDRAM芯片,單片HY57V641620存儲容量為4組16 M位(8 MB),支持自動(dòng)刷新,16位數據寬度。為充分發(fā)揮32位CPU的數據處理能力,系統用2塊8 ns的HY57V641620組成32位SDRAM存儲器系統。Flash存儲器接13電路由1塊HY29LVl60芯片組成。HY57V641620是Flash存儲器芯片,單片存儲容量為16 M位(2 MB),8/16位數據寬度,本系統采用16位數據寬度的工作方式。具體的電路連接可參閱參考文獻。
行驅動(dòng)電路由Allegro公司的36片A68595級聯(lián)組成,顯示屏背面每行數據線(xiàn)由串人并出移位寄存器A68595級聯(lián)而成,A68595片內集成有MOS管構成的驅動(dòng)器,足夠驅動(dòng)發(fā)光二極管發(fā)光。列驅動(dòng)電路由Allegro公司的24片A6276級聯(lián)組成,A6276是16位帶鎖存的串入并出移位LED驅動(dòng)芯片。A68595和A6276級聯(lián)時(shí)引腳和聯(lián)接方法如圖2所示,電路都較為簡(jiǎn)單(其中帶端口框標的為AT91M42800A的相應引腳)。其他詳細的性能資料,請查閱Atmel和Allegro公司的相關(guān)產(chǎn)品文檔。AT91M42800A的SPI口均采用16位串行輸出工作方式,利用32位ARM處理器的高速性能,能夠充分提高數據傳輸速度。
2 工作原理
該系統與上位機的通信由AT91M42800A的USARTO的口與485接口電路完成,上位機僅需將要顯示的數據,傳送至AT91M42800A即可。開(kāi)機后,Ar91M42800A初始化,讀入啟動(dòng)代碼后,將保存在Flash存儲器內的程序代碼和所要顯示的字模數據,重映射到SDRAM中,使得系統的數據存取全部在高速SDRAM中完成。在接收到上位機的數據后,AT91M42800A將要顯示的數據,轉換成相對應的LED屏顯示驅動(dòng)信號,再加入相應的動(dòng)態(tài)顯示效果控制程序(畫(huà)面左移、上移、開(kāi)幕、覆蓋、閃爍和直顯等)后,用SPI口分別輸出給行、列驅動(dòng)電路。同時(shí),若有需要,上位機所傳來(lái)的數據或圖像畫(huà)面,也可以保存在Flash存儲器中。
顯示屏采用1/16動(dòng)態(tài)逐次行掃描方式,先將SPIA端口中的24個(gè)字節數據依此串行移入對應的24個(gè)A6276列驅動(dòng)電路,并鎖存。接著(zhù),SPIB端口再將一行行選通信號串行移入行驅動(dòng)電路,完成一行的LED顯示。然后依理,逐次的顯示LED屏的各行。
二極管亮滅時(shí)間的占空比可用軟件進(jìn)行設定,以選取合適亮度,提高發(fā)光二極管的使用壽命。在現場(chǎng)實(shí)際安裝的LED顯示屏,有效顯示面積約為4.6 m2,共有288384=110 592個(gè)像素,滿(mǎn)幀刷新時(shí)間最短可小于8 ms,換幀頻率125 Hz以上,比傳統的用單片機組成的顯示系統提高了10倍以上的幀頻,保證了動(dòng)態(tài)顯示時(shí)的視覺(jué)效果。同時(shí),在相同的條件下,還可以使得實(shí)際可視像素點(diǎn)增多。
3 軟件部分簡(jiǎn)述
本系統的軟件采用μC/0S-II操作系統,使得系統具有強大的多任務(wù)管理、定時(shí)器管理、中斷管理、存儲管理等功能,通過(guò)對相關(guān)寄存器的實(shí)時(shí)監控,可以大大提高系統的穩定性,這些是以往用單片機和部分DSP處理器所無(wú)法實(shí)現的。
顯示應用程序采用定時(shí)器中斷方法,通過(guò)設置合適的進(jìn)入中斷時(shí)間常數,即可以得到高于40 Hz的LED刷新幀頻,使人眼得到穩定的動(dòng)態(tài)視覺(jué)效果。
畫(huà)面的實(shí)時(shí)動(dòng)態(tài)處理,即各種動(dòng)態(tài)顯示方式均以子程序形式編寫(xiě),每種顯示方式都是獨立的子程序。具體的動(dòng)態(tài)顯示方式有:畫(huà)面左、右移,上、下移,拉幕,覆蓋,閃爍,直顯等多種方式。
4 本系統的優(yōu)點(diǎn)
①使用高性能32位RIS架構的ARM微處理器,硬件上克服了傳統8/16位單片機在處理能力、系統架構、尋址范圍和外圍接口能力上的不足;軟件上使用實(shí)時(shí)多任務(wù)操作系統,使系統的管理功能強大,可進(jìn)行實(shí)時(shí)監控,實(shí)現復雜的程序控制,程序的開(kāi)發(fā)和擴展也很方便。和以往單片機組成的類(lèi)似系統相比,本系統的軟件穩定性和可靠性都得到了很大提高。
②該系統省去了傳統做法中LED顯示部分的總線(xiàn)驅動(dòng)和譯碼電路,不像其他一些單片機系統,為提高顯示速度而采用多處理器,使用雙端口RAM,或是采用將LED屏分為多塊的方案。系統使用AT9lM42800A的SPI接口直接實(shí)現LED顯示邏輯驅動(dòng),不僅電路簡(jiǎn)單,并且簡(jiǎn)化了軟件的相關(guān)編程,節省了MCU的GPIO硬件資源。
③AT91M42800A的SPI接口可以采用16位傳輸方式,配以A6276高速的16位專(zhuān)用LED驅動(dòng)芯片,使得LED的顯示刷屏速度比傳統的單片機有了極大提高。
結語(yǔ)
由32位嵌入式RISC微處理器組成的大屏幕LED顯示系統,與傳統的基于8/16位單片機的LED顯示系統相比,在不顯著(zhù)增加系統成本的情況下,性能有了極大提高。而與采用DVI接口方式的顯示系統相比,省去了視頻處理的相關(guān)電路,又具有硬件結構簡(jiǎn)單、成本低廉等優(yōu)勢。采用本設計方案,可節省單片機的端口資源,有效簡(jiǎn)化顯示屏的電路結構,提高了整個(gè)顯示系統的可靠性。在單色視頻、動(dòng)畫(huà)、文字等LED信息顯示方面,本系統有一定的應用價(jià)值。經(jīng)過(guò)在某大型物流生產(chǎn)線(xiàn)上的長(cháng)期實(shí)際運行,證明其設計方案是成功的。
評論