首页> 中国专利> 一种基于组合逻辑的串行协议触发IP核及触发数据捕获方法

一种基于组合逻辑的串行协议触发IP核及触发数据捕获方法

摘要

一种基于组合逻辑的串行协议触发IP核及触发数据捕获方法,涉及串行总线分析技术,目的是为了满足串行总线协议触发的需求。本发明首先根据用户选择的协议触发分析要求生成触发条件,然后将输入接口控制模块发来的总线模拟数据转换为数字数据,并将该数字数据截取成与触发条件等长度的序列,将这些序列与用户设定的触发条件进行比对,然后按照组合逻辑算法计算所述数据与触发条件的相似度,根据计算结果选择满足触发条件的数据,然后把满足触发条件的数据的首地址发送给数据输出缓冲FIFO模块。本发明提高了串行协议触发的灵活性、准确性以及高效性,适用于示波器、总线分析仪器等现代测试仪器系统对总线数据的分析。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-07

    授权

    授权

  • 2016-09-21

    实质审查的生效 IPC(主分类):G06F13/40 申请日:20160330

    实质审查的生效

  • 2016-08-24

    公开

    公开

说明书

技术领域

本发明涉及串行总线分析技术,具体涉及基于测试仪器系统的串行总线协议触发技术。

背景技术

随着现代测试仪器系统对串行总线协议分析的要求越来越高,具有灵活触发、计算简单快速特点的协议触发技术逐渐应用于串行总线协议分析设计中。

总线协议触发技术是对采集到的串行信号进行协议触发,触发连续的一串数据或协议。对于串行总线分析领域来说,灵活的协议触发技术有利于捕捉到关心的总线事件,减少对数据存储的需求,可以很好的满足测试仪器系统在总线协议分析技术上的准确性、高效性、灵活性等多方面要求,并且具备简单快速的计算方法的协议触发技术可以减少触发处理时间,提高实时性,因此成为现代测试仪器系统在总线协议分析领域不可或缺的技术。

现代测试仪器系统广泛具有协议触发功能,很多是软件实现的,软件实现的问题是可能会丢掉很多满足触发条件的数据。例如示波器用软件实现是先捕获波形,再从波形里搜索串行协议触发条件,而示波器是没有办法全时间实时捕捉波形的,所以可能会出现丢失很多触发条件的问题,并且很可能由于触发实现方法复杂繁琐而造成触发处理速度慢的问题。同时,由于在串行总线中,所有信息(如地址信息、控制信息、数据信息和时钟信息等)都必须以串行方式在相同的少数导线上发送。即使比较简单的串行标准,如I2C,与并行协议相比,观察并触发总线上传输的内容仍要明显困难的多。如何避免出现触发条件丢失的问题、实时观察总线传输的内容、简化硬件处理需要的运算以用提高触发处理速度,对实现串行总线协议触发有着迫切的应用需求以及应用意义。如何对串行总线数据准确、灵活、快速地实现协议触发,也是现代测试仪器系统开发和研制的重点。

发明内容

本发明的目的是为了满足串行总线协议触发的需求,提供一种基于组合逻辑的串行协议触发IP核及触发数据捕获方法。

本发明所述的一种基于组合逻辑的串行协议触发IP核包括输入接口控制模块1、触发数据捕获模块2和输出接口控制模块3;

所述输入接口控制模块1包括一号AXI8位内存映射型从端口1-1和数据输入缓冲FIFO模块1-2,所述一号AXI8位内存映射型从端口1-1和数据输入缓冲FIFO模块1-2 电气连接;

所述输出接口控制模块3包括数据输出缓冲FIFO模块2-1和二号AXI8位内存映射型从端口2-2,所述数据输出缓冲FIFO模块2-1和二号AXI8位内存映射型从端口2-2电气连接;

所述触发数据捕获模块2用于将数据输入缓冲FIFO模块1-2发来的数据与用户设定的触发条件进行比对,然后按照组合逻辑算法,即同或/异或算法计算所述数据与触发条件的相似度,根据计算结果选择满足触发条件的数据,然后把满足触发条件的数据的首地址发送给数据输出缓冲FIFO模块2-1。

本发明所述的触发数据捕获方法包括以下步骤:

触发条件生成步骤:根据用户选择的协议触发分析要求生成触发条件,即数字离散序列Y,y(n)为数字离散序列Y的第n+1个元素,0≤n<N,N为数字离散序列Y的长度,数字离散序列Y中任意一个元素的取值为0或1,并在该步骤结束之后执行模拟数据采集步骤;

模拟数据采集步骤:采集数据输入缓冲FIFO模块1-2发来的模拟数据Datai,得到模拟数据序列,并将所述模拟数据序列转换为数字数据序列X,该数字数据序列X的第i+1个元素x(i)的数值xi满足公式(1):

xi=1,DataiThresholdxi=0,Datai<Threshold,0i<M---(1)

其中Threshold为预先设定好的转换阈值,M为数字数据序列X的长度,且M>N,并在该步骤结束之后执行截取步骤;

截取步骤:将数字数据序列X依次截取成与数字离散序列Y等长度的序列Xk,1≤k≤(M-N+1),组成序列Xk的元素依次为x(k-1)至x(k-2+N),并在该步骤结束之后执行组合逻辑比值计算步骤;

组合逻辑比值计算步骤:对于X1至XM-N+1中的任意一个Xk,将其元素x(k-1)至x(k-2+N)分别与数字离散序列Y的元素y(0)至y(N-1)进行比对,如果相同,则比对结果置1,如果不同,则比对结果置0,然后采用同或/异或算法,对置1/0的比对结果的数量进行累加,将累加结果除以N,得到与Xk相对应的组合逻辑比值ρk,采用同样的方法将X1至XM-N+1分别与数字离散序列Y进行比对,共得到M-N+1个组合逻辑比值 x(k-2+N),并在该步骤结束之后执行触发数据确定步骤;

触发数据确定步骤:将M-N+1个组合逻辑比值逐一与安全阈值进行比对,所述安全阈值为预先设定好的数值:判断M-N+1个组合逻辑比值中是否只有一个组合逻辑比值ρm高于安全阈值,如果判断结果为是,则认为序列Xm所对应的总线数据满足触发条件,执行数据发送步骤;否则,认为所有序列Xk所对应的总线数据均不满足触发条件,返回模拟数据采集步骤;

数据发送步骤:将满足触发条件的总线数据所对应的序列Xm的首地址m-1发送给数据输出缓冲FIFO模块2-1,并在该步骤结束之后返回模拟数据采集步骤。

本发明能够根据用户设定的协议触发分析要求自动生成触发条件,可以对满足MIL-STD-1553B、USB、CAN、FlexRay、UART、Arinc-429、I2C以及SPI协议协议规范的串行总线数据进行协议触发,也可以对自定义的特定内容的串行总线数据进行协议触发,提高了串行总线协议触发的灵活性;根据组合逻辑比值计算方法寻找与触发条件相似度最高的串行总线数据,提高了串行总线协议触发功能的准确性;协议触发分析要求设定方便,组合逻辑比值计算方法计算量小,提高了串行总线协议触发功能的高效性;本发明为示波器、总线分析仪器等现代测试仪器系统分析总线数据提供了便利条件。

附图说明

图1为实施方式一所述的一种基于组合逻辑的串行协议触发IP核的电气结构示意图;

图2为实施方式一所述IP核的应用原理示意图;

图3为实施方式六中的触发数据捕获方法流程图。

具体实施方式

具体实施方式一:结合图1和图2说明本实施方式,本实施方式所述的一种基于组合逻辑的串行协议触发IP核,包括输入接口控制模块1、触发数据捕获模块2和输出接口控制模块3;

所述输入接口控制模块1包括一号AXI8位内存映射型从端口1-1和数据输入缓冲FIFO模块1-2,所述一号AXI8位内存映射型从端口1-1和数据输入缓冲FIFO模块1-2电气连接;

所述输出接口控制模块3包括数据输出缓冲FIFO模块2-1和二号AXI8位内存映射型从端口2-2,所述数据输出缓冲FIFO模块2-1和二号AXI8位内存映射型从端口2-2电气连接;

所述触发数据捕获模块2用于将数据输入缓冲FIFO模块1-2发来的数据与用户设定 的触发条件进行比对,然后按照组合逻辑算法,即同或/异或算法计算所述数据与触发条件的相似度,根据计算结果选择满足触发条件的数据,然后把满足触发条件的数据的首地址发送给数据输出缓冲FIFO模块2-1。

如图1所示,本实施方式中,输入接口控制模块1将写入一号AXI8位内存映射型从端口1-1的数据取出并存储到数据输入缓冲FIFO模块1-2中,所述数据输入缓冲FIFO模块1-2为异步FIFO模块,数据输入缓冲FIFO模块1-2将从一号AXI8位内存映射型从端口1-1读取到的总线模拟数据发送给触发数据捕获模块2,触发数据捕获模块2以组合逻辑算法为核心,即采用同或算法或异或算法来捕获满足触发条件的数据,然后把满足触发条件的数据的首地址发送给数据输出缓冲FIFO模块2-1,数据输出缓冲FIFO模块2-1再将首地址发送给二号AXI8位内存映射型从端口2-2,实现协议触发。数据输入缓冲FIFO模块1-2和数据输出缓冲FIFO模块2-1为整个IP核的跨时钟域处理提供了保障。

如图2所示,图中M8为AXI8位内存映射型从端口,S8为AXI8位内存映射型从端口,Cn为外部信号端,X4代表PCI ExpressX4链路,触发数据捕获模块2中的可编程逻辑器件采用带有PCI Express硬核的芯片,PCI Express接口模块将PCI Express总线与AXI总线数据进行相互转换,上位机软件控制模块与PCI Express接口模块通过PCI ExpressX4链路进行数据传输,PCI Express接口模块受上位机软件控制模块控制。

数据源模块将采集到的串行总线数据进行编码成8bit位宽的数据,通过AXI8位内存映射型从端口写入到基于组合逻辑的串行协议触发IP核中。串行总线可以选择MIL-STD-1553B、USB、CAN、FlexRay、UART、Arinc-429、I2C、SPI。数据源模块受PCI Express接口模块控制。

基于组合逻辑的串行协议触发IP核将写入到其AXI8位内存映射型从端口的数据进行处理,找到满足触发条件的总线数据后,将满足触发条件的总线数据的首地址通过AXI流水线桥和PCI Express接口模块发送到上位机。基于组合逻辑的串行协议触发IP核模块受PCI Express接口模块控制。

AXI流水线桥模块连接数据源模块和基于组合逻辑的串行协议触发IP核模块到PCIExpress接口模块。AXI流水线模块进一步增强了后端存储系统的吞吐率。

上位机软件控制模块支持PCIe总线接口,上位机软件控制模块将用户在上位机配置的数据写入到基于组合逻辑的串行协议触发IP核模块,通过PCI Express接口模块控制数据源模块和基于组合逻辑的串行协议触发IP核,获取数据源模块内的串行总线原始数据和基于组合逻辑的串行协议触发IP核输出的满足触发条件的总线数据的首地址。上位机 软件控制模块用以显示总线数据波形,对阈值参数进行配置,并显示触发结果。

软件设计:

软件设计分为两部分,一部分是上位机应用程序设计,另一部分是IP核中的程序设计。

上位机应用程序负责对各种阈值以及触发条件进行配置,显示总线数据波形和触发结果。在基于windows操作系统上,开发平台可以选用Visual Studio、CVI,Visual Studio软件的开发语言可以选用C、C++、C#,CVI软件的开发语言选用C语言。

IP核中软件设计主要是实现组合逻辑比值计算法来寻找满足触发条件的总线数据。FPGA可以选用Xilinx系列产品,在基于windows操作系统上,开发平台可以选用Vivado,开发语言可以选用Verilog、VHDL。

具体实施方式二:结合图2说明本实施方式,本实施方式是对实施方式一所述的一种基于组合逻辑的串行协议触发IP核的进一步限定,本实施方式中,所述触发数据捕获模块2内嵌入由软件实现的触发数据捕获器,所述触发数据捕获器包括以下单元:

触发条件生成单元:根据用户选择的协议触发分析要求生成触发条件,即数字离散序列Y,y(n)为数字离散序列Y的第n+1个元素,0≤n<N,N为数字离散序列Y的长度,数字离散序列Y中任意一个元素的取值为0或1;

模拟数据采集单元:采集数据输入缓冲FIFO模块1-2发来的模拟数据Datai,得到模拟数据序列,并将所述模拟数据序列转换为数字数据序列X,该数字数据序列X的第i+1个元素x(i)的数值xi满足公式(1):

xi=1,DataiThresholdxi=0,Datai<Threshold,0i<M---(1)

其中Threshold为预先设定好的转换阈值,M为数字数据序列X的长度,且M>N;

截取单元:将数字数据序列X依次截取成与数字离散序列Y等长度的序列Xk,1≤k≤(M-N+1),组成序列Xk的元素依次为x(k-1)至x(k-2+N);

组合逻辑比值计算单元:对于X1至XM-N+1中的任意一个Xk,将其元素x(k-1)至x(k-2+N)分别与数字离散序列Y的元素y(0)至y(N-1)进行比对,如果相同,则比对结果置1,如果不同,则比对结果置0,然后采用同或/异或算法,对置1/0的比对结果的数量进行累加,将累加结果除以N,得到与Xk相对应的组合逻辑比值ρk,采用同样的方法 将X1至XM-N+1分别与数字离散序列Y进行比对,共得到M-N+1个组合逻辑比值;

触发数据确定单元:将M-N+1个组合逻辑比值逐一与安全阈值进行比对,所述安全阈值为预先设定好的数值:当M-N+1个组合逻辑比值中只有一个组合逻辑比值ρm高于安全阈值时,认为序列Xm所对应的总线数据满足触发条件;否则,认为所有序列Xk所对应的总线数据均不满足触发条件;

数据发送单元:将满足触发条件的总线数据所对应的序列Xm的首地址m-1发送给数据输出缓冲FIFO模块2-1。

本实施方式中,触发数据捕获器能够根据用户输入的协议触发分析要求生成触发条件,如定时触发、帧头触发、特定命令触发、特定数据触发以及特定状态触发等。Datai为从串行总线上采集到的模拟数据,将Datai转换成数字数据x(i),当Datai大于或等于转换阈值时,xi置1,当Datai小于转换阈值时,xi置0。然后进行数据截取,截取方法为,x(0)至x(N-1)构成序列X1,x(1)至x(N)构成序列X2,x(2)至x(N+1)构成序列X3,以此类推,x(M-N)至x(M-1)构成序列XM-N+1。采用组合逻辑算得到M-N+1个组合逻辑比值,将这M-N+1个组合逻辑比值绘制成波形图,为了提高准确度,需要预先设定一个安全阈值。如果波形图中只有一个组合逻辑比值ρm高于安全阈值,由于ρm对应序列Xm,所以认为序列Xm(即由x(m-1)至x(m-2+N)所组成的序列)与触发条件的相似度最高,序列Xm所对应的一串连续的总线数据满足触发条件;如果波形图中出现多个组合逻辑比值高于安全阈值,或者所有组合逻辑比值均低于安全阈值,则认为任何一个Xk所对应的总线数据都不满足触发条件。确定出满足触发条件的总线数据后,将该总线数据的首地址即x(m-1)的首地址m-1发送出去。

具体实施方式三:本实施方式是对实施方式一所述的一种基于组合逻辑的串行协议触发IP核的进一步限定,本实施方式中,所述组合逻辑比值计算单元中的组合逻辑比值ρk为同或比值,ρk采用公式(2)计算:

具体实施方式四:本实施方式是对实施方式一所述的一种基于组合逻辑的串行协议触 发IP核的进一步限定,本实施方式中,所述组合逻辑比值计算单元中的组合逻辑比值ρk为异或比值,ρk采用公式(3)计算:

ρk=Σj=0N-1xk(j)y(j)N,1k(M-N+1)---(3).

具体实施方式五:本实施方式是对实施方式二、三和四所述的一种基于组合逻辑的串行协议触发IP核的进一步限定,本实施方式中,模拟数据采集单元在采集到数据输入缓冲FIFO模块1-2发来的模拟数据Datai后,对模拟数据Datai进行滤波处理,得到模拟数据序列。

本实施方式中,对模拟数据进行滤波处理能够去除模拟数据的毛刺,提高模拟数据的准确性。

具体实施方式六:本实施方式所述的触发数据捕获方法是由嵌入在触发数据捕获模块2中的软件实现的,所述方法包括以下步骤:

触发条件生成步骤:根据用户选择的协议触发分析要求生成触发条件,即数字离散序列Y,y(n)为数字离散序列Y的第n+1个元素,0≤n<N,N为数字离散序列Y的长度,数字离散序列Y中任意一个元素的取值为0或1,并在该步骤结束之后执行模拟数据采集步骤;

模拟数据采集步骤:采集数据输入缓冲FIFO模块1-2发来的模拟数据Datai,得到模拟数据序列,并将所述模拟数据序列转换为数字数据序列X,该数字数据序列X的第i+1个元素x(i)的数值xi满足公式(1):

xi=1,DataiThresholdxi=0,Datai<Threshold,0i<M---(1)

其中Threshold为预先设定好的转换阈值,M为数字数据序列X的长度,且M>N,并在该步骤结束之后执行截取步骤;

截取步骤:将数字数据序列X依次截取成与数字离散序列Y等长度的序列Xk,1≤k≤(M-N+1),组成序列Xk的元素依次为x(k-1)至x(k-2+N),并在该步骤结束之后执行组合逻辑比值计算步骤;

组合逻辑比值计算步骤:对于X1至XM-N+1中的任意一个Xk,将其元素x(k-1)至 x(k-2+N)分别与数字离散序列Y的元素y(0)至y(N-1)进行比对,如果相同,则比对结果置1,如果不同,则比对结果置0,然后采用同或/异或算法,对置1/0的比对结果的数量进行累加,将累加结果除以N,得到与Xk相对应的组合逻辑比值ρk,采用同样的方法将X1至XM-N+1分别与数字离散序列Y进行比对,共得到M-N+1个组合逻辑比值x(k-2+N),并在该步骤结束之后执行触发数据确定步骤;

触发数据确定步骤:将M-N+1个组合逻辑比值逐一与安全阈值进行比对,所述安全阈值为预先设定好的数值:判断M-N+1个组合逻辑比值中是否只有一个组合逻辑比值ρm高于安全阈值,如果判断结果为是,则认为序列Xm所对应的总线数据满足触发条件,执行数据发送步骤;否则,认为所有序列Xk所对应的总线数据均不满足触发条件,返回模拟数据采集步骤;

数据发送步骤:将满足触发条件的总线数据所对应的序列Xm的首地址m-1发送给数据输出缓冲FIFO模块2-1,并在该步骤结束之后返回模拟数据采集步骤。

具体实施方式七:本实施方式是对实施方式六所述的触发数据捕获方法的进一步限定,本实施方式中,所述组合逻辑比值计算步骤中的组合逻辑比值ρk为同或比值,ρk采用公式(2)计算:

具体实施方式八:本实施方式是对实施方式六所述的触发数据捕获方法的进一步限定,本实施方式中,所述组合逻辑比值计算步骤中的组合逻辑比值ρk为异或比值,ρk采用公式(3)计算:

ρk=Σj=0N-1xk(j)y(j)N,1k(M-N+1)---(3).

具体实施方式九:本实施方式是对实施方式六、七和八所述的触发数据捕获方法的进一步限定,本实施方式中,模拟数据采集步骤在采集到数据输入缓冲FIFO模块1-2发来的模拟数据Datai后,对模拟数据Datai进行滤波处理,得到模拟数据序列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号