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.
有两个 H 桥、第一个臂由 CH1/CH2驱动、第二个臂由 CH3/CH4驱动。两个 H 桥的频率相同、但死区不同、死区在两个臂之间切换。
如下图所示、前驱动器是死区时间大于 CH3/CH4的 CH1/CH2、而第二驱动器是死区时间大于 CH1/CH2的 CH3/CH4。
从波形图中可以看出、函数已经实现、但调试过程中存在这样的问题。
在调试过程中、会出现以下波形、即开关后的第一个 CH1/EPWM1A 只有一半的驱动波形、随后的波形正常。
尝试分析 EPWM1A 出现这种现象的原因、因为 EPWM1A 和 EPWM3A 的配置是完全相同的、并且后 EPWM1A 波也是正确的、因此不清楚为什么第一个驱动器出现这种现象的一半。
最后、修改 EPwm1Regs。 HRPCTL。 位。 HRPE = 1;EPwm1Regs。 HRPCTL。 位。 HRPE = 0;获得以下波形
1、目前使用 TMS320F28035PN。
通过配置寄存器 AQCTLA/AQCTLB 可实现封锁和恢复,即在每次封锁或恢复之前配置 AQCTLA/AQCTLB。
我们在固定频率开环下实现死区开关。 这两个波形由同一环路计算、但在发出波形后、会根据波形配置对波形量进行微调。 以 EPWM1A 和 EPWM3A 为例、它们都是 EPwmRegs.AQCTLA.bit.CAD = AQ_SET;EPwmRegs.AQCTLA.bit.CAU = AQ_CLEAR;如果环路计算结果为 CMP1、则为递增。 ePWM 3A 的死区时间为 CMP delta、这需要 ePWM 1Regs。 CMPA = CMP 1 - CMP 差值、ePWM 3Regs。 CMPA = CMP 1。 相反、ePWM 3A 的死区时间大于 ePWM 1A、ePWM 1Regs 的死区时间。 CMPA = CMP 1、ePWM 3Regs。 CMPA = CMP 差值。
目前,所测试的现象是:在 EPwm1Regs 配置下。 HRPCTL。 位。 HRPE = 1时、每次重构 AQCTLA/AQCTLB 后固定的第一个驱动器时都会发生这种现象、并且后续的驱动波形正常。
EPWM1A COMP 加载模式的当前配置如下:EPwm1Regs。 CMPCTL。 位。 LOADAMODE = CC_CTR_ZERO _PRD;EPwm1Regs。 CMPCTL。 位。 SHDWAMODE = CC_SHADOW;。
结合上述现象、我想知道为什么启用高精度时 EPWM1A 的第一个驱动器将丢失一半、而高精度 EPWM1A 的屏蔽将恢复正常。 这之间的关系是什么、谢谢。
Tobby、
请将您的脉冲围绕 CTR=PRD 居中。 我认为这应该能使它符合您的预期。
您设置的值已在图中的第一个 CTR=PRD 上更新。 问题在于、在 HRPWM 模式下、PMW CMPA 设置的 HR 部分在每个周期内仅在内部更新一次。 它在 CTR = ZRO 时更新、因此您在 CTR = 0前有旧设置、在 CTR = 0后有新设置。
此致、
Cody
Cody:
感谢您的回复。
请将您的脉冲围绕 CTR=PRD 居中。 我认为这应该能使它符合您的预期。
我们有2通道2H 桥、第一个通道由 EPWM1A/EPWM2A/EPWM3A/EPWM3B 驱动、如上所述。 第二个通道由 EPWM4A/EPWM5A/EPWM6A/EPWM6B 驱动。 两个通道在不同的脉冲中心具有90度的相移、EPWM4A 在 CTR = PRD 附近居中、第二个通道没有此类半驱动损耗、因此如果 EPWM1脉冲在 CTR = PRD 附近居中、问题就会得到解决。 但是、对于90度相移、我们无法在 CTR=PRD 附近更改中心 EPWM1。
您设置的值已在图中的第一个 CTR=PRD 上更新。 问题在于、在 HRPWM 模式下、PMW CMPA 设置的 HR 部分在每个周期内仅在内部更新一次。 它在 CTR = ZRO 时更新、因此您在 CTR = 0前有旧设置、在 CTR = 0后有新设置。
OLD 设置、直到 CTR=0:(当驱动器为低电平时、此代码每0或 PRD 执行一次)
;EPWM1A、CAD =清除、CAU =清除
MMOVXI MR0 、#0x0050
MMOV16 μ@ EPwm1Regs.AQCTLA.ALL、MR0
CTR=0后的新设置。(当驱动器恢复 时,此代码每0或 PRD 执行一次)
;EPWM1A、CAD =设置、CAU =清除
MMOVXI MR1、 #0x0090
MMOV16 @ EEPWM1Regs.AQCTLA.ALL、MR1
根据旧设置或新设置, 当 CTR= ZRO 时,ePWM 应该没有动作,为什么它有上升沿?
此致、
Tobby
Tobby、
请为 PWM3A/B 配置 TBPHS、以确保脉冲以 CTR=ZRO 为中心。
我相信 CAD 和 CAU 可以随时更新。 只有 CMPx 和 CMPxHR 寄存器在 HR 模式下仅在 CTR=ZRO 时生效。
因此、上升沿发生在零、因为您将 CAD 操作重新配置为高电平、并且 CMPA 写入尚未发生。
此致、
Cody