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.

[参考译文] TMS320F28386S:EOC 标志

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1252166/tms320f28386s-eoc-flag

器件型号:TMS320F28386S

大家好、

我有关于 EOS 标志用例的问题、我现在要引用 TRM。
在"20.7 EOS 和中断操作"中提到了用于中断事件的 AOUT EOS 脉冲和寄存器标志。

问题1: 是否在"20.15.2.4 ADCINTFLG 寄存器"上设置了 EOC 标志?

问题2. 在下面的设置下、我们要使用 EOC 计时、但不使用中断。 即使未使用 EOC 中断、是否也在其上设置 EOC 标志?

AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1;         // ADC 中断位置。 设置为转换的 las 值
AdcaRegs.ADCINTSEL1N2.bit。
INT1E=0;              // 禁用中断
AdcaRegs.ADCINTSEL1N2.bit。 INT1SEL=5;          // ADCINT1的 EOC 源为 EOC5

问题3: 如果 Q2的答案是"是"、则表示标志已设置、标志何时设置? 是在 SOC0之后还是在 SOC5之后?

很抱歉有含糊不清的问题、但我手头没有 EVM、因此我不熟悉此类问题。
如果您有任何问题、请告诉我。

此致、
宇藤町

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

    尊敬的 Yuto-San:

    q1. 是否在"20.15.2.4 ADCINTFLG 寄存器"上设置了 EOC 标志?

    JC:寄存器 ADCMTFLG 提供 ADCINTx [1]的状态标志。  ADCINTx 标志可以由 EOCx [0:15]触发、并 通过 INT1E、INT3E 和 INT4E 位将寄存器 ADCINTSEL1N2 (适用于 ADCINT1和 ADCINT2)和 ADCINTSEL3N4 (适用于 ADCINT3和 ADCINT4)置位。

    问题2. 在下面的设置下、我们要使用 EOC 计时、但不使用中断。 即使未使用 EOC 中断、是否也在其上设置 EOC 标志?

    AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1;         // ADC 中断位置。 设置为转换的 las 值
    AdcaRegs.ADCINTSEL1N2.bit。
    INT1E=0;              // 禁用中断
    AdcaRegs.ADCINTSEL1N2.bit。 INT1SEL=5;          // ADCINT1的 EOC 源为 EOC5

    [/报价]

    JC:INT1E 仍需要设置为"1"、这样 EOC 才能触发 ADCINT1标志。  ADC 中断结构请参考图20-8。  ADCINT[1]:4信号进入 PIE (中断模块),但直到 在 PIE 模块中启用后才会生成中断(ISR)。  如果在 PIE 模块中未启用、则 ADCINT[1]信号可用作向 EOC 发出信号的标志。

    Q3. 如果 Q2的答案是"是"、则表示标志已设置、标志何时设置? 在 SOC0之后或在 SOC5之后?

    JC:对于这个情况、在 SOC5完成转换(EOC5)后、ADCINT1将被置位。

    希望以上内容能澄清您的问题。

    此致、

    约瑟夫

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

    您好、Joseph:

    感谢您的评论。 让我很清楚。 但请允许我为 Q3加1分。
    他们使用的 SOC 0到5没有优先级、这意味着0 > 1 > 2 > 3 > 4 > 5。
    对于该用例、Q3将会是怎样的? "什么时候? 是在 SOC0之后还是在 SOC5之后?"

    以下是用作参考的代码。
    此致、
    宇藤町

      AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1;                                                   //割り込み位置変換の最後にセット

                 AdcaRegs.ADCINTSEL1N2.bit。 INT1E=1;                                                        //割り込みは無効

                 AdcaRegs.ADCINTSEL1N2.bit。 INT1SEL=5;                                                    // ADCINT1のEOCソースはEOC5

    /* A0設定*/

                 AdcaRegs.ADCSOC0CTL.bit.CHSEL = ADC_CHANNEL_0;              /* ADCINA0を入力に設定*/

                 AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = ADC_TRIG_EPWM1;        /* ADC変換開始タイミング EPWM1 */

                 /* A1設定*/

                 AdcaRegs.ADCSOC1CTL.bit.CHSEL = ADC_CHANNEL_1;              /* ADCINA1を入力に設定*/

                 AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = ADC_TRIG_EPWM1;        //* ADC変換開始タイミング EPWM1*/

                 /* A2設定*/

                 AdcaRegs.ADCSOC2CTL.bit.CHSEL = ADC_CHANNEL_2;              /* ADCINA2を入力に設定*/

                 AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = ADC_TRIG_EPWM1;        /* ADC変換開始タイミング EPWM1 */

                 /* A3設定*/

                 AdcaRegs.ADCSOC3CTL.bit.CHSEL = ADC_CHANNEL_3;              /* ADCINA3を入力に設定*/

                 AdcaRegs.ADCSOC3CTL.bit.TRIGSEL = ADC_TRIG_EPWM1;        /* ADC変換開始タイミング EPWM1 */

                 /* A4設定*/

                 AdcaRegs.ADCSOC4CTL.bit.CHSEL = ADC_CHANNEL_4;              /* ADCINA4を入力に設定*/

                 AdcaRegs.ADCSOC4CTL.bit.TRIGSEL = ADC_TRIG_EPWM1;        /* ADC変換開始タイミング EPWM1 */

                 /* A5設定*/

                 AdcaRegs.ADCSOC5CTL.bit.CHSEL = ADC_CHANNEL_5;              /* ADCINA5を入力に設定*/

                 AdcaRegs.ADCSOC5CTL.bit.TRIGSEL = ADC_TRIG_EPWM1;        /* ADC変換開始タイミング EPWM1 */

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

    尊敬的 Yuto-San:

    由于此设置、在 EOC5之后、标志将变为 up (set):   

       AdcaRegs.ADCINTSEL1N2.bit。 INT1SEL=5;    

    此致、

    约瑟夫