LED顯示屏脫機控制技術(shù)
現(xiàn)在大街上隨處可見的LED顯示屏,還有裝飾用的LED彩燈以及LED車燈,處處可見LED燈的身影,LED已經(jīng)融入到生活中的每一個角落。高分辨率LED顯示屏的應用日益廣泛,而目前國內(nèi)LED顯示屏的播放控制系統(tǒng)主要采用聯(lián)機方式來實現(xiàn),即PC機+視頻發(fā)送板,通過千兆以太網(wǎng)或者光纖,將視頻實時發(fā)送到LED顯示屏端的視頻接收板上完成顯示。
這種方式具有良好的人機操作界面和優(yōu)秀的視頻顯示質(zhì)量,對于近距離LED顯示屏聯(lián)機播放是一種重要的顯示手段。而對于超長距離、戶外LED顯示屏而言,聯(lián)機播放顯然需要付出很高的代價才能實現(xiàn),有些場合甚至無法實現(xiàn)。而脫機方式在這些場合則顯示出其獨特的優(yōu)勢。脫機方式的特點在于無人值守,專用性強,占用資源少,經(jīng)濟便攜。同時可以通過一定的控制途徑如Internet、GSM網(wǎng)絡等可對播放過程及內(nèi)容進行實時的干預和修改。目前國內(nèi)的脫機控制系統(tǒng)多由嵌入式系統(tǒng)如單片機、 SOC、DSP、RISC處理器等實現(xiàn)。
大多數(shù)脫機控制卡只能顯示較小的分辨率,支持偽彩或者單色,不能播放高質(zhì)量的視頻。本設(shè)計旨在實現(xiàn)具有高分辨率、高質(zhì)量視頻播放、流媒體播放、多區(qū)域顯示等功能的小型專用LED脫機播放系統(tǒng)。 本文將從系統(tǒng)的硬件結(jié)構(gòu)和原理、軟件各模塊設(shè)計與實現(xiàn)、性能測試及結(jié)論三個方面進行說明。
2 脫機播放系統(tǒng)的硬件結(jié)構(gòu)和工作原理
目前國內(nèi)LED屏脫機控制系統(tǒng)多采用高性能RISC處理器作為核心,典型的以ARM9為核心的 SoC芯片工作頻率大多在200~600MHz之間。然而顯示方面的性能依然比較低下,大多數(shù)芯片,典型的如S3C24X0,通過內(nèi)部集成LCD控制器來實現(xiàn)顯示功能,一般只支持到640X480的顯示分辨率,16bit顏色深度。
處理器芯片內(nèi)置的LCD控制器是在系統(tǒng)內(nèi)存中設(shè)置一小部分作為幀存(Frame Buffer),LCD控制器使用一個專用的高速DMA通道不斷地讀取幀存中的象素數(shù)據(jù)到FIFO memory中,最后生成視頻時序輸出到外部LCD接口,因此視頻顯示直接占用系統(tǒng)總線帶寬。支持更高的分辨率和色彩深度意味著占用更多的系統(tǒng)帶寬,比如 1024×768分辨下,24位深度,60Hz場頻的顯示輸出,顯示占用的系統(tǒng)帶寬在1.1Gbps以上。小型嵌入式系統(tǒng)有限的總線帶寬顯然不可能很好地支持高分辨率真彩顯示。
另一方面,對于一般的2D圖形操作如象素復制、縮放、色空間轉(zhuǎn)換等需要軟件實現(xiàn),處理器對Frame Buffer的頻繁操作帶來的系統(tǒng)性能下降十分突出,極大的影響了CPU在視頻解碼方面的效率。鑒于上述分析,使用普通的面向手持設(shè)備的嵌入式體系結(jié)構(gòu)無法滿足全彩大型LED屏幕的顯示要求,本文選擇了工業(yè)級ARM芯片S3C2440+SM501顯示加速協(xié)處理器的解決方案,從根本上解決了上述分析兩個影響顯示性能的關(guān)鍵問題。
圖1 脫機播放系統(tǒng)硬件組成框圖
3 建立嵌入式Linux系統(tǒng)平臺
Linux內(nèi)核具有體積小,效率高,成熟穩(wěn)定,源代碼開放,資源豐富,內(nèi)核直接提供豐富的網(wǎng)絡協(xié)議,支持多種文件系統(tǒng)等諸多優(yōu)點。本課題移植了Linux2.6.18內(nèi)核,該版本內(nèi)核具有穩(wěn)定性好、開發(fā)工具支持度好的優(yōu)點。這部分工作主要包括:
1)針對硬件平臺移植u-boot.2)剪裁并交叉編譯Linux內(nèi)核。移植USB存儲盤、DM9000A網(wǎng)絡芯片、SM501顯卡的驅(qū)動到內(nèi)核3)交叉編譯busybox,生成ext2格式的Initrd文件系統(tǒng)鏡像4)通過u-boot將內(nèi)核和Initrd鏡像燒寫到Nand Flash上,設(shè)置內(nèi)核啟動參數(shù)和u-boot啟動命令來啟動內(nèi)核經(jīng)過上述工作,建立了一個小型化的嵌入式Linux平臺。限于篇幅,本文對嵌入式Linux平臺的建立細節(jié)問題不深入介紹。
4 LED顯示屏脫機專用播放軟件設(shè)計與實現(xiàn)
LED顯示屏脫機播放軟件的主要設(shè)計目標是支持視頻播放、圖片顯示、多區(qū)域顯示、流媒體播放、遠程控制。由于整個軟件項目比較龐大,本文將只選擇幾個關(guān)鍵模塊進行詳細說明,并側(cè)重介紹軟件方面如何利用SM501來實現(xiàn)高性能顯示及視頻播放。對流媒體播放和遠程控制部分不做介紹。
5 結(jié)論
本文采用高速MCU和SM501嵌入式顯卡作為硬件平臺,突破了嵌入式系統(tǒng)在顯示性能上的瓶頸,接口明確。在軟件上移植了Linux2.6內(nèi)核作為軟件平臺,在效率和可移植性方面做了較好平衡,運用了良好的軟件設(shè)計思想,開發(fā)出具有開放式體系結(jié)構(gòu)的 LED脫機播放軟件。
該系統(tǒng)已經(jīng)成功應用于全彩LED顯示屏的脫機播放和控制。雖然LED在生活中處處可見,但是LED也還有一些不足需要我們的設(shè)計人員擁有更加專業(yè)的知識儲備,這樣才能設(shè)計出更加符合生活所需的產(chǎn)品。