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.

[参考译文] TMDSSOLARUINVKIT:TMDSSOLARUINVKIT 中的中断

Guru**** 2551110 points
Other Parts Discussed in Thread: AWR1443

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1270967/tmdssolaruinvkit-interrupts-in-tmdssolaruinvkit

器件型号:TMDSSOLARUINVKIT

您好、TI 团队。

我观察了 TMDSSOLARUINVKIT 的指南和软件。 该指南指出存在两个中断:快速50kHz ISR 和较慢的1kHz ISR。

至于1kHz ISR -它由 timer2每1ms 触发一次、这是明确的。 但是、50kHz ISR 怎么样呢? 我知道它是由 ADC EOC 触发的、但如何影响其触发的频率?

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

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

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

    ADCSOC 每隔一个 PWM 周期触发一次、因此该 ISR 为50kHz。 请参阅文件 ADC_SOC_CNF、

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

    哪款 PWM? 是什么? –那么 PWM2仅以50kHz 的频率触发 ADC SOC、而 ADC EOC 仅触发 ISR? 如果是、我可以在每四个 PWM 周期触发 ADCSOC 吗?

    或"AWR1443"。 CAU、CAD、CBD、CBU 和 D 这三个缩写的含义是什么?

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

    PWM1。

    是的、ADC EOC 触发 ISR。

    请检查寄存器以找到每四个 PWM 中触发 SOC 的选项

    CAU -当定时器递增计数时、Compa

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

    "我不知道你在想什么,我不会介意的。" 在 Clamp_Cnf.c 文件的末尾,我发现:

    	/* ADC SOC for Inverter Control*/
    	(*ePWM[n]).ETSEL.bit.SOCAEN	= 1;						/* Enable SOC on A group*/
    	(*ePWM[n]).ETSEL.bit.SOCASEL	= ET_CTR_ZERO ;			/* Select SOC from counter at ctr = 0*/
    	(*ePWM[n]).ETPS.bit.SOCAPRD 	= ET_1ST;				/* Generate pulse on 1st even*/
    	(*ePWM[n+1]).ETSEL.bit.SOCAEN	= 1;					/* Enable SOC on A group*/
    	(*ePWM[n+1]).ETSEL.bit.SOCASEL	= ET_CTR_ZERO ;	        /* Select SOC from counter at ctr = 0*/
    	(*ePWM[n+1]).ETPS.bit.SOCAPRD 	= ET_1ST;			    /* Generate pulse on 1st event*/

    这表明 SOC 信号是使用第一个 PWM 生成的。

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

    请查看用户指南和相应的寄存器定义、如下所示:

    这在 SPRUI09A 中

    https://www.ti.com/lit/ug/sprui09a/sprui09a.pdf?ts = 1695066571366和 ref_url=https%253A%252F%252Fwww.google.com%252F

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

    我已经检查了 TMDSSOLARUINVKIT 源代码、但没有找到任何对 SOCACNT/SOCBCNT 的引用。

    但下面的代码显示了如何更改 SOC 信号生成、我想:

    	(*ePWM[n]).ETPS.bit.SOCAPRD 	= ET_1ST;				/* Generate pulse on 1st even*/
    	(*ePWM[n+1]).ETPS.bit.SOCAPRD 	= ET_1ST;			    /* Generate pulse on 1st event*/

    正确。如果我错了、但当我将其更改为 et_2时、它应该像预期的那样正常工作。

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

    可以。 没错。  

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

    大家好、 modyfing 也是 SolarMicroInv-Main.c 中的 EPwm2Regs.ETPS.bit.SOCAPRD = ET_2完成了该工作。