基于linux的全彩LED顯示屏脫機控制系統設計
LED脫機播放軟件設計的基本要求包括:系統必須能夠勝任7× 24小時連續穩定運行,因此播放軟件必須具備健壯性。雖然S3C2440處理速度相對已經較快,但是解碼對CPU時間的占用仍然是一個很突出的問題,因此播放軟件必須具備高效性,尤其是盡最大可能發揮出SM501提供的2D加速顯示能力。另外由于SoC更新速度很快,硬件平臺必然會有更好選擇,因此軟件在保證高效率的前提下必須提高其可移植性。最后是建立開放式的軟件架構,使之具備可擴展、可升級性,以便于逐步開發新的功能。
本文從以下兩個方面對軟件部分的設計進行介紹:
1)建立嵌入式Linux系統平臺
2)LED顯示屏脫機專用播放軟件設計與實現
文章將簡要介紹基于S3C2440平臺的嵌入式Linux系統平臺的搭建,然后著重介紹播放軟件在開放性、可移植性、高效性方面所采用的設計方法。
4.1 建立嵌入式Linux系統平臺
Linux內核具有體積小,效率高,成熟穩定,源代碼開放,資源豐富,內核直接提供豐富的網絡協議,支持多種文件系統等諸多優點。本課題移植了Linux2.6.18內核,該版本內核具有穩定性好、開發工具支持度好的優點。這部分工作主要包括:
1)針對硬件平臺移植u-boot.
2)剪裁并交叉編譯Linux內核。移植USB存儲盤、DM9000A網絡芯片、SM501顯卡的驅動到內核
3)交叉編譯busybox,生成ext2格式的Initrd文件系統鏡像
4)通過u-boot將內核和Initrd鏡像燒寫到Nand Flash上,設置內核啟動參數和u-boot啟動命令來啟動內核
經過上述工作,建立了一個小型化的嵌入式Linux平臺。限于篇幅,本文對嵌入式Linux平臺的建立細節問題不深入介紹。
4.2 LED顯示屏脫機專用播放軟件設計與實現
LED顯示屏脫機播放軟件的主要設計目標是支持視頻播放、圖片顯示、多區域顯示、流媒體播放、遠程控制。由于整個軟件項目比較龐大,本文將只選擇幾個關鍵模塊進行詳細說明,并側重介紹軟件方面如何利用SM501來實現高性能顯示及視頻播放。對流媒體播放和遠程控制部分不做介紹。
4.2.1 多區域顯示功能模塊的設計
隨著LED顯示屏幕分辨率的不斷增加,同一個顯示屏對信息容量的需求也相應的增長,在面向廣告的 LED屏中這種需求尤其突出。典型的LED多區域顯示情形是一個視頻區域,多個圖片區域,一個滾動字幕區域。脫機播放系統主要面向戶外廣告屏,因此,必須重點考慮多區域顯示功能。
為了更好的支持LED屏幕多區域顯示,必須從傳統的全屏顯示概念中脫離出來,建立基于區域(zone)顯示的概念,即顯示內容總是在某個顯示區域上完成顯示,單屏顯示只是多區域顯示的一個特例。在結構上區域按層次劃分,區域可以劃分為多個子區域。同級子區域的位置不能重疊。這樣,在理論上,可以支持任意的以矩形為單位的分區域顯示形式。多個區域并行顯示,通過多線程方式實現。

led顯示器相關文章:led顯示器原理
評論