東南大學微電子學院 陶 柱
為擴展FPGA在無線通信和圖像處理方面的應用,設計了一個基于上位機、Marvell8801 WiFi模塊、FPGA開發(fā)板和HDMI顯示器的圖片WiFi傳輸與顯示系統(tǒng)。本文首先介紹了系統(tǒng)的功能結構,然后介紹系統(tǒng)的主要模塊。最后通過功能測試,表明本系統(tǒng)的可行性。
隨著智能時代的到來,各種圖像傳感器在日常生活中的應用幾乎無處不在。相較于有線線纜,無線傳輸無疑極大便利了人們的生活,在智能時代圖像的無線傳輸,也成為一大技術研究重點。近年來智能設備越來越普及,圖像處理和顯示技術的要求也愈來愈高。傳統(tǒng)的CPU已難以滿足圖像處理的需要,對于圖像處理的需求也是爆發(fā)性的增長。使用FPGA來進行圖像的處理和顯示,也是近年來的技術熱點。
本系統(tǒng)分為兩大部分,第一部分為上位機,主要負責圖片像素數(shù)據(jù)的讀取,以及TCP的server端的搭建;第二部分為FPGA開發(fā)板及其外設,主要負責圖幀數(shù)據(jù)的接收,緩存和顯示器。本系統(tǒng)的功能結構框圖,如圖1所示。
圖1 系統(tǒng)的功能結構框圖
若想把圖片從計算機無線傳輸?shù)紽PGA開發(fā)板上,而TCP/IP通信協(xié)議一般不支持圖片格式的無線傳輸,因此需要把圖片轉化成TCP/IP支持的字節(jié)數(shù)據(jù),可以是16位,24位或者32位的像素數(shù)據(jù)。
進行無線傳輸必須要進行無線網(wǎng)絡的連接,這里是計算機和Marvell8801 WiFi模塊的連接。對接收過來的圖片像素數(shù)據(jù)進行圖幀緩存,F(xiàn)PGA片內(nèi)資源非常有限,需要使用片外資源,F(xiàn)PGA平臺常用的片外資源是DDR。顯示接口選擇主流接口HDMI。
本系統(tǒng)傳輸?shù)膱D片格式目前針對BMP格式的圖片,從圖片提取16位像素數(shù)據(jù)的txt格式的C/C++代碼也是針對此格式的圖片,其他格式圖片該功能的實現(xiàn)也類似。
BMP格式圖片的第18-21字節(jié)代表寬度,第22-25字節(jié)代表高度,第28-29字節(jié)代表每個像素的位數(shù),第10-13字節(jié)代表像素數(shù)據(jù)的起始位置。根據(jù)所讀像素數(shù)據(jù)的起始位置,可以讀取整個圖片的像素數(shù)據(jù)。讀到的原始像素數(shù)據(jù)是32位,包括RGB888的值和8位透明度值(該值這里不做處理,默認不透明),經(jīng)過量化壓縮變換,可以得到對應像素16位的RGB565的值。
WiFi通信系統(tǒng)包括兩部分,一是上位機內(nèi)socket編程實現(xiàn)的TCP server端,負責連接IP地址和端口,同時計算機連接WiFi信號;二是作為FPGA開發(fā)板外設的WiFi模塊,通過SDIO接口與FPGA開發(fā)板連接。
套接字(sockets)是通訊的基石,是支持TCP/IP協(xié)議的網(wǎng)絡通信的基本操作單元??梢詫⑻捉幼挚醋鞑煌鳈C間的進程進行雙向通信的端點,它構成了在單個主機內(nèi)及整個網(wǎng)絡間的編程界面。套接字的服務進程和客戶進程在通信前必須創(chuàng)建各自的套接字并建立連接,然后才能對相應的套接字進行“讀”、“寫”操作,實現(xiàn)數(shù)據(jù)的傳輸。
在FPGA中調(diào)用DDR3控制器IP來完成對該存儲器的讀寫。本模塊的設計是以DDR3控制器MIG(Memory Interface Generator)IP的使用為核心,該IP的輸出信號與外部DDR3存儲器的接口連接,輸入信號是供用戶側使用的AXI接口。AXI接口總線共有5個通道,5個通道分為寫和讀兩個事務?;贛IG IP的輸入輸出接口,圖幀緩存和HDMI顯示的整體設計框圖如圖2所示。
圖2 圖幀緩存和顯示設計框圖
本系統(tǒng)主要測試兩大功能,一是WiFi通信的實際測試,驗證是否可以正常通信以及實際的傳輸速度;二是測試FPGA平臺DDR3圖幀緩存,進行HDMI顯示。
SDIO接口進行通信傳輸數(shù)據(jù),選擇一個160KB的Lena1.txt文件,測試WiFi系統(tǒng)是否可以通信,測試結果如圖3所示。
圖3 SDIO接口通信測試
雖然可以通信,但還需要測試WiFi實際傳輸速度,測試結果如圖4所示。
從圖4可以看到,此時的WiFi信號FAST_FAFE并未接入寬帶,而是與FPGA平臺和上位機進行通信,且速度為26Mbps(約3.25MB/s),可以滿足圖片無線傳輸?shù)男枰?/p>
圖4 WiFi速度測試結果
FPGA平臺DDR3圖幀緩存和HDMI顯示,實際效果如圖5所示。
圖5 FPGA平臺圖幀緩存和顯示測試
綜上,WiFi通信的功能基本實現(xiàn),可以進行圖片的傳輸,DDR3的圖幀緩存和HDMI顯示功能也正常。