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