目前采用的LED大屏幕顯示系統(tǒng)的控制電路,大多由單個或多個CPU及復雜的外圍電路組成,這種電路設計,單片機編程比較復雜,整個電路的調試比較麻煩,可靠性和實時性很難得到保證。針對這種情況,提出一種SD卡存儲顯示文件,由TMS320LF2407A和EPM240配合完成的大屏幕設計方案,使得動畫的變換和處理與屏幕的顯示控制完全分離,各模塊任務分明,功能完善,充分發(fā)揮了DSP以及CPLD各自的優(yōu)點,實現(xiàn)高性能的無閃爍顯示。
1、總體設計
系統(tǒng)結構如圖1所示,核心處理器采用TMS320LF2407A,外部擴展了網(wǎng)絡接口芯片RTL8019AS、SD卡和雙口RAM芯片。本系統(tǒng)中,DSP主要發(fā)揮其邏輯運算處理能力;網(wǎng)絡通信接收文件功能、圖形文字變換功能以及文件的讀取保存功能都由TMS320LF2407A完成;而CPLD芯片EPM240的功能較單一,只負責從雙口RAM中獲得將要顯示的數(shù)據(jù),批量讀取并送入由多個74LS595驅動的LED點陣陣列。換言之,EPM240負責實時動態(tài)刷新屏幕顯示,保證刷新速度而不產(chǎn)生閃爍感覺(即刷新頻率要達到100 Hz以上)。
本系統(tǒng)主要分為3個功能模塊:
(1)以太網(wǎng)數(shù)據(jù)傳送部分。PC機通過以太網(wǎng)將需顯示的數(shù)據(jù)(可能是屏幕截圖數(shù)據(jù),也可能是文本文件等)以UDP數(shù)據(jù)報的形式發(fā)往本系統(tǒng),RTL8019AS會自動將不是發(fā)往本地IP地址的數(shù)據(jù)包丟棄,主程序中查詢RTL8019AS接收到新的數(shù)據(jù)包并讀取入SD卡文件緩沖區(qū),緩沖區(qū)填滿時以文件形式寫入SD卡FAT32文件系統(tǒng)中。
(2)DSP動畫變換算法實現(xiàn)部分。TMS320LF2407A具有32 KB的外部RAM空間,圖1中所示的雙口RAM被擴展至此空間。首先DSP將這32 KB空間劃分成2個區(qū)域(各16 KB),分別用作邏輯運算區(qū)和顯示內存區(qū)(都在雙口RAM中)。DSP讀取SD卡中將要顯示的文件數(shù)據(jù)并將其送入邏輯運算區(qū),根據(jù)畫面所需的動畫要求做相應變換,變換后的點陣直接填充顯示內存區(qū),以便CPLD從該區(qū)讀取顯示數(shù)據(jù)。
(3)CPLD顯示圖形的刷新。利用CPLD速度快的特點,將顯示內存區(qū)中的數(shù)據(jù)快速讀入并發(fā)送給74LS595驅動擴展的LED陣列,由于功能的單一性,使顯示具有很高的刷新速度,無閃爍等現(xiàn)象。
2、EPM240的主要任務
EPM240需從雙口RAM的顯示內存區(qū)中讀入數(shù)據(jù),所以在硬件電路上必須將雙口RAM的一個端口與EPM240連接,在用VHDL語言描述電路時,采用狀態(tài)機實現(xiàn)EPM240對雙口RAM的控制與數(shù)據(jù)的讀取。由于雙口RAM的2個端口都可能同時對同一個單元操作,因此必須將雙口RAM的BUSY引腳分別接至DSP和EPM240上,一邊操作時,另一邊必須等待操作結束,否則可能會造成數(shù)據(jù)錯誤。DSP在操作顯示內存區(qū)時,采用逆序地址方向(地址從大到小),而EPM240采用正序地址方向操作,這樣做的好處是修改一幅圖像時,最大可能地避免發(fā)生同時操作同一單元的現(xiàn)象。
除了完成與雙口RAM接口的工作外,EPM240還必須將讀入的字節(jié)不斷地發(fā)送給74LS595刷新硬件顯示,只要采用VHDL語言描述出SPI總線接口協(xié)議即可。簡而言之,CPLD在本系統(tǒng)中起數(shù)據(jù)的搬運作用(顯示內存區(qū)—>EPM240—>LED顯示)。
3、DSP實現(xiàn)圖像的動畫變換
常見的動畫處理包括左右平移、上下平移、連續(xù)拉幕、扇入扇出等;谏厦嫣岢龅碾p緩沖區(qū)的設計模式,使得動畫的實現(xiàn)變得清晰易行。動畫變化原理如圖2所示。
圖2中假設用戶采用的實際屏幕寬度為Width點,高度為Height點。算法的基本思想是假想有個和實際屏幕大小一致的視窗存在,并可根據(jù)需要按一定規(guī)律在邏輯運算區(qū)內移動。即落在視窗內的部分才能被實際屏幕顯示(被送入顯示內存區(qū))。
例如,要實現(xiàn)圖像的左右平移操作,實現(xiàn)算法前,需將顯示文件的原始數(shù)據(jù)載入邏輯運算區(qū),然后復位視窗的偏移坐標(OffX,OffY)為(0,0),每隔用戶設定的時間間隔后,調整左右偏移量OffX累加SpeedDot(動畫速度,用戶設定),再將落入視窗內的數(shù)據(jù)部分映射到顯示內存區(qū)中,由EPM240負責刷新顯示。當OffX累加到達到Width時動畫結束,此時可以將下一幅圖像文件原始數(shù)據(jù)載入邏輯運算區(qū)進行類似的動畫操作。再例如實現(xiàn)圖像從右下角逐漸飛入屏幕,可將(OffX,OffY)初始設置成(-Width, -Height),顯然此時無數(shù)據(jù)落入視窗,之后每隔時間間隔后,再進行如下映射操作即可:
OffX+=SpeedDot;
OffY+=SpeedDot*((float)Height/Width);
4、網(wǎng)絡傳輸?shù)膶崿F(xiàn)
RTL8019AS和TMS320LF2407A間的連接如圖3所示。采用以太網(wǎng)進行數(shù)據(jù)傳輸可以提高通信質量,具有通信速度快、傳輸數(shù)據(jù)量大等特點,而且接入簡單,只需將RJ45連接頭接入集線器即實現(xiàn)了網(wǎng)絡的物理連接。
以太網(wǎng)主要有2種通信協(xié)議:TCP與UDP協(xié)議。TCP協(xié)議提供的是可靠的傳輸服務,可以確保數(shù)據(jù)不丟失,但它的實現(xiàn)較為復雜,任務也比較繁重,系統(tǒng)RAM的消耗也較大;UDP協(xié)議提供的是不可靠傳輸服務,最大可能地將數(shù)據(jù)傳輸?shù)侥康牡?煽康臄?shù)據(jù)傳輸只能由高層(一般是應用層)負責校驗和發(fā)起,傳輸快、運算量小、算法簡單易行。
對于本系統(tǒng)而言,大屏幕點陣的變換與文件系統(tǒng)的操作等任務已較為繁重,而且一般只是在設置顯示圖像和動畫時才進行以太網(wǎng)傳輸,丟包的可能性并不大,所以采用UDP協(xié)議。發(fā)送時,只需將要傳輸?shù)臄?shù)據(jù)逐層地向低層發(fā)送,經(jīng)過每層時都在前面加上本層的頭部(有的還加有尾部),在頭部中包含有相關的傳輸信息,最后通過物理層(RTL8019AS的驅動層)將最終封裝好的數(shù)據(jù)幀發(fā)送到網(wǎng)絡中。接收正好是發(fā)送的逆過程,只需將頭部逐層剝離(剝離時要校驗是否正確,否則丟棄),最后獲得被封裝的數(shù)據(jù)。DSP在收到正確的數(shù)據(jù)后,將其以文件形式保存到SD卡中。本模塊應用層流程圖如4所示。
5、大屏陣列的構成
顯示面板由32×16點陣構成最小單位,JP1是輸入信號,當有多個單位級連成大屏時,只需將前個單位的JP2口與后一單位的JP1口連接即可。第一塊單位板的JP1口連接到控制板,由CPLD掃描顯示。采用1/16掃描方式,行信號由74HC154譯碼后輸出,并經(jīng)過APM4953(內部是2個P溝道的MOS管)增強驅動能力;列信號由74HC595級連構成,提供列線的灌入電流。由于級連時消耗電流較大,因此為每塊單位板設置電源模塊等,限于篇幅,這些圖并未給出?刂茣r,CPLD先通過列數(shù)據(jù)端口串行地發(fā)送當前行的數(shù)據(jù),然后選中當前行進行顯示,暫留時間后對下一行進行同樣操作。本電路接口十分簡單,擴展大屏也十分方便。
本方案采用以太網(wǎng)通信,大大提高了數(shù)據(jù)傳輸速度和傳輸?shù)目煽啃裕怀浞掷肈SP的運算優(yōu)勢,進行動畫的實時變換處理,將變換與顯示控制完全分離;CPLD的運用可以大大提高硬件的控制速度,快速刷新屏幕,穩(wěn)定可靠,掃描頻率高。
參考文獻
[1] 潘松,黃繼業(yè). EDA技術實用教程[M]. 北京:科學出版社,2002.
[2] 李愛國. 模塊化LED電子大屏幕的設計與實現(xiàn)[J]. 計算機應用研究,1998(2):74-75.
[3] 劉和平. DSP原理及電機控制應用——基于TMS320LF240X 系列[M]. 北京:北京航空航天出版社,2008.
[4] 夏宇聞. Verilog數(shù)字系統(tǒng)設計教程[M]. 北京:北京航空航天出版社,2008.
更多相關: AV集成
©版權所有。未經(jīng)許可,不得轉載。