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.

[参考译文] CCS/TMS320F28069M:从多个事件触发 ADC 相同的通道

Guru**** 2535150 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/606221/ccs-tms320f28069m-triggering-adc-same-channel-from-multiple-events

器件型号:TMS320F28069M

工具/软件:Code Composer Studio

您好, 我必须对 ADC 信号进行过采样。 因此,我将在向上向下计数模式和 在零、CMPA、CMPB、TBPRD 事件上使用 ePWM 来触发 ADC。

以下配置是否针对4个不同事件触发 ADC 相同的通道?  

AdcRegs.ADCSOC1CTL.bit.TRIGSEL = ePWM1SOCA | ePWM1SOCB | ePWM2SOCA | ePWM2SOCB;/* 5 | 6 | 7 | 8 =>相应的 TRIG 选择值。 *

该指令是否会触发特定 的 ADC 通道4次??

如果不建议我使用其他方法。 用于多次触发同一信道。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我写信告诉您、C2000团队成员已被分配到此帖子、应该很快回答。

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

    您好 Indrajit、

    以下陈述:

    AdcRegs.ADCSOC1CTL.bit.TRIGSEL = ePWM1SOCA | ePWM1SOCB | ePWM2SOCA | ePWM2SOCB;/* 5 | 6 | 7 | 8 =>相应的 TRIG 选择值。 *

    将 SOC1触发器分配到最终值15 (01111b)、该值来自不同的触发源、而不是您预期的4个 ePWM 事件中的任何一个。

    共有16个 SOC 可用。  您可以为同一通道分配多个 SOC、例如 SOC0、SOC1、SOC2和 SOC3、然后从您定义的4个事件中触发它们。  例如、以下代码将 SOC0-3分配给通道2、并由 ePWM 事件相应地触发:

       AdcRegs.ADCSOC0CTL.bit.CHSEL = 2;

      AdcRegs.ADCSOC1CTL.bit.CHSEL = 2;

      AdcRegs.ADCSOC2CTL.bit.CHSEL = 2;

      AdcRegs.ADCSOC3CTL.bit.CHSEL = 2;

      AdcRegs.ADCSOC0CTL.bit.TRIGSEL = 5;

      AdcRegs.ADCSOC1CTL.bit.TRIGSEL = 6;

      AdcRegs.ADCSOC2CTL.bit.TRIGSEL = 7;

      AdcRegs.ADCSOC3CTL.bit.TRIGSEL = 8;

    此致、

    Joseph

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

    但是。。。
    AdcRegs.ADCSOC1CTL.bit.TRIGSEL = ePWM1SOCA | ePWM1SOCB | ePWM2SOCA | ePWM2SOCB;在此行我将执行“logical-OR”而不是“按位 OR”,它应该运行,这里有什么问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Indrajit、

    TRIGSEL 是一个5位字段、具有2^5个离散值(0至31)。  这32个值中的每一个都对应一个触发事件。  无论您在该字段中执行的数学运算是什么(按位或、逻辑或和... 加、减等)、您最终将填充这5个位、生成的值必须是0到31之间的离散点。  也就是说、您不能将触发事件组合在此字段中。

    此致、

    Joseph

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