文獻標識碼: 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接收器負責(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.