0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Mike Hagen 2022-06-30 10:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

示波器是嵌入式开发人员最流行和可用的 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)。

pYYBAGK9DtOAYzvsAAFI3zWZMi0294.png

图 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)。

poYBAGK9DtyAfpk6AAK33SXynYw967.png

图 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)。

pYYBAGK9DuWAVaA6AAHlo7L7ANo142.png

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

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

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

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

poYBAGK9DvSATjDsAAJ3tPt3Lb0933.png

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

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

pYYBAGK9DvyAe3syAAMFNcKUy60879.png

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

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

实现测试自动化的脚本

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

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

poYBAGK9DwWAFB6IAAKX0ZhzcQQ401.png

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

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

清理工作台上的空间

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

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

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

审核编辑:郭婷

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

    关注

    4

    文章

    3697

    浏览量

    93236
  • RTOS
    +关注

    关注

    25

    文章

    862

    浏览量

    122613
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89588
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32嵌入式软件开发的必备知识

    设计的原则和方法,能够设计出高效、可维护的软件系统。 了解嵌入式系统的实时性要求,能够设计出满足实时性要求的软件系统。 8、 测试与验证 掌握单元测试、集成测试和系统测试的方法和技术,能够对软件进行
    发表于 11-28 07:48

    用普源MSO5000系列混合信号示波器高效调试嵌入式系统

    技巧。   一、多合一仪器:简化调试流程 MSO5000集示波器、逻辑分析仪、频谱分析仪等7种仪器于一体,避免了频繁切换设备的麻烦。例如,调试涉及I²C、SPI等协议的嵌入式系统时,可直接调用协议分析仪功能,
    的头像 发表于 11-13 11:57 97次阅读
    用普源MSO5000系列混合信号示波器高效<b class='flag-5'>调试</b><b class='flag-5'>嵌入式</b>系统

    嵌入式开发的关键点介绍

    嵌入式开发的关键点: 1. 硬件限制: 嵌入式系统通常具有严格的硬件限制,例如处理器速度、内存和存储容量等。因此,嵌入式开发需要考虑这些限制,并编写高效的代码以确保系统的可靠性和性能。 2.
    发表于 11-13 08:12

    嵌入式实时操作系统的特点

    实时嵌入式操作系统(Real-Time Embedded Operating System)是专门设计用于嵌入式系统的实时操作系统。嵌入式
    发表于 11-13 06:30

    用是德MSO-X 3024T高效调试嵌入式系统的实战指南

    嵌入式系统开发中,精准调试是攻克技术难题的关键。是德科技MSO-X 3024T示波器凭借其创新的触控交互与多功能集成设计,为嵌入式系统调试提供了全新解决方案,以下是基于该设备的
    的头像 发表于 10-17 11:51 176次阅读
    用是德MSO-X 3024T高效<b class='flag-5'>调试</b><b class='flag-5'>嵌入式</b>系统的实战指南

    嵌入式达到什么水平才能就业?

    :包括GPIO、定时器、中断、ADC 等外设的配置与调试,能实现如温湿度采集、电机控制等功能掌握嵌入式 Linux 驱动开发基础:能编写简单字符设备驱动,实现设备的初始化、读写操作,会用内核调试
    发表于 09-15 10:20

    入行嵌入式应该怎么准备?

    架构、总线协议和存储器管理等概念的理解也是必不可少的。 三、操作系统嵌入式系统通常需要运行一个实时操作系统(RTOS)或者一个精简版的操作系统。熟悉RTOS的概念和使用方法,能够编写多任务和实时
    发表于 08-06 10:34

    泰克示波器 MSO58 混合信号示波器在嵌入式系统调试中的核心技巧

    嵌入式系统的开发与调试中,泰克示波器 MSO58 混合信号示波器凭借其强大的功能和灵活的特性,成为工程师不可或缺的调试利器。掌握其核心调试技巧,能够显著提升
    的头像 发表于 07-01 16:28 424次阅读
    泰克示波器 MSO58 混合信号示波器在<b class='flag-5'>嵌入式</b>系统<b class='flag-5'>调试</b>中的核心技巧

    普源示波器MSO5074在嵌入式系统联合调试中的高效实践

    一、引言:嵌入式系统调试的挑战与示波器的必要性 嵌入式系统作为核心控制单元广泛应用于汽车、医疗设备、工业自动化等领域,其开发涉及硬件设计、软件编程及实时调试等多个环节。传统的
    的头像 发表于 06-20 13:45 465次阅读
    普源示波器MSO5074在<b class='flag-5'>嵌入式</b>系统联合<b class='flag-5'>调试</b>中的高效实践

    Linux嵌入式和单片机嵌入式的区别?

    用于对实时性要求高、资源需求较低的场合,如家电控制、工业自动化、小型机器人等。 Linux嵌入式 :适用于需要复杂功能、高处理能力的应用,如智能手机、平板电脑、智能电视、汽车电子等。 2. 开发环境
    发表于 06-20 09:46

    嵌入式开发入门指南:从零开始学习嵌入式

    基础 3. 学习路径推荐第一阶段:熟悉开发环境(如Keil、IAR、STM32)第二阶段:掌握裸机编程与驱动开发第三阶段:学习RTOS(实时操作系统)如FreeRTOS第四阶段:深入理解Linux嵌入式
    发表于 05-15 09:29

    嵌入式适合自学吗?

    构、时钟系统、电源管理、存储映射等。 嵌入式必学技术点↓↓↓ 1硬件与软件的结合 2实时性要求与资源限制 3跨领域知识整合 4调试与测试困难 二)缺乏专业指导 1)容易走弯路:自学嵌入
    发表于 04-27 09:54

    泰克MDO32示波器在嵌入式系统调试中的关键技术分析

    随着现代电子技术的飞速发展,嵌入式系统在各个领域的应用日益广泛,从消费电子到工业控制,再到汽车电子和航空航天等。嵌入式系统的复杂性不断增加,使得调试工作变得尤为重要。泰克MDO32示波器作为一款
    的头像 发表于 03-19 13:51 662次阅读
    泰克MDO32示波器在<b class='flag-5'>嵌入式</b>系统<b class='flag-5'>调试</b>中的关键技术分析

    如何提高嵌入式代码质量?

    有着明显的区别,主要体现在以下几个方面: 1. 资源受限:嵌入式系统通常具有有限的内存和处理能力,因此代码效率和内存占用是关键考量因素。 2. 实时性要求:某些嵌入式系统需要实时响应,
    发表于 01-15 10:48

    ARM嵌入式实时操作系统比较

    嵌入式系统领域,实时操作系统(RTOS)是确保任务按时完成的关键技术。ARM架构因其低功耗、高性能的特点,在嵌入式系统中得到了广泛应用。本文将对几款流行的ARM嵌入式RTOS进行比较
    的头像 发表于 12-28 09:15 2446次阅读