查看: 6917|回复: 1

[分享] 恩智浦微控制器故障排除清单

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3299

    主题

    6546

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32024
    最后登录
    2024-4-25
    发表于 2022-5-18 11:10:20 | 显示全部楼层 |阅读模式
    恩智浦微控制器故障排除清单
    1. 简介
    本应用笔记讨论了在出现故障时可用于对微控制器进行故障排除的一些关键要点。
    2.功能说明
    当 NXP 微控制器(uC)仍安装在故障模块上时,需要监控以下几点。这些点被认为有助于诊断基本故障模式,旨在帮助确定故障模式是与模块相关还是与 uC 本身相关。请注意,由于设计特性的不同,并非所有 NXP uC 都具有下面详述的所有选项,请查看正在分析的 uC 的参考手册进行确认。
    1. 电压等级:验证所有测量的 uC 电源是否在数据手册的电压规格范围内。在观察到故障行为时使用示波器捕获这些数据是相当重要的。请注意,数字万用表显示为平均数据,无法充分展示电源是否真正稳定。
    2. 电流消耗:在故障情况下,可以使用电流表或电流探头来测量模块的电流消耗,或尽量测量 uC 电源轨的电流消耗,这些电流探头可以用示波器进行监控。在这种方法中,可以很容易地确定故障是否与电流的大幅变化有关,这表明电源有可能会瞬时超出使用规格。如果 uC 处于复位保持(SiR)状态,则可能是由于执行内置自检(BIST)的重复尝试均失败所致。在 BIST 执行期间,可能会在特定分区期间看到较大的电流消耗。如果在电流尖峰期间没有保持输入电压,电压可能会下降并导致复位。假设电压升高,BIST 将再次执行,但会再次看到大电流尖峰,并且会发生另一次复位。此信息可使您更深入地了解可能导致 SiR 状况的原因。下图显示了成功执行M/LBIST 的电流模式示例。图1. M/L BIST 成功执行的电流变化模式
    11.png

    图1. M/L BIST 成功执行的电流变化模式

    3. 外部时钟源:如果有外部时钟源连接到 uC(即晶体)。检查时钟源是否以预期的频率振荡,这非常重要,将便于我们分析故障发生在应用程序代码或复位流程的位置何处。注意 uC 的输出端,应该探测晶体的 XTAL,用示波器探头检查晶体的负载。
    4. 复位线(第 1 部分):可以监控微控制器的复位线以确定 uC 是否复位完成。通常有两个复位,POR_B(输入到uC)和 RESET_B(双向)。uC 无法通过内部拉低RESET_B 可能有很多原因。
    a. 电源电压是最典型原因,uC 通过低压检测(LVD)电路或类似电路拉低RESET_B 引脚。将 micro 的 RESET_B 引脚与模块断开连接,可以用来确定复
    位拉低的源是内部还是外部。
    b. 如果 JTAG 可用,通常在 uC 中有一个寄存器可以识别复位源,即 SIU.RSR 或RGM_FES/DES。
    5. 复位线(第 2 部分):在故障观察的时间跨度内,应使用示波器密切监测这些复位线的行为。复位持续时间和复位发生的数量这些数据都非常有价值,有助于区分例如确定性软件看门狗定时器(SWT)复位或连续多次复位,表明可能存在潜在的复位升级或电源
    不稳定。下图显示了示例:由多次周期复位,引起复位升级,最终导致SiR。
    12.png

    图2. 复位升级

    6. FCCU:如果 uC 包含故障收集和控制单元(FCCU),则可以监控与 FCCU 相关的引脚以识别异常行为。此外,如果调试器访问可用,则可以读取 FCCU 以确定故障源。
    7. 内存初始化:微控制器/微处理器可能包含SRAM或系统RAM。但也包含模块内部RAM(如 DMA 的服务描述符、FlexCAN 消息缓冲区等)。所有这些 SRAM/RAM 必须在使用之前进行初始化。在出现错误时,应验证所有这些内存是否已正确初始化。
    8. 错误报告模块:如果 uC 包含 ECSM 或 ERM 模块,则可以读取该模块提供的/在该模块中提供的错误综合信息并将其综合分析,以帮助识别包含 ECC 错误的未正确编程的Flash 内容。
    9. 代码/数据一致性:无论 uC 正在执行的代码是驻留在内部存储器还是外部,都应该检查数据的一致性。预期数据和/或数据可以重新烧写到另一个具有已知良好 uC 并且已知良好的模块中,以观察关联行为,确定是否是数据差异导致故障。(仅当信息安全功能允
    许时)。
    10.MBIST/LBIST:如果 uC 包含逻辑和/或内存内置自检 (L/MBIST),则执行结果可能会提供有关故障诊断的有价值的信息。在模块上执行 BIST 的好处是,如果在其中发现故障,当 uC 放置在 EVB 或 ATE 上时,可以在相同条件下重新运行相同的 BIST,从而提供出色的关联环境以便进行对比分析。11.JTAG 检查:做一个简单的检查,如果能成功读取有效的 JTAG ID,则表明所有基本电源都提供足够的电压。微控制器处于复位保持(SiR)状态,这是可能的。如果 uC 处于SiR 状态是由于上电复位(POR)或防止 uC 退出复位序列的复位阶段 1 的复位源引起的,则 JTAG 通信将不可用。
    12.备用引导模式:如果 uC 可以通过引脚状态来配置各种引导模式,在复位期间检测引脚状态来选择对应引导模式,则执行备用引导模式可用以识别故障是否仅与一种引导模式或所有引导模式都有关。
    13.待机(和电源模式)关系:如果模块支持多种电源模式,例如运行或待机模式,则评估故障行为是否与这些特定模式之一相关会是很有价值的。
    14.注入电流:检查是否存在注入电流超过 uC 电气规格的情况。这可能显示为模数转换器(ADC)测量失败。
    15.温度/电源对间歇性故障模式的影响:如果可能,检查问题的再现性是否会受到温度或电源电平的边际变化的影响。变化的温度或电压条件有助于识别 uC 可能存在的机械连接问题。此外,在 uC 的顶部施加轻微的向下压力也可以在这方面有所帮助。
    16.瞬态时间点/周期差异:将故障设备的瞬态时间点/周期行为与已知的良好组件进行比较。
    例子:
     一个好的组件在 25ms 后将 GPO[14] 置为 1,并且 uC 在 50ms 后发送第一个CAN 消息。
     一个坏组件在 40ms 后将 GPO[14] 置为 1,并且 uC 在 200ms 后发送第一个CAN 消息。
    17.与参考模块的相关性:(这与 A-B-A 交换不同)无论故障模式如何,手头有一个参考
    模块/uC 来比较观察结果为分析人员提供了良好的健全性检查。这将有助于回答诸如“我所看到的是否是预期的,如果不是,它到底有什么不同?”之类的问题。
    18.A-B-A 交换:作为对故障的最后确认,建议执行 A-B-A 交换以确定故障是跟随模块还是uC。在执行此序列时,可疑 uC 被放置在已知良好的模块上,并且已知良好 uC 放置在可疑模块上。如果故障跟随可疑 uC,则应将该 uC 返回 NXP 进行分析。















    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    13 小时前
  • 签到天数: 1278 天

    [LV.10]以坛为家III

    21

    主题

    1万

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    13239
    最后登录
    2024-4-25
    发表于 2022-5-18 16:15:29 | 显示全部楼层
    好文章, 果断收藏!
    跟着日天混 ,三天饱九顿!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-25 22:25 , Processed in 0.126977 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表