首页> 中国专利> 一种多通道深存储逻辑分析仪显示刷新率的提高方法

一种多通道深存储逻辑分析仪显示刷新率的提高方法

摘要

本发明公开了一种多通道深存储逻辑分析仪显示刷新率的提高方法,针对传输和数据采集的瓶颈,通过选取用户感兴趣(需要)的总线以及相应的通道,读取硬件采集卡存储器中这些通道位于显示区域的数据;即只读取硬件存储器中部分数据,这样降低了数据传输量,减小了数据传输所需要的时间。此外,根据分段满标志启动数据读取,这样不必总是等待硬件存储器给出满标志才开始读取数据,降低了数据采集所需要的时间。

著录项

  • 公开/公告号CN105204799A

    专利类型发明专利

  • 公开/公告日2015-12-30

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201510506094.4

  • 申请日2015-08-18

  • 分类号G06F3/14(20060101);

  • 代理机构成都行之专利代理事务所(普通合伙);

  • 代理人温利平

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2023-12-18 13:14:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-02

    授权

    授权

  • 2016-01-27

    实质审查的生效 IPC(主分类):G06F3/14 申请日:20150818

    实质审查的生效

  • 2015-12-30

    公开

    公开

说明书

技术领域

本发明属于数据域测试技术领域,更为具体地讲,涉及一种多通道深存储 逻辑分析仪显示刷新率的提高方法。

背景技术

多通道深存储逻辑分析仪已成为逻辑分析仪设计的主导趋势。通道数越多, 可以同时测量的信号就越多。如果需要不间断的捕捉数据流,则要求逻辑分析 仪有足够大的存储器以便记录整个事件。因为存储深度=采样时间×采样分辨 率,这意味着在保证采样分辨率的前提下,大的存储深度直接提高了单次采样 时间,即能观察分析更多的不间断波形数据;而在保证采样时间的条件下,则 可以提高采样频率,观察到更真实的信号。

多通道深存储逻辑分析仪的硬件平台特征是具有大容量存储器,而如果将 一次采集过程完成后的存储器所有数据传输到上位机进行分析和显示,由于数 据量很大导致传输过程较长,会直接降低逻辑分析仪(波形或列表)显示的刷 新率。

传统解决数据传输时间过长的方法有两个:一是采用更高速率的总线接口 和数据传输方式,如采用传输速率较高的PCIe总线连接主机和数据采集板,采 用DMA读数方式代替普通的IO读数方式等。二是将数据进行压缩后再传输。 第一种方法受限于平台最终采取的总线和接口方式速率,而第二种方式受限于 数据的压缩率以及数据的压缩和解压本身要额外耗费的时间。

发明内容

本发明的目的在于克服现有技术的不足,提供一种多通道深存储逻辑分析 仪显示刷新率的提高方法,通过进一步减少数据传输时间,提高显示刷新率。

为实现上述发明目的,本发明多通道深存储逻辑分析仪显示刷新率的提高 方法,其特征在于,包括以下步骤:

(1)、用户选择自己感兴趣的总线及相应的通道;

(2)、读取硬件采集卡存储器数据:

2.1)、计算出当前显示(位于波形显示区)的数据在存储器的位置;

2.2)、根据用户选择的总线及相应的通道,计算出所有显示通道;

2.3)、对于每一显示通道,首先根据通道索引值计算出所要读取通道 的硬件端口地址,然后,根据端口地址和显示数据在存储器的位置读取硬 件采集卡存储器数据;

(3)、对读取的硬件采集卡存储器数据进行传输、处理并显示波形。

此外,作为进一步的改进,对硬件采集卡存储器设置分段满标志,根据分 段满标志启动数据读取。

本发明的目的是这样实现的。

针对传输和数据采集的瓶颈,本发明提供了一种多通道深存储逻辑分析仪 显示刷新率的提高方法,通过选取用户感兴趣(需要)的总线以及相应的通道, 读取硬件采集卡存储器中这些通道位于显示区域的数据;即只读取硬件存储器 中部分数据,这样降低了数据传输量,减小了数据传输所需要的时间。此外, 根据分段满标志启动数据读取,这样不必总是等待硬件存储器给出满标志才开 始读取数据,降低了数据采集所需要的时间。

附图说明

图1是逻辑分析仪的一种硬件设计框图;

图2是逻辑分析仪的整体系统软件流程图;

图3是逻辑分析仪波形分析用户界面;

图4是添加总线及总线成员程序流程图;

图5是删除总线和删除总线成员的流程图;

图6是本发明中读取硬件采集卡存储器数据流程图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员 更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和 设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

在本实施例中,本发明多通道深存储逻辑分析仪是一台以PC(个人计算机) 为控制平台的虚拟逻辑分析仪,通道数是132(128个数据通道、4个时钟通道), 最大定时分析速率是4GSa/s,最大状态时钟速率是1.65GSa/s,最大存储深度是 128Mb/通道。

逻辑分析仪的硬件设计框图如图1所示。被测信号经过有源探头,通过与 设定的门限电平进行比较产生数字信号,数字信号再分别经过采样电路和电平 转换电路处理,最后进入FPGA。为了保证电平匹配,采样电路和FPGA之间加 入电平转换网络。

在FPGA中进行一定的数据处理后存入大容量DDR2存储器。FPGA内部 逻辑电路主要包括接口译码模块、时钟配置模块、DAC配置模块、触发模块、 主控模块以及毛刺数据检测模块。接口译码模块负责FPGA与计算机之间通信, 时钟配置模块完成外部锁相环的芯片参数配置,实现采样电路不同采样率的设 置,DAC配置模块完成探头门限电平的设置,触发模块完成逻辑分析仪各类触 发功能,如边沿触发、脉宽触发等。主控模块主要配合触发电路来实现数据采 集与存储控制。毛刺数据检测模块是逻辑分析仪工作在毛刺采样模式时实现对 信号中毛刺数据的检测的电路模块。

在本实施例中,多通道深存储逻辑分析仪采用Windows操作系统作为软件 平台,应用程序界面是基于VC6.0编制的多文档程序。总体软件可分为三个层 次,即:底层的硬件控制层、中间的仪器驱动器层以及顶层的用户应用层。

图2是逻辑分析仪的整体系统软件流程图。在本实施例中,从图2中可以 看出,人机交互界面程序是整个系统软件的入口点,逻辑分析仪的参数通过用 户设置界面来实现,逻辑分析仪器采集数据在界面显示区以波形或列表形式显 示出来,在进行协议分析的时候还可以用其他直观的方式显示。

图3是一个逻辑分析仪启动后呈现的波形分析用户界面。在本实施例中, 如图3所示,波形分析用户界面顶部为工具、菜单及简单的状态显示栏。菜单 和工具快捷键作用是打开各个仪器参数设置界面以及打开波形或/和列表显示界 面。波形显示区左边标识了被观察的通道和由选定通道组成的总线。在本实施 例中,如图3所示,显示区域包括名称为“A1”、“A”、“B”的三组总线,每组 总线可展开观察其通道成员,如总线A1由通道A10、A11、A14、A17组成。 同一通道可以是多个总线的成员,如图3中通道A11既是总线A1又是总线A 的成员。整个波形显示区底色为黑色,被白色虚线将其划分为多个小格,每一 个小格具有50x50个显示器像素。界面最大化的情况下可见波形显示区可被分 为横向18小格纵向14个小格。纵向一个小格显示一个通道或一组总线的数据 信息。横向从左至右显示的是依照时间先后顺序的数据值,用伪方波表示“0” 和“1”。

根据人眼的分辨能力,屏幕上波形的刷新率为35帧/秒~50帧/秒比较合适。 假设要将刷新率为发明前的不足35帧/秒提高到50帧/秒,从图2的整体系统软 件流程图可看出,那在20ms内仪器必须要完成单次数据采集、传输、处理和显 示的工作。数据处理和显示的软件算法既定的情况下,提高波形或列表显示刷 新率主要需要降低数据采集和传输的时间。本发明从启动采集到硬件存储器满 给出标识的过程其花费时间为存储深度与采样率比值,在用户设定仪器参数后 存储深度与采样率均是一个固定值,而数据传输的速度主要也由总线速度和总 线读数方式决定了。针对数据传输和数据采集的速度瓶颈,本发明提出了一种 多通道深存储逻辑分析仪显示刷新率的提高方法,从以下两方面提高显示刷新 率:

(1)、对传输的数据进行选择即选择用户自己感兴趣(所需要观察)的总 线及相应通道,以及位于波形显示区的数据进行传输,只读取硬件采集卡存储 器中部分数据,在选择读取数据情况下实现用户无失真地观察被测数据,降低 数据传输所需要的时间;

(2)、对硬件存储器设置分段满标志根据标志启动数据读取,不必总是等 待硬件存储器给出满标志才开始读取数据,降低数据采集所需要的时间。

方法(2)和方法(1)情况下用户程序均只能读取存储器的部分数据。

如图3所示,从波形显示区可看出,每一帧用户能观察到的数据,纵向最 多只能是14个总线和/或通道的数据,横向最多能观察到900个采样点的数据。 用户通过滚动垂直滚动条,可显示其他总线/通道的数据;通过滚动水平滚动条, 可以显示存放在硬件存储器不同位置的数据。所以显示每帧数据之前只需要读 波形显示中的总线/通道,在波形显示区观察到的对应特定时间段的采集数据。

用户设置时,选择自己感兴趣的总线及相应的通道进行观察,波形显示区 包括多组总线信息,如图3所示,包括3组总线。具体实施时,将波形显示区 的所有总线特征抽象出来,用LAALLBUSINFO结构体表示:

上述结构体描述的信息包括:波形显示区(需要观察)的所有总线(以总 线结构体数组表示)、波形显示区的总线个数、波形显示区包含的所有通道、当 前显示通道在硬件全部128个通道中的位置索引。

在本实施例中,描述波形显示区包含的所有通道channelSel用到了一种特殊 的数据结构bitset类。bitset类是二进制位的有序集,每个位可能包含的是0或1 的值,有序集初始化为全0,二进制位的个数可由程序设计者通过<>中的数字定 义,如bitset<128>表示位数宽度为128的二进制位集合,逻辑分析仪可用的数 据通道数为128个,如果将所有通道用0~127的值分别表示仪器通道索引值, 则bitset<128>类的实例channelSel的值则可以表示出当前波形显示区所包含的 所有通道:假设某通道出现在显示区,该通道在128通道中的索引值n在用户 设置显示的时候被记录下来,对应的channelSel的第n位被置1。有可能存在有 通道出现在显示区不同的总线中,被多次显示,记录的时候多次将其对应位赋 值1的结果是该位始终为1,也就是说该通道被纪录但仅被记录一次,不会因为 重复引起错误情况。

描述波形显示区所有总线信息结构体的第一项busInfo是多个总线的结构体 数组,其数据类型是自定义的结构体LABUSINFO,每个总线的特征被概括进结 构体LABUSINFO中:

抽象出来的总线信息包括:总线名称、总线成员即总线包含的通道和成员 个数。如果观测的是单通道数据则可将其看作成员个数为1的总线。而总线成 员也是用bitset类的一个实例bitBusMember表示:该总线成员包含的通道索引 值对应的bitset类实例的位为1其他位为0。

用户设置总线的时候就可以方便地添加总线和总线成员。其程序流程如图 4:首先选择需要添加的总线,判断是否是新总线?如果是,则记录该总线(添 加的总线)名称,并将该总线添加到总线数组,然后更新该总线成员类信息; 如果不是,则直接更新该总线成员类信息。

删除总线和删除总线成员的流程如图5:首先选择要删除的总线或/和总线 成员;对于总线的删除,直接删除选定的总线及其成员;对于总线成员的删除, 则需要判断被删除总线成员的所属总线是否存在其他成员,如果没有,则删除 该所属总线,然后更新当前总线成员类信息,如果有,则直接更新当前总线成 员类信息。

在用户选择好自己感兴趣(需要观察)的总线及相应的通道后,进行读取 硬件采集卡存储器数据的操作,其流程如图6所示:

1、计算出当前显示(位于波形显示区)的数据在存储器的位置;

2、根据用户选择的总线及相应的通道,计算出当前所有显示通道;

3、是否遍历完所有显示通道,如果不是,首先根据通道索引值计算出所要 读取通道的硬件端口地址,然后,根据端口地址和显示数据在存储器的位置读 取硬件采集卡存储器数据,如果是,则结束。

因为需要依次读取单个通道的数据,而单个通道数据只存在0/1两种取值, 在本实施例中,读取数据用全局变量g_pHWData[]数组表示,g_pHWData数据 类型不用标准C语言现成的变量类型如int、float或char而设为bitset<1>,即位 宽为1的二进制,这样即可将读回来的数据按位存放,节约了存储空间和传输 速度。g_pHWData[]数组的数据个数为(显示通道数目×显示采样点个数),在 显示屏幕最大化情况下纵向最多可显示14个通道,横向最多可显示900个像素 点,所以每次送显前只需最多从硬件采集卡存储器向主机传输14×900=12600 个二进制数据,如果换算成32位的数据类型int则只需要394个变量则可表示 出一次显示所需要的采集数据量。

上述描述是完成单次波形显示的情况,在逻辑分析仪实际连续工作中还需 要实现以下技术内容:

(1)、用户滚动水平滚动条以观察新的时间段数据时,能够实现数据的快 速切换;

(2)、用户滚动垂直滚动条更新观察的通道时,也能够快速的刷新显示的 波形数据;

(3)、用户对显示波形进行压缩和展宽能够实现数据抽点插值算法的正确 变换。

在本实施例中,在用户移动水平滚动条的时候,根据滑块在水平滚动条中 所处的位置重新计算滚动后所需要的显示数据在硬件存储器中的新位置,硬件 采集卡存储器的数据是依时间顺序先后存放,滚动水平滚动条即可实现对不同 时间段数据的浏览。

在滚动垂直滚动条时,波形显示区的总线和/或总线成员发生变化,记录显 示总线组信息的LAALLBUSINFO结构体发生变化,则运用图5所示的流程删 除移出屏幕的总线和/或总线成员,用图4所示的流程来增加移入屏幕的总线和/ 或总线成员,完成对LAALLBUSINFO结构体的数据更新。调用读取数据函数, 根据更新后的LAALLBUSINFO结构体的数据计算出当前所有显示通道的索引 值,完成新的采集和显示。

在对数据进行压缩/展宽的处理中,记录当前压缩/展宽倍数,调用读取数据 函数时,除了需要根据水平滚动条重新计算读取数据当前在硬件存储器中所处 的位置外,还需要根据压缩/展宽比重新计算所要读取的硬件端口和读取的数据 个数等。假设之前的压缩展宽比为1,即一个采样点对应一个像素点,用户展宽 后压缩展宽比为2,一个采样点对应二个像素点,则只需要读取之前一半的硬件 存储数据。如果用户压缩波形将压缩展宽比变为0.1即10个采样点对应一个像 素点,此时虽然可以采用每10个点抽取1个数据的方法,但此方法不能充分显 示深存储的优点,我们实际采样的方法是用2位二进制表示每通道需要读取的 数据,如果相邻的10个点均为0则纪录为1个00,如果相邻的10个点均为1 则纪录为01,而如果相邻的10个点既有0又有1则纪录为10,00在屏幕显示 为低,01显示为高,如果为10则波形显示时此位置用一根竖线表示。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域 的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对 本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定 的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发 明创造均在保护之列。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号