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.

[参考译文] TMS320F28374S:TMS320F28374S ADC 输入在闪存重新编程后冻结

Guru**** 2540720 points
Other Parts Discussed in Thread: TMS320F28374S

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/822342/tms320f28374s-tms320f28374s-adc-inputs-frozen-after-flash-reprogramming

器件型号:TMS320F28374S

您好!

我们在 TMS320F28374S 微控制器的电路板上遇到了一个奇怪的问题。

首先、我必须指出、该电路板具有一个具有数字和模拟输入的接口连接器。

数字输入为24V 直流和光隔离式输入、而模拟输入则由基于运算放大器的滤波级进行调节。

我们使用默认引导模式、即"Get Mode"来启动用作固件加载程序的代码的一小部分。

该加载程序从 SCI-D 读取数据、以便在闪存中对真正的应用固件进行编程。

在接口连接器未连接到外部世界之前、所有此过程都可以正常工作。

如果我们在上述过程中从接口连接器驱动输入(模拟和数字)、在对闪存进行重新编程后、某些 ADC 输入会卡在零。

对 JTAG 执行相同操作不会产生这种效果。

即使我们移除了连接器并将微控制器更换为另一个连接器、问题仍然存在。

我们通过示波器可以看到微控制器引脚上的模拟信号、但当我们尝试读取它时、我们得到的值为零。

另一个奇怪的现象是、ADC 输入保持活动状态的读数会受到显著偏移的影响。

您是否有解决此问题的建议?

提前感谢大家的关注、

最恰当的考虑

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

    Daniele、您好!

    您是否从新更新的固件运行代码以确定 ADC 结果的好坏?   

    要确定这是硬件问题(编程操作期间可能发生 EOS)还是软件问题(由于某种原因编程的闪存映像损坏)、有一个实验是在编程操作前后从通过 JTAG 加载的 RAM 运行 ADC 采样代码。   

    听起来确实是硬件问题、如果问题仍然存在、即使在更换 MCU 之后、问题似乎也可能出现在信号调节电路或模拟支持电路中。  一些可能的查看位置可能是:

    • 编程操作前后测量 VREFHI 电压
    • 检查和/或更换 VREFHI 和 VREFLO 之间的大容量电容器以及 VDDA 轨上的去耦电容器
    • 检查和/或更换 ADC 信号链中的任何运算放大器以及任何无源组件
    • 在编程操作前后测量各种电路板电源电流
    • 在编程操作前后(可能在编程过程中)使用热像仪来查找电路板上的任何热点

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

     Daniele、您好!

    您是否能够确定此问题的原因?   

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

    您好 Devin、

    您的建议非常重要:从通过 JTAG 加载的 RAM 中运行 ADC 采样代码使我们能够找到问题。

    在固件中、ADC 结果与一组未初始化的参数相乘、因此它们变为零、ADC 结果也变为零。

    问题已解决。

    感谢大家的关注。

    此致、

    Daniele

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

    Daniele、您好!

    感谢您发布该解决方案、很高兴听到现在的情况正常!