专利名称:一种6LoWPAN的协议一致性测试仪表及方法
技术领域:
本发明涉及一种协议一致性检测技术,尤其涉及一种6LoWPAN的协议一致性测试仪表及方法。
背景技术:
6LoffPAN(IPv6 over Low Power WPAN-ffireless Personal Area Network, IPv6 在低功耗无线个人局域网)协议栈底层采用IEEE 802. 15. 4标准规定的PHY层physical Layer,物理层)^P MAC (Media Access Control,介质访问控制)层协议;网络层采用IPv6 协议;中间添加适配层,以实现MAC层和IPv6层的无缝连接。由于6LoWPAN技术是新兴技术,目前,还没有针对6LoWPAN的协议一致性测试的实现方案。
发明内容
本发明的目的是提供一种6LoWPAN的协议一致性测试仪表及方法。本发明的目的是通过以下技术方案实现的一种6LoWPAN的协议一致性测试仪表,包括主控模块、协议栈模块和射频模块;所述主控模块包括测试子模块、系统集成子模块、和人机界面子模块;所述测试子模块用于实现对协议的一致性进行测试;所述系统集成子模块用于对所述协议一致性测试仪表进行启动及初始化,所述系统集成子模块分别与所述测试子模块和所述人机界面子模块通信连接,还用于接收所述人机界面子模块或外部控制装置发来的执行指令,并根据所述执行指令对测试子模块进行配置和调用;所述人机界面子模块用于实现用户与所述协议一致性测试仪表的交互;所述协议栈模块分别与所述主控模块和所述射频模块通信连接,用于对所述协议一致性测试仪表的通信提供协议支持;所述射频模块包括射频发射子模块和射频接收子模块;所述射频发射子模块用于将待输出的信号转化为射频信号后发送;所述射频接收子模块用于将接收到的射频信号转化为基带信号。由上述本发明提供的技术方案可以看出,本发明提供的6LoWPAN协议一致性测试仪表,从而实现了 6LoWPAN协议一致性测试。另外,将射频模块应用于6LoWPAN协议一致性测试仪表中,能够支持所有频率覆盖范围,并将台式PC的性能价格比优势与PCI总线面向仪器领域的必要扩展完美的结合起来,降低了仪表开发的成本、提高了仪表性能。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本发明实施例提供的协议一致性测试仪表结构示意图;图2为本发明实施例提供的测试子模块结构示意图;图3为本发明实施例提供的测试管理器结构示意图;图4为本发明实施例提供的协议栈模块结构示意图;图5为本发明实施例提供的协议栈模块硬件结构示意图;图6为本发明实施例提供的射频发射子模块工作原理图;图7为本发明实施例提供的射频接收子模块工作原理图;图8为本发明实施例提供的射频本振子模块工作原理图;图9为本发明实施例提供的测试场景示意图。
具体实施例方式下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。一种6LoWPAN的协议一致性测试仪表,其结构如图1所示,具体包括主控模块、协议栈模块和射频模块。所述主控模块包括测试子模块、系统集成子模块、和人机界面子模块;所述测试子模块用于实现对协议的一致性进行测试;所述系统集成子模块用于对所述协议一致性测试仪表进行启动及初始化,所述系统集成子模块分别与所述测试子模块和所述人机界面子模块通信连接,还用于接收所述人机界面子模块或外部控制装置发来的执行指令,并根据所述执行指令对测试子模块进行配置和调用;所述人机界面子模块用于实现用户与所述协议一致性测试仪表的交互。所述协议栈模块分别与所述主控模块和所述射频模块通信连接,用于对所述协议一致性测试仪表的通信提供协议支持。所述射频模块包括射频发射子模块和射频接收子模块;所述射频发射子模块用于将待输出的信号转化为射频信号后发送;所述射频接收子模块用于将接收到的射频信号转化为基带信号。本发明提供的6LoWPAN协议一致性测试仪表,从而实现了 6LoWPAN协议一致性测试。另外,将射频模块应用于6LoWPAN协议一致性测试仪表中,能够支持所有频率覆盖范围,并将台式PC的性能价格比优势与PCI总线面向仪器领域的必要扩展完美的结合起来, 降低了仪表开发的成本、提高了仪表性能。本发明提供的6LoWPAN协议一致性测试仪表可以提供基于web的、适用于无线传感器网络的远程测试服务。由于6LoWPAN协议一致性测试仪表的价格昂贵,针对无能力购买该仪器的用户,可以采取出租和提供基于web的远程测试服务的形式来满足用户的需求。 上述的测试子模块具体包括测试语言编译器、测试执行器、平台适配器、系统适配器、编解码器、和测试管理器。本发明实施例中所使用的测试语言可以但不仅限于 TTCN-3 (Testing and Test Control Notation-3,测试和测试控制展示法第三版)语言。以 TTCN-3语言为例,测试子模块的具体实现结构如图2所示(一)、测试语言编译器简称TTC。TTC负责把TTCN-3测试套编译生成CPP测试套 (CPP测试套为c++表示的中间格式),并将CPP测试套输出给TE。该TTC是典型的管道式流水线结构,其接收外部控制装置发送的TTCN-3脚本语言文件(即所述的TTCN-3测试套) 作为输入,首先将脚本语言文件分解成标记流,然后将标记流进行语法分析后输出抽象语法树,对抽象语法树进行静态语义检查后输出为属性树,将通过静态语义检查的属性树翻译成C++表示的中间格式。其中,具体可以通过词法分析器将脚本语言文件分解成标记流, 通过语法分析器对标记流进行语法分析得到抽象语法树。词法分析器和语法分析器可以在正则表达式和上下文无关文法的基础上借助Antrl自动生成。TTC采用内存池来管理内存。内存池分为两种全局的内存池和编译期内存池。全局内存池保存TTC整个运行期间所需要的全局结构,例如简单类型对象和一些特殊值等; 编译器内存池保存每次编译脚本时所分配的对象,编译器内存池在每次编译脚本前被初始化,然后在完成编译后被清空。TTC采用异常机制进行错误处理,捕获到异常时,会根据错误类型和出错类别向用户报告相应的错误信息。(二)测试执行器简称TE,负责加载和执行由TTC编译生成的CPP测试套,具体用于动态加载编解码器、适配器和执行CPP测试套等。对于TTC生成的C++代码,TE首先利用第三方的编译器,对C++代码进行编译输出可执行测试套(以dll形式);然后加载该可执行测试套及其相关的支持MAC层的适配器以执行。(三)系统适配器简称SA,根据6LoWPAN协议栈的结构,SA具体包括MAC层系统适配器、适配层系统适配器、和网络层系统适配器。MAC层系统适配器用于实现TTC在MAC层的通信首先确定测试子模块与被测对象之间的连接方式;由于TTCN-3测试脚本中将会实现按适配层格式封装数据的功能,因此 MAC层适配器将TTC需要发送的数据交给物理层传输;对于接收到的数据,由于在物理层收到之后需要在MAC层进行解析,因此MAC层适配器将收到的物理层数据交给编解码器进行解码后,由SA将解码后的数据交给TTC处理。适配层系统适配器用于实现TTC在适配层的通信当适配层适配器收到TTC的数据,将该数据发送给支持适配层的编解码器,由该编解码器对数据进行解码后,由适配层适配器将解码后的数据发送到适配层协议实现体以进行响应;当有数据需要发送给TTC时, 适配层适配器调用支持适配层的编解码器对该数据进行编码,再将编码后的数据发送给 TTC。网络层系统适配器用于实现TTC在网络层的通信当该适配器接收到TTC的数据时,将数据发送给支持网络层的编解码器对数据进行解码,网络层系统适配器再将解码后的数据发到网络层协议实现体以进行响应;当该适配器有数据需要发送给TTC时,需要首先调用支持网络层的编解码器对消息进行编码,再将数据发送出去。
(四)编解码器简称⑶。根据6LoWPAN协议栈的结构,编解码器具体可以包括MAC 层编解码器、适配层编解码器、和网络层编解码器。MAC层编解码器,用于根据802. 15. 4协议标准规定的消息格式对MAC层消息进行编码和解码,主要实现Encode接口和Decode接口。对于不同的测试子模块,其提供的类型和值系统也必然不同,故MAC层编解码器的实现也就一定程度上是平台相关的。当MAC层协议实现体接收到来自测试子模块的数据时,MAC层编解码器调用Decode接口对数据进行解码,以使数据编程其可识别的目标格式;反之当MAC层协议实现体有数据需要发送到测试子模块时,则需要调用相应的编解码器将消息编码成一定的目标格式。适配层编解码器,用于对适配层消息进行编码和解码。由于适配层的功能比较复杂,当面临不同的测试目的时,适配层编解码器的功能实现难度也不同。针对适配层的编解码工作比较复杂,主要是因为在适配层中对消息进行分片、重组等操作时,就需要对消息进行相应的编解码工作。在实现的时候,将需要的实现的编解码接口分为多种分支接口来实现,同时也可以方便后期的调试和整合。网络层编解码器,用于对网络层消息进行编码和解码。针对网络层的编解码器实现需要较大的工作量,这是因为较上层的协议通常实现较多的处理功能。网络层的编解码器同样实现两个接口函数=Decode和Encode接口函数,实现的难度主要在于,编解码器需要对协议的多个字段进行解析,同时还需要保证有约束关系的字段的约束关系。对网络层的协议报文是以文本方式编码的过程本质上就是对字符串的操作,解析出协议头域,在分别解析出头域中的各个参数,将消息编码成网络层可识别的格式,解码则实现相反的功能。(五)平台适配器简称PA,用于实现平台特有的始终功能和一些平台相关的函数等。当测试子模块从一个平台如Windows迁移至另一个平台时如Linux,需要更换相应的平台适配器。当一个具体的抽象测试套需要一些比较特别的操作,并且这些操作是用一些跨平台的函数表示(如TTCN-3的外部函数),则需要在具体的平台适配器中实现这些操作。(六)测试管理器简称TM,用于实现全局数据管理、运行期处理、工程管理、消息处理和配置管理等功能。如图3所示,TM具体可以由如下模块实现全局数据模块、运行期处理模块、工程管理模块、界面及消息处理模块、配置管理模块。其中全局数据模块用于定义仪表各个模块公用的数据类型和数据对象;运行期处理模块用于处理运行期的请求,例如编译脚本、运行测试例等;工程管理模块用于实现界面的显示、消息的分流;界面及消息处理模块用于实现解码的显示、消息的分流;配置管理模块用于保存和管理系统的配置选项,例如编译器告警级别等设置。界面及消息处理模块响应用户消息,将消息的实现分流给工程管理、配置管理和运行期处理三个模块。该三个模块不需要处理界面相关的内容,他们负责实现具体的操作或消息,模块之间没有相互通信、相互调用,他们之间的联系通过界面及消息处理模块中转实现。如图4所示,按照6LoWPAN协议栈的结构,上述的协议栈模块具体包括物理层子模块、MAC层子模块、适配层子模块、IPv6网络层子模块、传输层子模块和应用层子模块。(一)基于IEEE802. 85. 4的物理层子模块,用于实现物理层的功能。可以由大容量的FPGA处理器实现IEEE 802. 15. 4物理层中定义的低功耗操作、低速率通信等功能。
(二)基于IEEE 802. 85. 4的MAC层子模块用于实现IEEE 802. 15.4MAC层定义的各项功能,并实现向上提供的服务原语。(三)适配层子模块用于实现报文首部的压缩、解压缩、分片、重组等功能,并提供 NDP(Neighbor Discovery Protocol,邻居发现协议)所需要的服务。(四)IPv6网络层子模块用于实现IP报文的传递服务,还实现了如下两种协议 ICMPv6 (Internel Control Message Protocol Version 6,第 6 版因特网控制消息协议) 禾口RPL(Routing Protocol for LLN-Low power and Lossy Networks,低功耗网络的路由协、 议)。ICMPv6作为IPv6协议的一个重要组成部分,通过IPv6包传送实现网络层的差错处理与信息查询功能;RPL工作在网络层,通过转发从源到目标的分组实现网络层路由。(五)传输层子模块用于负责总体的数据传输和控制,提供端到端的交换数据机制,并对网络层提供可靠的目的地站点信息。(六)应用层子模块提供应用基础设施、中间件和各种网络应用。协议栈模块中还可以包括网关软件。网关软件是处于主控模块与协议栈模块的接口,其作用是提供主控PC与被测无线传感器节点之间的通信功能,主控PC是通过以太网与无线传感网进行通信,传感器网络通过传感器节点与主控PC通信,因此网关软件主要是实现以太网有线接口与传感器无线接口之间的通信。在远程测试应用场景下,网关软件也将作为可控节点的协议栈软件的一部分来实现。本本发明实施例协议栈模块的具体实现结构可以如图5所示,其中,大容量的 FPGA处理计算量大的高速基带信号,其中PXI接口实现协议栈与上位机测试套的通信, LVDS接口实现协议栈与射频模块的基带信号。SDRAM用来存储FPGA和ARM处理器之间交互的信息。采用ARM处理器来实现MAC层和网络层协议,其硬件资源丰富,可用作无线传感网络中协议的仿真、验证,便于开展新型技术实用化的工作,其中RS232接口实现数据终端设备和数据通讯设备之间的串行通信,以太网接口负责协议栈硬件模块和以太网之间的通信,由于使用速度要求的不同,因此同时采用NAND flash和NORflash来存储数据;本系统可远程更新、维护、可满足规范升级或软件版本更新后的自动维护。上述的射频模块包括射频发射子模块、射频接收子模块和射频本振子模块。(一)射频发射子模块主要通过 LVDS (Low Voltage Differential Signaling, 低电压差分信号)接口输入数字基带成形数据,分成IQ两路后通过D/A转换成模拟IQ基带信号;载波信号和模拟IQ基带信号输入到IQ调制器进行直接上变频调制;调制信号通过自动电平控制(Automatic level control, ALC)保证电平精度,经过小面积宽动态范围衰减器(五级衰减器,120dB范围)进行电平调节送到双工器模块。射频发射子模块的工作原理框图如图6所示。( 二)射频接收子模块经本振子模块输入1. 5GHz 3GHz信号,经过两个可选的二分频器的分频,产生范围为375MHz 3GHz的本振信号去一次混频。来自双工器的射频信号经过滤波及增益处理后和本振信号一次混频,下变频为62. 5MHz或187. 5MHz的固定模拟中频信号。把模拟中频信号经过镜像滤波、增益处理、抗混频滤波后进行高速AD采集,产生中频数字信号。中频数字信号经过数字下变频和数数据速度变换等数字信号处理,分别通过PCI接口和LVDS接口传到其它模块。同时,外部的控制信号和触发信号通过这两个接口对射频接收子模块进行控制。射频接收子模块的工作原理框图如图7所示。
(三)本振子模块主要由输入参考时基,鉴相器、环路滤波器(包括宽带和窄带类型)、压控振荡器(500-667MHZ VC0)、倍频器、电可调滤波器、二分频器、小数分频技术组成锁相环路。通过PCI总线进行系统控制产生射频本振信号,包括设置小数分频系数、压控振荡器、电可调滤波器。本振子模块的工作原理框图如图8所示。下面将对本发明实施例提供的协议一致性测试仪表的具体应用进行详细说明。使用6LoWPAN协议一致性测试仪表对无线传感器节点进行测试,有三种应用场景,如图9所示,分别是本地测试、远程测试和路由测试。本地测试即直接拿测试仪表对无线传感器节点进行现场测试。远程测试测试仪表提供基于Web的远程测试服务。主控PC是一台普通的PC/ 笔记本,可控节点具有测试仪表中的协议栈模块和射频模块的功能。测试时,主控PC首先通过互联网访问测试仪表,提交TTCN-3语言编写的测试套,由测试仪表生成可执行的测试套,返回给主控PC ;然后,主控PC控制可控节点,对无线传感器节点进行现场测试。路由测试主要用于测试路由协议。被测无线传感器节点和若干个可控节点组成一个无线传感网,其中每个可控节点都与测试仪器通过有线方式相连,以实现分布式测试时的可观察性。测试时,测试仪表给被测无线传感网发送一个信号。通过监测所有可控节点,来判断被测无线传感器节点SUT(SyStem Under Test)是否正确实现路由协议。无线传感器网络的节点可以分为三种协调节点、中间节点和叶子节点。针对不同的被测节点,测试的方法也有所不同(1)对简单的点对点协议采用单节点测试,需要使用测试仪器分别模拟这三种节点进行测试。(2)对于复杂网络的路由协议,节点可能出现一对多或者多对多情况,采用两种测试策略。第一种,测试仪表模拟一个单一节点,测试含多个节点的无线传感网。另一种,测试仪表模拟多个节点,测试含有一个或者多个节点的无线传感网。当无线传感网有多个节点的情况下,将整个被测网络看成是一个黑盒的虚拟节点。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种6LoWPAN的协议一致性测试仪表,其特征在于,包括 主控模块、协议栈模块和射频模块;所述主控模块包括测试子模块、系统集成子模块、和人机界面子模块; 所述测试子模块用于实现对协议的一致性进行测试;所述系统集成子模块用于对所述协议一致性测试仪表进行启动及初始化,所述系统集成子模块分别与所述测试子模块和所述人机界面子模块通信连接,还用于接收所述人机界面子模块或外部控制装置发来的执行指令,并根据所述执行指令对测试子模块进行配置和调用;所述人机界面子模块用于实现用户与所述协议一致性测试仪表的交互; 所述协议栈模块分别与所述主控模块和所述射频模块通信连接,用于对所述协议一致性测试仪表的通信提供协议支持;所述射频模块包括射频发射子模块和射频接收子模块; 所述射频发射子模块用于将待输出的信号转化为射频信号后发送; 所述射频接收子模块用于将接收到的射频信号转化为基带信号。
2.根据权利要求1所述的协议一致性测试仪表,其特征在于,所述测试子模块包括测试语言编译器、测试执行器、平台适配器、系统适配器、编解码器、和测试管理器;所述测试语言编译器用于,将测试语言的测试套编译生成C++表示的中间格式,并将所述的C++表示的中间格式输出给所述测试执行器;所述测试执行器用于,加载所述C++表示的中间格式,将所述C++表示的中间格式编译为可执行测试套,加载并执行所述可执行测试套;所述平台适配器用于,对所述仪表使用的平台提供支持; 所述系统适配器用于,实现6LoWPAN协议栈各层的数据的通信; 所述编解码器用于,分别对6LoWPAN协议栈各层的数据进行编码或解码; 所述测试管理器用于,用于实现全局数据管理、运行期处理、工程管理、消息处理和配置管理。
3.根据权利要求2所述的仪表,其特征在于,所述系统适配器包括MAC层系统适配器、 适配层系统适配器、和网络层系统适配器;所述MAC层系统适配器用于实现MAC层的数据通信; 所述适配层系统适配器用于实现适配层的数据通信; 网络层系统适配器用于实现网络层的数据通信。
4.根据权利要求2所述的仪表,其特征在于,所述编解码器包括MAC层编解码器、适配层编解码器、和网络层编解码器;所述MAC层编解码器用于对MAC层数据进行编码或解码处理; 所述适配层编解码器用于对适配层数据进行编码或解码处理; 所述网络层编解码器用于对网络层数据进行编码或解码处理。
5.根据权利要求1所述的仪表,其特征在于,所述协议栈模块包括;物理层子模块、MAC 层子模块、适配层子模块、IPv6网络层子模块、传输层子模块和应用层子模块。
6.根据权利要求3所述的仪表,其特征在于,所述协议栈的各个模块由FPGA和ARM处理器实现。
7.根据权利要求3所述的仪表,其特征在于,所述协议栈模块还包括 网关软件,用于实现主控PC与被测无线传感器节点之间的通信。
8.根据权利要求1所述的仪表,其特征在于,所述射频模块包括射频发射子模块、射频接收子模块和射频本振子模块;所述射频发射子模块用于将待发送的信号转换为射频信号后发射;所述射频接收子模块用于将接收到的射频信号转换为基带信号;所述射频本振子模块用于为所述射频发射子模块和射频接收子模块产生本振信号。
9.一种应用权利要求1所述的协议一致性仪表对点对点协议进行测试的方法,其特征在于,使用所述仪表分别模拟协调节点、中间节点和叶子节点进行测试。
10.一种应用权利要求1所述的协议一致性仪表对一对多或多对多的路由协议进行测试的方法,其特征在于,将所述仪表模拟为一个单一节点,测试含多个节点的无线传感网; 或者,将所述仪表模拟多个节点,测试含有一个或者多个节点的无线传感网。
全文摘要
本发明公开了一种6LoWPAN的协议一致性测试仪表,包括主控模块、协议栈模块和射频模块;所述主控模块包括测试子模块、系统集成子模块、和人机界面子模块;所述协议栈模块分别与所述主控模块和所述射频模块通信连接,用于对所述协议一致性测试仪表的通信提供协议支持;所述射频模块包括射频发射子模块和射频接收子模块。本发明提供的6LoWPAN协议一致性测试仪表,从而实现了6LoWPAN协议一致性测试。另外,将射频模块应用于6LoWPAN协议一致性测试仪表中,能够支持所有频率覆盖范围,并将台式PC的性能价格比优势与PCI总线面向仪器领域的必要扩展完美的结合起来,降低了仪表开发的成本、提高了仪表性能。
文档编号H04W24/00GK102395138SQ20111029488
公开日2012年3月28日 申请日期2011年9月29日 优先权日2011年9月29日
发明者吴俊昌, 孙雪芹, 尹光宇, 李子峰, 杜健, 程绍银, 葛子毅, 蒋凡, 赵营, 陈文龙 申请人:中国科学技术大学