基于示波器多重触发功能的串行测量

发布者:快乐旅人最新更新时间:2008-05-26 来源: 佳工机电网 关键字:捕获  触发器  时钟  偏移  示波器  逻辑  编程 手机看文章 扫描二维码
随时随地手机看文章

  引言

  触发是在屏幕上播放稳定的重复波形的关键,同时也为捕获一次性事件提供了一个有效的工具。随着数字示波器的出现,触发功能得到了许多新的扩展。

  大多数示波器提供了辅助触发系统或“B”触发器,允许用户定义范围更宽的条件。B触发器等待主(褹)触发发生,然后在越过自己的边沿门限时触发采集。这两者可以结合使用,以设置某些相当复杂的触发条件。例如,A可能在设备时钟输入线路上检测到一个毛刺,如果在输出上遇到上升沿或下降沿,可以触发B。如果没有这种转换,那么毛刺可以忽略。这两套条件结合使用,可以确定毛刺是否会引起不想要的状态变化。

  直到最近,B触发功能一直限于边沿检测。但是对于复杂的新信号格式,特别是PCI Express和串行ATA等串行协议中使用的信号格式,需要触发系统的功能与其待处理的信号之间更好地匹配。

  这些快速新协议中的错误可能来自多个事件的综合结果,如逻辑状态、偏移、瞬变、上升时间问题等。有时,必需规定非常精确的条件范围,以确定难以捕捉的错误。这要求触发工具系列能够分析更多的条件。可以采用双触发排列来解决这一问题,其中B触发系统与A系统基本上相同。只是在许多情况下,A条件相对简单,而在理想情况下,B触发器应能够评估比较复杂的一套指标,如只在其它逻辑信号处于规定状态时才会有效的事件数量等。但是,相关触发B一直缺乏A触发系统的灵活性。因此大多数示波器仅提供了非常简单的B触发器。

  让两个触发器共同运行

  图1是简化形式的全功能双触发系统。



               图1 全功能双触发结构

  其中位于最后的触发器将帮助示波器捕获有问题的信号,可能发生的条件如下:

是否发生A事件。用户可以规定边沿、削幅脉冲或许多其它条件;
在A事件发生时正确的逻辑状态(从最多两个不同输入中收集)是否生效;
是否满足A触发器和B触发器之间的延迟条件。“延迟”可以用时间或事件数量表示;
是否发生B事件。这可以是建立时间/保持时间超限、削幅脉冲或A触发器使用的同一类型列表中的任意选择;

  在B事件发生时正确的逻辑状态(也从最多两个不同输入中收集)是否生效;

  在整个过程中任何点上是否发生复位条件。复位将会绕过所有后续步骤,返回开头。

  通过以上条件的依次执行明显提高了触发系统的灵活性。在同时考虑这两种事件条件及逻辑判定符时,可能的组合数可以达到几千种。这样,用户获得了一系列编程选择,从简单的单个输入上的边沿门限,到使用两个触发器、逻辑判定及时间或事件数量的复杂公式。

  源自电脑编程领域的IF-THEN-ELSE构成了这类触发结构的概念模型。如图1所示,这些语句还包括其它判定符(如A和B之间的定时器/计数器)。不管B事件是否发生,在A事件之后随时都可以发生复位。

  使用两个触发器找到一个脉冲

  本文通过最新磁盘驱动器设计项目来介绍全面对称的双触发系统。

  本系统中,读/写电路中的一个单元设计成在每个有效系统写入启动(WE)周期中执行一串32条写入命令。图2描述了较大的周期时间与导致数据写入的各个脉冲的关系。



             图2 两个触发器捕获偏离的写入脉冲

  在这一新兴设计中,由于某些周期中发生了额外的脉冲,导致间歇性错误。尽管没有任何方式预测什么时候会发生第33个脉冲,但通过某种手段捕获不同的33个脉冲的顺序可以更简便地识别可能相关的其它系统事件。

  一种解决方案是使用传统边沿触发器采集多次重复的WE周期及相关的写入脉冲顺序,检测每个WE周期的前沿,然后手动滚动通过数据,找到有问题的周期。这种方法耗时长,而且不能保证在示波器波形的存储容量范围内错误脉冲只出现一次。工程师更希望的解决方案是只在发生33个脉冲周期时触发采集。其好处在于,感兴趣的周期将自动显示在屏幕上,而不需麻烦的手动搜索。当然还会存储触发事件前和触发事件后的相关数据,但是触发发生的简单事实证明了存在33个脉冲周期。

  这也正是双触发系统必不可少的地方。在这种情况下,磁盘驱动器设计人员需要设置一个相关触发器,其中WE信号的前沿(正向沿)作为A触发事件,而后沿则作为复位条件。

  在这一过程中,A事件启动延迟计数器,计算脉冲数量。一旦产生了32个脉冲,它会使B触发器监测第33个脉冲。当检测到特定脉宽时,B系统便设成触发采集,这时,示波器触发并记录数据。如果没有第33个脉冲,复位条件会重新准备A触发器,再次启动整个流程。

  如果B触发器只限于边沿检测,那么这种方法是不可能实现的。在这一过程中,不应忽视复位功能值,因为它决定着如果未能发生相应的A事件和B事件组合,示波器及其用户不会一直等下去。

  反常的第33个脉冲是电路中其它地方逻辑设计错误的结果。由于可靠的偏离脉冲检测方法,设计人员能够使用逻辑判定,进一步缩小触发条件,进而找到故障所在。

  检测通路间偏移

  许多串行通信技术开始时采用单通道串行传输结构,后来又演变成增加多条同步传输通路,以提供更高的数据速率。这些通路并不以并行总线的方式同步,因为数据将在目的设备中重新对准。但是,通过串行链路传送的相关数据分组之间允许的延迟或偏移有限定极限,不能遵守这一极限称为“通路超限”。

  在最基本的形式下,超限测量由其中一条数据流上触发的一个字符与相邻通路中的相对数据偏移组成。但偏移可能会随着时间变化,在某个时间点位于容限范围内的通路在另一个时间点可能会越过边界,所以关键是长期内的偏移行为。

  全功能双触发系统的示波器为监测偏移变化提供了一个强大的工具。它可以检测任何时间内任意两条通路之间的时间偏移,可以是几ns,也可以是几天。同时还可以在显示屏上捕获超出偏移时间范围的事件,并使用仪器的采集计数器计算事件的数量。



                图3 串行通路偏移超限测量

  图3是对落入8 ns时间窗口内任何地方的偏移测量进行合格/不合格测试的实例。设置如下:

  A事件是通路0上的逗号字符。由于它具有可预测的脉宽,因此可以使用脉宽触发格式检测到逗号。

  B事件是通路1中的逗号字符,通过在B系统中定义脉宽触发器捕获。

  A触发器和B触发器之间的程控延迟设为16.8 ns,这是被测设备的技术指标。也既是窗口的“早期”边界。

  复位时间值设为24.8 ns,这是总线标准允许的容限,既是窗口的另一条边界。

  在这种情况下,如果检测到A事件,那么在通路1的事件偏移落在16.8 ns和24.8 ns之间时将触发B触发器。如果在24.8 ns极限到期前没有检测到任何B事件,那么仪器将重新准备A触发器,开始查找新的周期。在图3中,通过采集发现两条通路之间的偏移是19.8 ns。

  监测信标

  许多串行通信设备通过传输由专门分组包的包头和可变长度数据块组成的“信标”信号,来表明其存在于通信信道上。有时这些设备会在错误状态下开机,并会传送一个信标,其中包含与设备状态有关的额外信息,这时可能会导致信标长于正常时长。而信标信号的最大长度是大多数设备指标的组成部分,因此必须检查任何超限特点。具有全功能A触发系统和B触发系统的示波器可以解决这种测量问题。图4是检测到信标宽度超限时采集设置的屏幕图。



               图4 检测信标宽度超限

  A事件触发器设成检测信标信号包头分组中的逗号字符 (K28.5,8b/10b格式)。为此,要使用脉宽触发格式。有效的A事件定义为由逗号字符中五个二进制1或0组成的总脉宽。

  在“正确”信标信号的最大宽度上设置A-B的延迟时间。B触发器直到延迟已过时才开始评估其条件,这时信标应该空闲。

  B事件触发器设置为超时。在触发系统的语言中,也就是定义为没有发生转换的一段时间,换句话说是没有信号。如果在应该为“无”时检测到信标活动,B触发器将会被触发。

  复位条件也用时间表示。它定义了测量感兴趣的周期时的结束时间。设为3.0 ms,其主要作用是让A触发器准备另一次采集。

  在上面汇总的触发条件下,示波器将很容易地检测到信标宽度错误,进而揭示出设计中的问题。

  结语

  以上应用实例依赖两个强健的对称触发系统并排工作。这些实例说明了通过灵活的两级触发系统怎样观察在当前快速数字设备中产生信号和错误的复杂相关性。带有对称A触发和B触发的现代数字示波器为迎接这些棘手的测量挑战及其它问题提供了理想的手段。

关键字:捕获  触发器  时钟  偏移  示波器  逻辑  编程 引用地址:基于示波器多重触发功能的串行测量

上一篇:基于数字示波器的高精度抖动测试
下一篇:构成信号发生器的DDS和变换器

推荐阅读最新更新时间:2024-03-30 22:06

s3c2440的LED点灯裸机汇编程
1.s3c2440裸机LED点灯代码(汇编代码) .text .global _start _start: LDR R0,=0x56000010 @ R0设为GPBCON寄存器。此寄存器 @ 用于选择端口B各引脚的功能: @ 是输出、是输入、还是其他 MOV R1,#0x00000400 STR R1, @ 设置GPB5为输出口, 位 =0b01 LDR R0,=0x56000014 @ R0设为GPBDAT寄存器。此寄存器
[单片机]
LOTO 示波器软件功能演示——PC缓存功能
PC缓存功能能方便用户浏览历史缓存图像,方便用户观察历史图形的变化趋势,便于分析图像。使用loto示波器的上位机软件,我们看到界面如下图所示 红色区域是缓冲区,白色方框内的是所选中的,显示在整个屏幕的区域。PC缓存的设置开关如图 可以在这里打开和关闭缓存功能,默认时缓存10个帧的数据,如果要改缓存的帧数,可以在菜单栏-高级-设置缓存的帧数,如下图所示: 缓存过后 我们可以在缓存区查看历史缓存,也可以选中它把它放到整个屏幕上。当缓存达到极限后,它会缓存下一帧并替代最早缓存的那帧。 注意它与录制文件的功能不同。它主要是用在平时观察波形的时候,当你发现波形异常了,但是因为速度太快你还没看清,它就闪过了,但是你没有打开录制
[测试测量]
LOTO <font color='red'>示波器</font>软件功能演示——PC缓存功能
详谈如何有效精确测量电源纹波
精确地测量电源纹波本身就是一门艺术。在图6.1所示的示例中,一名初级工程师完全错误地使用了一台示波器。他的第一个错误是使用了一支带长接地引线的示波器探针;第二个错误则是将探针形成的环路和接地引线均置于电源变压器和开关元件附近;最后一个错误是允许示波器探针和输出电容之间存在多余电感。该问题在纹波波形中表现为高频拾取。在电源中,存在大量可以很轻松地与探针耦合的高速、大信号电压和电流波形,其中包括耦合自电源变压器的磁场,耦合自开关节点的电场,以及由变压器互绕电容产生的共模电流。 利用正确的测量方法可以大大地改善测得纹波结果。首先,通常使用带宽限制来规定纹波,以防止拾取并非真正存在的高频噪声。我们应该为用于测量的示波器设定正确的带宽限
[测试测量]
Matlab与数字示波器的通信
    摘要: Windows环境下Matlab与TDS系列数字示波器的通信过程,给出了相关的通信程序,并在Matlab中对示波器读取的波形数据进行了频域处理。从而表明它们之间的通信在数字信号处理方面具有重要的实际意义。     关键词: Matlab 串行通信 示波器 数字信号处理 Tektronix公司的TDS系列数字实时示波器在国内已经得到广泛的应用,与其配套的扩展模块TDS2CM和TDS2MM模块具有与外部设备双向通讯的能力,可直接与打印机、微机连接,使波形的存储打印等工作变得十分方面,其中TDS2MM还具有FFT功能,可以对波形进行实时的频谱分析。同机配送的Wavestar软件提供了PC机与示波器双向
[应用]
示波器的使用方法及注意事项
示波器在电测量仪器的使用中非常普遍。示波器可以用来观察各种电信号随时间变化的波形曲线。在此基础上,可以用示波器测量电压、时间、频率、相位差、调幅等电参数。示波器虽然种类繁多,但使用方法却大同小异。下面小编就来介绍用示波器观察电信号波形的使用步骤和注意事项。 一、示波器的使用方法步骤 1.荧光屏 它是示波管的显示部分。屏幕上的水平和垂直方向有几条刻度线,表示信号波形的电压和时间的关系。将被测信号在屏幕上所占的网格数乘以一个合适的比例常数(V/DIV,TIME/DIV)即可得到电压值和时间值。 2.示波管和电源系统 1)电源)-示波器的主电源开关。按下此开关时,电源指示灯亮起,表示电源已接通。 2)强度)-旋转该旋钮改变光点和扫描
[测试测量]
提升示波器波形质量,要靠OFF/ENVELOPE/AVERAGE这三种算法?
提到波形算法,容易想到示波器里数学运算功能“math”可以实现几十种的算法,完全满足应用需要,其中有个特色算法就是实时的FFT算法,可以实时显示频谱,实现时域和频域联调的功能。该文谈的算法主要针对测试波形做相应的算法,提升波形质量,分为三种:OFF,ENVELOPE,AVERAGE。 几个概念 为了更直观的说明波形算法这个概念,首先贴出图1,从图中可以看到在数据采集通道中,内插模式、抽取模式以及波形算法是在同一数据处理通道上,从ADC采集的数据经过内插模式或者抽取模式后,你可以根据测试需要选择合适的波形算法对多次采集的波形进行算法处理,内插模式和抽取模式可以与波形算法自由组合,选择比较灵活。本篇以4种抽取模式与3种波形算法的组
[测试测量]
提升<font color='red'>示波器</font>波形质量,要靠OFF/ENVELOPE/AVERAGE这三种算法?
FPGA使虚拟仪器技术渗透到设计领域
  众所周知,虚拟仪器技术是根据用户的需求由软件定义通用测试硬件功能的系统。   通过将可重复配置的硬件应用到一个虚拟仪器系统,工程师可以使用软件来开发算法并把它们应用到一个嵌入式芯片,从而把虚拟仪器软件的可配置能力扩展至硬件。   以前只有那些熟悉底层编程语言如VHDL的硬件设计人员才能利用FPGA技术。然而,现在工程师们已可以用LabVIEW FPGA(NI公司开发的用于现场可编程门阵列芯片的图形化开发环境)来开发出定制的控制算法并把它下载到FPGA芯片上。LabVIEW FPGA是一种图形化的编程环境,通过LabView FPGA,用户可以在测试的过程中很容易地对FPGA进行配置,系统将其自动转化为VHDL语言,下载到FP
[测试测量]
如何使用Arduino制作简单的示波器
步骤1:所需的零件和工具 Arduino Uno [Banggood] Arduino IDE 步骤2:过程 在此处下载代码 1:打开Arduino IDE并打开代码,然后上传到arduino开发板。 2:从下载的文件中打开串行示波器文件 3:将波特率设置为115200。将串行端口设置为arduino板连接的端口。 4:单击示波器按钮,然后选择通道。一次您可以在一个窗口中看到3个通道。 5:现在这里是探头连接,arduino板的每个模拟引脚都可以用作通道。要在窗口中激活多个通道,必须在终端中输入通道号。
[测试测量]
如何使用Arduino制作简单的<font color='red'>示波器</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved