文獻標識碼: A
文章編號: 0258-7998(2014)05-0087-03
中文引用格式:田博,陳分雄,郭星鋒.基于FPGA的多路無線信道監(jiān)聽系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(05):87-89+96.
隨著物聯(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接收器負責監(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作為主機,,負責將無線數(shù)據(jù)報文傳至FPGA,SPI1作為從機負責接收來自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,當檢測到計數(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ù)學報, 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.