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