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/TMS320F2.8027万F:ePWM1A输出保持连续高,在运行期间,Epwm1regs.TBPRD寄存器变为零

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/584898/ccs-tms320f28027f-epwm1a-output-stays-continu-high-and-epwm1regs-tbprd-register-becomes-zero-during-running

部件号:TMS320F2.8027万F

工具/软件:Code Composer Studio

L.S.,

我们的一名学生根据TI示例为降压转换器制作了一个程序(在LaunchPadXl中)。 它通过ADC ISR测量输出电压并调整转换器的占空比。 在初始化阶段,Epwm1regs.TBPRD设置为固定值,并且在程序中从未更改。 此外,阴影寄存器也会激活。 运行转换器并查看"固定..."时 调试器中的Epwm1regs.TBPRD变量定期(每隔几秒)设置为零...

>>有人知道吗?UC的哪个部分可以重置此值?

结果是ePWM1a输出有时较高(1)一段时间(秒)。 这种情况在5-10分钟内发生? (通常转换器运行正常。)

我已经:

1):将切换频率从20.01万,50 kHz,TBPRD = 30.06万, 1200个。

2):降低转换器电流以避免电气干扰EMI。

3):检查ADC ISR的持续时间(通过GPIO端口在范围上输出)与切换周期相关。

此致,

Bart Roodenburg

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

    BART,

    我认为这是学生应用程序代码中的一个错误。 要了解什么是将值写入零,最简单的方法是使用硬件监视点(HWWP)。 此Wiki 应说明如何使用。 您应该将HWWP配置为在写入 TBPRD寄存器时触发低于或等于预期有效的最小值。 如果看到任何低于此值的值,CPU应停止,您可以看到程序计数器的位置。 请注意,在写入和写入生效之间有一小段延迟,有时程序计数器会在触发HWWP的指令之后停止1或2个指令。

    F2.8027万上没有CLA或DMA,所以我想不出除了C28内核之外,还有什么 可以修改TBPRD注册表中的值。

    此致,
    科迪

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在TBPRD设置为零后,它将返回到初始值?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的Mauro:

    是的,TBPRD寄存器中的值返回其初始值。 在大多数情况下,ePWM模块的功能如预期一样,但有时ePWM1A输出保持在非常高的水平...

    此致,
    Bart Roodenburg

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

    感谢您的建议。

    我发现了以下内容。 程序中的某个位置禁用了ePWM1时钟并再次启用... 因此,SysCtrlRegs.PCLKCR1.EPWM1ENCLK =0;SysCtrlRegs.PCLKCR1.EPWM1ENCLK =1;分别关闭和打开PWM。 我认为这是不允许的。

    这与ePWM文档中的描述不符。

    *****
    启用ePWM时钟的正确步骤如下:
    1.在PCLKCRx寄存器中启用ePWM模块时钟
    2.设置TBCLKSYNC= 0
    3.配置ePWM模块
    4.设置TBCLKSYNC = 1
    *****

    如果我有新的测试结果,我会告诉您。

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

    尊敬的各位:

    在新的SW版本中,我们通过降低CMPA值而不是关闭ePWM时钟来更改PWM的启动/停止。 到目前为止,我们正在运行,没有出现上述错误。

    此致,
    Bart Roodenburg