- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
改善示波器测试低速串行总线的能力
使用前沿的串行总线和窄总线(如 HDMI 和 SATA)的设计师早就知道, 示波器 是进行一致性测试、容限分析和性能验证的出色工具。设计师进行产品设计时,这些总线及其性能非常重要,他们选择的一致性工具和调试工具可反映出这种重要性。
嵌入式 系统设计师对串行通信持不同态度。尽管一些关键的通信任务中使用高性能总线(如 PCle),但大部分芯片间通信中的嵌入式设计还是使用 CAN、LIN、I2C、SPI、RS-232/UART 和低速 USB 总线。嵌入式系统设计师选择这些工业标准串行总线的原因与 SATA 设计师不同。通常,嵌入式系统设计师构建自己的并行总线,或是使用基于 UART 的定制平台。然而近 10 年来工程师们认识到,与定制标准相比,为汽车电子设备或 计算机 外围设备等领域设计的总线标准具有更稳定的供应链、更好的开发工具、易于集成而且成本更低
对这些总线的测试要求也不尽相同。最重要的要求是总线的稳定性和经过总线的通信量,其次是互操作性和与标准的一致性。我们不想把时间浪费在调试数据总线上,而是想利用总线上的数据来考察设计中的其他元件如何工作。对此,我们将讨论一些技巧,用以改善示波器对低速串行总线的分析能力。这些例子中使用的是 Agilent InfiniiVision 示波器,但大多数技巧也适用于其他制造商生产的示波器。此外,目前使用的示波器可能不需要升级或稍加升级便可适应这些任务。
1. 使用符号解码更深入理解总线通信量
大多数富有经验的工程师都知道,示波器通常是与内部打印机一起出售的。打印机用来建立“条形图”。工程师建立条形图可通过一次长时间缓慢采集,或多次快速采集(纸带是重要的实验室工具)。然后将条形图贴到实验室的墙壁上,之后设计师以手动方式对示波器迹线的含义进行解码。
显然,这个过程十分繁琐而容易出错。另一个问题是这种手动方法难以从结果推导出一个高度抽象的概念。他们必须将波形转化为二进制,然后是数据包,并进一步变为数据包内容,最后是数据包内容的 ASCII 或符号意义。许多工程师仍在使用从此项技术衍生出的其他方法。最好的衍生方法使他们能够观察显示结果,并推断出系统中发生的情况。即便如此,他们也不能一边解释显示结果,一边分析其在系统中的含义。
现代数字示波器可在内部进行这种分析,只需几秒钟的配置,即可查看读/写数据,数据包内容和误差代码。甚至还能在硬件内进行这种分析,因而不会影响示波器的性能。基于软件的解码可能会影响性能。
2. 采用数字通道提高灵活性
对于嵌入式设计,芯片间和系统内通信总线通常只是其中的一小部分,其他组成部分还包括
DAC
(
数模转换
器)、
ADC
(
模数转换
器)、
传感器
、
显示器
、控制环路、
处理器
和机电元件,所有这些组成部分都必须协调一致地工作。
如果示波器只有 2 个或 4 个通道,低速串行总线可能很快就会占用所有调试资源。因此,混合信号示波器能提高分析工具的灵活性。
混合信号示波器(MSO)不仅拥有 模拟 通道,还拥有许多(至少 16 个)数字通道。设计优良的 MSO 能将数字通道与模拟通道保持完美同步,并支持模拟数据和数字数据的无缝交叉触发,而不会因为使用数字通道而导致性能下降。在显示器上同时使用 20 个或更多时间同步通道时,可以灵活分析多模拟事件、数字事件和串行事件之间的相互作用。
嵌入式系统分析的最大好处在于,可以将数字通道分配给串行总线定时和解码,从而让出模拟通道对其他部分进行时间同步分析。可以用模拟通道检验串行总线部分的物理层性能,之后切换到数字通道查看定时和协议层,然后测量事件从传感器到处理器再到输出的延迟时间,或者验证对争用总线资源的多个输入的优先级仲裁。
3. 利用计数器快速表征总线活动
计数器好比了解总线健康状况的听诊器。总线就像人的动脉,错误的数据会阻塞总线,从而限制正确数据的流动。系统就像心脏,可能存在威胁系统完整性的异常现象(如误码)。使用事件计数器可快速检查总线上的通信量的状态。
在以下例子中,我们查看了用于 CAN 总线上通信量的计数器。在分析完100000 个数据包之后,可以看出没有过载帧信号,但大约 2% 的帧信号包含有错误信息。还可以看出,总线利用率约为 24%。这与观察示波器 显示屏 上半部分所预期的利用率一致。还可对特定类型的误码、总线事件或数据值进行触发,通过计数器进行参数测量并作更细致的分析。
采用计数器分析时,解码性能很重要。示波器处理串行迹线的速度越快,就能越快获得有意义的统计结果,这里指的是快速测试,而不是指长时间分析。
如果示波器没有这些计数器,可将外部计数器连接到示波器的触发输出(Trigger Out)端口。虽然无法提供完整的总线性能,但可以了解发生了多少次特定触发事件。 [p]
4. 利用总线特有的触发隔离关键事件
大多数设计师认为,只要有足够多的触发工具就能找出并解决任何问题。串行总线特有的硬件触发非常有用,因为:
首先,触发使调试总线问题变得轻而易举。误码触发能隔离出传输故障事件,也可轻松隔离出帧信号的起始或终止事务,从而可以测量总线延迟时间。其次,对总线协议或数据值触发可轻松调试系统问题。例如,可以指定软件中的十六进制数据值表示错误状态(也许是缓冲器超限或
传感器
偏置值过大)。由于
模拟
信号、数字信号和串行信号呈时间相关关系,因此触发误码会迅速造成问题。最后,硬件触发可改善计数器分析,可以隔离出有问题的具体事件。此外,总线计数器的工作与测量计数器无关。这意味着不仅能跟踪事件的绝对发生次数,还能估计出现次数占全部数据包的百分比。
5. 利用存储器分段查看多个事件的出现
串行总线是“猝发”信号的典型例子。有些周期性活动之后会出现周期性静寂时间。
即使深存储示波器也能在几毫秒之内耗尽采集存储器。所幸许多示波器可以对存储器进行“分段”,即在所关注事件的周围插入固定宽度分段的存储器。这样,就能显著延长在一次信号采集中可以观察的时间。在以下例子中,通过触发含有误码的第一个 500 CAM 帧信号,则可以观察 1 分多钟的时间内所发生的误码,并比较这些事件中的系统行为,以找出共同根源。
即使可以捕捉到所有帧信号,对采集存储器进行分段也会使捕获的时间延长一个占空比的倒数。例如,25% 占空比的总线的捕获时间将延长4倍。
结论
文中描述的方法单独使用十分有用,但是组合使用时效果最好。近10年来,嵌入式设计中采用标准串行总线,从而适应数字示波器更强的分析和调试总线的能力。捕获、分析和显示的改进大大简化了表征和调试所设计的总线和外围元件。
上一篇:示波器使用的一个重要细节
下一篇:关于示波器是否必须要接地线的疑问