一种数字信号逻辑分析系统的制作方法

文档序号:7887349阅读:153来源:国知局
专利名称:一种数字信号逻辑分析系统的制作方法
技术领域
本发明涉及数字信号的分析测试,特别涉及ー种基于协议描述文档对数字信号进行协议解析与仿真测试的数字信号逻辑分析系统。
背景技术
现有的数字信号分析主要采用逻辑分析仪进行,逻辑分析仪通常可以按照通讯协议从 SPI Serial Peripheral hterface,串行外围设备接 ロ)、I2C(Inter-Integrated Circuit, $[5 ^ )、UART (Universal Asynchronous Receiver/Transmitter, ilM 异步接收器/发送器)、CAN、并行接ロ、USB (Universal Serial BUS,通用串行总线)等总线上记录通讯的字节数据并以字符、数值、或电平变化的形式进行显示。但是,总线上传输的数据往往是按照一定格式打包的结构化数据,逻辑分析仪往往不能从字节流中对数据包的结构进行解析,因而难以完全满足协议分析的应用要求。ー些网络协议分析仪可以对 IPX(Internetwork Packet Exchange protocol,互联网分组交换协议)、TCP/ IP (Transmission Control Protocol/Internet Protocol,传输控制/网际协议)等的 艮文进行分析,用以解决网络诊断和分析问题,但由于应用层协议的多变性,这些协议分析仪不能从字节流中解析出应用层数据包的结构。总之,目前缺乏ー种工具,可以方便地提供总线数据的应用层分析解析能力和应用数据包结构的透视能力。数字系统的测试不仅包括对数字系统总线或数字接ロ输出信号的检测,还应当包括通过总线或数字接ロ向数字系统发送测试数据或控制指令,观察数字系统的反应或通讯应答;此外,与数字系统的双向通讯通常涉及多个数字接口和总线,例如通过通用输入输出端ロ发送控制指令,通过UART或模数转换接ロ接收数字信号,此时还需要在数字信号的发送通道和接收通道之间建立逻辑联系,例如在发送出一条控制指令后,检测接收通道是否接收到正确的应答。这些功能也是现有的逻辑分析仪和协议分析仪所不具备的。因此,数字系统的开发人员通常需要自己写解析和测试软件对数字通讯协议进行测试和仿真,并且必须通过自己设计的硬件平台进行实验验证,而相应的软硬件设计会延长系统的开发周期,降低设计的可移植性。随着大规模集成电路技术的发展,各式各样的电子元件被封装到微型化的芯片中,只通过有限的数字接ロ或总线与微处理器芯片通讯。以心电图开发为例,传统的心电采集电路是做在一块电路板上,而目前ADI (Analog Device Instrument,模拟器件公司)公司、!!(Texas Instruments,德州仪器)公司、和深圳先进技术研究院都推出了单芯片的心电模拟前端,完成心电信号的采集和放大调理,并通过SPI接ロ与实现控制和数据处理功能的微处理器通讯。这种通过简单数据总线连接的单芯片解决方案易于实现大规模生产和产品质量控制,并提供实现相应功能的參考设计,从而简化了传感器模块的设计工作,也产生了对基于总线的数字通讯接ロ的测试和仿真要求。通信协议又称通信规程,是指通信双方对数据传送控制的ー种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。应用层通讯协议的调试需要解决三个层面的问题1、底层数据通讯(SPI、I2C、TCP/IP、HTTP、文件10),实现收发应用层数据包的字节流,其基本假设是,底层数据通讯是众所共知通讯协议,可以通过标准的软件包完成数据的收发。传送速度、传送步骤、检纠错方式、控制字都是在这个层面约定的;2、第二个层面是应用层数据包格式解析和仿真,即实现数据包与数据模型(或结构化数据)之间的转换(即将数据包分解为应用层协议规定的字段,并填充指定数据结构);3、第三个层面是应用层数据包的语义逻辑,例如数据包之间的逻辑关系和順序,例如握手、应答等,以及结构化数据中各字段的应用语义。目前市场上缺乏方便易用的对多种总线数字通讯的应用层协议进行解析和仿真的通用工具。常用的分析工具包括逻辑分析仪与协议分析仪,其主要解决对底层数据通讯的分析问题,无法捕获包含在字节流中的数据模型,也不具有数据发送功能,无法用于调试应用层通讯的语义逻辑如果不使用逻辑分析仪,则必须要搭建相应的硬件平台,延长开发、评估、和验证周期,増加成本,并且,还缺乏标准的评估测试环境。因此,现有技术需要改进。

发明内容
本发明要解决的技术问题是提供ー种数字通讯接ロ通讯协议的仿真测试环境,在此基础上提供一种低成本一体化的检修工具。为解决上述技术问题,本发明提供ー种数字信号逻辑分析系统,其包括数字通讯收发器、协议解析模块、用户显示模块、存储模块、协议描述文档下载模块;所述数字通讯收发器通过采用至少ー数字通讯协议的至少ー种接ロ,以字节流的形式收发数据;所述存储模块用于存储所述数字通讯协议的协议描述文档;所述协议解析模块从所述数字通讯收发器接收所述字节流,根据所述协议描述文档,将所述字节流解析为特定数据格式的结构化数据,例如,其具有特定的数据结构;所述用户显示模块根据所述协议描述文档预设置的格式化方法,例如,特定字段格式化类型或格式化方法,动态显示所述结构化数据;所述协议描述文档下载模块通过数据通讯接口下载所述协议描述文档到所述存储模块。所述的数字信号逻辑分析系统中,还包括一个协议仿真模块,根据所述协议描述文档,将仿真的协议数据按照所述特定格式打包,得到数据包,并通过所述数字通讯收发器以所述字节流的形式发送所述数据包。所述的数字信号逻辑分析系统中,还包括一个仿真控制界面生成模块,根据所述协议描述文档动态生成仿真控制界面,并将生成的界面元素与协议描述文档中相应的协议数据关联,所述仿真控制界面设置用户指令接收单元,用于接收用户指令,根据所述用户指令将用户指定的所述协议数据打包,得到所述数据包,通过所述数字通讯收发器以所述字节流的形式发送所述数据包。所述的数字信号逻辑分析系统中,所述仿真控制界面还设置输入单元以及选择单元,分别用于执行输入、选择操作,以设置所述指定发送的数据包的參数。例如,用户通过输入単元实现输入相关操作,用户通过选择单元实现选择相关操作,完成对于所述指定发送的数据包的參数设置。所述的数字信号逻辑分析系统中,还包括一个自动应答模块,其分別与所述协议解析模块、所述协议仿真模块相连接,接收所述协议解析模块中的所述结构化数据,根据所述结构化数据的内容、以及所述协议描述文档的仿真信息,控制所述协议仿真模块,自动打包生成应答数据包,并通过所述数字通讯收发器发送所述应答数据包。例如,解析数据可以放到结构化数据结构中,例如在结构化数据缓冲区中,再由仿真模块或应答模块抓取;也可由解析模块将解析后的结构化数据直接递交给解析模块或应答模块。所述的数字信号逻辑分析系统中,所述协议仿真模块还将数据通过一数模转换器转换成模拟电压输出。所述的数字信号逻辑分析系统中,所述协议解析模块还设置ー模数转换器,用于采集模拟电压信号,进行模数转换后,发送到所述用户显示模块。所述的数字信号逻辑分析系统中,还包括一与所述数字通讯收发器连接的转发模块,所述转发模块将数字通讯收发器接收的字节流通过数据通讯接ロ转发到外部系統。,例如以太网卡接ロ或无线网卡接ロ或USB接ロ或并行接ロ或其它数据通讯接ロ转发到外部系统。所述转发模块还将从外部系统接收的数据通过数字通讯收发器以字节流的形式发送。该转发模块也可同时连接协议解析模块,将所述结构化数据通过数据通讯接ロ转发到外部系统。所述的数字信号逻辑分析系统中,还包括分析处理模块,其分別与所述协议解析模块、所述用户显示模块相连接,用于分析所述结构化数据并显示分析結果。所述的数字信号逻辑分析系统中,还包括一个通用输入输出端ロ的读写控制单元,对至少ー个输入输出端ロ进行可视化读写。所述的数字信号逻辑分析系统中,所述通用输入输出端ロ读写控制单元还设置检测子单元,用于对输入输出端ロ电位变化引起的外部中断进行检測,并将检测结果传递给所述协议解析単元,由所述协议解析模块根据所述协议描述文档转化成所述结构化数据。所述的数字信号逻辑分析系统中,还包括一供电单元、实时电压监控単元以及电流监控单元。所述的数字信号逻辑分析系统中,还包括协议描述文档管理単元、以及协议选择界面生成単元;所述协议描述文档管理単元分別与所述协议解析模块、所述用户显示模块、 所述协议描述文档下载模块相连接,用于启动下载、删除、查询ー个或多个协议描述文档, 并编辑协议相关信息;所述协议选择界面生成単元分別与所述协议描述文档管理単元、所述用户显示模块相连接,用于生成协议选择界面,接受指令选择所述数字信号逻辑分析系统当前使用的协议描述文档。所述的数字信号逻辑分析系统中,所述数字通讯收发器至少部分数据接收或发送的是基于直接内存访问模式进行。所述的数字信号逻辑分析系统中,所述经模数转换的数据采集是通过直接内存访问模式进行。所述的数字信号逻辑分析系统中,所述数模转换是通过直接内存访问模式进行。所述的数字信号逻辑分析系统中,还包括一协议描述文档编辑模块,分別与所述存储模块、所述用户显示模块相连接,用于可视化地生成或编辑所述协议描述文档。
本发明还包括应用上述数字信号逻辑分析系统的数字信号逻辑分析方法。本发明的有益技术效果在于通过设计出低成本的一体化检测工具,从而能够降低成本,以最低的成本实现针对常见数字接口的综合仿真测试功能;并可设计为多种测试功能集成的一体化设备,实现硬件平台复用,缩短开发评估周期,并提供统一的应用层总线协议公共验证平台。本发明还可通过基于协议描述文档的数据包解析解决现有逻辑分析仪难以解决的数据包结构验证与调试,并通过可视化数据显示、仿真测试、和自动仿真应答功能解决应用层通讯协议的语义验证与调试问题。这样,本发明针对数字接口的测试、检修、 评估和系统集成需求提出相应的测试仿真系统,可为系统集成、维修、评估人员提供可靠、 灵活、扩展性强的一体化测试仿真工具,降低开发维护成本,提高工作效率。


图1为本发明一种实施方式的嵌入式应用层协议的分析与仿真调试的技术示意图。
具体实施例方式下面通过介绍实施例,来详细说明上述发明的技术内容。嵌入式应用层协议的分析与仿真调试的技术如图1所示,一个实施例是,一种数字信号逻辑分析系统,其包括数字通讯收发器Si、协议解析模块S2、用户显示模块S3、仿真模块S4、应答模块S5 (即自动应答模块)、结构化数据缓冲区S6、协议描述文档S7、存储模块S8 ;所述数字通讯收发器Sl通过采用至少一数字通讯协议的至少一种接口,如串行外设接口(SPI)、通用异步收发器(UART)、I2C总线、控制器局域网络(CAN)、以太网、并行接口、 USB接口等,以字节流的形式收发数据;所述协议解析模块S2从所述数字通讯收发器接收所述字节流,根据所述协议描述文档S7的协议描述,将所述字节流解析为包含相应数据域的数据结构并写入结构化数据缓冲区S6 ;所述用户显示模块S3从结构化数据缓冲区S6读取所述数据结构的各个域,根据协议描述文档S7中预设置的各数据域格式化类型和格式化方法,动态显示所述结构化数据,例如对于信号数据以波形的形式显示,对于数值字段则与字段名称、单位、参考范围同时显示,其中,字段名称、单位、参考范围等包含在所述协议描述文档中,对于报警信息则在特定报警区域按特定字体或颜色格式化显示;所述用户显示模块S3还可加载所述协议描述文档S7中的测试用例信息,动态生成相应仿真控制界面, 所述仿真控制界面的界面元素与协议文档中测试用例相关联,仿真控制界面的界面元素接收用户指令,通过仿真模块S4将关联测试用例的协议数据打包,并通过数字通讯收发器Sl 以字节流的形式发送。所述结构化数据缓冲区S6还与应答模块S5连接,应答模块S5从结构化数据缓冲区读取各域的内容,并结合协议描述文档中的应答规则,自动产生应答消息, 并通过仿真模块S4打包,然后通过所述数字通讯收发器Sl以字节流的形式发送。所述存储模块S8保存一至多个协议描述文档S7。所述下载模块S9从外部系统下载协议描述文档, 并存储到存储模块S8。在以上实施例中,协议解析模块S2也可直接与用户显示模块S3,应答模块S5连接,通过用户显示模块S3显示解析的结构化数据,通过应答模块S5产生应答数据。优选的,该数字信号逻辑分析系统还包括一供电单元、实时电压监控单元以及电流监控单元。即,还包括一个供电单元,可以输出一种或多种电压;还包括实时电压监控单元和电流监控单元。通过协议描述文档对应用层通讯协议进行解析是可行的,例如著名的SOAP协议, 可基于XML khema对XML数据包进行解析。对于嵌入式芯片常见的通讯数据包,可以建立相似的协议描述模型和描述方法,参见后面的例子。为了解决实时数据包解析的性能问题, 可以将数据包解析的全过程分为建立阶段和运行阶段,在建立阶段采用依赖注入模式根据协议描述文档动态组装解析链和数据模型缓冲区,解析链的节点是注入的成熟算法,例如将解析的基本算法如搜索、匹配、位运算、数据类型转换等封装成一些特定接口模型的对象,构造解析链的节点,在运行阶段,数据包传入解析链处理后进入数据缓冲区并可视化显示,由于解析链的节点是成熟的二进制代码,因此解析过程可以达到运行应用程序的性能。与上述各相关例结合应用,优选的,所述的数字信号逻辑分析系统中,所述仿真控制界面还设置输入单元以及选择单元,分别用于用户执行输入、选择操作,以设置所述指定发送的数据包的参数。这样,所述仿真控制界面还包括可以用于用户输入或选择的界面元素,使得用户可以指定发送的数据包的参数。与上述各相关例结合应用,优选的,所述的数字信号逻辑分析系统中,所述协议仿真模块还将数据通过一数模转换器转换成模拟电压输出。与上述各相关例结合应用,优选的,所述的数字信号逻辑分析系统中,所述协议解析模块还设置一模数转换器,用于采集模拟电压信号数据,并将采集的所述模拟信号数据发送到所述用户显示模块。与上述各相关例结合应用,优选的,所述的数字信号逻辑分析系统还包括一与所述数字通讯收发器连接的转发模块,所述转发模块将数字通讯收发器接收的字节流通过数据通讯接口转发到外部系统,例如以太网卡接口或无线网卡接口或USB接口或并行接口或其它数据通讯接口。优选的,所述转发模块还将从外部系统接收的数据通过数字通讯收发器以字节流的形式发送。从而可通过外部系统执行消息包数据解析和协议仿真功能,而使用数字信号逻辑分析系统的硬件接口完成数字通讯收发器的功能。与上述各相关例结合应用,优选的,所述的数字信号逻辑分析系统还包括可扩展的分析处理模块接口,用于对解析的数据进一步分析,并显示分析结果。这样,所述数字信号逻辑分析系统不仅可以用于数字通讯消息包解析,还可用于对信号的实时处理显示和验证评估,例如输出信噪比、标定信息、特定数据的出现频率等特征。与上述各相关例结合应用,优选的,所述的数字通讯收发器还可读取至少一个通用输入输出端口的电平信息或捕获至少一个输入输出端口的外部中断信号,并根据协议描述文档对上述信息进行记录和显示。所述的数字通讯收发器还可通过仿真模块设置至少一个输入输出端口的电平。也就是说,所述数字通讯收发器包括对输入输出端口读写和终端捕获的能力。与上述各相关例结合应用,优选的,所述的数字信号逻辑分析系统还包括协议描述文档管理单元、以及协议选择界面生成单元;所述协议描述文档管理单元分别与所述协议解析模块、所述用户显示模块、所述下载模块相连接,用于启动下载、删除、查询一个或多个协议描述文档,并编辑协议相关信息;所述协议选择界面生成单元分别与所述协议描述文档管理单元、所述用户显示模块相连接,用于生成协议选择界面,接受用户指令选择所述数字信号逻辑分析系统当前使用的协议描述文档。从而使用户可以方便地管理多个协议描述文档,并在不同的协议描述文档间切换,完成对不同数字通讯协议的调试仿真工作。与上述各相关例结合应用,优选的,所述数字通讯收发器部分数据的接收或发送是基于直接内存访问模式进行。例如,所述数字通讯收发器部分或全部数据接收或发送的是基于直接内存访问模式进行。与上述各相关例结合应用,优选的,所述经模数转换的数据采集是通过直接内存访问模式进行。与上述各相关例结合应用,优选的,所述数模转换是通过直接内存访问模式进行。与上述各相关例结合应用,优选的,所述的数字信号逻辑分析系统还包括一协议描述文档编辑模块,分别与所述存储模块、所述用户显示模块相连接,用于可视化地生成或编辑所述协议描述文档。例如,所述协议描述文档编辑模块包括一个基本协议描述元素存储单元,存储用于描述应用层通讯协议的基本元素及相应的自然语言信息。例如,基本元素包括但不限于一些通用的基本操作标记如位操作、消息包分界搜索操作,或公知的底层协议的结构化描述元素等。所述协议描述文档编辑模块使用所述基本元素及关联的自然语言信息动态生成应用层通讯协议编辑界面,接收用户指令和用户输入的协议信息,可视化地生成所述协议描述文档。其中,XML schema是其中的一个示例,本发明各实施例中的例子也具有一定的普遍性,这些例子都可以用类似的可视化编辑实现。例如,协议描述文档编辑模块设置于数字信号逻辑分析系统内部,形成一个整体的系统;或者,协议描述文档编辑模块设置于数字信号逻辑分析系统外部,形成一个可分离的系统;如,数字信号逻辑分析系统设置于某一终端,协议描述文档编辑模块设置于另一终端。与上述任一例相结合,又一个例子是,所述的数字信号逻辑分析系统还设置以下各单元电压监控单元、电流监控单元、至少一个电压源输出单元。由于目前多数嵌入式芯片提供了丰富的片上接口资源,本提案所述的方法可能以较低的成本实现。例如发明人在MSP430最小系统上即可实现两个ADC通道、两个串口通道的信号仿真、及GPIO端口控制功能仿真,实现了包括接口级和协议级的测试。因此本发明可用于模块化产品系列的配套检修工具,降低方案成本,也可用于开发综合性具有定制能力的模块接口测试工具,服务广大模块级集成或系统研究的技术人员。本发明各实施例所述的协议描述文档示例,文档可包括三个部分接收消息格式描述,测试用例描述,应答规则。接收消息格式描述举例例如描述通过4种机制之一或混合构成的消息包结构模型1,定长消息,由定长的字段按指定顺序串联构成的消息;2,变长消息,由消息长度+消息体构成的消息描述方法;或由消息编码+相应编码规定长度的消息;3,通过标记分界的消息,例如类似DICOM或XML格式的消息;通过标记分界的消息字段的顺序可以不同;4,由消息不同域运算获得的消息(通常是位运算);5,上述各种机制联合构成的复合消息。机制之间可以嵌套,例如变长消息的消息体可以是一个定长消息,这种嵌套的描述可以通过XML 或其它方式来实现。此外,消息可能是经过加密或压缩的。无论是哪一种类型的消息,消息的分界都是最重要的。对于有连接握手的消息,消息的第一个分界可能从握手开始识别,也可能通过下面描述的方法获得;对于无握手的消息,通常需要捕获总线上的序列或通过其它控制线捕获消息分界。
9
每一条消息的描述除包含组成机制外,还包括消息的内容类型,例如是波形数据、 信号参数、和控制指令,这一分类将有助于正确地显示消息内容,例如波形数据采用图形化连续显示,控制指令只需显示为动态文本;波形数据、信号参数的描述还包括相应的自然语言标签或单位等信息。仿真系统根据接收消息格式描述就可以动态生成相应消息的所有接收域,并正确地对接收的通讯消息进行解析,将解析结果存到相应域中,并可通过用户界面显示。测试用例描述举例描述参数化的测试用协议数据,协议数据中可包含参数。此外,测试用例协议数据还包含自然语言描述信息,可在用户界面自动生成相应的控制菜单, 实现交互式协议数据发送;也可能基于概率不确定地自动选择发送的协议数据,例如有时发送消息A,有时发送消息B ;也可能包括自动协议数据发送机制,按一定时间间隔和发送顺序发送一组消息。参数化的发送消息格式可支持上述定长消息、变长消息、通过标记分界的消息、以及经过域间运算(位运算)的消息4种类型,以及混合类型。并根据参数打包生成消息。应答规则描述举例应答规则描述用于描述接收到可应答的通讯消息后,如何提供相应参数以打包成完整的应答消息实例;例如针对特定的消息内容发送特定的应答消息;或针对特定的消息内容,按照一定的概率发送不同的应答消息。举例如下对于标记分界的消息,通过类似于XML schema可以很好地描述消息的逻辑结构,即可有效把消息分解成各个域,如果在schema标记域的显示类型或格式化信息 (例如是波形信号,数字信号,是否将几个域组合起来显示等),即可实现消息的解析和显示功能;如果在schema中对测试用协议数据增加自然语言描述信息,即可动态生成交互式仿真控制界面。因此,基于标记分界的消息可以用XML schema的技术解决仿真、测试问题。现以一个串口血氧通讯的例子举例说明二进制定长消息的解析与仿真。BCI血氧通讯协议描述如下(1)波特率4800,Ibit起始,8bit数据,Ibit停止,奇校验;(2)每秒60个数据包,每包5个字节,字节定义如下RYTE 0
bit0无定义bit1无定义bit2无定义bit3无定义bit4无定义bit5无定义bit6脉搏音触发bit7同步位,总是置为 BYTE 1
bit 0 6脉搏波,范围0 99 ; 127 (7FH)表示无效bit 7 同步位,总是置为0BYTE 2
bit 0-3 光柱图,0 15
bit 4 探头脱落检测
bit 5 无定义
bit 6 脉率值的iBIT 7’位
bit 7 同步位,总是置为0BYTE 3 bit 0 6脉率的低7位bit 7 同步位,总是0BYTE 4 bit 0 6血氧值,0 100,127 (7FH)表示无效值bit 7 同步位,总是置为0其协议描述文档举例如下<proto bus="uart" baud="4800" databit="8" parity="odd" stopbits=" 1 “ init="not—support’,〉 <msg type=fix_length len=5> <start>
〈search〉
<bitand>
<getsequence>5</getsequence> <byte>0x80/0x80/0x80/0x80/0x80</byte> </bitand>
<target>0x80/0x00/0x00/0x00/0x00</target> </search> </start> <parse>
<check>
<bitand>
<getsequence>5</getsequence> <byte>0x80/0x80/0x80/0x80/0x80</byte> </bitand>
<target>0x80/0x00/0x00/0x00/0x00</target> <error_act>re_search</error_act> </check>
<param type=,’bool" name="pulse">〈value〉
〈nonzero〉 <bitand>
<getbyte> 1 </getbyte> <byte>0x40</byte> </bitand> </nonzero> </value>
</param>
〈signal type="byte" name="ppg"> <value>
<bitand>
< getbyte >2</getbyte> <byte>0x7F</byte> </bitand> </value> </signal>
<param type=”byte’’ name=’’hri5> <value> <add>
<multi>
<bitand>
< getbyte >3</getbyte> <byte>0x40</byte> </bitand> <byte>2</byte> </multi>CN 102546301 A<bitand>
< getbyte >4</getbyte>
<byte>0x7F</byte>
</bitand>
</add>
</value>
</param>
<param type-'bool" name="leadofF'> <value>
<nonzero> <bitand>
<getbyte>3</getbyte> <byte>0xl0</byte> </bitand> </nonzero> </value>
</param>
<param type="byte" name=,,so2”> <value>
<bitand>
< getbyte >5</getbyte> <byte>0x7F</byte> </bitand> </value> </param> </parse> <display>〈alert >
〈condition〉leadoff="true"</condition> 切彻>导联脱落</title> </alert> <show_param>
<name>hr</name> <title> 心率 </title> </show_param> <show_param>
<name>so2</name> <title> 血氧 </title> </show_param> <waveform>
<name>ppg</name>
<sampleperframe>240</sampleperframe> <max> 127</max> <min>0</min> </waveform> 〈/display〉 <test>
〈case title=”发送血氧” mode="repeaf' datatype=”embed_ascii”> 134,0,0,71,96’134,0,0,71,96,134,0,0,71,96,134,0’0,71,96,134,0,0,71,96,(…哲略) </case> </test> </msg> </proto> 上例中包含了血氧协议的协议描述文档的例子,只包含接收消息格式描述,由以下几部分组成。1,消息包的截取(start小节);2,消息包的校验(parse/check小节);3,消息包的解析(parse小节消息包的其余部分)4,消息包的格式化显示(display小节);5, 以及通过用户控制界面仿真测试(test小节)。由于该协议描述文档只需在初始化阶段分析一次,建立相应的缓冲区和数据结构,并在运行阶段通过成熟可复用的二进制算法(例如搜索算法、位操作等)完成消息包的分割和域的提取,因此可以取得很好的性能。上述协议描述文档还可以通过用户界面可视化生成,方便用户。下面再举一个控制界面解析与仿真的例子,例如系统可通过SPI数字接口与无线芯片NRF24L01通讯实现数
据收发。该协议如下
<proto bus="SPI" bitorder="MSB2LSB" bytesorder="LSB2MSB" init="support"> 〈emulate〉 <cmd>
<过彻>读取配置</title>
〈code type="byte">0x00</code>
<answer_parse>
<param type="bool" name=" MASK_RX_DR"> <value>
<nonzero> <bitand>
<getbyte> 1 </getbyte> <byte>0x40</byte> </bitand> </nonzero> </value> </param>
<param tyDe="bool" name=" MASK TX DS"><value>
<nonzero> <bitand>
<getbyte> 1 </getbyte> <byte>0x20^yte> </bitand> </nonzero> </value> </param>
<param type-'bool" name="MASK_MAX_RT"> <value>
〈nonzero〉 <bitand>
<getbyte> 1 </getbyte> <byte>0xl0</byte> </bitand> </nonzero> </value> </param>
<param type-'bool" name="EN_CRC"> <value>
〈nonzero〉 <bitand>
<getbyte> 1 </getbyte> <byte>0x08</byte> </bitand> </nonzero></value>
</param>
<param type-'bool" name="CRCO,,> <value>
<nonzero> <bitand>
<getbyte> 1 </getbyte> <byte>0x04^yte> </bitand> </nonzero> </value> </param>
<param type="bool" name=" PWR_UP"> <value>
<nonzero> <bitand>
<getbyte> 1 </getbyte> <byte>0x02</byte> </bitand> 〈/nonzero〉 </value> </param>
<param type=’,bool’,name=" PRIM_RX"> <value>
<nonzero> <bitand>
<getbyte> 1 </^etbyte><byte>0x01</byte> </bitand> </nonzero> </value> </param> <display>
<show_param>
<name> MASK—RX—DR </name> <title>RX 中断</titie> </show_param> <show_param>
<name> MASK_TX_DS </name>
<title>TX 中断 </title> </show_param> <show_param>
<name> MASK MAX—RT </name> <title>fi试计数中断 </title> </show_param> <show_param>
<name> EN—CRC </name>
<title>CRC</title> </show_param> <show_param>
<name> CRCO </name> <title>CRC K度</title> </show_param> <show param><name> PWR—UP </name> <title> 启动 </title> </show_param> <show_param>
<name> PRIM—RX </name> <行彻>接收模式</title> </show_param> 〈/display〉 </answer_parse> </cmd> <cmd>
趟彻>设置配置</title> <code type="byte">0x20</code> <code type=,,byte,,> <bit_or> <opt>
<item>
<tme>禁止 RX 屮断</title> <value>0x40</value> </item> </opt> <opt>
<item>
<title>^ ih TX 中断</title> <val ue>0x20</val ue> </item> </opt>
权利要求
1.ー种数字信号逻辑分析系统,其特征在干,包括数字通讯收发器、协议解析模块、用户显示模块、存储模块、协议描述文档下载模块;所述数字通讯收发器通过采用至少ー数字通讯协议的至少ー种接ロ,以字节流的形式收发数据;所述存储模块用于存储所述数字通讯协议的协议描述文档;所述协议解析模块从所述数字通讯收发器接收所述字节流,根据所述协议描述文档, 将所述字节流解析为特定数据结构的结构化数据;所述用户显示模块根据所述协议描述文档中预设置的格式化方法,动态显示所述结构化数据;所述协议描述文档下载模块通过数据通讯接口下载所述协议描述文档到所述存储模块。
2.根据权利要求1所述的数字信号逻辑分析系统,其特征在于,还包括ー个协议仿真模块,根据所述协议描述文档,将仿真的协议数据按照所述特定格式打包,得到数据包,并通过所述数字通讯收发器以所述字节流的形式发送所述数据包。
3.根据权利要求2所述的数字信号逻辑分析系统,其特征在干,还包括ー个仿真控制界面生成模块,根据所述协议描述文档动态生成仿真控制界面,所述仿真控制界面设置用户指令接收单元,用于接收用户指令,根据所述用户指令将用户指定的所述协议数据打包, 得到所述数据包,通过所述数字通讯收发器以所述字节流的形式发送所述数据包。
4.根据权利要求3所述的数字信号逻辑分析系统,其特征在干,所述仿真控制界面还设置输入单元以及选择单元,分别用于执行输入、选择操作,以设置所述指定发送的数据包的參数。
5.根据权利要求2所述的数字信号逻辑分析系统,其特征在于,还包括ー个自动应答模块,其分別与所述协议解析模块、所述协议仿真模块相连接,接收所述协议解析模块中的所述结构化数据,根据所述结构化数据的内容、以及所述协议描述文档,控制所述协议仿真模块,自动打包生成应答数据包,并通过所述数字通讯收发器发送所述应答数据包。
6.根据权利要求2所述的数字信号逻辑分析系统,其特征在干,所述协议仿真模块还将数据通过ー数模转换器转换成模拟电压输出。
7.根据权利要求1所述的数字信号逻辑分析系统,其特征在干,所述协议解析模块还设置ー模数转换器,用于采集模拟电压信号,进行模数转换后,发送到所述用户显示模块。
8.根据权利要求1所述的数字信号逻辑分析系统,其特征在于,还包括一与所述数字通讯收发器连接的转发模块,所述转发模块将数字通讯收发器接收的字节流通过数据通讯接ロ转发到外部系统。所述转发模块还将从外部系统接收的数据通过数字通讯收发器以字节流的形式发送。
9.根据权利要求1所述的数字信号逻辑分析系统,其特征在于,还包括分析处理模块, 其分別与所述协议解析模块、所述用户显示模块相连接,用于分析所述结构化数据并显示分析結果。
10.根据权利要求1所述的数字信号逻辑分析系统,其特征在于,还包括ー个通用输入输出端ロ的读写控制単元,对至少ー个输入输出端ロ进行可视化读写。
11.根据权利要求10所述的数字信号逻辑分析系统,其特征在干,所述通用输入输出CN 102546301 A端ロ读写控制单元还设置检测子单元,用于对输入输出端ロ电位变化引起的外部中断进行检测,并将检测结果传递给所述协议解析単元,由所述协议解析模块根据所述协议描述文档转化成所述结构化数据。
12.根据权利要求1所述的数字信号逻辑分析系统,其特征在于,还包括一供电单元、 实时电压监控单元以及电流监控单元。
13.根据权利要求1所述的数字信号逻辑分析系统,其特征在于,还包括协议描述文档管理単元、以及协议选择界面生成単元;所述协议描述文档管理単元分別与所述协议解析模块、所述用户显示模块、所述协议描述文档下载模块相连接,用于启动下载、删除、查询ー个或多个协议描述文档;所述协议选择界面生成単元分別与所述协议描述文档管理単元、所述用户显示模块相连接,用于生成协议选择界面,接受指令选择所述数字信号逻辑分析系统当前使用的协议描述文档。
14.根据权利要求1所述的数字信号逻辑分析系统,其特征在于,还包括ー协议描述文档编辑模块,分別与所述存储模块、所述用户显示模块相连接,用于可视化地生成或编辑所述协议描述文档。
全文摘要
本发明涉及一种数字信号逻辑分析系统,其包括数字通讯收发器、协议解析模块、用户显示模块、存储模块、协议描述文档下载模块;数字通讯收发器通过采用至少一数字通讯协议的至少一种接口,以字节流的形式收发数据;存储模块用于存储数字通讯协议的协议描述文档;协议解析模块从数字通讯收发器接收字节流,根据协议描述文档,将字节流解析为特定数据结构的结构化数据;用户显示模块根据协议描述文档,采用预设置格式,动态显示所述结构化数据;协议描述文档下载模块通过数据通讯接口下载协议描述文档到存储模块。这样,可为系统集成、维修、评估人员提供可靠、灵活、扩展性强的一体化测试仿真工具。
文档编号H04L12/26GK102546301SQ201210012759
公开日2012年7月4日 申请日期2012年1月16日 优先权日2012年1月16日
发明者刘伟, 孟庆虎, 宫凯, 廖京生, 张瑞, 胡超 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1