一种实现逻辑分析仪超大存储深度的系统及方法与流程

文档序号:18452819发布日期:2019-08-17 01:23阅读:276来源:国知局
一种实现逻辑分析仪超大存储深度的系统及方法与流程

本发明属于逻辑分析仪设计领域,具体涉及一种实现逻辑分析仪超大存储深度的系统及方法。



背景技术:

逻辑分析仪是一种专门用于采集和分析数字信号的仪器,可以以一定的频率对被测信号进行采样,然后根据采样点的电压值将其转换为逻辑“0”或逻辑“1”,再将这些连续的“0/1”连成数字波形,以便根据波形做出更进一步的分析,帮助技术人员发现问题、记录数据、校对系统等。

逻辑分析仪有两个最重要的参数:采样率与存储深度。采样率就是对被测信号的采样频率,即每秒钟需对被测信号平均采集多少个样点;存储深度指一次采样操作完成时总共能采集到的最大样点数。采样率决定了采集的时间精度,采样率越高则时间精度越高;存储深度决定了可以对被测信号进行连续采集的最大时间长度,深度越大所能采集分析的数据量就越大。

目前随着各类智能设备的迅速普及,使得底层系统设计也越来越复杂,相应的底层各芯片或各模块之间传输的数据量就越来越大,当需要采集分析这些数据的时候——这正是逻辑分析仪最大的用武之地,就对存储深度提出了更大的需求,因为至少需要完整采集一次传输过程中的全部数据才能为查找BUG、系统优化等提供分析基础。

然而当前市面上主流的逻辑分析仪,无论是独立式(单机式),还是需结合电脑使用的分体式(虚拟式),其存储深度直接取决于其自带存储器容量的大小,目前大多采用的是SRAM或专用FIFO芯片等,存储深度大多在几十KB至几MB之间,换算成采样时间一般也就是在几十us至几ms之间,而且产品一经设计完成,其存储深度就无法改变,而这对于一次较大数据量的信号传输来讲是远远不够的,从而极大的限制了逻辑分析仪在智能设备研发领域以及大数据量采集分析等方面的应用。



技术实现要素:

本发明所要解决的技术问题在于针对现有技术中存储深度小等缺陷,提出一种实现逻辑分析仪超大存储深度的系统及方法,使电脑或移动设备的内存可以作为逻辑分析仪的采样存储器来使用,从而实现了远超传统设计所能提供的存储深度,扩大逻辑分析仪的应用范围。

本发明实现了这样一种构思:使电脑或移动设备的内存作为逻辑分析仪的采样存储器来使用,具体的:

本发明提出一种实现逻辑分析仪超大存储深度的系统:包括逻辑分析仪硬件电路及与其通过USB总线连接的电脑/移动设备端逻辑分析仪控制模块;所述逻辑分析仪硬件电路包括前端信号调理网络、FPGA单元以及USB接口单元;前端信号调理网络对外部被测信号进行预处理,FPGA单元对预处理后的信号进行采样与统筹控制并通过USB接口单元将数据流传输到逻辑分析仪控制模块进行分析与显示;所述逻辑分析仪控制模块包括顺次连接的底层USB驱动模块、接收缓冲队列模块以及数据处理显示模块,所述底层USB驱动模块与USB接口单元相连,实现将采样数据直接上传到电脑/移动设备内存,扩大逻辑分析仪存储深度。

进一步的,所述FPGA单元包括前端采样模块、FIFO缓冲模块以及统筹控制逻辑模块,所述前端采样模块用以对信号并行采样,并经FIFO缓冲模块缓存,所述统筹控制逻辑模块接收USB接口单元下发的命令,将其解析为特定的控制逻辑,实现各模块间的统筹工作。

进一步的,所述USB接口单元采用EZ-USB-FX2/FX3芯片,包括高速转换接口及控制命令处理模块,所述高速转换模块用以将并行数据转换为USB总线上的串行数据。

进一步的,所述USB接口单元通过其可编程的GPIF接口与FPGA单元连接,以实现充分利用USB接口所提供的带宽。

进一步的,所述FIFO缓冲模块采用FPGA内嵌的RAM单元实现,以达到最高效的方式。

进一步的,所述前端采样模块产生的数据带宽小于USB总线有效数据传输带宽,以实现在USB总线不能传输有效数据的时候将前端采样来的数据暂存,待可以传输时再将数据输送到总线上。

进一步的,所述FIFO缓冲模块的容量不超过所述FPGA芯片内嵌的RAM单元的容量,例如可选FIFO缓冲模块的容量为256Kb,以更好的保持数据传输的连续性,即使在有其它设备共享同一USB通道时也不至于使数据传输中断,从而提高设备的适用范围与用户体验。

进一步的,所述逻辑分析仪控制模块还包括与底层USB驱动模块连接的用户控制接口模块,以下发用户的各种控制与设置命令。

本发明另外还提出一种实现逻辑分析仪超大存储深度的方法:包括以下步骤:A、将逻辑分析仪与电脑/移动设备端通过USB总线连接,逻辑分析仪硬件电路对被测信号进行前端采样及预处理后,通过FIFO缓冲模块将采样数据输送到USB接口单元上,电脑/移动设备端逻辑分析仪控制模块接收数据;B、逻辑分析仪控制模块接收数据时,采用队列式缓冲模式,处理过程如下:

(1)开辟4组缓冲区;

(2)缓冲区连接到底层USB驱动模块驱动层接收队列;

(3)判断队列中数据是否完成一次填充,若完成,则执行步骤(4),若否,则继续接收;

(4)对采样数据进行读取,并行执行步骤(5)和步骤(6);

(5)重新连接到队列,循环执行步骤(3)至步骤(5);

(6)通过数据处理显示模块对采样数据进行处理并提供给UI界面显示结果。一方面保证USB设备驱动层总有可用的空间来不停的填充数据(驱动层不受应用层软件延时的影响),从而保证采样数据的传输不会中断,另一方面每当队列中产生一组有效数据后,控制模块可以同时处理该数据,从而控制采样过程的进行。

与现有技术相比,本发明的优点和积极效果在于:

本发明通过对逻辑分析仪的硬件设备及控制软件部分进行设计,使电脑或移动设备的内存可以作为逻辑分析仪的采样存储器来使用,从而实现了远超传统设计所能提供的存储深度,超大的存储深度可以使逻辑分析仪轻松应对大数据量的采集分析工作,为越来越普及的智能设备研发工作提供极大的便利。

附图说明

图1为本发明实施例1所述的系统结构框图;

图2为本发明实施例1所述FIFO缓冲模块原理图;

图3为本发明实施例2所述的逻辑分析仪控制模块处理流程图。

具体实施方式

为了能够更加清楚地理解本发明的上述目的、特征和优点,下面结合附图及实施例对本发明做进一步说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例。

考虑到目前的个人电脑其内存主流存容量已经达到了4GB以上,主流平板与手机的内存容量也超过了2GB,而且这类消费电子设备的更新换代周期很短,其主流内存容量跟随着摩尔定律在快速增加,平均每个18个月就会翻一番,从这个发展的角度来看,其内存容量几乎是无穷的。本发明实现了这样一种构思:使电脑或移动设备的内存作为逻辑分析仪的采样存储器来使用,具体的:

实施例1、参考图1,本实施例提出一种实现逻辑分析仪超大存储深度的系统:包括逻辑分析仪硬件电路及与其通过USB总线连接的电脑/移动设备端逻辑分析仪控制模块;所述逻辑分析仪硬件电路包括前端信号调理网络、FPGA单元以及USB接口单元;前端信号调理网络对外部被测信号进行预处理,FPGA单元对预处理后的信号进行采样与统筹控制并通过USB接口单元将数据流传输到逻辑分析仪控制模块进行分析与显示;所述逻辑分析仪控制模块包括顺次连接的底层USB驱动模块、接收缓冲队列模块以及数据处理显示模块,所述底层USB驱动模块与USB接口单元相连,实现将采样数据直接上传到电脑/移动设备内存,扩大逻辑分析仪存储深度。

为了实现将采样数据直接上传到电脑/移动设备端内存的操作,需要完成以下几个方面的关键设计:

1、硬件电路中FIFO的设计:

所述FPGA单元包括前端采样模块、FIFO缓冲模块以及统筹控制逻辑模块,所述前端采样模块用以对信号并行采样,并经FIFO缓冲模块缓存,所述统筹控制逻辑模块接收USB接口单元下发的命令,将其解析为特定的控制逻辑,实现各模块间的统筹工作。

因为USB总线上的有效数据传输并不是连续不断的,而是分包进行的,且期间还会夹杂一些必要的控制传输包,要保证采样数据连续传输而不中断就需要设计一种FIFO缓冲器,可以在USB总线不能传输有效数据的时候将前端采样来的数据暂存,待可以传输时再将数据输送到总线上,如此只要保证前端采样模块产生的数据带宽小于USB有效数据传输带宽;而FIFO缓冲模块的容量则需满足必要的总线延时,通常只需达到几us即可,所述FIFO缓冲模块的容量以不超过所述FPGA芯片内可用的RAM容量为原则,本实施例将容量定在了256Kbits,是保留了较大的设计裕量的,也可以是其他合理值,这样可以更好的保持数据传输的连续性,即使在有其它设备共享同一USB通道时也不至于使数据传输中断,从而提高设备的适用范围与用户体验。实现FIFO最高效的方式是采用FPGA内嵌的RAM单元,本设计选用了XC3S200A这款芯片,所设计的FIFO部分控制原理参考图2。

2、硬件电路中USB接口单元(本实施例优选USB2.0/3.0接口单元),实现高速串并转换:

FPGA在完成信号的并行采样和缓存后,需要将此并行数据转换为USB总线上的串行数据才能上传到电脑,本实施例中所述USB接口单元采用EZ-USB-FX2/FX3芯片(分别对应于USB2.0/3.0接口),包括高速转换接口及控制命令处理模块,所述高速转换模块用以将并行数据转换为USB总线上的串行数据。并通过其可编程的GPIF接口(即图2中的“GPIF接口单元”)来实现与FPGA的高效连接,从而充分利用USB2.0/3.0接口所提供的带宽。最终反应到用户使用上就是“采样率@通道数”的性能指标(即在一定通道数下可达到的最高采样率),在USB2.0模式下可提供如下性能(以下参数中将通道简写为CH):100M@3CH、50M@6CH、32M@9CH、16M@16CH;在USB3.0模式下可提供如下性能:500M@6CH、400M@8CH、200M@16CH、100M@32CH。

3、硬件电路中的统筹控制逻辑:

FPGA除了提供上述的FIFO和接口设计外,还需要统筹各模块间的工作,逻辑分析仪控制模块还包括与底层USB驱动模块连接的用户控制接口模块,接收USB接口下发的命令,将其解析为特定的控制逻辑,比如采样率、采样深度、通道使能等设置(如图2中的采样分频与故障处理单元等);产生可调整的阈值电压基准;采集各种系统状态上报给电脑等。

实施例2,根据实施例1所述的系统,还提出一种实现逻辑分析仪超大存储深度的方法,逻辑分析仪硬件电路对被测信号进行前端采样及预处理后,通过一级高速FIFO缓冲模块将采样数据输送到USB2.0/3.0接口上,电脑/移动设备端控制模块一方面需要连续不断的读取出该数据流,另一方面需要对数据流进行分析,达到设定条件后停止采样,并显示在UI界面上,控制模块同时还负责接收用户的各种控制与设置命令以完成特定的功能。

具体包括以下步骤:A、将逻辑分析仪与电脑/移动设备端通过USB总线连接,逻辑分析仪硬件电路对被测信号进行前端采样及预处理(比如触发控制、阈值调整等)后,通过一级高速FIFO缓冲模块将采样数据输送到USB2.0/3.0接口上,电脑/移动设备端逻辑分析仪控制模块接收逻辑分析仪上传的数据;B、逻辑分析仪控制模块接收数据时,采用队列式缓冲模式,由于当前的电脑操作系统(包括Windows/Linux/MacOS)都不是真正意义上的实时系统,所以在控制软件层面上的数据传输就难免存在较大的延时,并且数据在读取的过程中还需要进行必要的处理,以控制采样的停止和数据的显示等。

所以逻辑分析仪控制模块在接收逻辑分析仪硬件电路传来的数据时不能采用单一的“读取——处理”模式,而需要采用如图3所示的队列式缓冲模式,处理过程如下:(1)开辟4组缓冲区,例如本实施例优选开辟4组1MB的缓冲区,当然也可以是其他方式,本方案对开辟组数及大小不做限制;(2)缓冲区连接到底层USB驱动模块驱动层接收队列;(3)判断队列中数据是否完成一次填充,若完成,则执行步骤(4),若否,则继续接收;4)对采样数据进行读取,并行执行步骤(5)和步骤(6);(5)重新连接到队列,循环执行步骤(3)至步骤(5);(6)通过数据处理显示模块对采样数据进行处理并提供给UI界面显示结果。一方面保证USB设备驱动层总有可用的空间来不停的填充数据(驱动层不受应用层软件延时的影响),从而保证采样数据的传输不会中断,另一方面每当队列中产生一组有效数据后,控制模块可以同时处理该数据,从而控制采样过程的进行。

本发明通过对分体式(虚拟式)逻辑分析仪创造性的系统设计,通过逻辑分析仪硬件设备+运行于电脑上或移动设备上的软件的方式实现使电脑或移动设备的内存作为逻辑分析仪的采样存储器来使用,从而实现了远超传统设计所能提供的存储深度,目前已经能达到至少百倍的效果,并且在无需对设备做任何升级的情况下使得存储深度同样可以受惠于摩尔定律。

采用本发明实现的逻辑分析仪可以为用户提供超大的存储深度,并且在未来还存在无限升级的可能,伴随着用户将来对其电脑或移动设备的更新换代,逻辑分析仪存储深度也会跟着成倍的增加,这是传统设计的逻辑分析仪所无法比拟的,具有广泛的推广应用价值。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1