基于示波器多重触发功能的串行测量 |
2010年3月4日 13:50 CCTIME飞象网 |
引言 触发是在屏幕上播放稳定的重复波形的关键,同时也为捕获一次性事件提供了一个有效的工具。随着数字示波器的出现,触发功能得到了许多新的扩展。 大多数示波器提供了辅助触发系统或“B”触发器,允许用户定义范围更宽的条件。B触发器等待主(褹)触发发生,然后在越过自己的边沿门限时触发采集。这两者可以结合使用,以设置某些相当复杂的触发条件。例如,A可能在设备时钟输入线路上检测到一个毛刺,如果在输出上遇到上升沿或下降沿,可以触发B。如果没有这种转换,那么毛刺可以忽略。这两套条件结合使用,可以确定毛刺是否会引起不想要的状态变化。 直到最近,B触发功能一直限于边沿检测。但是对于复杂的新信号格式,特别是PCI Express和串行ATA等串行协议中使用的信号格式,需要触发系统的功能与其待处理的信号之间更好地匹配。 这些快速新协议中的错误可能来自多个事件的综合结果,如逻辑状态、偏移、瞬变、上升时间问题等。有时,必需规定非常xx的条件范围,以确定难以捕捉的错误。这要求触发工具系列能够分析更多的条件。可以采用双触发排列来解决这一问题,其中B触发系统与A系统基本上相同。只是在许多情况下,A条件相对简单,而在理想情况下,B触发器应能够评估比较复杂的一套指标,如只在其它逻辑信号处于规定状态时才会有效的事件数量等。但是,相关触发B一直缺乏A触发系统的灵活性。因此大多数示波器仅提供了非常简单的B触发器。 图1 全功能双触发结构 图2 两个触发器捕获偏离的写入脉冲 图3 串行通路偏移超限测量 图4 检测信标宽度超限 让两个触发器共同运行 图1是简化形式的全功能双触发系统。其中位于{zh1}的触发器将帮助示波器捕获有问题的信号,可能发生的条件如下: 是否发生A事件。用户可以规定边沿、削幅脉冲或许多其它条件; 在A事件发生时正确的逻辑状态(从最多两个不同输入中收集)是否生效; 是否满足A触发器和B触发器之间的延迟条件。“延迟”可以用时间或事件数量表示; 是否发生B事件。这可以是建立时间/保持时间超限、削幅脉冲或A触发器使用的同一类型列表中的任意选择; 在B事件发生时正确的逻辑状态(也从最多两个不同输入中收集)是否生效; 在整个过程中任何点上是否发生复位条件。复位将会绕过所有后续步骤,返回开头。 通过以上条件的依次执行明显提高了触发系统的灵活性。在同时考虑这两种事件条件及逻辑判定符时,可能的组合数可以达到几千种。这样,用户获得了一系列编程选择,从简单的单个输入上的边沿门限,到使用两个触发器、逻辑判定及时间或事件数量的复杂公式。 源自电脑编程领域的IF-THEN-ELSE构成了这类触发结构的概念模型。如图1所示,这些语句还包括其它判定符(如A和B之间的定时器/计数器)。不管B事件是否发生,在A事件之后随时都可以发生复位。 使用两个触发器找到一个脉冲 本文通过{zx1}磁盘驱动器设计项目来介绍全面对称的双触发系统。 本系统中,读/写电路中的一个单元设计成在每个有效系统写入启动(WE)周期中执行一串32条写入命令。图2描述了较大的周期时间与导致数据写入的各个脉冲的关系。 |