This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F135:MCU ADC 故障

Guru**** 1818760 points
Other Parts Discussed in Thread: MSP430F135, INA121
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/822947/msp430f135-mcu-adc-failures

器件型号:MSP430F135
主题中讨论的其他器件: INA121

为什么此应用程序不允许我插入 ADC 干扰的示波器图片?

我能否将干扰分析发布为 PDF 文件?

总结

我们使用同一设计已超过5年、最近我们大约10%的 PCBA 开始出现 ADC 故障。  我们已经尝试更改了每个 ADC 电路组件、但对于尖峰 PCBA 的唯一修复方法是用新部件替换 MSP430F135。

详细信息

我们在大约10%的检测器板上遇到了一个问题、其中 MSP430F135 MCU 中的 ADC 将返回损坏的测量值。 这将在系统老化过程中对电路板进行温度循环时随机发生。 这将在2048个读数的重平均样本基础上显示为2+计数的输出或范围读数、而输入信号没有变化。 PCBA µsec ADC 的两个通道(P6.3和 P6.4)并在连续采样模式下运行、每通道的转换间隔为43.6 μ s。 µsec、AN0和 AN1之间的 ADC 转换间隔为21.9 μ s

故障 PCBA 的唯一解决方法是更换 MCU、然后电路板具有正常的功能和稳定的 ADC 读数。

ADC 采样/转换会在驱动 ADC 输入的信号上产生明显的干扰。 该信号由增益为6的 INA121仪表放大器驱动。 该器件具有几欧姆范围内的低输出阻抗、并且 MCU 中的采样电路应具有最小负载。 我们已禁用模拟输入端口的端口缓冲器,并且正在使用参考手册图17-4中的“脉冲采样模式”和参考手册表17-1中列出的“通道重复序列”转换模式。 我们还使用 MCU 的内部基准电压设置为1.50伏、并使用 MCU 数据表中的建议滤波电容值图5-15。

放大 AN0 (P6.3)上的采样毛刺脉冲图片

请注意、Ch1使用直流失调电压来扩展直流范围、从而在实际信号处于活动状态时看到小信号变化。 电流输入处于暗状态、直流电平为

对于 MSP430F135器件、此采样毛刺脉冲是否看起来是典型的? 在进行 ADC 转换时、所有 PCBA 都显示类似的毛刺脉冲。

当通过移除0欧姆电阻器将 ADC 与 INA121输出断开时、在模拟信号上不会观察到 ADC 毛刺脉冲。 MCU 的 ADC 输入引脚上仍然存在不同波形的干扰。 ADC 输入引脚上出现此波形的原因是什么? 它的频率与 ADC 使用的采样率相同。 下图示波器的 CH3显示了断开的 ADC 输入、C1显示了连接的 ADC 输入干扰。

我们想知道、与干扰的起始点相关的实际 ADC 转换何时完成? 我们假设干扰是由输入多路复用器打开和放大器输出干扰引起的。 我们需要确保在脉冲采样中 ADC 设置中留出足够的延迟、以便在多路复用干扰之后使输入保持稳定。

我们有一个具有两个模拟通道的小型 PCBA、可馈送 MSP430F135 MCU 的2个 ADC 输入。 µsec µsec 显示了 AN0在43.6 μ s 期间的干扰间隔转换之间具有21.9 μ s 的 Ch0和 Ch1 ADC 输入交错。

非常感谢您帮助了解 ADC 操作的详细信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bernie、

    感谢您的详细博文。

    [引用用户="Bernie Ryan"]

    为什么此应用程序不允许我插入 ADC 干扰的示波器图片?

    我能否将干扰分析发布为 PDF 文件?

    [/报价]

    您可以使用下面的"插入/编辑介质"按钮插入图像。

    您可以使用下面显示的"插入文件"按钮插入.pdf 文件。

    [引用 USER="Bernie Ryan)]我们在大约10%的检测器板上遇到了一个问题、其中 MSP430F135 MCU 中的 ADC 将返回损坏的测量值。 这将在系统老化过程中对电路板进行温度循环的随机时间发生。

    器件的温度是否高于数据表第5.1节中规定的温度? 如果是、器件可能会受到永久损坏。

    [引用 USER="Bernie Ryan"]我们还使用设置为1.50伏的 MCU 内部基准和 MCU 数据表中图5-15中的建议滤波电容值。

    将内部基准缓冲器模式(ADC10SR)从1更改为0是否会改变此行为?

    [引述 USER="Bernie Ryan)] MSP430F135器件的这种采样毛刺脉冲是否很典型? 在进行 ADC 转换时、所有 PCBA 都显示类似的干扰。[/QUERP]

    这可能是由于 Rev L 器件上的勘误表 ADC11引起的。 您是否在非 L 器件中看到此行为? 除了 ADC11、这些器件还有其他几个与 ADC 相关的错误、可能会导致该问题。

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    相关问题

    第1个

    否、器件在老化过程中不会承受更高的温度。

    焊接是在外部装配室使用回流方法完成的

    第2个

    注释似乎不适用于 MCUe2e.ti.com/.../MSP430F135-ADC-glitch-problem.docx 的12位 ADC 变体

    第3个

    我们的电路板上有 Rev N 器件、显示了问题、因此 ADC11勘误表似乎不适用

    我尝试插入 PDF 文件、但不确定它是否正常工作、我将尝试 againe2e.ti.com/.../MSP430F135-ADC-glitch-problem.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供更多详细信息。 您可以共享 ADC 配置代码吗? 了解 ADC12CLK 频率、SHT0x 采样时间等内容会有所帮助

    关于观察到的干扰、用户指南中的第17.2.2节介绍了 ADC12模块如何使用电荷再分配方法。 当模拟输入在内部切换时、切换操作可能会在输入信号上导致瞬态输入。 理想情况下、瞬态会衰减并在转换前稳定、否则可能导致错误结果。 瞬变最有可能是由流经多路复用器的浪涌电流(高达2kOhm)和为输入电容器充电(最高可达40pF)引起的。 通常、外部源阻抗越高、瞬态就越高。 假设运算放大器输出为低阻抗、则瞬态振幅不应太大。

    您使用的是什么直流偏移电压? 将该失调电压与"毛刺脉冲"幅度相结合、是否有可能超过最大 ADC 输入、可能会损坏需要您替换的器件? 您能否测量或测试这种情况?

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    回答您的问题

    配置代码/ADC 设置

    //…… 咬人........
    
    //时钟设置
    
    DCOCTL =(DCO0+DCO1+DCO2);
    BCSCTL1 =(RSEL0+RSEL1+RSEL2);
    
    //…… 咬人........
    
    //端口6 -------------------------------------------------------
    // P6.0未使用
    // P6.1未使用
    // P6.2未使用
    // P6.3 AN0 -模拟输入 CH0
    // P6.4 AN1 -模拟输入 CH1
    // P6.5未使用
    // P6.6未
    使用// P6.7未使用
    //端口6选择
    // 7 6 5 4 3 2 1 0
    // 0 0 0 0 0 0 0 0 0 1 =输出
    P6SEL = 0x18;
    P6DIR = 0x00;//所有输入
    P6OUT = 0x00;//输入低
    
    电平//… 咬人........
    
    // ADC 设置
    
    ADC12CTL0 = ADC12ON+REFON+SHT0_5 + MSC;//设置 ADC12、参考、采样时间
    
    ADC12CTL1 = SHP + CONSEQ_3; //使用采样计时器、多通道重复序列
    
    ADC12MCTL0 = INCH_3+SREF_1; //选择通道 A3 <=AN0
    ADC12MCTL1 = INCH_4+SREF_1+EOS; //选择通道 A4 <=AN1
    ADC12IE = 0x01; //启用 ADC12IFG.1
    
    延迟(100); //基准启动延迟
    ADC12CTL0 |= ENC; //启用转换
    ADC12CTL0 |= ADC12SC;//开始转换-一次 

    2. ADC 的信号振幅

    我应该补充的是、ADC 干扰在"正常"和"不良"电路板上看起来是相同的。  毛刺脉冲振幅在50至200mV 之间有很大变化。  不确定为何如此高的计算干扰值应小于10mV。  假设 ADC 的1.5v 直流输入和2k 多路复用器阻抗以及 SAR 电容器上的0伏电压将提供0.75mA 的电流、则假设10 Ω 源阻抗干扰幅度应为7.5mV。

    过压似乎不太可能、因为 ADC 输入由+/-2.5V 电源上的运算放大器驱动、ADC 输入是从光电二极管导出的单极正信号、运算放大器饱和至1.6伏、干扰振幅在1.6V 最大信号之上为150至200 mV、 由于 MCU 为3.3伏电源、因此不会出现过压问题。

    我在一些应用手册中注意到、加入具有大电容的抗混叠滤波器有助于吸收 SAR 瞬态。  我们需要一个159kHz 带宽、因此可以使用一个22 Ω 和0.043uF 电容器来制造一个滤波器。  我将尝试该实验、看看是否可以减少干扰。

    最后、在我断开的 P6.4 ADC 输入的示波器图中、干扰开始似乎导致了 P6.3输入采样干扰、我们是否看到输入多路复用器在实际转换开始前对输入进行采样?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bernie、

    再次感谢您提供的代码和更多详细信息。 仔细检查您的配置后、我开始怀疑内部 ADC12振荡器 ADC12OSC 将时钟提供给 ADC12CLK 导致了问题。

    用户指南中的第17.2.1节提到 ADC12OSC "在5MHz 范围内、但会因单个器件、电源电压和温度而异。 有关 ADC12OSC 规格、请参阅《器件专用数据表》。 查看数据表中的第5.26节、我看到 ADC12OSC 的范围非常大:3.7至6.3MHz。 这可能会解释您在温度测试过程中遇到问题的原因-也许 ADC12OSC 频率已经足够变化、以至于采样保持时间不再足够。 10%的"发生故障"器件可能使 ADC12OSC 以最小或最大频率运行、而其他"通过"器件的运行频率可能在5MHz 左右。

    您可以尝试将 ADC12CLK 源从 ADC12OSC 切换到 SMCLK、因为 DCO 配置似乎以~5MHz 的频率运行。 假设 DCO 在整个温度范围内的变化不会像 ADC12OSC 那样大、结果应该改进。

    对于您的代码、我建议将"ADC12IE = 0x01"更改为"ADC12IE = 0x02"、因为与 ADC12MCTL1关联的通道是序列中的最后一个采样、而不是 ADC12MCTL0。

    [引用用户="Bernie Ryan"]

    我在一些应用手册中注意到、加入具有大电容的抗混叠滤波器有助于吸收 SAR 瞬态。  我们需要一个159kHz 带宽、因此可以使用一个22 Ω 和0.043uF 电容器来制造一个滤波器。  我将尝试该实验、看看是否可以减少干扰。

    最后、在我断开的 P6.4 ADC 输入的示波器图中、干扰开始似乎导致了 P6.3输入采样干扰、我们是否看到输入多路复用器在实际转换开始前对输入进行采样?

    [/报价]

     在下面的主题中对此提供了一些有趣的指导、特别是在减少使用外部电容器的干扰和由于额外电容而增加所需的采样时间之间如何进行权衡。

    输入信号上的瞬变

    此致、

    James