李 新,王 雪
(沈陽工業(yè)大學(xué),遼寧沈陽 110870)
LED顯示屏作為一種大型顯示設(shè)備,具有亮度高、色彩級別高、價格低廉等優(yōu)點,因此得到了廣泛的應(yīng)用。目前全彩LED顯示屏控制系統(tǒng)多采用ARM、單片機等來完成整個系統(tǒng)的功能,這種控制系統(tǒng)在數(shù)據(jù)處理速度上存在很大的局限,影響顯示效果的連續(xù)性,不能播放高質(zhì)量的視頻信號[1-2]。目前,LED顯示系統(tǒng)一般作為獨立的系統(tǒng)或者通過RS232、RS485方式與計算機近距離進(jìn)行傳輸,不能滿足遠(yuǎn)距離控制使用的要求[3]。基于以上缺點,采用運行速度更快的FPGA處理器,通過以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸。同時,還增加了脫機顯示的功能,增加了SD卡功能的設(shè)計。采用Nios II軟核嵌入到FPGA的SOPC的方法來實現(xiàn)全彩功耗LED數(shù)據(jù)包的接收和數(shù)據(jù)顯示的功能。Nios II嵌入式處理器是FPGA生產(chǎn)的CPU,Nios II以軟核提供給用戶,并專門為Altera的FPGA上實現(xiàn)了優(yōu)化,用于SOPC集成,最后在FPGA上實現(xiàn)[4]。
系統(tǒng)實現(xiàn)了主控計算機的實時同步顯示和SD卡內(nèi)部存儲異步顯示兩個部分。系統(tǒng)的功能描述如圖1所示,主控計算機的實時同步顯示主要包括視頻信號源、FPGA數(shù)據(jù)處理以及屏體電路三部分構(gòu)成。首先,主控計算產(chǎn)生一個連續(xù)的視頻信號源,通過上位機經(jīng)由以太網(wǎng)進(jìn)行數(shù)據(jù)的傳輸,選擇合適的通信協(xié)議進(jìn)行數(shù)據(jù)的傳輸,存儲到的FPGA外部存儲器,進(jìn)行數(shù)據(jù)的處理,F(xiàn)PGA控制LED的驅(qū)動電路,實現(xiàn)屏體電路的實時顯示。
圖1 系統(tǒng)功能框圖
SD卡內(nèi)部存儲異步顯示主要由SD卡、FPGA數(shù)據(jù)處理以及屏體電路三部分構(gòu)成,首先將動態(tài)的視頻信號經(jīng)由特定的軟件轉(zhuǎn)化成靜態(tài)的圖片(為了保證視頻的效果,這里將1s鐘的視頻轉(zhuǎn)化為20張圖片)。再將圖片以bin的形式進(jìn)行轉(zhuǎn)化,并連續(xù)的儲存在SD卡內(nèi)。最后FPGA控制SD卡驅(qū)動,然后進(jìn)行屏體電路的顯示。
2.1系統(tǒng)內(nèi)硬件設(shè)計
系統(tǒng)硬件主要包括FPGA的內(nèi)部處理系統(tǒng)和FPGA的外設(shè),如圖2所示。Nios II是一個可配置的軟核處理器,設(shè)計主要是基于Avalon總線的NIOS II處理器,對PIO口,定時器,分頻器,F(xiàn)lash控制器,SDRAM控制器,JTAG UART,SD卡控制器,LED顯示控制器,DM9000A IP核等接口電路進(jìn)行設(shè)計。FPGA外設(shè)部分包括外接SDRAM存儲器、Flash存儲器及SD卡組成。
對Nios II系統(tǒng)的設(shè)置需通過Quartus II的SOPC Builder組件來進(jìn)行設(shè)計,正確配置后,生成作為原件備用的原理圖模塊。SOPC整體框架,包括以太網(wǎng)傳輸模塊、SD卡存儲模塊、LED顯示模塊、分頻模塊以及系統(tǒng)時鐘。
1.2DM9000AIP核
圖2 系統(tǒng)硬件設(shè)計框圖
該設(shè)計采用Verilog硬件描述語言完成DM9000A IP核的定制,輸入輸出信號包括Avalon總線,內(nèi)部寄存器,時鐘信號,以及中斷請求等。采用IP核設(shè)置便于核的移植,方便快捷,使用時將IP核進(jìn)行移植,在Nois II中進(jìn)行軟件編譯即可使用,在Quartus II中完成DM9000A IP核測試。
DM9000A可以和微處理器以8位或16位的總線方式進(jìn)行連接,可進(jìn)行單工或者全雙工方式進(jìn)行運行。DM9000A的初始化功能是通過處理器對DM9000A內(nèi)的網(wǎng)絡(luò)控制寄存器(NCR)、中斷寄存器(ISR)等進(jìn)行控制來實現(xiàn)的。初始化后芯片進(jìn)入等待數(shù)據(jù)收發(fā)的狀態(tài)。接收數(shù)據(jù)時,首先檢測數(shù)據(jù)幀的合法性,如果校驗錯誤將該幀數(shù)據(jù)丟棄;如果校驗正確將數(shù)據(jù)幀緩存到內(nèi)部RAM,通過中斷將數(shù)據(jù)讀出。
1.3SD卡設(shè)計
SD卡需要高速的讀寫,同時也要滿足嵌入式設(shè)備的方便使用。SD卡一般有兩種模式構(gòu)成,SD卡模式和SPI模式,兩者的區(qū)別是SD卡模式較SPI模式進(jìn)行數(shù)據(jù)傳輸時數(shù)據(jù)運行速度快,SD卡模式采用6線制方式進(jìn)行數(shù)據(jù)通信,SPI模式采用4線制方式進(jìn)行通信。設(shè)計采用SPI模式,SD卡所用系統(tǒng)為FAT32,采用單塊讀寫模式。SD卡的工作模塊如圖3所示。
圖3 SD卡工作流程圖
1.4LED顯示
設(shè)計的模塊中每個像素點有16位的數(shù)據(jù)(即兩字節(jié)長度),來表示該點的RGB信息。在以太網(wǎng)同步顯示中,采用16位真彩RGB565形式將視頻截取的BWM圖片進(jìn)行取模,如圖4所示。這些取模數(shù)據(jù)通過上位機進(jìn)行發(fā)送,經(jīng)過FPGA進(jìn)行數(shù)據(jù)處理,然后在LED上進(jìn)行顯示。
圖4 RBG565取模顯示
2.1數(shù)據(jù)接收
設(shè)計用直連網(wǎng)線將計算機與開發(fā)板上的網(wǎng)口相連,通過計算機的上位機將數(shù)據(jù)包發(fā)送給DM9000A,DM9000A接收到數(shù)據(jù)之后會檢查數(shù)據(jù)包是否符合,如果不符合則丟棄,如果符合則核對每個數(shù)據(jù)包的目的MAC地址和目的IP地址。如果IP地址正確且這個MAC地址是個廣播地址或者和該DM9000A的地址完全一致,則這個數(shù)據(jù)包會被DM9000A保存下來,并給Nios II CPU產(chǎn)生一個中斷信號,然后在Nios II CPU中將數(shù)據(jù)包進(jìn)行數(shù)據(jù)處理,接著將數(shù)據(jù)放入緩沖區(qū),傳送給LED顯示屏進(jìn)行顯示。讀取數(shù)據(jù)流程如圖5所示。
圖5 讀取數(shù)據(jù)流程圖
圖6 網(wǎng)絡(luò)協(xié)議流程圖
2.2網(wǎng)絡(luò)協(xié)議
網(wǎng)絡(luò)接口層利用以太網(wǎng)控制芯片DM9000A和ARP協(xié)議實現(xiàn),網(wǎng)際層采用IP協(xié)議和ICMP協(xié)議實現(xiàn),傳輸層采用UDP協(xié)議實現(xiàn),應(yīng)用層采用用戶自定義協(xié)議實現(xiàn)。
傳輸層采用UDP協(xié)議是考慮到兩點:(1)基于UDP協(xié)議的網(wǎng)絡(luò)應(yīng)用程序,實現(xiàn)起來比較簡單,并且網(wǎng)絡(luò)應(yīng)用程序在運行時,UDP受到環(huán)境影響較小。(2)UDP協(xié)議占用網(wǎng)絡(luò)資源較少,數(shù)據(jù)處理較快。雖然UDP易丟棄數(shù)據(jù),但是對于那些丟失若干數(shù)據(jù)包也不影響整體性的數(shù)據(jù),如音頻數(shù)據(jù),視頻數(shù)據(jù)等,采用 UDP協(xié)議要優(yōu)于TCP協(xié)議。網(wǎng)絡(luò)協(xié)議流程如圖6所示。
如圖7所示為系統(tǒng)ping結(jié)果,搭建完測試計平臺后主控計算機發(fā)送了4個回顯請求,收到了4個回顯應(yīng)答,丟包率為0%,最小返回時間為14 ms,最大返回時間為14 ms,平均時間為14 ms,表明計算機與FPGA開發(fā)板網(wǎng)絡(luò)暢通。如圖8所示為全彩LED顯示的圖片,對網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)通過TCP/IP測試工具進(jìn)行速度測試為213B/S.
圖7 ping程序測試
圖8 圖片顯示效果
系統(tǒng)采用NIOS II軟核,結(jié)合FPGA進(jìn)行全彩LED顯示的設(shè)計,實現(xiàn)了實時以太網(wǎng)的數(shù)據(jù)通信,通過以太網(wǎng)數(shù)據(jù)傳輸和SD卡的數(shù)據(jù)存儲可以實現(xiàn)全彩LED異步視頻顯示。
參考文獻(xiàn):
[1]馬游春,王軍輝,李錦明.基于FPGA和以太網(wǎng)接口的光柵解調(diào)應(yīng)用.儀表技術(shù)與傳感器,2013(2):107-200.
[2]李娟,劉艷瀅.基于FPGA的圖像采集模塊的設(shè)計.儀表技術(shù)與傳感器,2012(10):27-30.
[3]季長紅,張斌珍,張劍.基于FPGA的高速實時數(shù)據(jù)采集處理系統(tǒng).儀表技術(shù)與傳感器,2013(6):93-95.
[4]薛飛,寧鐸,黃建兵.基于SOPC圖像采集系統(tǒng)的設(shè)計.儀表技術(shù)與傳感器,2011(12):49-52.