CN105893312B - 一种基于相关系数阈值的串行协议触发ip核及触发数据捕获方法 - Google Patents
一种基于相关系数阈值的串行协议触发ip核及触发数据捕获方法 Download PDFInfo
- Publication number
- CN105893312B CN105893312B CN201610187420.4A CN201610187420A CN105893312B CN 105893312 B CN105893312 B CN 105893312B CN 201610187420 A CN201610187420 A CN 201610187420A CN 105893312 B CN105893312 B CN 105893312B
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- trigger
- fifo module
- trigger condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
一种基于相关系数阈值的串行协议触发IP核及触发数据捕获方法,涉及串行总线分析技术,为了解决满足串行协议触发条件的数据易丢失、不能实时观察总线传输的内容的问题。AXI8位内存映射型从端口一和数据输入缓冲FIFO模块电气连接,数据输入缓冲FIFO模块的输出端连接触发数据捕获器的输入端,触发数据捕获器的输出端连接数据输出缓冲FIFO模块的输入端,数据输出缓冲FIFO模块和AXI8位内存映射型从端口二电气连接;该方法包括触发条件生成步骤、模数转换步骤、序列截取步骤、相关系数计算步骤和触发条件筛选步骤。本发明不会丢失触发条件,能够实时观察总线传输的内容。适用于串行总线协议触发。
Description
技术领域
本发明涉及一种串行总线分析技术,具体涉及基于相关系数阈值的串行总线协议触发技术。
背景技术
随着测试仪器***对串行总线协议分析的要求越来越高,准确且灵活的协议触发技术逐渐应用于串行总线协议分析设计中。
总线协议触发技术是对采集到的串行总线数据根据总线协议规范进行协议触发,触发连续的一串数据或协议。对于串行总线分析领域来说,灵活的协议触发技术有利于捕捉到感兴趣的总线事件,减少对数据存储的需求,可以很好的满足测试仪器***在总线分析技术上的准确性、可靠性、灵活性等多方面要求,因此成为现代测试仪器***在总线分析领域不可或缺的技术。
现代测试仪器***很多是通过软件实现协议触发功能,例如示波器,先捕获波形,再从波形里搜索满足串行协议触发条件的数据,而示波器是没有办法全时间实时捕捉波形的,这样就会丢掉很多重要的数据信息,所以可能会丢失满足串行协议触发条件的数据。同时,由于在串行总线中,所有信息(如地址信息、控制信息、数据信息和时钟信息等)都必须以串行方式在相同的少数导线上发送,即使比较简单的串行标准,与并行协议相比,观察并触发总线上传输的内容仍要明显困难的多,如何对串行总线数据准确、灵活地实现协议触发,也是现代测试仪器***开发和研制的重点。
发明内容
本发明是为了解决满足串行协议触发条件的数据易丢失、不能实时观察总线传输的内容的问题,从而提供一种基于相关系数阈值的串行协议触发IP核及触发数据捕获方法。
本发明所述的一种基于相关系数阈值的串行协议触发IP核,包括输入接口模块、触发数据捕获器和输出接口模块;
输入接口模块包括AXI8位内存映射型从端口一和数据输入缓冲FIFO模块;
输出接口模块包括数据输出缓冲FIFO模块和AXI8位内存映射型从端口二;
AXI8位内存映射型从端口一和数据输入缓冲FIFO模块电气连接,
数据输入缓冲FIFO模块的输出端连接触发数据捕获器的输入端,触发数据捕获器的输出端连接数据输出缓冲FIFO模块的输入端,数据输出缓冲FIFO模块和AXI8位内存映射型从端口二电气连接。
触发数据捕获方法,该方法包括以下步骤:
触发条件生成步骤,用于根据用户选择的协议触发分析要求生成触发条件,数字离散序列Y由元素y(n)组成,y(n)的取值为0或1,(0≤n<N),其中N为数字离散序列Y的长度;
模数转换步骤,用于根据用户设置的阈值,将接收到的串行总线模拟数据转换为数字数据,当模拟数据大于或等于阈值时,数字数据置1,当模拟数据小于阈值时,数字数据置0,
其中Datai为第i个模拟数据,Threshold为用户设置的阈值,M为接收到的串行总线的模拟数据序列的长度,xi为转换后的数字数据,转换后形成一串离散序列X,离散序列X由元素x(i)组成,(0≤i<M),其中M>N;
序列截取步骤,用于将x(i)从i=0开始依次截取成与离散序列Y等长度的序列,得到M-N+1个序列Xk,其中1≤k≤(M-N+1),序列Xk由元素x(i-k+1)组成,0≤i-k+1<N,Xk表示截取到的第k个序列;
相关系数计算步骤,用于逐个计算Xk与离散序列Y相关系数ρk,n=i-k+1,
触发条件筛选步骤,用于将得到的相关系数ρk的数据点绘制成波形,从波形上找到相关系数最大值ρmax,当ρmax是大于安全阈值的唯一的波峰时,将ρmax对应的Datai的首地址发送给数据输出缓冲FIFO模块,所述安全阈值为用户预先设置的数值,否则,不向数据输出缓冲FIFO模块发送任何数据。
本发明根据输入的分析要求生成触发条件,在采集到的串行总线信号中找到满足触发条件的总线数据,实现协议触发,如定时触发、帧头触发、特定命令触发、特定数据触发以及特定状态触发等。本发明可以对满足MIL-STD-1553B、USB、CAN、FlexRay、UART、Arinc-429、I2C、SPI协议协议规范的串行总线数据进行协议触发,也可以对自定义的特定内容的串行总线数据进行协议触发。
本发明所述的一种基于相关系数阈值的串行协议触发IP核,不会丢失触发条件,能够实时观察总线传输的内容,提高了串行总线协议触发功能的准确性、灵活性,并为示波器、串行总线分析仪器等现代测试仪器***分析总线信号提供了便利条件,能够满足串行总线协议触发的应用需求。
本发明所述的触发数据捕获方法,根据输入的分析要求生成触发条件,在采集到的串行总线信号中找到满足触发条件的总线数据,实现协议触发,不会丢失触发条件,能够实时观察总线传输的内容,提高了串行总线协议触发功能的准确性、灵活性,并为示波器、串行总线分析仪器等现代测试仪器***分析总线信号提供了便利条件,能够满足串行总线协议触发的应用需求。
附图说明
图1是具体实施方式一所述的一种基于相关系数阈值的串行协议触发IP核的结构示意图;
图2是具体实施方式三所述触发数据捕获方法的流程示意图;
图3为具体实施方式二中的序列截取的示意图;
图4是具体实施方式二中一种基于相关系数阈值的串行协议触发IP核在具体应用中的结构示意图。
具体实施方式
具体实施方式一:参照图1具体说明本实施方式,本实施方式所述的一种基于相关系数阈值的串行协议触发IP核,包括输入接口模块1、触发数据捕获器2和输出接口模块3;
输入接口模块1包括AXI8位内存映射型从端口一1-1和数据输入缓冲FIFO模块1-2;
输出接口模块3包括数据输出缓冲FIFO模块3-1和AXI8位内存映射型从端口二3-2;
AXI8位内存映射型从端口一1-1和数据输入缓冲FIFO模块1-2电气连接,数据输入缓冲FIFO模块1-2的输出端连接触发数据捕获器2的输入端,触发数据捕获器2的输出端连接数据输出缓冲FIFO模块3-1的输入端,数据输出缓冲FIFO模块3-1和AXI8位内存映射型从端口二3-2电气连接。
数据输入缓冲FIFO模块1-2将写入AXI8位内存映射型从端口一1-1的数据取出并存储到数据输入缓冲FIFO模块1-2中,数据输入缓冲FIFO模块1-2为整个IP核的跨时钟域处理提供了保障。数据输出缓冲FIFO模块3-1为整个IP核的跨时钟域处理提供了保障。
具体实施方式二:参照图3和图4具体说明本实施方式,本实施方式是对具体实施方式一所述的一种基于相关系数阈值的串行协议触发IP核作进一步说明,本实施方式中,触发数据捕获器2内嵌入软件实现的触发数据捕获模块,该模块包括以下单元:
触发条件生成单元,用于根据用户选择的协议触发分析要求生成触发条件,数字离散序列Y由元素y(n)组成,y(n)的取值为0或1,(0≤n<N),其中N为数字离散序列Y的长度;
模数转换单元,用于根据用户设置的阈值,将接收到的串行总线模拟数据转换为数字数据,当模拟数据大于或等于阈值时,数字数据置1,当模拟数据小于阈值时,数字数据置0,
其中Datai为第i个模拟数据,Threshold为用户设置的阈值,M为接收到的串行总线的模拟数据序列的长度,xi为转换后的数字数据,转换后形成一串离散序列X,离散序列X由元素x(i)组成,(0≤i<M),其中M>N;
序列截取单元,用于将x(i)从i=0开始依次截取成与离散序列Y等长度的序列,得到M-N+1个序列Xk,其中1≤k≤(M-N+1),序列Xk由元素x(i-k+1)组成,(0≤i-k+1<N),Xk表示截取到的第k个序列;
相关系数计算单元,用于逐个计算Xk与离散序列Y相关系数ρk,n=i-k+1,
触发条件筛选单元,用于将得到的相关系数ρk的数据点绘制成波形,从波形上可以直观的找到相关系数最大值ρmax,当ρmax是大于安全阈值的唯一的波峰时,将ρmax对应的Datai的首地址发送给数据输出缓冲FIFO模块3-1,所述安全阈值为用户预先设置的数值,否则,不向数据输出缓冲FIFO模块3-1发送任何数据。ρmax对应的序列Xk与代表触发条件的数字离散序列Y的相似度最高,序列Xk对应的串行总线模拟数据满足触发条件。触发数据为满足触发条件的串行总线模拟数据的地址。
图3为序列截取的示意图,将x(i)从i=0开始依次截取成与离散序列Y等长度的序列。如,ρmax对应的序列为X2,则ρmax对应的Datai的地址为1、2、3,首地址为1,则将1发送给数据输出缓冲FIFO模块3-1。
图4是一种基于相关系数阈值的串行协议触发IP核在具体应用中的结构示意图,图中M8为AXI8位内存映射型主端口,S8为AXI8位内存映射型从端口,Cn为外部信号端,X4代表PCI ExpressX4链路,可编程逻辑器件采用带有PCI Express硬核的芯片,PCI Express接口模块将PCI Express总线与AXI总线数据进行相互转换,X4链路上位机软件控制模块与PCI Express接口模块通过PCI ExpressX4链路进行连接。PCI Express接口模块受上位机软件模块控制。
串行总线可以选择MIL-STD-1553B、USB、CAN、FlexRay、UART、Arinc-429、I2C、SPI。数据源模块受PCI Express接口模块控制。
基于相关系数阈值的串行协议触发IP核将写入到AXI8位内存映射型从端口一的数据进行处理,找到满足触发条件的总线数据后,将满足触发条件的总线数据的首地址通过AXI流水线桥和PCI Express接口模块发送到上位机。基于相关系数阈值的串行协议触发IP核模块受PCI Express接口模块控制。
AXI流水线桥进一步增强了后端存储***的吞吐率。
上位机软件控制模块,支持PCIe总线接口,上位机软件控制模块通过PCI Express接口模块控制数据源模块、一种基于相关系数阈值的串行协议触发IP核,获取数据源模块内的串行总线原始数据和基于相关系数阈值的串行协议触发IP核输出的满足触发条件的总线数据的首地址,并将用户在上位机配置的数据写入到基于相关系数阈值的串行协议触发IP核模块。上位机软件控制模块用以显示总线数据波形,对阈值参数、触发条件进行配置,并显示触发结果。
软件设计分为两部分,一部分是上位机应用程序设计,另一部分是硬核处理器中的程序设计。
上位机应用程序负责对阈值、触发条件进行配置,显示总线数据波形和触发结果。在基于windows操作***上,开发平台可以选用Visual Studio、CVI,Visual Studio软件的开发语言可以选用C、C++、C#,CVI软件的开发语言选用C语言。
硬核处理器中软件设计主要是基于相关系数算法来寻找满足触发条件的总线数据。FPGA可以选用Xilinx系列产品,在基于windows操作***上,开发平台可以选用Vivado,开发语言可以选用Verilog、VHDL。
具体实施方式三:参照图2具体说明本实施方式,本实施方式所述的触发数据捕获方法是由嵌入在具体实施方式一中触发数据捕获器2中的软件实现的,该方法包括以下步骤:
触发条件生成步骤,用于根据用户选择的协议触发分析要求生成触发条件,数字离散序列Y由元素y(n)组成,y(n)的取值为0或1,(0≤n<N),其中N为数字离散序列Y的长度;
模数转换步骤,用于根据用户设置的阈值,将接收到的串行总线模拟数据转换为数字数据,当模拟数据大于或等于阈值时,数字数据置1,当模拟数据小于阈值时,数字数据置0,
其中Datai为第i个模拟数据,Threshold为用户设置的阈值,M为接收到的串行总线的模拟数据序列的长度,xi为转换后的数字数据,转换后形成一串离散序列X,离散序列X由元素x(i)组成,(0≤i<M),其中M>N;
序列截取步骤,用于将x(i)从i=0开始依次截取成与离散序列Y等长度的序列,得到M-N+1个序列Xk,其中1≤k≤(M-N+1),序列Xk由元素x(i-k+1)组成,(0≤i-k+1<N),Xk表示截取到的第k个序列;
相关系数计算步骤,用于逐个计算Xk与离散序列Y相关系数ρk,n=i-k+1,
触发条件筛选步骤,用于将得到的相关系数ρk的数据点绘制成波形,从波形上可以直观的找到相关系数最大值ρmax,当ρmax是大于安全阈值的唯一的波峰时,将ρmax对应的Datai的首地址发送给数据输出缓冲FIFO模块3-1,所述安全阈值为用户预先设置的数值,否则,不向数据输出缓冲FIFO模块3-1发送任何数据。
Claims (2)
1.一种基于相关系数阈值的串行协议触发的IP核,其特征在于,包括输入接口模块(1)、触发数据捕获器(2)和输出接口模块(3);
输入接口模块(1)包括AXI8位内存映射型从端口一(1-1)和数据输入缓冲FIFO模块(1-2);
输出接口模块(3)包括数据输出缓冲FIFO模块(3-1)和AXI8位内存映射型从端口二(3-2);
AXI8位内存映射型从端口一(1-1)和数据输入缓冲FIFO模块(1-2)电气连接,数据输入缓冲FIFO模块(1-2)的输出端连接触发数据捕获器(2)的输入端,触发数据捕获器(2)的输出端连接数据输出缓冲FIFO模块(3-1)的输入端,数据输出缓冲FIFO模块(3-1)和AXI8位内存映射型从端口二(3-2)电气连接;
触发数据捕获器(2)内嵌入软件实现的触发数据捕获模块,该模块包括以下单元:
触发条件生成单元,用于根据用户选择的协议触发分析要求生成触发条件,数字离散序列Y由元素y(n)组成,y(n)的取值为0或1,0≤n<N,其中N为数字离散序列Y的长度;
模数转换单元,用于根据用户设置的阈值,将接收到的串行总线模拟数据转换为数字数据,当模拟数据大于或等于阈值时,数字数据置1,当模拟数据小于阈值时,数字数据置0,
其中Datai为第i个模拟数据,Threshold为用户设置的阈值,M为接收到的串行总线的模拟数据序列的长度,xi为转换后的数字数据,转换后形成一串离散序列X,离散序列X由元素x(i)组成,0≤i<M,其中M>N;
序列截取单元,用于将x(i)从i=0开始依次截取成与离散序列Y等长度的序列,得到M-N+1个序列Xk,其中1≤k≤(M-N+1),序列Xk由元素x(i-k+1)组成,0≤i-k+1<N,Xk表示截取到的第k个序列;
相关系数计算单元,用于逐个计算Xk与离散序列Y相关系数ρk,n=i-k+1,
触发条件筛选单元,用于将得到的相关系数ρk的数据点绘制成波形,从波形上找到相关系数最大值ρmax,当ρmax是大于安全阈值的唯一的波峰时,将ρmax对应的Datai的首地址发送给数据输出缓冲FIFO模块(3-1),所述安全阈值为用户预先设置的数值,否则,不向数据输出缓冲FIFO模块(3-1)发送任何数据。
2.触发数据捕获方法,其特征在于,该方法包括以下步骤:
触发条件生成步骤,用于根据用户选择的协议触发分析要求生成触发条件,数字离散序列Y由元素y(n)组成,y(n)的取值为0或1,0≤n<N,其中N为数字离散序列Y的长度;
模数转换步骤,用于根据用户设置的阈值,将接收到的串行总线模拟数据转换为数字数据,当模拟数据大于或等于阈值时,数字数据置1,当模拟数据小于阈值时,数字数据置0,
其中Datai为第i个模拟数据,Threshold为用户设置的阈值,M为接收到的串行总线的模拟数据序列的长度,xi为转换后的数字数据,转换后形成一串离散序列X,离散序列X由元素x(i)组成,0≤i<M,其中M>N;
序列截取步骤,用于将x(i)从i=0开始依次截取成与离散序列Y等长度的序列,得到M-N+1个序列Xk,其中1≤k≤(M-N+1),序列Xk由元素x(i-k+1)组成,0≤i-k+1<N,Xk表示截取到的第k个序列;
相关系数计算步骤,用于逐个计算Xk与离散序列Y相关系数ρk,n=i-k+1,
触发条件筛选步骤,用于将得到的相关系数ρk的数据点绘制成波形,从波形上找到相关系数最大值ρmax,当ρmax是大于安全阈值的唯一的波峰时,将ρmax对应的Datai的首地址发送给数据输出缓冲FIFO模块(3-1),所述安全阈值为用户预先设置的数值,否则,不向数据输出缓冲FIFO模块(3-1)发送任何数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610187420.4A CN105893312B (zh) | 2016-03-29 | 2016-03-29 | 一种基于相关系数阈值的串行协议触发ip核及触发数据捕获方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610187420.4A CN105893312B (zh) | 2016-03-29 | 2016-03-29 | 一种基于相关系数阈值的串行协议触发ip核及触发数据捕获方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105893312A CN105893312A (zh) | 2016-08-24 |
CN105893312B true CN105893312B (zh) | 2018-09-07 |
Family
ID=57014852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610187420.4A Active CN105893312B (zh) | 2016-03-29 | 2016-03-29 | 一种基于相关系数阈值的串行协议触发ip核及触发数据捕获方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893312B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826877A (zh) * | 2010-05-14 | 2010-09-08 | 华为技术有限公司 | 多位宽数据串行转换装置 |
CN101989244A (zh) * | 2009-08-05 | 2011-03-23 | 华为技术有限公司 | 一种信号转换装置、方法及通信设备 |
CN103902481A (zh) * | 2012-12-27 | 2014-07-02 | 北京华清瑞达科技有限公司 | 一种基于axi总线的存储器控制装置及方法 |
CN103995764A (zh) * | 2014-05-21 | 2014-08-20 | 电子科技大学 | 一种具有串行总线协议连续触发功能的逻辑分析仪 |
-
2016
- 2016-03-29 CN CN201610187420.4A patent/CN105893312B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989244A (zh) * | 2009-08-05 | 2011-03-23 | 华为技术有限公司 | 一种信号转换装置、方法及通信设备 |
CN101826877A (zh) * | 2010-05-14 | 2010-09-08 | 华为技术有限公司 | 多位宽数据串行转换装置 |
CN103902481A (zh) * | 2012-12-27 | 2014-07-02 | 北京华清瑞达科技有限公司 | 一种基于axi总线的存储器控制装置及方法 |
CN103995764A (zh) * | 2014-05-21 | 2014-08-20 | 电子科技大学 | 一种具有串行总线协议连续触发功能的逻辑分析仪 |
Also Published As
Publication number | Publication date |
---|---|
CN105893312A (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9495492B1 (en) | Implementing synchronous triggers for waveform capture in an FPGA prototyping system | |
US8732650B2 (en) | Method and apparatus for versatile controllability and observability in prototype system | |
US8914566B2 (en) | Managing interrupts | |
US10261698B2 (en) | Systems and methods for hardware-based raid acceleration for variable-length and out-of-order transactions | |
JP2014120155A (ja) | 単一のフィールド・プログラマブル・ゲート・アレイ(fpga)のキャパシティを超過するエンベデッド・プロセッサのデザインのタイミング及びソフトウェアデバッグ用検証モジュール装置 | |
CN112347721B (zh) | 基于fpga实现数据处理加速的***及其加速方法 | |
CN108920964B (zh) | 可重构硬件加解密方法、***、计算机设备及存储介质 | |
WO2019168877A1 (en) | Method and apparatus for high speed data processing | |
CN105893308B (zh) | 一种基于组合逻辑的串行协议触发ip核及触发数据捕获方法 | |
CN105893312B (zh) | 一种基于相关系数阈值的串行协议触发ip核及触发数据捕获方法 | |
US8769357B1 (en) | System and method for evaluation of a field programmable gate array (FPGA) | |
TWI604303B (zh) | 輸入輸出擴展晶片以及其驗證方法 | |
EP2435918A1 (en) | Integrated circuit comprising trace logic and method for providing trace information | |
CN110959121B (zh) | 用于集成电路的逻辑分析器 | |
CN109977051A (zh) | 一种基于gpio扩展总线通道数量的方法和*** | |
CN204515761U (zh) | 片上*** | |
US10291415B2 (en) | Embedded extensible instrumentation bus | |
CN111223283A (zh) | 一种多路数据分类式大数据采集方法 | |
CN108712165B (zh) | 一种用于异步交互接口监测的管脚复用电路 | |
CN104572515B (zh) | 跟踪模块、方法、***和片上***芯片 | |
CN115345122A (zh) | 一种用于仿真的非标准总线协议的芯片验证装置 | |
CN105871655A (zh) | 一种应用于串行总线分析仪器的波特率估计ip核*** | |
US7188277B2 (en) | Integrated circuit | |
TWI569138B (zh) | 模擬裝置與硬碟背板測試系統 | |
CN105676757B (zh) | 一种bac监控*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |