1.一种基于IEEE802.15.4的2.4GHz全信道数据采集与协议分析系统,包括:数据采集部分和协议分析部分,其特征在于,数据采集部分包括:射频接收模块、数据管理模块、存储器模块、通信接口模块,其中,射频接收模块持续监听16个信道是否有数据报文,负责射频前端16个信道的全信道数据采集,存储器模块暂存采集的全信道数据,数据管理模块对接收的全信道数据进行调度,通信接口模块将调度后数据上传给协议分析部分进行协议解析;协议分析部分包括:数据处理模块、工具箱模块,数据处理模块完成数据包接收、数据包解析、数据存储及显示,工具箱模块用于统计数据包、信道信息、节点信息以及获取并显示各信道的链路质量指数,其中,射频接收模块持续监听16个信道是否有数据报文具体包括,
16个无线射频接收模块对所有信道序列进行轮训扫描,当接收到数据报文时,产生一个中断标志位,数据管理模块循环判断每个射频接收模块的中断标志位,如果中断标志位被置位,数据管理模块调用系统接收函数从该射频接收模块中读取该数据报文,如果中断标志位没有置位,按照原始信道序列表自动切换到相邻的下一个射频接收模块进行扫描。
2.根据权利要求1所述系统,其特征在于,射频接收模块由一个无线射频收发器作用在
2.4 GHz的802.15.4标准基带和媒介访问控制子层模块上组成,包括接收器、发送器、压控振荡器和锁相环路。
3.根据权利要求1所述系统,其特征在于,射频接收模块对协议分析仪捕获的数据报文过滤,判断是否是基于IEEE802.15.4协议MAC层的数据报文,根据2.4GHz频段信道划分中心频率,在代码中修改相应接收信道的配置参数,设置多个功能独立的射频接收模块对应相应的信道。
4.根据权利要求1所述系统,其特征在于,数据采集部分的数据管理模块通过DM74LS154译码器进行同步串行端口译码扩展,通过不断轮询每个射频接收模块的中断标志是否置位判别是否采集到数据报文,如果采集到数据报文,该射频接收模块将数据报文缓存到存储器FIFO中,数据管理模块对存储器中的数据报文进行分析,如果符合数据报文标准格式,数据管理模块对该数据报文封装报文头部和信道号,上传到上位机进行协议分析。
5.根据权利要求1所述系统,其特征在于,数据处理模块中数据解析模块通过消息映射触发,响应数据接收模块发送的消息,数据接收模块使用发送传输信息线PostThreadMessage发送消息,数据解析函数函数将数据寄存器结构体中的数据信息取出,得到原始数据包,对原始数据包进行逐字节解析处理,数据解析模块根据所选协议,调用不同的解析函数,逐字节对原始数据进行解析,获取数据包各层信息。
6.根据权利要求3所述系统,其特征在于,射频接收模块在一个时隙内完成对16个模块的信道扫描,当扫描到某一个射频接收模块接收到数据,发出一个中断响应,主动接收数据,如果该无线数据报文符合IEEE802.15.4无线数据报文的标准格式,从射频接收模块的存储模块中读取数据进行报文重组,同时,射频接收模块释放存储数据的数据缓存器,等待下一个数据的到来。
7.根据权利要求5所述系统,其特征在于,当数据帧从上层向下层传输时,每层都在传输的数据帧中附加上该层的首部或尾部,而数据帧从下层向上层传输时,在数据传输的每一层将数据帧中附加的信息去掉,解析模块对每一层的首部和尾部所封装的信息进行解码获得数据包的详细信息,然后进入该层的负载获得上一层的信息,获取到应用层数据信息。
8.根据权利要求5所述系统,其特征在于,数据处理模块开辟一个UI线程不断检测USB接口是否有数据报文,一旦发现有数据报文,读取并判断该数据报文的包头信息是否与标志信息一致,若一致将其放到解析模块的消息队列中等待解析,解析模块根据所选协议调用相应的解析函数,逐字段解析数据报文信息,并将解析信息存入Access数据库。
基于IEEE802.15.4的2.4GHz全信道数据采集与协议分析仪\n技术领域\n[0001] 本发明涉及工业无线通信技术领域,具体涉及工业无线传感网络测试系统中全信道数据采集与协议分析方法。\n技术背景\n[0002] 目前工业无线传感网络协议有ISA100.11a、Wireless HART、WIA-PA等,这些协议都涉及很多关键技术,如跳频技术,调度技术,安全机制等。实现者对于协议的不同理解会导致不同的协议实现。因此,必须对协议实现方的协议进行严格的一致性测试,来检测被测协议实现与协议规范的符合程度,这就需要一致性测试系统。在这些协议的应用过程中,IEEE802.15.4标准是应用于低速无线个人区域网(LR-WPAN)的物理层和媒介访问控制层规范,具有低速、低成本、低功耗、低复杂度等优点,已经被ISA100.11a、Wireless Hart、WIA-PA等三大无线通信网络标准采用为底层标准,目前已成为降低自动化成本、扩大自动化系统应用范围的最有潜力的技术。在工业无线传感网络的测试系统中,捕捉到2.4GHz所有16个信道的数据是测试系统中的必要条件,只有获取到了所有信道的数据,才能对数据进行分析与测试,检测是否符合协议规范,同时,要知道所捕获的数据包是否符合规范,就需要一个强大的协议分析系统来对数据包进行解析处理,并对解析数据进行显示。因此工业无线全信道数据检测与协议分析仪对工业无线的一致性测试是不可或缺的装备之一,在工业无线通信领域具有非常重大的应用前景\n[0003] 当前的调试方式是使用协议分析仪在16个信道上搜索数据,采用选通信道的方式,只能在一个信道上采集数据,无法完成16个信道的同时采集。并且在复杂的工业现场环境中,当有多个信道的通信设备同时工作时,将会给通信调试带来一定的不便。典型的协议分析仪为成都无线龙通讯科技有限公司设计的C51RF-3packet sniffer。除此之外,由于大部分的无线技术都工作于2.4GHz的ISM公共频段,这样就会出现空间中各种无线网络相互干扰,为了使网络能够具有更好的抗干扰性,跳信道技术得到了广泛的应用,这就给通信调试提出更高的要求。\n发明内容\n[0004] 本发明针对现有技术协议分析仪采用选通信道方式,无法完成16个信道的同时数据采集,在公共频段容易出现空间无线信号的相互干扰,能够使用跳信道技术,使网络具有更好的抗干扰性,本发明提供一套针对工业无线传感网的数据采集与协议分析仪,不仅能对基于2.4GHz的工业无线传感网的全部信道数据进行数据捕获,而且能实现对捕获的数据报文进行详细解析,可针对6LowPAN、ZigBee、WIA-PA、ISA100.11a、Wireless Hart、IEEE802.15.4e等协议标准进行解析。\n[0005] 本发明解决上述技术问题的技术方案是:设计一种基于IEEE802.15.4的2.4GHz全信道数据采集与协议分析系统,包括:数据采集部分和协议分析部分,其特征在于,数据采集部分包括:射频接收模块、数据管理模块、存储器模块、PC通信接口模块,其中,射频接收模块持续监听16个信道是否有数据报文,负责射频前端16个信道的全信道数据采集,存储器模块暂存采集的全信道数据,数据管理模块对接收到的全信道数据进行调度,PC机通信接口模块将调度后数据上传给协议分析部分进行协议解析;协议分析部分包括:数据处理模块、工具箱模块,数据处理模块完成数据包接收、数据包解析、数据存储及显示,工具箱模块用于统计数据包、信道信息、节点信息以及获取并显示各信道的链路质量指数。\n[0006] 射频接收模块由一个无线射频收发器作用在2.4GHz的802.15.4标准基带和媒介访问控制子层模块组成,包括接收器、发送器、压控振荡器和锁相环路。射频接收模块对协议分析仪捕获的数据报文提供过滤,判断是否是基于IEEE802.15.4协议MAC层的数据报文,根据2.4GHz频段信道划分中心频率,在代码中修改相应接收信道的配置参数,设置每个功能独立的射频接收模块对应相应的信道。射频接收模块在一个时隙内完成对16个模块的信道扫描,当扫描到某一个射频接收模块有接收到数据,发出一个中断响应,主动接收数据,如果该无线数据报文符合IEEE802.15.4无线数据报文的标准格式,从射频接收模块的存储模块中读取数据进行报文重组,同时,射频接收模块释放存储数据的数据缓存器FIFO,等待下一个数据的到来。射频接收模块持续监听16个信道是否有数据报文具体包括,16个无线射频接收模块对所有信道序列进行轮训扫描,当接收到数据报文时,产生一个中断标志位,数据管理模块循环判断每个射频接收模块的中断标志位,如果中断标志位被置位,数据管理模块调用系统接收函数从该射频接收模块中读取该数据报文,如果中断标志位没有置位,按照原始信道序列表自动切换到相邻的下一个射频接收模块进行扫描。\n[0007] 数据采集部分的数据管理模块通过DM74LS154译码器进行同步串行端口4-16译码扩展,通过不断轮询每个射频接收模块的中断标志是否置位判别是否采集到数据报文,如果采集到数据报文,该射频接收模块将数据报文缓存到存储器FIFO中,数据管理模块对存储器FIFO中的数据报文进行分析,如果符合数据报文标准格式,数据管理模块对该数据报文封装报文头部和信道号,形成一个新的数据报文上传到上位机进行协议分析。数据处理模块中数据解析模块通过消息映射触发,响应数据接收模块发送的消息,数据接收模块使用发送传输信息线PostThreadMessage发送消息,数据解析函数函数将数据寄存器结构体中的数据信息取出,得到原始数据包,对原始数据包进行逐字节解析处理,数据解析模块根据所选协议,调用不同的解析函数,逐字节对原始数据进行解析,获取数据包各层信息。当数据帧从上层向下层传输时,每层都在传输的数据帧中附加上该层的首部或尾部,而数据帧从下层向上层传输时,在数据传输的每一层将数据帧中附加的信息去掉,解析模块对每一层的首部和尾部所封装的信息进行解码获得数据包的详细信息,然后进入该层的负载获得上一层的信息,获取到应用层数据信息。数据处理模块开辟一个UI线程不断检测USB接口是否有数据报文,一旦发现有数据报文,读取并判断该数据报文的包头信息是否与标志信息一致,若一致将其放到解析模块的消息队列中等待解析,解析模块根据所选协议调用相应的解析函数,逐字段解析数据报文信息,并将解析信息存入Access数据库。\n[0008] 本发明提出的全信道数据采集器,通过数据管理模块对16个信道的数据进行统一调度协调。解决了传统的数据采集器只能监听单个信道以及面对诸如跳信道技术无能为力等问题。同时射频前端采用单射频芯片,使得整个系统就只有一个系统主时钟,很大程度上提高了系统的同步精度。克服了现有协议分析仪面向一个协议栈,只能正确解析某个协议栈的报文,应用范围受到限制。本发明的协议分析仪可面向6LowPAN、ZigBee、WIA-PA、ISA100.11a、Wireless Hart、IEEE802.15.4e六种协议栈,采用人机交互的方式,实时读取主界面用户设定的当前工作协议,并根据所选协议的类型进入相应的解析函数,最终实现完整性解析,极大地拓宽了应用范围。\n附图说明\n[0009] 图1是全信道数据采集与协议分析仪功能结构图;\n[0010] 图2是全信道数据采集与协议分析仪结构系统结构图;\n[0011] 图3是全信道数据采集与协议分析仪功能结构图;\n[0012] 图4是射频接收模块流程图;\n[0013] 图5协议分析仪功能结构框图;\n[0014] 图6数据报文解析流程图。\n具体实施方式\n[0015] 下面结合附图和具体实例,对本发明作进一步的具体分析和描述。\n[0016] 如图1所示为基于IEEE802.15.4的2.4GHz全信道数据采集与协议分析仪结构,包括:射频接收模块、数据管理模块、USB通信接口模块、PC机应用模块等。\n[0017] 射频接收模块:负责监听2.4GHz ISM频段无线网络中所有16个信道的无线数据报文,具备与整个无线网络设备之间进行无线通信的功能,同时还具备数据上传功能。针对\n2.4GHz频段全部16个信道,需要16个功能独立的射频接收模块,每个独立的射频模块负责监听1个信道的数据报文,只要检测到相应信道的数据报文就直接采集上传给数据管理模块并进行数据报文的处理。数据管理模块:负责管理射频接收模块发送的数据报文,并能和\n16个独立的射频接收模块进行实时的通信,具有强大的数据处理功能和丰富的外设资源,同时能将数据实时、高速的传输给PC机。USB通信接口模块:完成数据管理模块与PC机之间实时、高速的通信。PC机应用模块:根据所选协议完成对数据的解析并进一步进行数据分析、显示及存储。\n[0018] 如图2所示为全信道数据采集器系统结构,该系统第一部分包括:16个射频接收模块,第二部分包括:集成在核心底板上的数据管理模块、存储器模块、SPI扩展模块、电源管理模块、USB接口模块。在核心底板上预留接插件接口给射频接收模块,可降低开发成本,同时又提高开发效率。\n[0019] 射频接收模块:可采用UZ2400D符合IEEE802.15.4标准的射频芯片,满足低成本、低功耗的无线应用需要。射频接收模块由一个无线射频收发器作用在2.4GHz的802.15.4标准基带和媒介访问控制子层功能模块组成,包括一个集成的接收器,发送器,压控振荡器和锁相环路。采用先进的无线电架构尽量减少外部元件数和功率消耗量。UZ2400D的MAC和基带为IEEE802.15.4的MAC层和PHY层提供了硬件架构,它主要包括TX/RX控制器,CSMA-CA控制器,超帧构造器,接收帧过滤器,安全引擎及数字信号处理组件,在外围电路上加上天线,晶振和电阻电容等器件,然后引出必要的扩展控制或通信接口,就形成了该射频接收模块。\n[0020] 核心底板上集成包括数据管理模块、存储器模块、SPI扩展模块、总线驱动模块、电源管理模块、USB接口模块。AT91RM9200作为ARM9系列的处理器,融合了主机/从机串行外设接口,且有4条串行通信片选信号线,数据管理模块主控制器通过通信接口扩展模块完成与\n16个射频接收模块的通信连接,主控制器作为主设备,射频接收模块作为从设备。\n[0021] 外部存储器包括FLASH存储器和SDRAM存储器。对SDRAM存储器,主控制器是32位的处理器,本发明采用2片MT48LC8M16A2构成一个32位的SDRAM数据存储结构,每片的内存容量为4BANK*2M*16Bit共16Mbyte。在两片MT48LC8M16A2进行搭配使用时,两片MT48LC8M16A2芯片采用地址总线共用、数据总线合并的方式组成一个32位的存储系统,AT91RM9200微处理器以相同的片选信号和读写信号对MT48LC8M16A2进行选择。在进行数据存储和读取的时候,CPU从其中的一片内存芯片中读取或是存储数据的低16位,从另一片中读取或存储数据的高16位来构成整个完整的32位数据。整个存储器在进行地址分配后SDRAM的地址空间为\n0x20000000~0x21000000。FLASH地址空间为0x10000000~0x11000000。\n[0022] 为了将大量的无线数据报文传输给PC机,通信方式上本发明选取的是通用的USB接口,设计USB电路时,功能上核心底板上的USB接口只是作为一个USB从设备,上位机作为USB主设备。\n[0023] 统计整个系统中主要芯片的功耗需求,整个核心底板需要3种标准电压满足芯片正常工作需求,因此在整个电源电路,本发明采用了3级降压电路,将外接的电源降为5V,然后将5V降为3.3V,最后将3.3V降为1.8V,从而满足整个系统的要求。在每级的电源处理都采用前级滤波和后级滤波相配合的方式来减少由于前级电源对后级电源的影响。AT91RM9200需要两个振荡器和两个PLL,产生系统所有的时钟,为各种外设和主机产生精确的时钟源。\n主时钟振荡器为18.432MHz,慢时钟振荡器为32.768KHz。AT91RM9200在进行JTAG调试时支持在线操作,所用的调试口为通用的20针标准JTAG接口,此接口可以与计算机中的并行数据接口连接,通过JTAG和计算机并口建立设备与计算机上开发软件的连接。\n[0024] 如图3所示为本系统功能结构图。系统包括射频接收模块UZ2400和主控制器模块AT91RM9200两大部分。射频接收模块包括初始化模块、数据类型诊断模块和信道配置模块三部分。主控制器部分主要包括系统初始化模块、USB驱动模块、数据接收模块、数据存储模块、和数据发送模块。下面分别对这两部分功能模块进行详细论述:射频接收模块UZ2400中初始化模块:配置从机模式以及配置射频接收模块的寄存器。数据诊断类型模块:对协议分析仪捕获的数据报文提供过滤,判断是否是基于IEEE802.15.4协议MAC层的数据报文,分析仪有选择地捕获数据。信道配置模块:根据2.4GHz频段信道划分中心频率FC=2405+5(K-\n11),K=11.......26(FC为中心频率,单位为MHz)一共有16个信道每个信道间隔为5MHz,在代码中修改相应接收信道的配置参数,设置每个功能独立的射频接收模块对应相应信道,这样16个射频接收模块就能接收对应信道的数据报文。主控制器部分中系统初始化模块:\n配置主机模式并定义IO接口功能。USB驱动模块:初始化CH372(USB总线的通用设备接口芯片),使其能完成USB通信。数据接收模块:负责及时、准确地接收来自射频接收模块上传的数据报文,然后传送数据存储模块。数据存储模块:主要将数据采集模块传来的数据进行存储,为数据发送模块做好准备。数据发送模块:将数据存储模块中的报文进行重新组合,比如添加信道号,数据长度等信息后形成一个新的数据报文,然后将该新的数据报文通过USB发送给PC机。\n[0025] 如图4为射频接收模块流程图。射频接收模块射持续监听每个信道的数据报文信息。射频接收模块之间采用时分机制,即在一个时隙内完成对16个模块的信道扫描,当扫描到某一个射频接收模块有接收到数据,就会发出一个中断响应,发现该中断信号后,主动接收数据,然后对其进行预判断,确认该数据报文是否符合IEEE802.15.4无线数据报文的标准格式。如果不符合则会直接丢弃该数据报文,然后射频接收模块返回到监听状态,准备接收下一个无线数据报文。相反,如果该无线数据报文符合无线数据报文的标准格式,那么主控制器调用接收模块,从射频接收模块的存储模块中读取数据,然后进行报文重组,包括添加报文头、信道号、数据长度等信息。与此同时,射频接收模块释放存储数据的FIFO(先进先出的数据缓存器),等待下一个数据的到来。最后主控制器调用数据发送模块将重组后的无线报文通过USB上传到PC机,直到上传完毕。上传完毕后,主控制器继续扫描下一个信道,判断是否有接收到新的无线数据报文,依次循环对16个模块进行信道扫描。\n[0026] 如图5所示为分析仪上位机系统结构框图:a.通信方式设置模块根据需要将通信方式设置为USB通信、串口通信、网口通信三种通信方式,对应数据采集模块选择通信接口;\nb.过滤控制模块设置过滤频段,处理未被过滤的数据包,利于软件优化,方便用户查阅感兴趣的数据;c.数据接收模块实时接收抓包器上传的数据包;d.数据解析模块解析数据包,根据所选协议,调用相应的解析函数;有数据接收时,首先判断此数据是否为正确的帧(符合协议要求的校验规则),之后解析出功能码(或数据标识),在功能码解析函数中,依据协议的上下行标志,调用相应的代码进行数据解析。(这样即可以解析下行数据,也可以解析上行数据,构成一个完好的正解析模块)e.数据库操作模块,将解析后的数据存放到数据库中;f.界面显示模块,主界面创建了四个视图,分别从不同角度显示数据包信息;g.数据包统计模块,从信道号、接收时间、源地址、帧类型等参数对数据包进行统计,以掌握整个网络的运行状态;h.信道扫描模块,可获取各信道当前详细信息。\n[0027] 如图6所示为本发明数据报文解析流程图。数据处理模块包括数据解析模块、数据接收模块、数据寄存器,数据解析模块通过消息映射触发,响应数据接收模块发送的消息。\n数据接收模块使用PostThreadMessage(发送传输信息线)发送消息,PostThreadMessage()只将消息放到消息队列中即返回,不必等待消息执行完成,以保证线程正常运行,防止发生阻塞现象。数据解析函数OnThreadData()函数,首先将COM_DATA(数据寄存器)结构体中的数据信息取出,得到原始数据信息、接收时刻、数据长度等信息,然后对原始数据包进行逐字节解析处理。解析模块根据所选协议,进入不同的解析函数,对原始数据以逐字节进行解析,获取数据包各层详细信息。\n[0028] 当数据帧从上层向下层传输时,每层都在传输的数据帧中附加上该层相关信息的数据,分别称为各层的首部或尾部,而从下层向上层传输时,在数据传输的每一层将数据帧中附加的信息去掉。全信道抓包器在网络中截获到的数据包是最底层的数据包,对每一层的首部和尾部所封装的信息进行解码获得数据包的详细信息,然后进入该层的负载去获得上一层的信息,最后获取到应用层数据信息,即用户所看到的最终信息。本文以解析ISA100.11a协议数据包为例对数据包解析作具体说明,从消息队列中读出待解析数据,按IEEE802.15.4标准对其进行MAC层解析,判断是否为MAC层数据帧,若是,则依次进行数据链路层、网络层、传输层、应用子层解析,然后对解析后得到的数据进行统计、存储和显示输出。\n[0029] 协议分析仪主界面显示数据解析结果,创建以下四个视图,从不同的角度实时显示数据包信息:a、数据包列表视图CTableView,用列表显示出所有捕获到的数据包信息,包括各层帧控制域、源地址、目的地址等信息;b、数据包协议栈视图CTreeView,用树图的形式直观显示数据包各层的详细信息,包括各层帧控制域、源地址、目的地址等信息;c、原始数据包视图CAnalyzerView,显示数据包在物理层的原始包结构;d、时间视图CTimeView:该视图是以时间为横轴,以信道号为纵轴,实时显示各个信道的通信状态。显示模块还通过信道扫描窗口来显示16个信道当前质量指数。信道扫描窗口通过获取数据包中封装的LQI值,并采用柱状图的方式显示,从而直观显示当前各信道链路指数,LQI值是由射频通信模块产生并封装到数据包中一起上传给上位机。\n[0030] 为了更好地了解信道和网络的通信状态,本协议分析仪采用信道能量扫描,能量扫描通过LQI(链路质量指数)反应当前各信道的质量,用户若有新设备要进行组网,可通过能量扫描窗口快速获取信道质量信息,选择最佳的信道进行组网,可有效避免网络拥塞,维护网络安全。\n[0031] 本发明对于底层基于IEEE802.15.4的任何无线网络数据报文,无论该无线网络是ISA100.11a协议,WIA-PA协议等协议,只要是PHY和MAC层是基于IEEE802.15.4标准为基础,其工作频段范围为2.405GHz-2.4835GHz ISM频段,该数据采集器都能够在对该网络没有任何干扰的前提下,将其无线网络数据进行采集,然后对其数据进行分析处理。
法律信息
- 2017-05-24
- 2014-06-11
实质审查的生效
IPC(主分类): H04W 24/00
专利申请号: 201410030546.1
申请日: 2014.01.23
- 2014-05-07
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-04-11
|
2011-12-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |