異步LED顯示屏控制系統(tǒng)設計
來源:數字音視工程網 編輯:航行150 2016-01-21 08:59:51 加入收藏
基于LED技術的大屏幕顯示屏已經廣泛用于廣場、機場、體育場館和車站等公共場所,在大屏幕上顯示文字、動畫、圖像以及視頻等多媒體信息。LED大屏幕控制系統(tǒng)在顯示信息時,不需要經過計算機對數據進行處理,是直接讀取存放在顯示器緩沖區(qū)中的信息來顯示的,當需要更新信息時,顯示屏的數據采集模塊向顯示模塊發(fā)送新數據。本文利用高速數據存儲和處理的技術方法,設計了一種彩色異步LED大屏幕顯示屏控制系統(tǒng)。
1系統(tǒng)設計
1.1系統(tǒng)的總體框架
本文設計的LED大屏幕顯示屏控制系統(tǒng)總體框架如圖1所示。
從圖中可以看出,系統(tǒng)主要包括以下4個組成部分:
1)上位機用戶控制平臺部分,主要用于對圖像數據進行壓縮和對顯示信息的修改;
2)基于ARM的屏幕通信接口部分,用于實現(xiàn)與上位機通信,接收上位機部分的圖像數據和控制信號;
3)基于CPLD和ARM的大屏幕主控制器部分,實現(xiàn)圖像灰度調制和重構;
4)大屏幕顯示驅動電路部分,是為大屏幕的LED燈管提供驅動恒定的電流。
如圖2所示為系統(tǒng)的數據流圖。
1.2系統(tǒng)硬件設計
目前有兩種主流主處理器供顯示屏控制系統(tǒng)使用,一種是ARM,另一種是ATMEL公司生產的89055。因為ARM不但運算速度快,還可以對各種數字信號進行實時處理,很適合LED大屏幕控制系統(tǒng)的主處理器在運行過程中需要對大量數據進行搬移的特點,同時也為設計后期的軟件編程留有充裕的時間空間。因此我們選定ARM為本系統(tǒng)的主處理器。
1.2.1通信模塊設計
在異步LED大屏幕控制系統(tǒng)中,可以在脫機狀態(tài)顯示不同的信息。因此,實現(xiàn)對大屏幕顯示內容的實時更新和調整是LED大屏幕控制系統(tǒng)設計中必須要進行的重要環(huán)節(jié)。對于LED顯示器與上位機的通信功能進行設計與研究,其目的是為了快速、可靠地獲得調整后的顯示內容。因此,本文設計的系統(tǒng)提供了3種通信方式,分別是以太網通信、串口通信和無線射頻通信。這3種通信方式不但增強了通信的性能,而且方便了用戶的使用。
1.2.2顯示控制模塊設計
屏幕控制電路是LED大屏幕控制系統(tǒng)中的一個重要組成部分,顯示屏控制邏輯電路生成讀寫控制信號和訪問顯示緩沖區(qū)數據的地址,讀取出來的顯示數據通過顯示驅動程序發(fā)送到LED顯示屏顯示。顯示控制模塊主要由讀/寫地址產生器、計數器、讀/寫地址選擇器、讀/寫選擇器、讀/寫信號產生器、移位鎖存器和同步控制器等部分組成。
要在LED大屏幕上顯示一幅完整的圖形圖像,CPLD和ARM必須要協(xié)同一致工作,完成顯示存儲器中圖形圖像數據的讀取、解壓,圖像顯示效果的制作、灰度調制和生成顯示屏的驅動邏輯等各個部分的功能。顯示控制模塊的硬件結構圖如圖3所示。
在控制電路中,數據總線將CPLD與ARM之間連接起來,S3C44B0X通過芯片2選通CPLD中的數據緩沖區(qū),所以ARM輸出數據的基地址為0x40000000。ARM首先將FLASH中保存的圖像數據復制到SDRAM中,經過相關處理后,調用不同的動態(tài)顯示效果程序將SDRAM中的圖像數據循環(huán)寫入CPLD緩沖區(qū),CPLD生成相應的時序轉換,串行輸出至LED驅動電路。
2.LED大屏幕控制系統(tǒng)軟件設計與實現(xiàn)
考慮到系統(tǒng)硬件驅動程序的運行效率以及軟件的開發(fā)周期,本系統(tǒng)采用C語言作為軟件的開發(fā)工具。
設計的應用程序要實現(xiàn)與顯示屏硬件的連接功能,一要與系統(tǒng)底層的硬件驅動程序進行通信,二要為用戶提供控制界面并可以接收用戶輸入的各種指令。為此,采用VisualC++作為系統(tǒng)應用程序的開發(fā)工具。通信應用程序使用MSComm(MicrosoftCommunicationsControl)控件來編寫,MSComm是微軟公司為用戶提供的簡化Window、下串行的通信編程ActiveX控件。MSComm控件通過外部設備的串行端口進行數據的傳輸和接收,可以為應用程序提供串行的通信功能。利用MSComm控件進行串口的編程非常快捷、方便。MSComm控件是基于事件驅動的,在一般情況下,在事件發(fā)生時必須要得到通知。在實際編程中,可以在OnComm事件處理函數中加入自己編寫的處理代碼,OnComm事件處理函數還可以檢查和處理程序在運行過程中出現(xiàn)通信錯誤。OnComm控件的最大優(yōu)點是程序響應的時間非常短,可靠性較高。每個MSComm控件于一個串行端口對應。如果應用程序需要訪問多個串行端口,就要使用多MSComm控件。MSComm控件的行為是由其各種屬性決定的。在VC++中可以通過一系列的成員函數設置這些屬性,從而控制串行口的數據格式、波特率等特征。另外,在VC++中,MSComm控件是作為CWND類的派生類出現(xiàn)的,在系統(tǒng)初始化時必須創(chuàng)建這個窗口,并使用成員函數設置其屬性,使它和下位機使用相同的通訊格式,否則是不能建立正確的串行通訊的。
3.結論
目前,現(xiàn)有的LED大屏幕控制系統(tǒng)中,還有很多是采用8位或者16位單片機作為系統(tǒng)的主處理器,系統(tǒng)存在運算速度慢、存儲空間較小、通信方式單一以及數據傳輸速度慢等缺點。針對上述存在的問題,本文設計了一種新的LED大屏幕控制系統(tǒng),系統(tǒng)采用ARM作為主處理器,結合可編程邏輯器件設計了系統(tǒng)的驅動電路,實現(xiàn)了異步LED大屏幕的彩色圖像、文字和視頻等的顯示。
評論comment