基于IEEE802.15.4的2.4GHz全信道數(shù)據(jù)采集與協(xié)議分析儀的制作方法
【專利摘要】本發(fā)明請求保護(hù)一種全信道數(shù)據(jù)采集器和協(xié)議分析系統(tǒng),涉及無線傳感器網(wǎng)絡(luò)【技術(shù)領(lǐng)域】。該系統(tǒng)中包含16個射頻接收模塊,每個射頻接收模塊負(fù)責(zé)持續(xù)監(jiān)聽2.4GHz?ISM頻段網(wǎng)絡(luò)中的一個信道是否有無線數(shù)據(jù)報文,數(shù)據(jù)管理模塊通過輪詢讀取無線模塊的中斷標(biāo)志,從相應(yīng)射頻接收模塊的FIFO中取出該數(shù)據(jù)報文,檢測其是否符合無線數(shù)據(jù)報文的標(biāo)準(zhǔn)格式,對數(shù)據(jù)報文進(jìn)行處理,根據(jù)所選協(xié)議進(jìn)入相應(yīng)的解析模塊,逐字段解析數(shù)據(jù)包信息,并將解析信息存入數(shù)據(jù)庫中形成一個新的數(shù)據(jù)報文,通過調(diào)用應(yīng)用程序?qū)⑿碌臄?shù)據(jù)報文上傳到上位機(jī)。該系統(tǒng)還實(shí)現(xiàn)了信道掃描功能,可實(shí)時獲取當(dāng)前各信道的質(zhì)量指數(shù)。
【專利說明】基于IEEE802.15.4的2.4GHz全信道數(shù)據(jù)采集與協(xié)議分析
儀
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及工業(yè)無線通信【技術(shù)領(lǐng)域】,具體涉及工業(yè)無線傳感網(wǎng)絡(luò)測試系統(tǒng)中全信道數(shù)據(jù)采集與協(xié)議分析方法。
技術(shù)背景
[0002]目前工業(yè)無線傳感網(wǎng)絡(luò)協(xié)議有ISA100.11a、Wireless HART、WIA-PA等,這些協(xié)議都涉及很多關(guān)鍵技術(shù),如跳頻技術(shù),調(diào)度技術(shù),安全機(jī)制等。實(shí)現(xiàn)者對于協(xié)議的不同理解會導(dǎo)致不同的協(xié)議實(shí)現(xiàn)。因此,必須對協(xié)議實(shí)現(xiàn)方的協(xié)議進(jìn)行嚴(yán)格的一致性測試,來檢測被測協(xié)議實(shí)現(xiàn)與協(xié)議規(guī)范的符合程度,這就需要一致性測試系統(tǒng)。在這些協(xié)議的應(yīng)用過程中,IEEE802.15.4標(biāo)準(zhǔn)是應(yīng)用于低速無線個人區(qū)域網(wǎng)(LR-WPAN)的物理層和媒介訪問控制層規(guī)范,具有低速、低成本、低功耗、低復(fù)雜度等優(yōu)點(diǎn),已經(jīng)被ISA100.11a、Wireless Hart、WIA-PA等三大無線通信網(wǎng)絡(luò)標(biāo)準(zhǔn)采用為底層標(biāo)準(zhǔn),目前已成為降低自動化成本、擴(kuò)大自動化系統(tǒng)應(yīng)用范圍的最有潛力的技術(shù)。在工業(yè)無線傳感網(wǎng)絡(luò)的測試系統(tǒng)中,捕捉到2.4GHz所有16個信道的數(shù)據(jù)是測試系統(tǒng)中的必要條件,只有獲取到了所有信道的數(shù)據(jù),才能對數(shù)據(jù)進(jìn)行分析與測試,檢測是否符合協(xié)議規(guī)范,同時,要知道所捕獲的數(shù)據(jù)包是否符合規(guī)范,就需要一個強(qiáng)大的協(xié)議分析系統(tǒng)來對數(shù)據(jù)包進(jìn)行解析處理,并對解析數(shù)據(jù)進(jìn)行顯示。因此工業(yè)無線全信道數(shù)據(jù)檢測與協(xié)議分析儀對工業(yè)無線的一致性測試是不可或缺的裝備之一,在工業(yè)無線通信領(lǐng)域具有非常重大的應(yīng)用前景
[0003]當(dāng)前的調(diào)試方式是使用協(xié)議分析儀在16個信道上搜索數(shù)據(jù),采用選通信道的方式,只能在一個信道上采集數(shù)據(jù),無法完成16個信道的同時采集。并且在復(fù)雜的工業(yè)現(xiàn)場環(huán)境中,當(dāng)有多個信道的通信設(shè)備同時工作時,將會給通信調(diào)試帶來一定的不便。典型的協(xié)議分析儀為成都無線龍通訊科技有限公司設(shè)計的C51RF-3packet sniffer。除此之外,由于大部分的無線技術(shù)都工作于2.4GHz的ISM公共頻段,這樣就會出現(xiàn)空間中各種無線網(wǎng)絡(luò)相互干擾,為了使網(wǎng)絡(luò)能夠具有更好的抗干擾性,跳信道技術(shù)得到了廣泛的應(yīng)用,這就給通信調(diào)試提出更高的要求。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對現(xiàn)有技術(shù)協(xié)議分析儀采用選通信道方式,無法完成16個信道的同時數(shù)據(jù)采集,在公共頻段容易出現(xiàn)空間無線信號的相互干擾,能夠使用跳信道技術(shù),使網(wǎng)絡(luò)具有更好的抗干擾性,本發(fā)明提供一套針對工業(yè)無線傳感網(wǎng)的數(shù)據(jù)采集與協(xié)議分析儀,不僅能對基于2.4GHz的工業(yè)無線傳感網(wǎng)的全部信道數(shù)據(jù)進(jìn)行數(shù)據(jù)捕獲,而且能實(shí)現(xiàn)對捕獲的數(shù)據(jù)報文進(jìn)行詳細(xì)解析,可針對 6LowPAN、ZigBee, WIA-PA、ISA100.11a、Wireless Hart、IEEE802.15.4e等協(xié)議標(biāo)準(zhǔn)進(jìn)行解析。
[0005]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:設(shè)計一種基于IEEE802.15.4的2.4GHz全信道數(shù)據(jù)采集與協(xié)議分析系統(tǒng),包括:數(shù)據(jù)采集部分和協(xié)議分析部分,其特征在于,數(shù)據(jù)采集部分包括:射頻接收模塊、數(shù)據(jù)管理模塊、存儲器模塊、PC通信接口模塊,其中,射頻接收模塊持續(xù)監(jiān)聽16個信道是否有數(shù)據(jù)報文,負(fù)責(zé)射頻前端16個信道的全信道數(shù)據(jù)采集,存儲器模塊暫存采集的全信道數(shù)據(jù),數(shù)據(jù)管理模塊對接收到的全信道數(shù)據(jù)進(jìn)行調(diào)度,PC機(jī)通信接口模塊將調(diào)度后數(shù)據(jù)上傳給協(xié)議分析部分進(jìn)行協(xié)議解析;協(xié)議分析部分包括:數(shù)據(jù)處理模塊、工具箱模塊,數(shù)據(jù)處理模塊完成數(shù)據(jù)包接收、數(shù)據(jù)包解析、數(shù)據(jù)存儲及顯示,工具箱模塊用于統(tǒng)計數(shù)據(jù)包、信道信息、節(jié)點(diǎn)信息以及獲取并顯示各信道的鏈路質(zhì)量指數(shù)。
[0006]射頻接收模塊由一個無線射頻收發(fā)器作用在2.4GHz的802.15.4標(biāo)準(zhǔn)基帶和媒介訪問控制子層模塊組成,包括接收器、發(fā)送器、壓控振蕩器和鎖相環(huán)路。射頻接收模塊對協(xié)議分析儀捕獲的數(shù)據(jù)報文提供過濾,判斷是否是基于IEEE802.15.4協(xié)議MAC層的數(shù)據(jù)報文,根據(jù)2.4GHz頻段信道劃分中心頻率,在代碼中修改相應(yīng)接收信道的配置參數(shù),設(shè)置每個功能獨(dú)立的射頻接收模塊對應(yīng)相應(yīng)的信道。射頻接收模塊在一個時隙內(nèi)完成對16個模塊的信道掃描,當(dāng)掃描到某一個射頻接收模塊有接收到數(shù)據(jù),發(fā)出一個中斷響應(yīng),主動接收數(shù)據(jù),如果該無線數(shù)據(jù)報文符合IEEE802.15.4無線數(shù)據(jù)報文的標(biāo)準(zhǔn)格式,從射頻接收模塊的存儲模塊中讀取數(shù)據(jù)進(jìn)行報文重組,同時,射頻接收模塊釋放存儲數(shù)據(jù)的數(shù)據(jù)緩存器FIFO,等待下一個數(shù)據(jù)的到來。射頻接收模塊持續(xù)監(jiān)聽16個信道是否有數(shù)據(jù)報文具體包括,16個無線射頻接收模塊對所有信道序列進(jìn)行輪訓(xùn)掃描,當(dāng)接收到數(shù)據(jù)報文時,產(chǎn)生一個中斷標(biāo)志位,數(shù)據(jù)管理模塊循環(huán)判斷每個射頻接收模塊的中斷標(biāo)志位,如果中斷標(biāo)志位被置位,數(shù)據(jù)管理模塊調(diào)用系統(tǒng)接收函數(shù)從該射頻接收模塊中讀取該數(shù)據(jù)報文,如果中斷標(biāo)志位沒有置位,按照原始信道序列表自動切換到相鄰的下一個射頻接收模塊進(jìn)行掃描。
[0007]數(shù)據(jù)采集部分的數(shù)據(jù)管理模塊通過DM74LS154譯碼器進(jìn)行同步串行端口 4_16譯碼擴(kuò)展,通過不斷輪詢每個射頻接收模塊的中斷標(biāo)志是否置位判別是否采集到數(shù)據(jù)報文,如果采集到數(shù)據(jù)報文,該射頻接收模塊將數(shù)據(jù)報文緩存到存儲器FIFO中,數(shù)據(jù)管理模塊對存儲器FIFO中的數(shù)據(jù)報文進(jìn)行分析,如果符合數(shù)據(jù)報文標(biāo)準(zhǔn)格式,數(shù)據(jù)管理模塊對該數(shù)據(jù)報文封裝報文頭部和信道號,形成一個新的數(shù)據(jù)報文上傳到上位機(jī)進(jìn)行協(xié)議分析。數(shù)據(jù)處理模塊中數(shù)據(jù)解析模塊通過消息映射觸發(fā),響應(yīng)數(shù)據(jù)接收模塊發(fā)送的消息,數(shù)據(jù)接收模塊使用發(fā)送傳輸信息線PostThreadMessage發(fā)送消息,數(shù)據(jù)解析函數(shù)函數(shù)將數(shù)據(jù)寄存器結(jié)構(gòu)體中的數(shù)據(jù)信息取出,得到原始數(shù)據(jù)包,對原始數(shù)據(jù)包進(jìn)行逐字節(jié)解析處理,數(shù)據(jù)解析模塊根據(jù)所選協(xié)議,調(diào)用不同的解析函數(shù),逐字節(jié)對原始數(shù)據(jù)進(jìn)行解析,獲取數(shù)據(jù)包各層信息。當(dāng)數(shù)據(jù)幀從上層向下層傳輸時,每層都在傳輸?shù)臄?shù)據(jù)幀中附加上該層的首部或尾部,而數(shù)據(jù)幀從下層向上層傳輸時,在數(shù)據(jù)傳輸?shù)拿恳粚訉?shù)據(jù)幀中附加的信息去掉,解析模塊對每一層的首部和尾部所封裝的信息進(jìn)行解碼獲得數(shù)據(jù)包的詳細(xì)信息,然后進(jìn)入該層的負(fù)載獲得上一層的信息,獲取到應(yīng)用層數(shù)據(jù)信息。數(shù)據(jù)處理模塊開辟一個UI線程不斷檢測USB接口是否有數(shù)據(jù)報文,一旦發(fā)現(xiàn)有數(shù)據(jù)報文,讀取并判斷該數(shù)據(jù)報文的包頭信息是否與標(biāo)志信息一致,若一致將其放到解析模塊的消息隊(duì)列中等待解析,解析模塊根據(jù)所選協(xié)議調(diào)用相應(yīng)的解析函數(shù),逐字段解析數(shù)據(jù)報文信息,并將解析信息存入Access數(shù)據(jù)庫。
[0008]本發(fā)明提出的全信道數(shù)據(jù)采集器,通過數(shù)據(jù)管理模塊對16個信道的數(shù)據(jù)進(jìn)行統(tǒng)一調(diào)度協(xié)調(diào)。解決了傳統(tǒng)的數(shù)據(jù)采集器只能監(jiān)聽單個信道以及面對諸如跳信道技術(shù)無能為力等問題。同時射頻前端采用單射頻芯片,使得整個系統(tǒng)就只有一個系統(tǒng)主時鐘,很大程度上提高了系統(tǒng)的同步精度??朔爽F(xiàn)有協(xié)議分析儀面向一個協(xié)議棧,只能正確解析某個協(xié)議棧的報文,應(yīng)用范圍受到限制。本發(fā)明的協(xié)議分析儀可面向6LowPAN、ZigBee, WIA-PA,ISA100.11a、Wireless Hart、IEEE802.15.4e六種協(xié)議棧,采用人機(jī)交互的方式,實(shí)時讀取主界面用戶設(shè)定的當(dāng)前工作協(xié)議,并根據(jù)所選協(xié)議的類型進(jìn)入相應(yīng)的解析函數(shù),最終實(shí)現(xiàn)完整性解析,極大地拓寬了應(yīng)用范圍。
【專利附圖】
【附圖說明】
[0009]圖1是全信道數(shù)據(jù)采集與協(xié)議分析儀功能結(jié)構(gòu)圖;
[0010]圖2是全信道數(shù)據(jù)采集與協(xié)議分析儀結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)圖;
[0011]圖3是全信道數(shù)據(jù)采集與協(xié)議分析儀功能結(jié)構(gòu)圖;
[0012]圖4是射頻接收模塊流程圖;
[0013]圖5協(xié)議分析儀功能結(jié)構(gòu)框圖;
[0014]圖6數(shù)據(jù)報文解析流程圖。
【具體實(shí)施方式】
[0015]下面結(jié)合附圖和具體實(shí)例,對本發(fā)明作進(jìn)一步的具體分析和描述。
[0016]如圖1所示為基于IEEE802.15.4的2.4GHz全信道數(shù)據(jù)采集與協(xié)議分析儀結(jié)構(gòu),包括:射頻接收模塊、數(shù)據(jù)管理模塊、USB通信接口模塊、PC機(jī)應(yīng)用模塊等。
[0017]射頻接收模塊:負(fù)責(zé)監(jiān)聽2.4GHz ISM頻段無線網(wǎng)絡(luò)中所有16個信道的無線數(shù)據(jù)報文,具備與整個無線網(wǎng)絡(luò)設(shè)備之間進(jìn)行無線通信的功能,同時還具備數(shù)據(jù)上傳功能。針對
2.4GHz頻段全部16個信道,需要16個功能獨(dú)立的射頻接收模塊,每個獨(dú)立的射頻模塊負(fù)責(zé)監(jiān)聽I個信道的數(shù)據(jù)報文,只要檢測到相應(yīng)信道的數(shù)據(jù)報文就直接采集上傳給數(shù)據(jù)管理模塊并進(jìn)行數(shù)據(jù)報文的處理。數(shù)據(jù)管理模塊:負(fù)責(zé)管理射頻接收模塊發(fā)送的數(shù)據(jù)報文,并能和16個獨(dú)立的射頻接收模塊進(jìn)行實(shí)時的通信,具有強(qiáng)大的數(shù)據(jù)處理功能和豐富的外設(shè)資源,同時能將數(shù)據(jù)實(shí)時、高速的傳輸給PC機(jī)。USB通信接口模塊:完成數(shù)據(jù)管理模塊與PC機(jī)之間實(shí)時、高速的通信。PC機(jī)應(yīng)用模塊:根據(jù)所選協(xié)議完成對數(shù)據(jù)的解析并進(jìn)一步進(jìn)行數(shù)據(jù)分析、顯示及存儲。
[0018]如圖2所示為全信道數(shù)據(jù)采集器系統(tǒng)結(jié)構(gòu),該系統(tǒng)第一部分包括:16個射頻接收模塊,第二部分包括:集成在核心底板上的數(shù)據(jù)管理模塊、存儲器模塊、SPI擴(kuò)展模塊、電源管理模塊、USB接口模塊。在核心底板上預(yù)留接插件接口給射頻接收模塊,可降低開發(fā)成本,同時又提高開發(fā)效率。
[0019]射頻接收模塊:可采用UZ2400D符合IEEE802.15.4標(biāo)準(zhǔn)的射頻芯片,滿足低成本、低功耗的無線應(yīng)用需要。射頻接收模塊由一個無線射頻收發(fā)器作用在2.4GHz的802.15.4標(biāo)準(zhǔn)基帶和媒介訪問控制子層功能模塊組成,包括一個集成的接收器,發(fā)送器,壓控振蕩器和鎖相環(huán)路。采用先進(jìn)的無線電架構(gòu)盡量減少外部元件數(shù)和功率消耗量。UZ2400D的MAC和基帶為IEEE802.15.4的MAC層和PHY層提供了硬件架構(gòu),它主要包括TX/RX控制器,CSMA-CA控制器,超幀構(gòu)造器,接收幀過濾器,安全引擎及數(shù)字信號處理組件,在外圍電路上加上天線,晶振和電阻電容等器件,然后引出必要的擴(kuò)展控制或通信接口,就形成了該射頻接收模塊。
[0020]核心底板上集成包括數(shù)據(jù)管理模塊、存儲器模塊、SPI擴(kuò)展模塊、總線驅(qū)動模塊、電源管理模塊、USB接口模塊。AT91RM9200作為ARM9系列的處理器,融合了主機(jī)/從機(jī)串行外設(shè)接口,且有4條串行通信片選信號線,數(shù)據(jù)管理模塊主控制器通過通信接口擴(kuò)展模塊完成與16個射頻接收模塊的通信連接,主控制器作為主設(shè)備,射頻接收模塊作為從設(shè)備。
[0021]外部存儲器包括FLASH存儲器和SDRAM存儲器。對SDRAM存儲器,主控制器是32位的處理器,本發(fā)明采用2片MT48LC8M16A2構(gòu)成一個32位的SDRAM數(shù)據(jù)存儲結(jié)構(gòu),每片的內(nèi)存容量為4BANK*2M*16Bit共16Mbyte。在兩片MT48LC8M16A2進(jìn)行搭配使用時,兩片MT48LC8M16A2芯片采用地址總線共用、數(shù)據(jù)總線合并的方式組成一個32位的存儲系統(tǒng),AT91RM9200微處理器以相同的片選信號和讀寫信號對MT48LC8M16A2進(jìn)行選擇。在進(jìn)行數(shù)據(jù)存儲和讀取的時候,CPU從其中的一片內(nèi)存芯片中讀取或是存儲數(shù)據(jù)的低16位,從另一片中讀取或存儲數(shù)據(jù)的高16位來構(gòu)成整個完整的32位數(shù)據(jù)。整個存儲器在進(jìn)行地址分配后SDRAM的地址空間為0x20000000?0x21000000。FLASH地址空間為0x10000000?0x11000000。
[0022]為了將大量的無線數(shù)據(jù)報文傳輸給PC機(jī),通信方式上本發(fā)明選取的是通用的USB接口,設(shè)計USB電路時,功能上核心底板上的USB接口只是作為一個USB從設(shè)備,上位機(jī)作為USB主設(shè)備。
[0023]統(tǒng)計整個系統(tǒng)中主要芯片的功耗需求,整個核心底板需要3種標(biāo)準(zhǔn)電壓滿足芯片正常工作需求,因此在整個電源電路,本發(fā)明采用了 3級降壓電路,將外接的電源降為5V,然后將5V降為3.3V,最后將3.3V降為1.8V,從而滿足整個系統(tǒng)的要求。在每級的電源處理都采用前級濾波和后級濾波相配合的方式來減少由于前級電源對后級電源的影響。AT91RM9200需要兩個振蕩器和兩個PLL,產(chǎn)生系統(tǒng)所有的時鐘,為各種外設(shè)和主機(jī)產(chǎn)生精確的時鐘源。主時鐘振蕩器為18.432MHz,慢時鐘振蕩器為32.768KHz。AT91RM9200在進(jìn)行JTAG調(diào)試時支持在線操作,所用的調(diào)試口為通用的20針標(biāo)準(zhǔn)JTAG接口,此接口可以與計算機(jī)中的并行數(shù)據(jù)接口連接,通過JTAG和計算機(jī)并口建立設(shè)備與計算機(jī)上開發(fā)軟件的連接。
[0024]如圖3所示為本系統(tǒng)功能結(jié)構(gòu)圖。系統(tǒng)包括射頻接收模塊UZ2400和主控制器模塊AT91RM9200兩大部分。射頻接收模塊包括初始化模塊、數(shù)據(jù)類型診斷模塊和信道配置模塊三部分。主控制器部分主要包括系統(tǒng)初始化模塊、USB驅(qū)動模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)存儲模塊、和數(shù)據(jù)發(fā)送模塊。下面分別對這兩部分功能模塊進(jìn)行詳細(xì)論述:射頻接收模塊UZ2400中初始化模塊:配置從機(jī)模式以及配置射頻接收模塊的寄存器。數(shù)據(jù)診斷類型模塊:對協(xié)議分析儀捕獲的數(shù)據(jù)報文提供過濾,判斷是否是基于IEEE802.15.4協(xié)議MAC層的數(shù)據(jù)報文,分析儀有選擇地捕獲數(shù)據(jù)。信道配置模塊:根據(jù)2.4GHz頻段信道劃分中心頻率
Fc=2405+5 (K-1l)1K=Il.......26 (F。為中心頻率,單位為MHz)—共有16個信道每個信道
間隔為5MHz,在代碼中修改相應(yīng)接收信道的配置參數(shù),設(shè)置每個功能獨(dú)立的射頻接收模塊對應(yīng)相應(yīng)信道,這樣16個射頻接收模塊就能接收對應(yīng)信道的數(shù)據(jù)報文。主控制器部分中系統(tǒng)初始化模塊:配置主機(jī)模式并定義IO接口功能。USB驅(qū)動模塊:初始化CH372 (USB總線的通用設(shè)備接口芯片),使其能完成USB通信。數(shù)據(jù)接收模塊:負(fù)責(zé)及時、準(zhǔn)確地接收來自射頻接收模塊上傳的數(shù)據(jù)報文,然后傳送數(shù)據(jù)存儲模塊。數(shù)據(jù)存儲模塊:主要將數(shù)據(jù)采集模塊傳來的數(shù)據(jù)進(jìn)行存儲,為數(shù)據(jù)發(fā)送模塊做好準(zhǔn)備。數(shù)據(jù)發(fā)送模塊:將數(shù)據(jù)存儲模塊中的報文進(jìn)行重新組合,比如添加信道號,數(shù)據(jù)長度等信息后形成一個新的數(shù)據(jù)報文,然后將該新的數(shù)據(jù)報文通過USB發(fā)送給PC機(jī)。[0025]如圖4為射頻接收模塊流程圖。射頻接收模塊射持續(xù)監(jiān)聽每個信道的數(shù)據(jù)報文信息。射頻接收模塊之間采用時分機(jī)制,即在一個時隙內(nèi)完成對16個模塊的信道掃描,當(dāng)掃描到某一個射頻接收模塊有接收到數(shù)據(jù),就會發(fā)出一個中斷響應(yīng),發(fā)現(xiàn)該中斷信號后,主動接收數(shù)據(jù),然后對其進(jìn)行預(yù)判斷,確認(rèn)該數(shù)據(jù)報文是否符合IEEE802.15.4無線數(shù)據(jù)報文的標(biāo)準(zhǔn)格式。如果不符合則會直接丟棄該數(shù)據(jù)報文,然后射頻接收模塊返回到監(jiān)聽狀態(tài),準(zhǔn)備接收下一個無線數(shù)據(jù)報文。相反,如果該無線數(shù)據(jù)報文符合無線數(shù)據(jù)報文的標(biāo)準(zhǔn)格式,那么主控制器調(diào)用接收模塊,從射頻接收模塊的存儲模塊中讀取數(shù)據(jù),然后進(jìn)行報文重組,包括添加報文頭、信道號、數(shù)據(jù)長度等信息。與此同時,射頻接收模塊釋放存儲數(shù)據(jù)的FIFO (先進(jìn)先出的數(shù)據(jù)緩存器),等待下一個數(shù)據(jù)的到來。最后主控制器調(diào)用數(shù)據(jù)發(fā)送模塊將重組后的無線報文通過USB上傳到PC機(jī),直到上傳完畢。上傳完畢后,主控制器繼續(xù)掃描下一個信道,判斷是否有接收到新的無線數(shù)據(jù)報文,依次循環(huán)對16個模塊進(jìn)行信道掃描。
[0026]如圖5所示為分析儀上位機(jī)系統(tǒng)結(jié)構(gòu)框圖:a.通信方式設(shè)置模塊根據(jù)需要將通信方式設(shè)置為USB通信、串口通信、網(wǎng)口通信三種通信方式,對應(yīng)數(shù)據(jù)采集模塊選擇通信接口 ;b.過濾控制模塊設(shè)置過濾頻段,處理未被過濾的數(shù)據(jù)包,利于軟件優(yōu)化,方便用戶查閱感興趣的數(shù)據(jù);c.數(shù)據(jù)接收模塊實(shí)時接收抓包器上傳的數(shù)據(jù)包;d.數(shù)據(jù)解析模塊解析數(shù)據(jù)包,根據(jù)所選協(xié)議,調(diào)用相應(yīng)的解析函數(shù);有數(shù)據(jù)接收時,首先判斷此數(shù)據(jù)是否為正確的幀(符合協(xié)議要求的校驗(yàn)規(guī)則),之后解析出功能碼(或數(shù)據(jù)標(biāo)識),在功能碼解析函數(shù)中,依據(jù)協(xié)議的上下行標(biāo)志,調(diào)用相應(yīng)的代碼進(jìn)行數(shù)據(jù)解析。(這樣即可以解析下行數(shù)據(jù),也可以解析上行數(shù)據(jù),構(gòu)成一個完好的正解析模塊)e.數(shù)據(jù)庫操作模塊,將解析后的數(shù)據(jù)存放到數(shù)據(jù)庫中;f.界面顯示模塊,主界面創(chuàng)建了四個視圖,分別從不同角度顯示數(shù)據(jù)包信息;g.數(shù)據(jù)包統(tǒng)計模塊,從信道號、接收時間、源地址、幀類型等參數(shù)對數(shù)據(jù)包進(jìn)行統(tǒng)計,以掌握整個網(wǎng)絡(luò)的運(yùn)行狀態(tài);h.信道掃描模塊,可獲取各信道當(dāng)前詳細(xì)信息。
[0027]如圖6所示為本發(fā)明數(shù)據(jù)報文解析流程圖。數(shù)據(jù)處理模塊包括數(shù)據(jù)解析模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)寄存器,數(shù)據(jù)解析模塊通過消息映射觸發(fā),響應(yīng)數(shù)據(jù)接收模塊發(fā)送的消息。數(shù)據(jù)接收模塊使用PostThreadMessage (發(fā)送傳輸信息線)發(fā)送消息,PostThreadMessageO只將消息放到消息隊(duì)列中即返回,不必等待消息執(zhí)行完成,以保證線程正常運(yùn)行,防止發(fā)生阻塞現(xiàn)象。數(shù)據(jù)解析函數(shù)OnThreadData O函數(shù),首先將C0M_DATA(數(shù)據(jù)寄存器)結(jié)構(gòu)體中的數(shù)據(jù)信息取出,得到原始數(shù)據(jù)信息、接收時刻、數(shù)據(jù)長度等信息,然后對原始數(shù)據(jù)包進(jìn)行逐字節(jié)解析處理。解析模塊根據(jù)所選協(xié)議,進(jìn)入不同的解析函數(shù),對原始數(shù)據(jù)以逐字節(jié)進(jìn)行解析,獲取數(shù)據(jù)包各層詳細(xì)信息。
[0028]當(dāng)數(shù)據(jù)幀從上層向下層傳輸時,每層都在傳輸?shù)臄?shù)據(jù)幀中附加上該層相關(guān)信息的數(shù)據(jù),分別稱為各層的首部或尾部,而從下層向上層傳輸時,在數(shù)據(jù)傳輸?shù)拿恳粚訉?shù)據(jù)幀中附加的信息去掉。全信道抓包器在網(wǎng)絡(luò)中截獲到的數(shù)據(jù)包是最底層的數(shù)據(jù)包,對每一層的首部和尾部所封裝的信息進(jìn)行解碼獲得數(shù)據(jù)包的詳細(xì)信息,然后進(jìn)入該層的負(fù)載去獲得上一層的信息,最后獲取到應(yīng)用層數(shù)據(jù)信息,即用戶所看到的最終信息。本文以解析ISA100.1la協(xié)議數(shù)據(jù)包為例對數(shù)據(jù)包解析作具體說明,從消息隊(duì)列中讀出待解析數(shù)據(jù),按IEEE802.15.4標(biāo)準(zhǔn)對其進(jìn)行MAC層解析,判斷是否為MAC層數(shù)據(jù)幀,若是,則依次進(jìn)行數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用子層解析,然后對解析后得到的數(shù)據(jù)進(jìn)行統(tǒng)計、存儲和顯示輸出。[0029]協(xié)議分析儀主界面顯示數(shù)據(jù)解析結(jié)果,創(chuàng)建以下四個視圖,從不同的角度實(shí)時顯示數(shù)據(jù)包信息:a、數(shù)據(jù)包列表視圖CTableView,用列表顯示出所有捕獲到的數(shù)據(jù)包信息,包括各層幀控制域、源地址、目的地址等信息;b、數(shù)據(jù)包協(xié)議棧視圖CTreeView,用樹圖的形式直觀顯示數(shù)據(jù)包各層的詳細(xì)信息,包括各層幀控制域、源地址、目的地址等信息;c、原始數(shù)據(jù)包視圖CAnalyzerView,顯示數(shù)據(jù)包在物理層的原始包結(jié)構(gòu);d、時間視圖CTimeView:該視圖是以時間為橫軸,以信道號為縱軸,實(shí)時顯示各個信道的通信狀態(tài)。顯示模塊還通過信道掃描窗口來顯示16個信道當(dāng)前質(zhì)量指數(shù)。信道掃描窗口通過獲取數(shù)據(jù)包中封裝的LQI值,并采用柱狀圖的方式顯示,從而直觀顯示當(dāng)前各信道鏈路指數(shù),LQI值是由射頻通信模塊產(chǎn)生并封裝到數(shù)據(jù)包中一起上傳給上位機(jī)。
[0030]為了更好地了解信道和網(wǎng)絡(luò)的通信狀態(tài),本協(xié)議分析儀采用信道能量掃描,能量掃描通過LQI (鏈路質(zhì)量指數(shù))反應(yīng)當(dāng)前各信道的質(zhì)量,用戶若有新設(shè)備要進(jìn)行組網(wǎng),可通過能量掃描窗口快速獲取信道質(zhì)量信息,選擇最佳的信道進(jìn)行組網(wǎng),可有效避免網(wǎng)絡(luò)擁塞,維護(hù)網(wǎng)絡(luò)安全。
[0031]本發(fā)明對于底層基于IEEE802.15.4的任何無線網(wǎng)絡(luò)數(shù)據(jù)報文,無論該無線網(wǎng)絡(luò)是ISA100.1la協(xié)議,WIA-PA協(xié)議等協(xié)議,只要是PHY和MAC層是基于IEEE802.15.4標(biāo)準(zhǔn)為基礎(chǔ),其工作頻段范圍為2.405GHz-2.4835GHz ISM頻段,該數(shù)據(jù)采集器都能夠在對該網(wǎng)絡(luò)沒有任何干擾的前提下,將其無線網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行采集,然后對其數(shù)據(jù)進(jìn)行分析處理。
【權(quán)利要求】
1.一種基于IEEE802.15.4的2.4GHz全信道數(shù)據(jù)采集與協(xié)議分析系統(tǒng),包括:數(shù)據(jù)采集部分和協(xié)議分析部分,其特征在于,數(shù)據(jù)采集部分包括:射頻接收模塊、數(shù)據(jù)管理模塊、存儲器模塊、通信接口模塊,其中,射頻接收模塊持續(xù)監(jiān)聽16個信道是否有數(shù)據(jù)報文,負(fù)責(zé)射頻前端16個信道的全信道數(shù)據(jù)采集,存儲器模塊暫存采集的全信道數(shù)據(jù),數(shù)據(jù)管理模塊對接收的全信道數(shù)據(jù)進(jìn)行調(diào)度,通信接口模塊將調(diào)度后數(shù)據(jù)上傳給協(xié)議分析部分進(jìn)行協(xié)議解析;協(xié)議分析部分包括:數(shù)據(jù)處理模塊、工具箱模塊,數(shù)據(jù)處理模塊完成數(shù)據(jù)包接收、數(shù)據(jù)包解析、數(shù)據(jù)存儲及顯示,工具箱模塊用于統(tǒng)計數(shù)據(jù)包、信道信息、節(jié)點(diǎn)信息以及獲取并顯示各信道的鏈路質(zhì)量指數(shù)。
2.根據(jù)權(quán)利要求1所述系統(tǒng),其特征在于,射頻接收模塊由一個無線射頻收發(fā)器作用在2.4GHz的802.15.4標(biāo)準(zhǔn)基帶和媒介訪問控制子層模塊上組成,包括接收器、發(fā)送器、壓控振蕩器和鎖相環(huán)路。
3.根據(jù)權(quán)利要求1所述系統(tǒng),其特征在于,射頻接收模塊對協(xié)議分析儀捕獲的數(shù)據(jù)報文過濾,判斷是否是基于IEEE802.15.4協(xié)議MAC層的數(shù)據(jù)報文,根據(jù)2.4GHz頻段信道劃分中心頻率,在代碼中修改相應(yīng)接收信道的配置參數(shù),設(shè)置多個功能獨(dú)立的射頻接收模塊對應(yīng)相應(yīng)的信道。
4.根據(jù)權(quán)利要求1所述系統(tǒng),其特征在于,射頻接收模塊持續(xù)監(jiān)聽16個信道是否有數(shù)據(jù)報文具體包括,16個無線射頻接收模塊對所有信道序列進(jìn)行輪訓(xùn)掃描,當(dāng)接收到數(shù)據(jù)報文時,產(chǎn)生一個中斷標(biāo)志位,數(shù)據(jù)管理模塊循環(huán)判斷每個射頻接收模塊的中斷標(biāo)志位,如果中斷標(biāo)志位被置位,數(shù)據(jù)管理模塊調(diào)用系統(tǒng)接收函數(shù)從該射頻接收模塊中讀取該數(shù)據(jù)報文,如果中斷標(biāo)志位沒有置位,按照原始信道序列表自動切換到相鄰的下一個射頻接收模塊進(jìn)行掃描。
5.根據(jù)權(quán)利要求1所述系統(tǒng),其特征在于,數(shù)據(jù)采集部分的數(shù)據(jù)管理模塊通過DM74LS154譯碼器進(jìn)行同步串行端口譯碼擴(kuò)展,通過不斷輪詢每個射頻接收模塊的中斷標(biāo)志是否置位判別是否采集到數(shù)據(jù)報文,如果采集到數(shù)據(jù)報文,該射頻接收模塊將數(shù)據(jù)報文緩存到存儲器FIFO中,數(shù)據(jù)管`理模塊對存儲器中的數(shù)據(jù)報文進(jìn)行分析,如果符合數(shù)據(jù)報文標(biāo)準(zhǔn)格式,數(shù)據(jù)管理模塊對該數(shù)據(jù)報文封裝報文頭部和信道號,上傳到上位機(jī)進(jìn)行協(xié)議分析。
6.根據(jù)權(quán)利要求1所述系統(tǒng),其特征在于,數(shù)據(jù)處理模塊中數(shù)據(jù)解析模塊通過消息映射觸發(fā),響應(yīng)數(shù)據(jù)接收模塊發(fā)送的消息,數(shù)據(jù)接收模塊使用發(fā)送傳輸信息線PostThreadMessage發(fā)送消息,數(shù)據(jù)解析函數(shù)函數(shù)將數(shù)據(jù)寄存器結(jié)構(gòu)體中的數(shù)據(jù)信息取出,得到原始數(shù)據(jù)包,對原始數(shù)據(jù)包進(jìn)行逐字節(jié)解析處理,數(shù)據(jù)解析模塊根據(jù)所選協(xié)議,調(diào)用不同的解析函數(shù),逐字節(jié)對原始數(shù)據(jù)進(jìn)行解析,獲取數(shù)據(jù)包各層信息。
7.根據(jù)權(quán)利要求3所述系統(tǒng),其特征在于,射頻接收模塊在一個時隙內(nèi)完成對16個模塊的信道掃描,當(dāng)掃描到某一個射頻接收模塊接收到數(shù)據(jù),發(fā)出一個中斷響應(yīng),主動接收數(shù)據(jù),如果該無線數(shù)據(jù)報文符合IEEE802.15.4無線數(shù)據(jù)報文的標(biāo)準(zhǔn)格式,從射頻接收模塊的存儲模塊中讀取數(shù)據(jù)進(jìn)行報文重組,同時,射頻接收模塊釋放存儲數(shù)據(jù)的數(shù)據(jù)緩存器,等待下一個數(shù)據(jù)的到來。
8.根據(jù)權(quán)利要求6所述系統(tǒng),其特征在于,當(dāng)數(shù)據(jù)幀從上層向下層傳輸時,每層都在傳輸?shù)臄?shù)據(jù)幀中附加上該層的首部或尾部,而數(shù)據(jù)幀從下層向上層傳輸時,在數(shù)據(jù)傳輸?shù)拿恳粚訉?shù)據(jù)幀中附加的信息去掉,解析模塊對每一層的首部和尾部所封裝的信息進(jìn)行解碼獲得數(shù)據(jù)包的詳細(xì)信息,然后進(jìn)入該層的負(fù)載獲得上一層的信息,獲取到應(yīng)用層數(shù)據(jù)信息。
9.根據(jù)權(quán)利要求6所述系統(tǒng),其特征在于,數(shù)據(jù)處理模塊開辟一個Π線程不斷檢測USB接口是否有數(shù)據(jù)報文,一旦發(fā)現(xiàn)有數(shù)據(jù)報文,讀取并判斷該數(shù)據(jù)報文的包頭信息是否與標(biāo)志信息一致,若一致將其放到解析模塊的消息隊(duì)列中等待解析,解析模塊根據(jù)所選協(xié)議調(diào)用相應(yīng)的解析函數(shù),逐字段解析數(shù)`據(jù)報文信息,并將解析信息存入Access數(shù)據(jù)庫。
【文檔編號】H04W84/18GK103781088SQ201410030546
【公開日】2014年5月7日 申請日期:2014年1月23日 優(yōu)先權(quán)日:2014年1月23日
【發(fā)明者】嚴(yán)冬, 王平, 李景林, 李瑛 , 黃麗, 王瑞濤, 丁世佳 申請人:重慶郵電大學(xué)