超越实时嵌入式调试的范围

描述

示波器是嵌入式开发人员最流行和可用的 MCU 调试工具。示波器忠实地捕捉重复的模拟信号以及重复的 MCU I/O 数字信号,但 MCU 的扩展时序和不规则数字信号的能力带来了复杂的时序挑战。当今的 MCU 具有大量引脚、总线和 I/O,需要具有足够内存的高通道数测量系统来进行实时调试。

嵌入式系统测试包括波特率、等待时间和输出电平状态的检查。在实际应用中,中档 MCU 设备具有主同步串行端口 (MSSP) 模块来实现 I 2 C 通信协议。加长的 I 2 C 通信流直接挑战示波器测量活动的能力。

在 I 2 C 协议环境中,有主设备和从设备。重要的协议通信要求是与 SDA 和 SCL 级别相关的 Start、Stop、ACK 和 NACK 信号的出现(图 1)。

python

图 1.典型 I 2 C 从机传输。

对于从机传输,主机想要从从机读取数据并发送开始条件(S)。接收到的地址被加载,从机在第 9 位发送一个 ACK 脉冲。在 ACK 之后,从硬件降低 SCL 引脚,开始时钟延长周期。有了这个延长的时钟信号,主设备无法断言另一个时钟脉冲,直到从设备准备发送数据。发送数据装入从寄存器。

然后,SCL 引脚被释放,8 个数据位在 SCL 输入的下降沿同时移出,确保 SCL 高电平期间 SDA 信号有效。来自主机的 NACK 脉冲锁存于第 9 个 SCL 输入脉冲的上升沿。如果 NACK 为高电平,则数据传输完成。从机空闲并等待下一个起始位出现。如果 SDA 线为低电平(NACK),则必须将下一个发送数据加载到 SSPBUF 寄存器中。

每当 SDA 线被采样为低电平时,就会发生总线冲突,而它正在输出和预期的高电平状态。一旦检测到总线冲突,从机进入空闲状态并等待再次寻址。

当今的嵌入式测试工具

在像上述 I 2 C 环境这样的实时调试环境中,由于主触发需要重复信号,示波器很快就会变得笨拙。在调试工具范围的另一端,有成熟的逻辑分析仪。

逻辑分析仪支持更多通道数,并且由于 PC 技术而价格下降。这也使他们能够与更大的屏幕交互,从而更容易可视化长序列的数字事件。但是,它们以数字形式显示信号,因此仅提供固件如何响应不同输入的间接视图。因此,它们通常更适合较低分辨率的调试任务。

软件仿真是另一种廉价的替代方案,但它的执行速度不如现代 MCU。随着系统复杂性的增加,这个问题只会变得更加复杂。

因此,需要与示波器互补的调试解决方案,以及具有额外实时 MCU 调试功能的工具。

五合一测试:五线工具集

五线工具集通过 高速逻辑传感、分析仪、码型发生器和接口通道来应对这一嵌入式工程挑战。

更简洁地说,五线工具有五个主要组件:

实时逻辑

逻辑分析仪

逻辑源模式生成器

波形发生器

协议交互测试工具

这些与提供五线输出数据的直观视图的免费 PC 软件配对。

LiveLogic工具的操作类似于数字示波器。这个用户友好的工具模拟了一个超便携、轻量级的示波器。该工具有两个使用示波器探头的数字通道(图 2 中的左下角),使用 10X 探头的电压输入范围为 0 至 16V。这两个通道可以以高达每秒 400 兆样本 (Msps) 的速率捕获数字样本,从而呈现 2.5 纳秒 (ns) 的时间分辨率。

LiveLogic 工具可以方便地捕获信号转换。转换之间的等待时间数据只是计算空闲时间和波形的数字电平。该工具在随附的 PC 上提供实时、类似示波器的数字显示(图 3)。

python

图 3. Five Wire 的 LiveLogic 工具结果的 PC 视图

为了对比 LiveLogic 工具,五线逻辑分析仪通过九个通道收集数据(右下方 20 针插座,图 2)。这些通道集成了同时支持多条总线的 10 ns 或 100 Msps 逻辑分析仪。LiveLogic 触发器具有带模式匹配的三级序列。使用此通道宽度,该工具可以捕获整个 MCU 设置。此外,五线装运包括一个 10 线逻辑分析仪探头。

逻辑源模式生成器提供多种输出模式。发生器有 9 个通道,时间分辨率为 10 ns。最大矢量数为 1,020 个矢量,信号持续时间为 30 ns 至 40 ms。三种多种生成模式包括单次、事件发生、连续、自定义和手动。控制命令包括转到、循环、等待事件和停止。

同时,波形发生器允许开发人员设置 MCU 集成 ADC 的幅度 (V) 和波形持续时间。协议交互式测试工具使用支持 SPI 和 I 2 C的 20 引脚总线仿真功能促进 PC 和五线夹具之间的通信。

补充和对比示波器体验

五线工具集旨在作为实时调试任务中示波器的补充而非替代。工具集的某些部分旨在增强嵌入式工程师的“示波器输出”。相反,工具集仅在信号变化时捕获和存储数字交易数据。

及时的事务内存使用

因为测试工具只存储信号转换,所以信号分析所需的时间和事务内存减少了。此功能允许五线平台显示更长、更精确的时间段,仅此一项就使用户远远超出了示波器的功能。由于五线软件套件在 PC 上运行,因此捕获的信号可以显示在多个大屏幕上,以便在实时分析期间增强可视化。

回到前面提到的 I 2 C 通信示例,LiveLogic 工具捕获 I 2 C SDA 和 SCL 线以进行评估,并且可以在较长时间内感测信号(图 4)。

python

图 4.五线 LiveLogic 工具检测 I 2 C 信号。

如图 4 所示,LiveLogic CH1 跟踪 I 2 C SDA 引脚,CH2 跟踪 SCL 引脚。由于图 4 中的信号是二进制的,因此内容很难直观地解码。

请注意,信号出现在大约 1.4588 秒的时间标记处,这远远超出了示波器准确跟踪的能力。与传统的示波器相比,五线工具套件显示这些信号的时间更长,时间精度更精细。

LiveLogic PC 软件可以解码 SPI、I2C、RS232 或 LIN 信号。在图 5 所示的测试中,Analyze Decoder 设置为 I2C。

python

图 5.五线 LiveLogic 工具集设置为 I 2 C 解码模式。

LiveLogic I 2 C 解码模式将 I 2 C 信号解码为 Addr:14,Write (图 6)。从图 6 中我们可以看到,a 的产生表明接收器没有将数据线拉低以确认事务的终止,从而产生了失败的通信事件。

python

图 6. I 2 C 信号的解码验证器件是否处于写通信模式。

五线工具集的精度和性能甚至可以用于调试基于 RTOS 的设计。

实现测试自动化的脚本

五线套件的另一个优点是可以使用类似 C 的脚本语言来自动化测试设置。MBScript为五线工具集中的每个工具使用人类可读的命令来正确配置给定测试的工具,还使用户能够模拟电路或生成具有条件分支和循环的复杂自定义波形。

测试数据同样以人类可读的格式输出,可以在开发团队之间共享。图 7 显示了返回数据数组的 MBScript 命令。

python

图 7.从自定义波形返回数据数组的示例 MBScript 命令。

从理论上讲,MBScript 编程功能允许五线工具集兼作 QA 工具,在各种条件和负载下模拟系统操作。事实上,它已经在现实世界的制造设施中用于这种能力。

清理工作台上的空间

五线工具通过在不增加成本的情况下增强性能,为嵌入式系统测试带来了附加功能。事实上,五线工具套件的价格在低端示波器的范围内,而其功能却远远超过了许多高端解决方案。

因为数据很容易以易于使用、人类可读的数据格式导出到 PC 终端,从而帮助工程师快速捕获波形并分析系统的数字操作。来自测试平台的可靠、准确的测量可以通过使用 MBScript 语言或其他流行的编码范例(如 Python)开发的各种测试脚本运行。

而且,由于 Five Wire 软件套件是免费的,并且可以独立于硬件平台运行,因此整个工程团队可以在他们自己的基于 Windows 的 PC 上分析测试数据。工程和 QA 团队可以共享单个五线工具集的多用途功能,而不是依赖多个单一用途的测试系统。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分