<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 基于嵌入式linux的全彩LED顯示屏脫機控制系統設計方案

基于嵌入式linux的全彩LED顯示屏脫機控制系統設計方案

作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

本文引用地址:http://dyxdggzs.com/article/174702.htm

高分辨率顯示屏的應用日益廣泛,而目前國內顯示屏的播放系統主要采用聯(lián)機方式來(lái)實(shí)現,即PC機+視頻發(fā)送板,通過(guò)千兆以太網(wǎng)或者光纖,將視頻實(shí)時(shí)發(fā)送到顯示屏端的視頻接收板上完成顯示。這種方式具有良好的人機操作界面和優(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 脫機播放系統硬件組成框圖

3 軟件系統

LED脫機播放軟件設計的基本要求包括:系統必須能夠勝任7× 24小時(shí)連續穩定運行,因此播放軟件必須具備健壯性。雖然S3C2440處理速度相對已經(jīng)較快,但是解碼對CPU時(shí)間的占用仍然是一個(gè)很突出的問(wèn)題,因此播放軟件必須具備高效性,尤其是盡最大可能發(fā)揮出SM501提供的2D加速顯示能力。另外由于SoC更新速度很快,硬件平臺必然會(huì )有更好選擇,因此軟件在保證高效率的前提下必須提高其可移植性。最后是建立開(kāi)放式的軟件架構,使之具備可擴展、可升級性,以便于逐步開(kāi)發(fā)新的功能。

本文從以下兩個(gè)方面對軟件部分的設計進(jìn)行介紹:

1)建立嵌入式Linux系統平臺

2)LED顯示屏脫機專(zhuān)用播放軟件設計與實(shí)現

文章將簡(jiǎn)要介紹基于S3C2440平臺的嵌入式Linux系統平臺的搭建,然后著(zhù)重介紹播放軟件在開(kāi)放性、可移植性、高效性方面所采用的設計方法。

4.1 建立嵌入式Linux系統平臺

Linux內核具有體積小,效率高,成熟穩定,源代碼開(kāi)放,資源豐富,內核直接提供豐富的網(wǎng)絡(luò )協(xié)議,支持多種文件系統等諸多優(yōu)點(diǎn)。本課題移植了Linux2.6.18內核,該版本內核具有穩定性好、開(kāi)發(fā)工具支持度好的優(yōu)點(diǎn)。這部分工作主要包括:

1)針對硬件平臺移植u-boot.

2)剪裁并交叉編譯Linux內核。移植USB存儲盤(pán)、DM9000A網(wǎng)絡(luò )芯片、SM501顯卡的驅動(dòng)到內核

3)交叉編譯busybox,生成ext2格式的Initrd文件系統鏡像

4)通過(guò)u-boot將內核和Initrd鏡像燒寫(xiě)到Nand Flash上,設置內核啟動(dòng)參數和u-boot啟動(dòng)命令來(lái)啟動(dòng)內核

經(jīng)過(guò)上述工作,建立了一個(gè)小型化的嵌入式Linux平臺。限于篇幅,本文對嵌入式Linux平臺的建立細節問(wèn)題不深入介紹。

4.2 LED顯示屏脫機專(zhuān)用播放軟件設計與實(shí)現

LED顯示屏脫機播放軟件的主要設計目標是支持視頻播放、圖片顯示、多區域顯示、流媒體播放、遠程控制。由于整個(gè)軟件項目比較龐大,本文將只選擇幾個(gè)關(guān)鍵模塊進(jìn)行詳細說(shuō)明,并側重介紹軟件方面如何利用SM501來(lái)實(shí)現高性能顯示及視頻播放。對流媒體播放和遠程控制部分不做介紹。

4.2.1 多區域顯示功能模塊的設計

隨著(zhù)LED顯示屏幕分辨率的不斷增加,同一個(gè)顯示屏對信息容量的需求也相應的增長(cháng),在面向廣告的LED屏中這種需求尤其突出。典型的LED多區域顯示情形是一個(gè)視頻區域,多個(gè)圖片區域,一個(gè)滾動(dòng)字幕區域。脫機播放系統主要面向戶(hù)外廣告屏,因此,必須重點(diǎn)考慮多區域顯示功能。

為了更好的支持LED屏幕多區域顯示,必須從傳統的全屏顯示概念中脫離出來(lái),建立基于區域(zone)顯示的概念,即顯示內容總是在某個(gè)顯示區域上完成顯示,單屏顯示只是多區域顯示的一個(gè)特例。在結構上區域按層次劃分,區域可以劃分為多個(gè)子區域。同級子區域的位置不能重疊。這樣,在理論上,可以支持任意的以矩形為單位的分區域顯示形式。多個(gè)區域并行顯示,通過(guò)多線(xiàn)程方式實(shí)現。

每個(gè)區域都包含一個(gè)播放列表(playlist)。每個(gè)播放列表由一系列顯示項目(playitem)組成。 顯示項目的概念是指在某個(gè)顯示區域上進(jìn)行一次完整的顯示過(guò)程。如一段視頻播放,一幅圖片定時(shí)顯示,文字的運動(dòng)顯示等。程序采用了面向對象的設計思想,將不同類(lèi)型的顯示項目的共性抽象出來(lái),以方便不斷擴展的新的顯示項目和客戶(hù)定制的顯示內容。

所有的顯示項目,無(wú)論其內容如何,都可以抽象為一個(gè)隨時(shí)間變化的狀態(tài)機。每個(gè)顯示項目在時(shí)間的推移下在其所屬的區域中完成自身的顯示,也就是完成一個(gè)從初始化到結束的狀態(tài)轉換過(guò)程。因此,playitem是一個(gè)抽象基類(lèi)。每種類(lèi)型的顯示項目只需重新實(shí)現playitem提供的公共調用接口即可。

每個(gè)區域具有一個(gè)播放線(xiàn)程,該線(xiàn)程不斷地從playlist中取出一個(gè)顯示項目,執行其狀態(tài)轉換接口完成顯示過(guò)程。這種設計允許不同類(lèi)型的顯示項目混合排列在同一個(gè)顯示列表下,極大的增加了播放過(guò)程安排的靈活性。

多區域顯示設計模型如圖2示。

圖2 多區域顯示模型

4.2.2基于SM501的2D加速顯示接口設計

顯示層的設計旨在提供一套可移植的、使用方便的2D顯示接口,包括基于區域內部坐標的應用顯示層接口和基于屏幕坐標而與硬件無(wú)關(guān)的底層顯示接口。應用顯示層給顯示項目playitem提供簡(jiǎn)單的基于區域坐標的顯示接口?;谄聊蛔鴺说牡讓语@示直接工作在SM501硬件之上,最大化利用了SM501硬件加速能力,同時(shí)還提供了可移植的接口。在移植到其他的2D硬件上只需要重新實(shí)現底層顯示接口即可。

由于硬件設計上SM501處于slave mode與S3C2440連接,SM501不能訪(fǎng)問(wèn)系統內存,所有要進(jìn)行加速操作的顯示內容必須存放在SM501的獨立顯存上,這樣不方便移植DirectFB作為底層顯示接口。因此本文按照通用的2D顯示接口,獨立實(shí)現了一套基于屏幕坐標的通用底層2D顯示接口。

在實(shí)現上通過(guò)mmap把SM501的控制寄存器和獨立顯存全部從內核空間映射到用戶(hù)空間,這樣在程序中可以直接訪(fǎng)問(wèn)SM501的寄存器和管理本地顯存,避免了在顯示時(shí)應用程序與內核之間的數據交換,顯示加速作用得以充分發(fā)揮?;趯M501的直接訪(fǎng)問(wèn),底層顯示層實(shí)現了一套基本接口,包括顯存分配與釋放和基本2D加速操作如畫(huà)線(xiàn)(line)、矩形填充(fill_rect),位圖復制(bitblt)、縮放(bitblt_stretch)、色空間轉換(CSC)等。其中對視頻播放性能影響最大的是縮放和色空間轉換。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

linux相關(guān)文章:linux教程


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



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 控制 嵌入式 LED

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>