具有串行总线协议在线实时检测分析功能的逻辑分析仪的制作方法

xiaoxiao2020-7-22  3

具有串行总线协议在线实时检测分析功能的逻辑分析仪的制作方法
【专利摘要】本发明公开了一种串行总线协议在线实时检测分析功能的逻辑分析仪,在逻辑分析仪的FPGA中设置串行总线协议分析模块,串行总线协议分析模块中设置有目标串行总线协议的协议分析模块,协议分析模块中包括分析状态机和数据重组模块,分析状态机接收采集通道的通道数据并分析得到该数据元素的分析结果,数据重组模块将分析状态机得到的协议分析结果与通道数据组合得到带协议分析结果的数据并存入DDR2存储器中,供ARM处理器读取并显示即可。本发明的串行总线协议分析是在硬件中实现的,其分析时间远少于串行的软件运算,可以大大提高系统反应时间。并且本发明还提供了一种串行总线协议触发模块,可以针对串行总线协议提供更为准确的触发。
【专利说明】具有串行总线协议在线实时检测分析功能的逻辑分析仪
【技术领域】
[0001]本发明属于数据域测试【技术领域】,更为具体地讲,涉及一种具有串行总线协议在线实时检测分析功能的逻辑分析仪。
【背景技术】
[0002]随着数字电子技术的高速发展,现代数字电子系统的组成越来越复杂,系统各部件间的通信也越来越依靠于多种多样的数字总线,这也对数据测试领域提出了更高的要求。
[0003]逻辑分析仪作为传统的数据域测试仪器,在数字电子系统的硬件逻辑、时序分析、故障诊断及嵌入式软件代码的开发测试中发挥着不可替代的作用,是数字电子系统产品研发和功能维护不可缺少的工具。为了提高对逻辑分析仪对数字总线的测试能力,近年的逻辑分析仪产品都一定程度地集成了总线协议触发功能和协议分析功能。协议触发功能指的是用户设定协议触发条件,逻辑分析仪在查找到触发条件之后采集存储显示数据;总线协议分析功能指的是逻辑分析仪能够根据用户设定的协议信息和采集到的数据内容,按照相应协议规定翻译出数据中包含的协议元素。
[0004]但是目前具有协议分析功能的逻辑分析仪方面仍然存在一些问题:逻辑分析仪的分析速度比较慢,不能在线实时检测分析,不能达到流畅连续显示的效果,使用不便利。

【发明内容】

[0005]本发明的目的在于克服现有技术的不足,提供一种具有串行总线协议在线实时检测分析功能的逻辑分析仪,采用硬件方式实现串行总线协议分析,提高系统反应时间,实现实时检测分析。
[0006]为实现上述发明目的,本发明具有串行总线协议在线实时检测分析功能的逻辑分析仪,包括采集通道、FPGA, ARM处理器和DDR2存储器,采集通道包括探头、比较器、电平转换和DAC ;ARM处理器中安装逻辑分析仪的系统软件;FPGA中设置有触发模块、主控模块、DDR2读写控制模块、ARM接口模块、门限控制模块和时钟模块,ARM处理器、主控模块和触发模块共同控制DDR2读写控制模块对DDR2读写控制模块的输入数据进行采集并存储在DDR2存储器中,供ARM处理器读取并输出,其中触发模块根据ARM处理器发送的触发控制字和通道数据产生触发标志发送给主控模块,触发控制字包括触发类型、触发条件和其他控制信息,ARM接口模块用于完成ARM处理器与FPGA中其他模块的通信,门限控制模块用于控制DAC生成门限阈值,时钟模块向FPGA中的其他模块提供同步时钟和采样率控制信号;还包括:
[0007]串行总线协议分析模块,包括若干个协议分析模块和分析结果选择器,每个协议分析模块对应一种串行总线协议,协议分析模块包括分析状态机和数据重组模块,分析状态机接收采集通道的通道数据并分析得到该数据元素的分析结果,数据重组模块将分析状态机得到的协议分析结果与通道数据组合得到带协议分析结果的数据;分析结果选择器用于根据ARM处理器发送的协议类型控制字选择对应协议分析模块生成的带协议分析结果的数据并输出至DDR2读写控制模块进行采集存储。
[0008]进一步地,还包括数据选择模块,接收通道数据和串行协议分析模块输出的带协议分析结果的数据,根据ARM处理器发送的数据类型控制字,选择对应的数据输出至DDR2读写控制模块。
[0009]进一步地,所述触发模块包括串行总线协议触发模块,包括若干个协议触发模块和触发选择器,协议触发模块与串行总线协议分析模块中的协议分析模块一一对应,协议触发模块中包含多个触发状态机和触发标志选择器,每个触发状态机包括若干个数据元素触发状态机;触发状态机接收通道数据,根据ARM处理器发送的触发条件对通道数据进行触发判断,当触发条件满足时将触发标志设置为有效,触发标志选择器根据ARM处理器发送的触发类型控制字选择对应的触发标志输出至触发选择器;触发选择器根据ARM处理器发送的触发类型控制字选择对应的触发标志输出至主控模块。
[0010]本发明具有串行总线协议在线实时检测分析功能的逻辑分析仪,在逻辑分析仪的FPGA中设置串行总线协议分析模块,串行总线协议分析模块中设置有目标串行总线协议的协议分析模块,协议分析模块中包括分析状态机和数据重组模块,分析状态机接收采集通道的通道数据并分析得到该数据元素的分析结果,数据重组模块将分析状态机得到的协议分析结果与通道数据组合得到带协议分析结果的数据并存入DDR2存储器中,供ARM处理器读取并显示即可。本发明的串行总线协议分析是在硬件(FPGA)中实现的,由于硬件运算是并行的,相对于串行的软件运算而言,分析时间几乎可以忽略不计,因此本发明的逻辑分析仪在进行串行总线协议分析时,可以大大提高系统反应时间。并且本发明还提供了一种串行总线协议触发模块,可以针对串行总线协议提供更为准确的触发。
【专利附图】

【附图说明】
[0011]图1是逻辑分析仪示意图;
[0012]图2是本发明中FPGA结构示意图;
[0013]图3是串行总线协议分析模块示意图;
[0014]图4是协议分析模块示意图;
[0015]图5是串行总线协议触发模块示意图;
[0016]图6是协议触发模块示意图;
[0017]图7是单次数据采集的控制流程图;
[0018]图8是本实施例中ARINC429协议分析状态机示意图;
[0019]图9是ARINC429协议触发模块示意图;
[0020]图10是字头触发状态机示意图;
[0021 ]图11是标志位触发状态机示意图。
【具体实施方式】
[0022] 下面结合附图对本发明的【具体实施方式】进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。[0023]实施例
[0024]为了更好地对本
【发明内容】
进行说明,首先对逻辑分析仪进行一个简单介绍。图1是逻辑分析仪示意图。如图1所示,逻辑分析仪的通道部分采用探头+比较器+电平转换+DAC (Digital to Analog Converter,数模转换器),DAC 受 FPGA (Field — ProgrammableGate Array,现场可编程门阵列)控制输出门限阈值电平送给比较器;比较器完成模数转换,若探头输入电压大于门限阈值,则是逻辑“1”,反之则是逻辑“O”;电平转换芯片把电平逻辑转成LVDS(Low Voltage Differential Signal,低电压差分信号),便于FPGA能准确接收通道数据。本实施例中数据通道为32个。ARM处理器中运行逻辑分析仪的系统软件,FPGA中是硬件功能的逻辑模块,两者通过控制字(控制字都存储在FPGA的特定寄存器中,ARM处理器和FPGA在需要的时候查询或者改变相应的控制字值)交换信息,配合实现逻辑分析仪的控制。存储部分采用DDR2 (Double Data Rate2)存储器,通过DDR2总线与FPGA相连接。外部接口用于连接ARM处理器和其他设备实现逻辑分析仪和其他设备进行通信。FPGA是完成逻辑分析仪硬件功能的核心,本发明中的串行总线协议分析模块和串行总线协议触发模块和就是在FPGA中实现的。
[0025]图2是本发明中FPGA结构示意图。如图2所示,FPGA中设置有以下逻辑模块:差分接收机模块、串行总线协议分析模块、数据选择模块、触发模块、主控模块、DDR2读写控制模块、ARM接口模块、门限控制模块和时钟模块。
[0026]差分接收机模块在本实施例中是用于接收原始通道数据并提速,使32路通道数据的位宽展宽为64位的通道数据,即采样数据,发送给数据选择模块。这样处理可以提高采样率,还可以使采样数据和DDR2存储器的存储位宽一致,便于存储地址计数。在实际应用中,差分接收机模块是根据实际情况选用的。
[0027]串行总线协议分析模块接收原始通道数据,以及ARM处理器通过ARM接口模块发送的协议控制字,判断形成带协议分析结果的数据发送给数据选择模块,协议控制字协议类型控制字和协议分析控制字,协议分析控制字中包括需要分析的通道数据对应的通道编号以及目标协议的属性参数信息。图3是串行总线协议分析模块示意图。如图3所示,串行总线协议分析模块根据逻辑分析仪的应用需要设置若干个(一个或多个)不同协议的协议分析模块,还包括一个分析结果选择器。
[0028]图4是协议分析模块示意图。如图4所示,每个协议分析模块对应一种串行总线协议,协议分析模块中根据串行总线协议设置若干个并行的分析状态机和一个数据重组模块,协议分析模块包括分析状态机和数据重组模块,分析状态机根据ARM处理器发送的协议分析控制字接收采集通道的通道数据并分析得到该通道数据的分析结果,数据重组模块将分析状态机得到的协议分析结果与通道数据组合得到带协议分析结果的数据;分析结果选择器用于根据ARM处理器发送的协议类型控制字选择对应协议分析模块生成的带协议分析结果的数据并输出至数据选择模块。
[0029]数据选择模块,位于串行总线协议分析模块和DDR2读写控制模块之间,接收通道数据(本实施例中为采样数据)和串行协议分析模块输出的带协议分析结果的数据,根据ARM处理器发送的数据类型控制字,选择对应的数据输出至DDR2读写控制模块。数据选择模块是一个可选模块,如果不设置数据选择模块,那么逻辑分析仪输出的数据一直都是带协议分析结果的数据,通过设置数据选择模块,在逻辑分析仪工作过程中,通过改变ARM处理器发出的数据类型控制字,即可将采集存储对象在通道数据和带协议分析结果的数据之间进行切换,满足分析人员的需求。当然,采集存储对象切换后,触发方式或其他采集存储参数有可能需要发生改变,通过ARM处理器中的系统软件可以实时设置,或者预设一些参数模板来实现参数的适应性调整。
[0030]触发模块接收通道数据和差分接收机模块得到的采样数据,以及ARM处理器通过ARM接口模块发送的触发控制字,触发控制字包括用户设置的触发类型、触发条件和其他触发控制信息。本实施例中,通道数据和采样数据的用途不相同,通道数据用于进行串行协议触发,采样数据用于一般数据采集的触发。当然,如果在FPGA中没有使用差分接收机模块,那么无论是串行协议触发还是数据采集触发,都基于原始的通道数据。触发模块在接收到主控模块发出的预触发满标志时,则根据触发条件对通道数据进行触发判断是否触发,触发后拉高触发标志反馈给主控模块。
[0031]串行总线协议的触发可以采用和数据采集触发同样的一般触发方式来实现,如随机触发、边沿触发等。为了使串行总线协议触发更为准确,本实施例在触发模块中设置有串行总线协议触发模块来实现串行总线协议的触发。图5是串行总线协议触发模块示意图。如图5所示,串行总线协议触发模块中设置有若干个协议触发模块和触发选择器,协议触发模块与串行总线协议分析模块中的协议分析模块一一对应。图6是协议触发模块示意图。如图6所示,每个协议触发模块中根据协议设置若干个触发状态机和触发标志选择器,每个触发状态机对应一个协议数据元素。每个触发状态机接收通道数据,根据ARM处理器发送的触发条件对原始数据进行触发判断,当触发条件满足时将触发标志设置为有效,触发标志选择器根据触发类型控制字选择其中一个触发标志输出至触发选择器。触发选择器根据ARM处理器发送的触发类型控制字选择对应的触发标志输出至主控模块。
[0032]主控模块包括三个计数器:预触发计数器、延迟触发计数器、地址计数器和流程控制逻辑,主控模块用于配合触发模块和ARM中的系统软件,完成单次触发数据采集。本实施例中,由数据选择模块输出的数据,不管是来自差分接收机模块的采样数据,还是来自串行总线协议分析模块的带分析结果的数据,都是采用相同的采集方式。
[0033]图7是单次数据采集的控制流程图。如图7所示,ARM通过ARM接口模块向主控模块发送流程控制字,主控模块根据流程控制字进行各项操作。开始采集之前,系统处于空闲态,ARM先向主控模块发送计数器清O控制字将各个计数器清0,并通过主控模块向触发模块发送触发清O控制字对触发模块的触发标志位清0,并且设置各个参数,包括触发控制字和DDR2控制字等。在设置完各种参数之后,ARM发送开始采集命令,系统处于采集态,采集开始。主控模块收到开始采集命令之后,地址计数器和预触发计数器同时开始计数,DDR2读写控制模块根据地址计数器值完成数据的存储,预触发计数器满之后,主控模块对触发模块发送标志位,让触发模块开始触发判断,同时主控模块等待触发模块的标志位。触发模块触发成功的同时对主控模块发送触发标志位有效(即拉高触发标志位),主控模块延迟触发计数器随即开始计数,并锁存此时的地址计数器地址,即触发地址,计数器溢出则延迟触发满,采集完成,地址计数器也同时停止计数。采集完成后,系统进入读数态,在读取数据时,ARM根据触发地址恢复触发位置。数据读取完毕后,系统重新进入空闲态。
[0034]DDR2读写控制模块分为两个部分,即读状态机和写状态机,用于将数据选择器输出的数据存入DDR2芯片中,并且ARM处理器通过ARM接口模块和DDR2读写控制模块从DDR2芯片中读取数据用于显示。
[0035]ARM接口模块,用于ARM与FPGA中其他模块进行通信,一方面ARM把用户通过系统软件设置的信息和流程控制信息存在FPGA相应特定寄存器中,使得FPGA中其他各个模块能从相应寄存器中读取控制字;另一方面FPGA其他各个模块把各自形成的标志信息存入相应特定寄存器中,使得软件能读取标志信息。这样,ARM中的系统软件就能引导FPGA各模块的工作。
[0036]门限控制模块用于控制DAC生成门限阈值,本实施例中用一个状态机实现了 SPI接口时序,使得FPGA和DAC能够正确通信。
[0037]时钟模块用于向FPGA中各个时序模块提供时钟和采样率控制信号。本实施例中,时钟模块以Altera提供的锁相环IP核为基础,形成了若干时钟和采样率控制信号,如图2中的虚线所示。本实施例中,串行协议触发模块和串行协议分析模块使用的均是100M时钟,依靠采样率控制信号实现采样率的变换。采样率控制信号决定了采样的速率和采样点的位置。
[0038]下面以串行总线协议ARINC429的分析和触发为例,说明协议分析和触发的具体实现。
[0039]根据ARINC429电气特性规范,ARINC429总线信号经过通道部分进入到逻辑分析仪之后,是两路的数字信号。当这两路数字信号是10 (HI在前,LO在后)的时候表示逻辑“I”;数字信号是01的时候表示逻辑“O”;数字信号是00的时候,表示逻辑“空”。ARINC429总线协议的分析模块和触发模块的处理对象都是这两路数字信号。由于ARINC429总线协议较为简单,本实施例中,ARM处理器发送给ARINC429协议分析模块的协议分析控制字中只包括了需要分析的通道数据对应的通道编号,未对协议的属性参数进行设置。
[0040]ARINC429总线的位速率有两种,分别是IOOKbps和12.5Kbps,并且ARINC429总线上传输的是归零码,即每一个位时的前半个周期包含着逻辑信息,后半个周期一律为“空”。采用与位速率相等的采样率对总线进行采样,但是由于ARINC429总线没有提供专门的时钟线,所以必须采用同步措施,否则采到的总线信号将有一半的可能为“空”。该同步可以依靠时钟模块里面的ARINC429同步模块完成。在100M时钟下,根据当前协议的速率,依靠计数器,使得采样率控制信号在位时的四分之一处有效。
[0041]根据ARINC429字格式和传输特性,可以知道:数据字之间的间隔,即连续4个位时的逻辑“空”,是总线数据元素中最特别的。因此无论是ARINC429总线协议的分析还是触发,都要依靠这个关键点来定位。
[0042]下面先对ARINC429总线协议分析模块进行介绍。在总线协议分析模块中,主要模块为分析状态机。ARINC429总线信号的字格式里共有5种数据元素,即标志位、源/目的地址识别码、数据区、符号状态码、奇偶校验位。为了对协议数据进行更详细的分析,本实施例中还引入了两种数据类型,数据字字头和未完成。协议分析结果包括数据类型字和每个数据类型字对应的数据内容字,数据类型字即预设的数据类型代码,数字内容字即ARINC429总线上的数据内容或数据内容寄存器的值。本实施例中,由于通道数据为32位数据,并且连接ARM处理器和FPGA的本地总线数据位宽只有16位,因此协议分析结果也采用32位数据,其中高16位用于存储数据内容字,低16位用于存储数据类型字。表I是本实施例协议分析结果中数据类型字和数据内容字的对应关系。[0043]
【权利要求】
1.一种具有串行总线协议在线实时检测分析功能的逻辑分析仪,包括采集通道、FPGA、ARM处理模块和DDR2存储器,采集通道包括探头、比较器、电平转换和DAC ;ARM处理器中安装逻辑分析仪的系统软件;FPGA中设置有触发模块、主控模块、DDR2读写控制模块、ARM接口模块、门限控制模块和时钟模块,ARM处理器、主控模块和触发模块共同控制DDR2读写控制模块对DDR2读写控制模块的输入数据进行采集并存储在DDR2存储器中,供ARM处理器读取并输出,其中触发模块根据ARM处理器发送的触发控制字和通道数据产生触发标志发送给主控模块,触发控制字包括触发类型、触发条件和其他触发控制信息,ARM接口模块用于完成ARM处理器与FPGA中其他模块的通信,门限控制模块用于控制DAC生成门限阈值,时钟模块向FPGA中的其他模块提供同步时钟和采样率控制信号;其特征在于,还包括: 串行总线协议分析模块,包括若干个协议分析模块和分析结果选择器,每个协议分析模块对应一种串行总线协议,协议分析模块包括分析状态机和数据重组模块,分析状态机根据ARM处理器发送的协议分析控制字接收采集通道的通道数据并分析得到该通道数据的分析结果,数据重组模块将分析状态机得到的协议分析结果与通道数据组合得到带协议分析结果的数据;分析结果选择器用于根据ARM处理器发送的协议类型控制字选择对应协议分析模块生成的带协议分析结果的数据并输出至DDR2读写控制模块进行采集存储。
2.根据权利要求1所述的逻辑分析仪,其特征在于,还包括数据选择模块,接收通道数据和串行协议分析模块输出的带协议分析结果的数据,根据ARM处理器发送的数据类型控制字,选择对应的数据输出至DDR2读写控制模块。
3.根据权利要求1或2所述的逻辑分析仪,其特征在于,所述触发模块包括串行总线协议触发模块,包括若干个协议触发模块和触发选择器,协议触发模块与串行总线协议分析模块中的协议分析模块 对应,协议触发模块中包含多个触发状态机和触发标志选择器,每个触发状态机包括若干个数据元素触发状态机;触发状态机接收通道数据,根据ARM处理器发送的触发条件对通道数据进行触发判断,当触发条件满足时将触发标志设置为有效,触发标志选择器根据ARM处理器发送的触发类型控制字选择对应的触发标志输出至触发选择器;触发选择器根据ARM处理器发送的触发类型控制字选择对应的触发标志输出至主控模块。
【文档编号】G06F11/22GK103955419SQ201410174937
【公开日】2014年7月30日 申请日期:2014年4月28日 优先权日:2014年4月28日
【发明者】杨万渝, 戴志坚, 马敏, 赖建钧 申请人:电子科技大学

最新回复(0)