首頁 > 行業(yè)資訊

基于linux平臺(tái)的全彩LED顯示屏脫機(jī)控制系統(tǒng)設(shè)計(jì)

來源:新能源網(wǎng)
時(shí)間:2015-03-06 16:36:46
熱度:

基于linux平臺(tái)的全彩LED顯示屏脫機(jī)控制系統(tǒng)設(shè)計(jì)1 引言高分辨率LED顯示屏的應(yīng)用日益廣泛,而目前國(guó)內(nèi)LED顯示屏的播放控制系統(tǒng)主要采用聯(lián)機(jī)方式來實(shí)現(xiàn),即PC機(jī)+視頻發(fā)送板,通

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