器件型号:TMDSSOLARUINVKIT
您好、TI 团队。
我观察了 TMDSSOLARUINVKIT 的指南和软件。 该指南指出存在两个中断:快速50kHz ISR 和较慢的1kHz ISR。
至于1kHz ISR -它由 timer2每1ms 触发一次、这是明确的。 但是、50kHz ISR 怎么样呢? 我知道它是由 ADC EOC 触发的、但如何影响其触发的频率?
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
您好、TI 团队。
我观察了 TMDSSOLARUINVKIT 的指南和软件。 该指南指出存在两个中断:快速50kHz ISR 和较慢的1kHz ISR。
至于1kHz ISR -它由 timer2每1ms 触发一次、这是明确的。 但是、50kHz ISR 怎么样呢? 我知道它是由 ADC EOC 触发的、但如何影响其触发的频率?
"我不知道你在想什么,我不会介意的。" 在 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*/
请查看用户指南和相应的寄存器定义、如下所示:
这在 SPRUI09A 中


我已经检查了 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时、它应该像预期的那样正常工作。
大家好、 Shamim Choudhury modyfing 也是 SolarMicroInv-Main.c 中的 EPwm2Regs.ETPS.bit.SOCAPRD = ET_2完成了该工作。