《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的多路無線信道監(jiān)聽系統(tǒng)設(shè)計(jì)
基于FPGA的多路無線信道監(jiān)聽系統(tǒng)設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2014年第5期
田 博, 陳分雄, 郭星鋒
(中國(guó)地質(zhì)大學(xué)(武漢) 機(jī)械與電子信息學(xué)院, 湖北 武漢 430074)
摘要: 為了滿足工業(yè)無線標(biāo)準(zhǔn)中跳頻技術(shù)開發(fā)和測(cè)試的要求,選用16片TI高性能無線收發(fā)芯片CC2530監(jiān)聽2.4 GHz全部信道,以FPGA為邏輯控制核心完成16路數(shù)據(jù)的接收和緩存,結(jié)合USB2.0傳輸控制芯片F(xiàn)T2232H將數(shù)據(jù)高速傳輸至上位機(jī),上位機(jī)采用C#語言開發(fā),完成了信道設(shè)置、數(shù)據(jù)解析和顯示功能。測(cè)試結(jié)果表明,基于FPGA的多路無線信道監(jiān)聽系統(tǒng)具有良好的實(shí)時(shí)性和可靠性,能夠滿足工業(yè)無線標(biāo)準(zhǔn)開發(fā)和測(cè)試的要求。
中圖分類號(hào): TP274;TP915.9
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)05-0087-03
中文引用格式:田博,陳分雄,郭星鋒.基于FPGA的多路無線信道監(jiān)聽系統(tǒng)設(shè)計(jì)[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é)議已成為研究熱點(diǎn)。在無線通信協(xié)議的開發(fā)和測(cè)試過程中,通常會(huì)使用無線數(shù)據(jù)包監(jiān)聽器捕獲指定信道的射頻數(shù)據(jù)包,結(jié)合相關(guān)軟件對(duì)數(shù)據(jù)包進(jìn)行解碼和顯示,快速地發(fā)現(xiàn)并解決一些常見的問題[1],減少開發(fā)和測(cè)試的周期。
    現(xiàn)有的無線數(shù)據(jù)包監(jiān)聽器大多僅能監(jiān)聽單個(gè)信道的數(shù)據(jù),在采用跳頻技術(shù)的通信協(xié)議進(jìn)行開發(fā)時(shí),如ISA100.11a、WIA-PA、WirelessHART等工業(yè)無線標(biāo)準(zhǔn)[2],需要同時(shí)監(jiān)聽多個(gè)信道的數(shù)據(jù)。為滿足此類需求,本文提出了多路無線信道監(jiān)聽系統(tǒng)的設(shè)計(jì),利用FPGA在數(shù)據(jù)獲取方面良好的實(shí)時(shí)與并行控制性能,以IEEE 802.15.4[3]標(biāo)準(zhǔn)為基礎(chǔ),針對(duì)2.4 GHz頻段開發(fā)了可以同時(shí)監(jiān)聽16路無線信道的系統(tǒng)。結(jié)合協(xié)議分析軟件,可以為無線通信協(xié)議開發(fā)提供數(shù)據(jù)分析、輔助設(shè)計(jì)等服務(wù),是一種極為有效的協(xié)議測(cè)試工具。
1 系統(tǒng)總體設(shè)計(jì)
   多路無線信道監(jiān)聽系統(tǒng)由2.4 GHz無線RF接收器、FPGA和USB2.0接口單元等組成。無線RF接收器負(fù)責(zé)監(jiān)聽、封裝無線數(shù)據(jù)報(bào)文并通過SPI傳輸至FPGA;FPGA作為整個(gè)系統(tǒng)的控制邏輯核心,完成數(shù)據(jù)的接收、緩存和USB2.0通信控制,USB2.0接口芯片F(xiàn)T2232H將數(shù)據(jù)高速傳輸至上位機(jī),上位機(jī)采用C#語言開發(fā),完成RF接收器參數(shù)的設(shè)置控制、數(shù)據(jù)分析和顯示功能,多路無線信道監(jiān)聽系統(tǒng)組成框圖如圖1所示。

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

   系統(tǒng)采用16片2.4 GHz 無線收發(fā)芯片CC2530,其具有極高的接收靈敏度和抗干擾性能,支持IEEE 802.15.4標(biāo)準(zhǔn),提供精確的數(shù)字化RSSI/LQI,同時(shí)內(nèi)嵌了具有代碼預(yù)取功能的低功耗8051微控制器內(nèi)核,能高速處理無線數(shù)據(jù)報(bào)文,并擁有兩路SPI通信模塊和其他豐富的外設(shè)資源[4],16個(gè)CC2530的接收信道以5 MHz為間隔,平均分布在2 405 MHz~2 480 MHz之間。
    圖2所示為CC2530與FPGA連接示意圖。采用一對(duì)一和多對(duì)一的方式分別傳輸數(shù)據(jù)和指令,避免總線競(jìng)爭(zhēng),提高了傳輸效率,其中CC2530的SPI0作為主機(jī),負(fù)責(zé)將無線數(shù)據(jù)報(bào)文傳至FPGA,SPI1作為從機(jī)負(fù)責(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ù)傳輸細(xì)節(jié)全部封裝在FT2232H內(nèi)部,上位機(jī)提供虛擬串口VCP和D2XX兩種驅(qū)動(dòng)程序,免去了復(fù)雜的USB固件和驅(qū)動(dòng)程序開發(fā)過程[5]。
     圖3為FPGA與FT2232H硬件連接示意圖,采用同步245 FIFO模式[6],Clk是FT2232H的同步時(shí)鐘信號(hào),其頻率固定為60 MHz,F(xiàn)PGA的主時(shí)鐘由同步時(shí)鐘3分頻得到,ADBUS[7..0]為8位雙向數(shù)據(jù)總線,因此最大傳輸速率可達(dá)160 Mb/s,nRXF和nTXE分別是FT2232H的讀寫標(biāo)志位,nOE用于使能數(shù)據(jù)總線 ADBUS的輸出,nRD和nWR分別是FT2232H的讀寫選通信號(hào)。

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

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

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

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

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

 

 

4.3 丟包率測(cè)試
    將多個(gè)無線模塊放到20 m處且每次發(fā)送報(bào)文長(zhǎng)度為32 B進(jìn)行測(cè)試,得到如表1所示的結(jié)果。
    測(cè)試結(jié)果表明,20 m內(nèi)丟包率小于0.33%。能真實(shí)再現(xiàn)網(wǎng)絡(luò)運(yùn)行情況,且每分鐘發(fā)包數(shù)為1 500幀時(shí),多路無線信道監(jiān)聽系統(tǒng)運(yùn)行正常,滿足實(shí)時(shí)監(jiān)聽的要求。
    為滿足工業(yè)無線標(biāo)準(zhǔn)開發(fā)和測(cè)試的要求,本文設(shè)計(jì)了基于FPGA的多路無線信道監(jiān)聽系統(tǒng),利用FPGA在數(shù)據(jù)獲取方面良好的實(shí)時(shí)與并行控制性能,實(shí)現(xiàn)了對(duì)16路數(shù)據(jù)的緩存與傳輸,并通過搭建的測(cè)試平臺(tái)對(duì)其進(jìn)行多項(xiàng)測(cè)試。測(cè)試結(jié)果表明,多路無線信道監(jiān)聽系統(tǒng)具有良好的實(shí)時(shí)性和可靠性。
參考文獻(xiàn)
[1] 盧良進(jìn),徐向華,童超.無線傳感網(wǎng)絡(luò)協(xié)議分析技術(shù)研究與實(shí)現(xiàn)[J].傳感技術(shù)學(xué)報(bào), 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] 荊成財(cái),王順杰,王潤(rùn)田. 雙通道同步高速數(shù)據(jù)采集器的設(shè)計(jì)[J].電子產(chǎn)品世界, 2012(12):43-44.

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