基于linux的全彩LED顯示屏脫機控制系統(tǒng)設(shè)計
LED脫機播放軟件設(shè)計的基本要求包括:系統(tǒng)必須能夠勝任7× 24小時連續(xù)穩(wěn)定運行,因此播放軟件必須具備健壯性。雖然S3C2440處理速度相對已經(jīng)較快,但是解碼對CPU時間的占用仍然是一個很突出的問題,因此播放軟件必須具備高效性,尤其是盡最大可能發(fā)揮出SM501提供的2D加速顯示能力。另外由于SoC更新速度很快,硬件平臺必然會有更好選擇,因此軟件在保證高效率的前提下必須提高其可移植性。最后是建立開放式的軟件架構(gòu),使之具備可擴展、可升級性,以便于逐步開發(fā)新的功能。
本文從以下兩個方面對軟件部分的設(shè)計進行介紹:
1)建立嵌入式Linux系統(tǒng)平臺
2)LED顯示屏脫機專用播放軟件設(shè)計與實現(xiàn)
文章將簡要介紹基于S3C2440平臺的嵌入式Linux系統(tǒng)平臺的搭建,然后著重介紹播放軟件在開放性、可移植性、高效性方面所采用的設(shè)計方法。
4.1 建立嵌入式Linux系統(tǒng)平臺
Linux內(nèi)核具有體積小,效率高,成熟穩(wěn)定,源代碼開放,資源豐富,內(nèi)核直接提供豐富的網(wǎng)絡(luò)協(xié)議,支持多種文件系統(tǒng)等諸多優(yōu)點。本課題移植了Linux2.6.18內(nèi)核,該版本內(nèi)核具有穩(wěn)定性好、開發(fā)工具支持度好的優(yōu)點。這部分工作主要包括:
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平臺的建立細節(jié)問題不深入介紹。
4.2 LED顯示屏脫機專用播放軟件設(shè)計與實現(xiàn)
LED顯示屏脫機播放軟件的主要設(shè)計目標是支持視頻播放、圖片顯示、多區(qū)域顯示、流媒體播放、遠程控制。由于整個軟件項目比較龐大,本文將只選擇幾個關(guān)鍵模塊進行詳細說明,并側(cè)重介紹軟件方面如何利用SM501來實現(xiàn)高性能顯示及視頻播放。對流媒體播放和遠程控制部分不做介紹。
4.2.1 多區(qū)域顯示功能模塊的設(shè)計
隨著LED顯示屏幕分辨率的不斷增加,同一個顯示屏對信息容量的需求也相應(yīng)的增長,在面向廣告的 LED屏中這種需求尤其突出。典型的LED多區(qū)域顯示情形是一個視頻區(qū)域,多個圖片區(qū)域,一個滾動字幕區(qū)域。脫機播放系統(tǒng)主要面向戶外廣告屏,因此,必須重點考慮多區(qū)域顯示功能。
為了更好的支持LED屏幕多區(qū)域顯示,必須從傳統(tǒng)的全屏顯示概念中脫離出來,建立基于區(qū)域(zone)顯示的概念,即顯示內(nèi)容總是在某個顯示區(qū)域上完成顯示,單屏顯示只是多區(qū)域顯示的一個特例。在結(jié)構(gòu)上區(qū)域按層次劃分,區(qū)域可以劃分為多個子區(qū)域。同級子區(qū)域的位置不能重疊。這樣,在理論上,可以支持任意的以矩形為單位的分區(qū)域顯示形式。多個區(qū)域并行顯示,通過多線程方式實現(xiàn)。
led顯示器相關(guān)文章:led顯示器原理
評論