基于linux的全彩LED顯示屏脫機控制系統設計
1 引言
高分辨率LED顯示屏的應用日益廣泛,而目前國內LED顯示屏的播放控制系統主要采用聯(lián)機方式來(lái)實(shí)現,即PC機+視頻發(fā)送板,通過(guò)千兆以太網(wǎng)或者光纖,將視頻實(shí)時(shí)發(fā)送到LED顯示屏端的視頻接收板上完成顯示。這種方式具有良好的人機操作界面和優(yōu)秀的視頻顯示質(zhì)量,對于近距離LED顯示屏聯(lián)機播放是一種重要的顯示手段。而對于超長(cháng)距離、戶(hù)外LED顯示屏而言,聯(lián)機播放顯然需要付出很高的代價(jià)才能實(shí)現,有些場(chǎng)合甚至無(wú)法實(shí)現。而脫機方式在這些場(chǎng)合則顯示出其獨特的優(yōu)勢。脫機方式的特點(diǎn)在于無(wú)人值守,專(zhuān)用性強,占用資源少,經(jīng)濟便攜。同時(shí)可以通過(guò)一定的控制途徑如Internet、GSM網(wǎng)絡(luò )等可對播放過(guò)程及內容進(jìn)行實(shí)時(shí)的干預和修改。目前國內的脫機控制系統多由嵌入式系統如單片機、 SOC、DSP、RISC處理器等實(shí)現。大多數脫機控制卡只能顯示較小的分辨率,支持偽彩或者單色,不能播放高質(zhì)量的視頻。本設計旨在實(shí)現具有高分辨率、高質(zhì)量視頻播放、流媒體播放、多區域顯示等功能的小型專(zhuān)用LED脫機播放系統。 本文將從系統的硬件結構和原理、軟件各模塊設計與實(shí)現、性能測試及結論三個(gè)方面進(jìn)行說(shuō)明。
2 脫機播放系統的硬件結構和工作原理
目前國內LED屏脫機控制系統多采用高性能RISC處理器作為核心,典型的以ARM9為核心的 SoC芯片工作頻率大多在200~600MHz之間。然而顯示方面的性能依然比較低下,大多數芯片,典型的如S3C24X0,通過(guò)內部集成LCD控制器來(lái)實(shí)現顯示功能,一般只支持到640X480的顯示分辨率,16bit顏色深度。處理器芯片內置的LCD控制器是在系統內存中設置一小部分作為幀存(Frame Buffer),LCD控制器使用一個(gè)專(zhuān)用的高速DMA通道不斷地讀取幀存中的象素數據到FIFO memory中,最后生成視頻時(shí)序輸出到外部LCD接口,因此視頻顯示直接占用系統總線(xiàn)帶寬。支持更高的分辨率和色彩深度意味著(zhù)占用更多的系統帶寬,比如 1024×768分辨下,24位深度,60Hz場(chǎng)頻的顯示輸出,顯示占用的系統帶寬在1.1Gbps以上。小型嵌入式系統有限的總線(xiàn)帶寬顯然不可能很好地支持高分辨率真彩顯示。
另一方面,對于一般的 2D圖形操作如象素復制、縮放、色空間轉換等需要軟件實(shí)現,處理器對Frame Buffer的頻繁操作帶來(lái)的系統性能下降十分突出,極大的影響了CPU在視頻解碼方面的效率。
鑒于上述分析,使用普通的面向手持設備的嵌入式體系結構無(wú)法滿(mǎn)足全彩大型LED屏幕的顯示要求,本文選擇了工業(yè)級ARM芯片S3C2440+SM501顯示加速協(xié)處理器的解決方案,從根本上解決了上述分析兩個(gè)影響顯示性能的關(guān)鍵問(wèn)題。
S3C2440是以ARM920T為核心,基本工作頻率400MHz,最高可達533MHz的一款工業(yè)級SoC.其內部集成了RART,USB,I2 C,LCD,NAND,MMC/SD controller等多種常見(jiàn)IO設備控制器。
SM501是一款便攜式多媒體協(xié)處理器芯片,專(zhuān)門(mén)為嵌入式工業(yè)提供顯示功能,具有視頻和2D加速能力。它支持多種輸入/輸出接口,包括模擬RGB、數字 LCD接口、8位并行接口、USB、UART、IrDA、Zoom Video、AC97或I2S、SSP、PWM和I2 C.SM501的2D引擎包括一個(gè)前端色彩空間轉換器,支持4∶1和1∶8的比例。LCD視頻流水線(xiàn)支持一個(gè)YUV色彩空間轉換。通過(guò)將優(yōu)化的128位的2D圖形引擎和一個(gè)與本地幀存儲器連接的高帶寬鏈接相結合,SM501提供面向工業(yè)的2D圖形加速功能。2D圖形引擎包含一個(gè)命令翻譯器(一個(gè)增強型的DMA引擎),對于工作在150 MHz的32位數據寬度的SDRAM,SM501的DMA引擎讀取2D操作數的帶寬可達600 MB/s.SM501支持的最大顯示分辨率為1280×1 024,可以輕松支持普通PC顯示分辨率1024×768.
整個(gè)硬件系統原理如圖1示。S3C2440與SM501在slave 模式下通過(guò)系統總線(xiàn)連接,SM501連接8MB的本地幀存,S3C2440可以通過(guò)系統總線(xiàn)直接訪(fǎng)問(wèn)SM501的本地幀存。系統掛接DM9000A 10/100M網(wǎng)絡(luò )芯片,上位機脫機控制軟件通過(guò)Internet網(wǎng)絡(luò )連接到脫機系統進(jìn)行實(shí)時(shí)控制。脫機系統通過(guò)網(wǎng)絡(luò )實(shí)現流媒體功能。
對于SM501輸出的數字視頻,采用FPGA進(jìn)行采集和分發(fā)。SM501與FPGA之間通過(guò)LCD數字接口連接,包含24 bit并行象素點(diǎn)RGB數據、象素時(shí)鐘pclk,行場(chǎng)同步及DE信號。FPGA采集LCD接口輸出的象素數據并實(shí)時(shí)轉發(fā)到象素位置對應的掃描板,一幀圖象傳輸完畢后,所有掃描板將同時(shí)更新顯示新圖像幀。每個(gè)掃描板控制的分辨率為256 × 256,脫機系統最大可以控制1024 × 768分辨率。FPGA內部邏輯詳細設計不作為本文討論的主要內容。
圖1 脫機播放系統硬件組成框圖

led顯示器相關(guān)文章:led顯示器原理
評論