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.

[参考译文] TMS320F28054F:避免 ADCSOCFRC1并切换 ADC 通道

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/736340/tms320f28054f-avoiding-adcsocfrc1-and-switching-adc-channels-instead

器件型号:TMS320F28054F
主题中讨论的其他器件:MOTORWARE

在 Motorware 中、用于感应 CPU 温度或将 ADCSOCFRC1与中断环路 ADC 用法结合使用的示例未讨论动态更改 SOC 寄存器和 ADC 单元用法的最佳实践、也未讨论在多个 ADC 值时处理首次读取勘误表问题 正在读取。  我将使用 ADCSOCFRC1偶尔读取 CPU 温度、并在尝试混合中断驱动和强制(轮询)读取时遇到一些困难。  因此、我将考虑不同的 tact。  我只想使用中断方法和特定的 SOC 在读取不同的 ADC 源之间切换、而其他 ADC 源保持恒定。  这样做的目的是尽可能缩短轮循列表。

我是否可以在需要时更改 SOC 通道、并在需要时跳过中断服务函数1到2次迭代的处理 、而不进行任何其他更改?

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

    这听起来是一种合理的方法。 您可以忽略 ADCRESULT、但您需要为 ADC 中断提供服务。

    Tommy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还想知道如何将 SOC 触发源设置为软件。 这是关闭特定 SOC 以便在循环中跳过它的好方法吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、您可以通过将 SOC 的触发源设置为软件来禁用 SOC。

    某些应用将使用多个在不同时间触发的触发源。 例如、可能需要定期将3个外部传感器转换为一起、以便由 EPWM1 CMPA 触发。 另一组由4个外部传感器组成的传感器可能需要以另一个间隔进行转换、以便由 EPWM2 CMPA 触发。 这两组 SOC 可以共存、而无需在初始化后修改 SOC 设置。