基于linux的全彩LED顯示屏脫機(jī)控制系統(tǒng)設(shè)計(jì)
1 引言
高分辨率LED顯示屏的應(yīng)用日益廣泛,而目前國(guó)內(nèi)LED顯示屏的播放控制系統(tǒng)主要采用聯(lián)機(jī)方式來(lái)實(shí)現(xiàn),即PC機(jī)+視頻發(fā)送板,通過(guò)千兆以太網(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)合甚至無(wú)法實(shí)現(xiàn)。而脫機(jī)方式在這些場(chǎng)合則顯示出其獨(dú)特的優(yōu)勢(shì)。脫機(jī)方式的特點(diǎn)在于無(wú)人值守,專用性強(qiáng),占用資源少,經(jīng)濟(jì)便攜。同時(shí)可以通過(guò)一定的控制途徑如Internet、GSM網(wǎng)絡(luò)等可對(duì)播放過(guò)程及內(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)行說(shuō)明。
2 脫機(jī)播放系統(tǒng)的硬件結(jié)構(gòu)和工作原理
目前國(guó)內(nèi)LED屏脫機(jī)控制系統(tǒng)多采用高性能RISC處理器作為核心,典型的以ARM9為核心的 SoC芯片工作頻率大多在200~600MHz之間。然而顯示方面的性能依然比較低下,大多數(shù)芯片,典型的如S3C24X0,通過(guò)內(nèi)部集成LCD控制器來(lái)實(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的頻繁操作帶來(lái)的系統(tǒng)性能下降十分突出,極大的影響了CPU在視頻解碼方面的效率。
鑒于上述分析,使用普通的面向手持設(shè)備的嵌入式體系結(jié)構(gòu)無(wú)法滿足全彩大型LED屏幕的顯示要求,本文選擇了工業(yè)級(jí)ARM芯片S3C2440+SM501顯示加速協(xié)處理器的解決方案,從根本上解決了上述分析兩個(gè)影響顯示性能的關(guān)鍵問(wèn)題。
S3C2440是以ARM920T為核心,基本工作頻率400MHz,最高可達(dá)533MHz的一款工業(yè)級(jí)SoC.其內(nèi)部集成了RART,USB,I2 C,LCD,NAND,MMC/SD controller等多種常見(jiàn)IO設(shè)備控制器。
SM501是一款便攜式多媒體協(xié)處理器芯片,專門為嵌入式工業(yè)提供顯示功能,具有視頻和2D加速能力。它支持多種輸入/輸出接口,包括模擬RGB、數(shù)字 LCD接口、8位并行接口、USB、UART、IrDA、Zoom Video、AC97或I2S、SSP、PWM和I2 C.SM501的2D引擎包括一個(gè)前端色彩空間轉(zhuǎn)換器,支持4∶1和1∶8的比例。LCD視頻流水線支持一個(gè)YUV色彩空間轉(zhuǎn)換。通過(guò)將優(yōu)化的128位的2D圖形引擎和一個(gè)與本地幀存儲(chǔ)器連接的高帶寬鏈接相結(jié)合,SM501提供面向工業(yè)的2D圖形加速功能。2D圖形引擎包含一個(gè)命令翻譯器(一個(gè)增強(qiáng)型的DMA引擎),對(duì)于工作在150 MHz的32位數(shù)據(jù)寬度的SDRAM,SM501的DMA引擎讀取2D操作數(shù)的帶寬可達(dá)600 MB/s.SM501支持的最大顯示分辨率為1280×1 024,可以輕松支持普通PC顯示分辨率1024×768.
整個(gè)硬件系統(tǒng)原理如圖1示。S3C2440與SM501在slave 模式下通過(guò)系統(tǒng)總線連接,SM501連接8MB的本地幀存,S3C2440可以通過(guò)系統(tǒng)總線直接訪問(wèn)SM501的本地幀存。系統(tǒng)掛接DM9000A 10/100M網(wǎng)絡(luò)芯片,上位機(jī)脫機(jī)控制軟件通過(guò)Internet網(wǎng)絡(luò)連接到脫機(jī)系統(tǒng)進(jìn)行實(shí)時(shí)控制。脫機(jī)系統(tǒng)通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)流媒體功能。
對(duì)于SM501輸出的數(shù)字視頻,采用FPGA進(jìn)行采集和分發(fā)。SM501與FPGA之間通過(guò)LCD數(shù)字接口連接,包含24 bit并行象素點(diǎn)RGB數(shù)據(jù)、象素時(shí)鐘pclk,行場(chǎng)同步及DE信號(hào)。FPGA采集LCD接口輸出的象素?cái)?shù)據(jù)并實(shí)時(shí)轉(zhuǎn)發(fā)到象素位置對(duì)應(yīng)的掃描板,一幀圖象傳輸完畢后,所有掃描板將同時(shí)更新顯示新圖像幀。每個(gè)掃描板控制的分辨率為256 × 256,脫機(jī)系統(tǒng)最大可以控制1024 × 768分辨率。FPGA內(nèi)部邏輯詳細(xì)設(shè)計(jì)不作為本文討論的主要內(nèi)容。
圖1 脫機(jī)播放系統(tǒng)硬件組成框圖
led顯示器相關(guān)文章:led顯示器原理
評(píng)論