《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的多路無線信道監(jiān)聽系統(tǒng)設(shè)計
基于FPGA的多路無線信道監(jiān)聽系統(tǒng)設(shè)計
來源:電子技術(shù)應(yīng)用2014年第5期
田 博, 陳分雄, 郭星鋒
(中國地質(zhì)大學(xué)(武漢) 機械與電子信息學(xué)院, 湖北 武漢 430074)
摘要: 為了滿足工業(yè)無線標準中跳頻技術(shù)開發(fā)和測試的要求,選用16片TI高性能無線收發(fā)芯片CC2530監(jiān)聽2.4 GHz全部信道,以FPGA為邏輯控制核心完成16路數(shù)據(jù)的接收和緩存,結(jié)合USB2.0傳輸控制芯片F(xiàn)T2232H將數(shù)據(jù)高速傳輸至上位機,上位機采用C#語言開發(fā),完成了信道設(shè)置、數(shù)據(jù)解析和顯示功能。測試結(jié)果表明,基于FPGA的多路無線信道監(jiān)聽系統(tǒng)具有良好的實時性和可靠性,能夠滿足工業(yè)無線標準開發(fā)和測試的要求。
中圖分類號: TP274;TP915.9
文獻標識碼: A
文章編號: 0258-7998(2014)05-0087-03
中文引用格式:田博,陳分雄,郭星鋒.基于FPGA的多路無線信道監(jiān)聽系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(05):87-89+96.
Design of multi-channel wireless data monitoring system based on FPGA
Tian Bo, Chen Fengxiong, Guo Xingfeng
Faculty of Mechanical and Electronic Information, China University of Geosciences, Wuhan 430074, China
Abstract: In order to meet the requirement of the development and testing of frequency hopping in the industry, this paper uses 16 high-performance wireless transceiver chips TI CC2530 2.4 GHz ISM band to monitor all 16 channels, and uses FPGA logic to control core to accept and cached all data, then data is transferred to the host with the FT2232H USB2.0 controller chip quickly, finally the host computer completes the channel setting, data analysis and display functions with C # language. Test results show that the FPGA-based multi-channel wireless data monitoring system has good stability and real-time, and meets the system requirements.
Key words : data monitoring; FPGA; USB2.0; CC2530

    隨著物聯(lián)網(wǎng)產(chǎn)業(yè)的高速發(fā)展,無線通信協(xié)議已成為研究熱點。在無線通信協(xié)議的開發(fā)和測試過程中,通常會使用無線數(shù)據(jù)包監(jiān)聽器捕獲指定信道的射頻數(shù)據(jù)包,結(jié)合相關(guān)軟件對數(shù)據(jù)包進行解碼和顯示,快速地發(fā)現(xiàn)并解決一些常見的問題[1],減少開發(fā)和測試的周期。
    現(xiàn)有的無線數(shù)據(jù)包監(jiān)聽器大多僅能監(jiān)聽單個信道的數(shù)據(jù),在采用跳頻技術(shù)的通信協(xié)議進行開發(fā)時,如ISA100.11a、WIA-PA、WirelessHART等工業(yè)無線標準[2],需要同時監(jiān)聽多個信道的數(shù)據(jù)。為滿足此類需求,本文提出了多路無線信道監(jiān)聽系統(tǒng)的設(shè)計,利用FPGA在數(shù)據(jù)獲取方面良好的實時與并行控制性能,以IEEE 802.15.4[3]標準為基礎(chǔ),針對2.4 GHz頻段開發(fā)了可以同時監(jiān)聽16路無線信道的系統(tǒng)。結(jié)合協(xié)議分析軟件,可以為無線通信協(xié)議開發(fā)提供數(shù)據(jù)分析、輔助設(shè)計等服務(wù),是一種極為有效的協(xié)議測試工具。
1 系統(tǒng)總體設(shè)計
   多路無線信道監(jiān)聽系統(tǒng)由2.4 GHz無線RF接收器、FPGA和USB2.0接口單元等組成。無線RF接收器負責(zé)監(jiān)聽、封裝無線數(shù)據(jù)報文并通過SPI傳輸至FPGA;FPGA作為整個系統(tǒng)的控制邏輯核心,完成數(shù)據(jù)的接收、緩存和USB2.0通信控制,USB2.0接口芯片F(xiàn)T2232H將數(shù)據(jù)高速傳輸至上位機,上位機采用C#語言開發(fā),完成RF接收器參數(shù)的設(shè)置控制、數(shù)據(jù)分析和顯示功能,多路無線信道監(jiān)聽系統(tǒng)組成框圖如圖1所示。

2 系統(tǒng)硬件設(shè)計
2.1 2.4 GHz無線RF接收器單元

   系統(tǒng)采用16片2.4 GHz 無線收發(fā)芯片CC2530,其具有極高的接收靈敏度和抗干擾性能,支持IEEE 802.15.4標準,提供精確的數(shù)字化RSSI/LQI,同時內(nèi)嵌了具有代碼預(yù)取功能的低功耗8051微控制器內(nèi)核,能高速處理無線數(shù)據(jù)報文,并擁有兩路SPI通信模塊和其他豐富的外設(shè)資源[4],16個CC2530的接收信道以5 MHz為間隔,平均分布在2 405 MHz~2 480 MHz之間。
    圖2所示為CC2530與FPGA連接示意圖。采用一對一和多對一的方式分別傳輸數(shù)據(jù)和指令,避免總線競爭,提高了傳輸效率,其中CC2530的SPI0作為主機,負責(zé)將無線數(shù)據(jù)報文傳至FPGA,SPI1作為從機負責(zé)接收來自FPGA的指令,如信道設(shè)置、數(shù)據(jù)傳輸設(shè)置等。

2.2 USB通信接口單元
    系統(tǒng)采用FTDI公司的FT2232H芯片,由它完成數(shù)據(jù)采集控制及數(shù)據(jù)采集后與PC之間的高速數(shù)據(jù)傳輸。FT2232H支持480 Mb/s的USB2.0高速規(guī)范,其中USB數(shù)據(jù)傳輸細節(jié)全部封裝在FT2232H內(nèi)部,上位機提供虛擬串口VCP和D2XX兩種驅(qū)動程序,免去了復(fù)雜的USB固件和驅(qū)動程序開發(fā)過程[5]。
     圖3為FPGA與FT2232H硬件連接示意圖,采用同步245 FIFO模式[6],Clk是FT2232H的同步時鐘信號,其頻率固定為60 MHz,F(xiàn)PGA的主時鐘由同步時鐘3分頻得到,ADBUS[7..0]為8位雙向數(shù)據(jù)總線,因此最大傳輸速率可達160 Mb/s,nRXF和nTXE分別是FT2232H的讀寫標志位,nOE用于使能數(shù)據(jù)總線 ADBUS的輸出,nRD和nWR分別是FT2232H的讀寫選通信號。

3 系統(tǒng)軟件設(shè)計
3.1 CC2530程序設(shè)計

     首先初始化RF、SPI等外設(shè),2.4 GHz無線RF接收器處于監(jiān)聽狀態(tài),如果偵聽到無線數(shù)據(jù)報文,就將其取出進行處理,添加報文頭、長度、信道號、通道號、RSSI、校驗位等信息,并通過SPI0傳至FPGA,繼續(xù)準備接收下一個無線數(shù)據(jù)報文。同時也可以根據(jù)所收到的上位機下發(fā)的命令來執(zhí)行相應(yīng)的操作:若收到設(shè)置信道的指令,則設(shè)置監(jiān)聽信道;若收到啟動或者停止監(jiān)聽的指令,則開始或停止監(jiān)聽無線數(shù)據(jù)報文。程序流程如圖4所示。

制可劃分為5個模塊,分別是數(shù)據(jù)接收模塊、緩存模塊、傳輸模塊、命令輸出模塊、USB2.0通信模塊。其中緩存模塊主要由計數(shù)器、數(shù)據(jù)緩存和長度緩存三部分組成,計數(shù)器記錄數(shù)據(jù)緩存現(xiàn)有報文數(shù)量,數(shù)據(jù)緩存記錄報文數(shù)據(jù),長度緩存記錄每一報文的長度,數(shù)據(jù)緩存和長度緩存的實現(xiàn)是通過調(diào)用FPGA的IP核生成相應(yīng)容量的FIFO來完成。
    系統(tǒng)首先設(shè)置CC2530監(jiān)聽的信道并啟動監(jiān)聽,一旦CC2530監(jiān)聽到無線數(shù)據(jù),就將監(jiān)聽到的數(shù)據(jù)報文傳至FPGA,F(xiàn)PGA將數(shù)據(jù)寫入到數(shù)據(jù)緩存,同時計算報文的長度并將結(jié)果寫入到長度緩存,計數(shù)器加1,當(dāng)檢測到計數(shù)器大于0時,先讀取長度緩存獲取報文長度,計數(shù)器減1,然后根據(jù)報文長度讀取數(shù)據(jù)緩存,將讀取的數(shù)據(jù)通過USB上傳至PC,直到讀取數(shù)量與報文長度相等時停止,繼續(xù)檢測下一路計數(shù)器,依次循環(huán)。FPGA邏輯控制的流程如圖6所示。

4 系統(tǒng)測試
   為了對多路無線信道監(jiān)聽系統(tǒng)功能進行有效的測試,搭建了一個由多路無線信道監(jiān)聽系統(tǒng)、16個ZigBee無線模塊和PC組成的測試平臺,并進行以下幾項測試。
4.1 多路信道監(jiān)聽測試
   將無線模塊全部打開,讓它們在各自的信道獨立地發(fā)送測試報文,為了便于對測試結(jié)果進行分析,設(shè)置每個模塊的發(fā)送時間間隔和報文內(nèi)容都相同。圖7所示為多路無線信道監(jiān)聽系統(tǒng)同時監(jiān)聽5路信道的結(jié)果,說明系統(tǒng)邏輯功能設(shè)計正確,能夠同時監(jiān)聽多路信道,達到了系統(tǒng)的設(shè)計要求。

4.2 數(shù)據(jù)準確性測試
    用協(xié)議分析軟件和TI的Packet Sniffer同時采集數(shù)據(jù)包并實時解析各層字段,所得結(jié)果分別如圖8和圖9所示,對比兩者的解析結(jié)果,發(fā)現(xiàn)協(xié)議分析軟件解析所得的各層幀控制字段與TI的Packet Sniffer解析所得結(jié)果完全吻合,說明多路無線信道系統(tǒng)監(jiān)聽到的數(shù)據(jù)是正確的,達到了預(yù)期效果。

 

 

4.3 丟包率測試
    將多個無線模塊放到20 m處且每次發(fā)送報文長度為32 B進行測試,得到如表1所示的結(jié)果。
    測試結(jié)果表明,20 m內(nèi)丟包率小于0.33%。能真實再現(xiàn)網(wǎng)絡(luò)運行情況,且每分鐘發(fā)包數(shù)為1 500幀時,多路無線信道監(jiān)聽系統(tǒng)運行正常,滿足實時監(jiān)聽的要求。
    為滿足工業(yè)無線標準開發(fā)和測試的要求,本文設(shè)計了基于FPGA的多路無線信道監(jiān)聽系統(tǒng),利用FPGA在數(shù)據(jù)獲取方面良好的實時與并行控制性能,實現(xiàn)了對16路數(shù)據(jù)的緩存與傳輸,并通過搭建的測試平臺對其進行多項測試。測試結(jié)果表明,多路無線信道監(jiān)聽系統(tǒng)具有良好的實時性和可靠性。
參考文獻
[1] 盧良進,徐向華,童超.無線傳感網(wǎng)絡(luò)協(xié)議分析技術(shù)研究與實現(xiàn)[J].傳感技術(shù)學(xué)報, 2009,22(12):1828-1833.
[2] 曲家興,周瑩,王希忠,等.工業(yè)控制系統(tǒng)無線網(wǎng)絡(luò)安全體系的研究[J].信息技術(shù),2013(1):36-38.
[3] IEEE. IEEE Std 802.15.4-2006 Wireless Medium Access Control(MAC) and Physical Layer(PHY) Specifications for Low-rate Wireless Personal Area Networks(LR-WPANs)[S].2006.
[4] Texas Instruments.CC2530 Data Sheet. http://www.ti.com.2011.
[5] Future Technology Devices International Limited. Software Application Development D2xx Programmer’s guide[Z/OL].http://www.ftdichip.com.
[6] 荊成財,王順杰,王潤田. 雙通道同步高速數(shù)據(jù)采集器的設(shè)計[J].電子產(chǎn)品世界, 2012(12):43-44.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。