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.

[参考译文] TMDSCNCD28379D:如何选择合适的 ADC 中断?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1490936/tmdscncd28379d-how-to-choose-the-right-adc-interrupts

器件型号:TMDSCNCD28379D

工具与软件:

您好!

有人可以帮助我解决突出显示为蓝色的问题吗? 每个 ADC 模块有4个 ADC 中断。  如果仅 ADCD3物理用途 ADC、我可以使用 ADCA1中断、ADCD1中断或任何 ADC 中断吗、或者我必须使用 ADCD3中断吗?

EALLOW;

   AdcdRegs.ADCSOC0CTL.bit.CHSEL = 3;// SOC0将转换引脚 D3

   AdcdRegs.ADCSOC0CTL.bit.ACQPS = SAH_TIME;

   AdcdRegs.ADCSOC0CTL.bit.TRIGSEL = 0x0D;

EDIS;

//设置1、我应该使用 ADCINTSEL1N2或 ADCINTSEL3N4、还是随机选择一个?

EALLOW;

 AdcdRegs.ADCINTSEL1N2.bit.INT1SEL = 0;

 AdcdRegs.ADCINTSEL1N2.bit.INT1E = 1;

 AdcdRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;

EDIS;

//或设置2.

EALLOW;

 AdcdRegs.ADCINTSEL1N2.bit.INT2SEL = 0;

 AdcdRegs.ADCINTSEL1N2.bit.INT2E = 1;

 AdcdRegs.ADCINTFLGCLR.bit.ADCINT2 = 1;

EDIS;

//或设置3.

EALLOW;

 AdcdRegs.ADCINTSEL3N4.bit.INT3SEL = 0;

 AdcdRegs.ADCINTSEL34.bit.INT3E = 1;

 AdcdRegs.ADCINTFLGCLR.bit.ADCINT3 = 1;

EDIS;

//或设置4.

EALLOW;

 AdcdRegs.ADCINTSEL3N4.bit.INT4SEL = 0;

 AdcdRegs.ADCINTSEL34.bit.INT4E = 1;

 AdcdRegs.ADCINTFLGCLR.bit.ADCINT4 = 1;

EDIS;

// PIE 设置、我可以使用16个中断中的任何一个吗、或者我必须选择 PieVectTable.ADCD3_INT =&adcd3_ISR、因为 D3物理上使用?

PieVectTable.ADCD1_INT =&adcd1_ISR;...、PieVectTable.ADCD4_INT =&adcd4_ISR;

//或

PieVectTable.ADCA1_INT =&adca1_ISR;...、PieVectTable.ADCA4_INT =&adca4_ISR;

//或

PieVectTable.ADCB1_INT =&adca1_ISR;...、PieVectTable.ADCB4_INT =&adcb4_ISR;

//或

PieVectTable.ADCC1_INT =&adca1_ISR;...、PieVectTable.ADCC4_INT =&adcc4_ISR;

非常感谢!

洪美湾

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

    您好!

    通常、您应该利用用于转换的 ADC 来处理中断。 这使得您可以在管理中断时为特定 ADC 选择转换的开始和结束。

    此致、

    Masoud

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

    尊敬的 Masoud:

    因此、最好只使用一个 ADCD3转换在本例中使用 ADCD3中断、对吧?

    如果我有用于转换的 ADCD1、ADCD2、ADCD3、ADCD4、那么最好使用哪种中断、即 ADCD4中断?

    谢谢!

    洪美湾

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

    您好!

    通常、我们为 ISR 处理一个中断、其中您确认 ADC 中断并从指定通道读取所有必要的 ADC。 不过、最终是由您来决定哪种方法最适合您的应用和控制设置。

    此致、

    Masoud

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

    有。 我仅处理一个中断。 他们有这么多选择,如何选择它?

    如果我有用于转换的 ADCD1、ADCD2、ADCD3、ADCD4、那么最好使用哪种 ADC 中断(只处理一个中断)? 你是说16个中断中的任何一个可以很好地使用吗?

    谢谢!

    Hongmei

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

    您好、Hongmei、

    正如我们之前所说的、实际由您决定哪种方法最适合您的应用、所有中断可以对您有用。 我们来看一个有关如何选择正确中断的示例。 如果需要测量3个电流和1个电压、通常需要同时捕获全部3个电流以进行控制。 因此、使用来自不同 ADC 的相同转换开始(SoC)、然后分配不同的 SoC 进行电压测量是合理的。 例如:

    I1 -> ADC A - SoC 0

    I2 -> ADC C - SoC 0

    I3 -> ADC B - SoC 0

    V1 -> ADC A - SoC 1

    由于我们正在寻找转换结束信号、因此您可以从 ADC A 中选择其中一个中断、并将 EoC1作为 SoC 的中断源。

    此致、
    Masoud