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.
我写信给您的原因是我们在使用 HRPWM 时发现的一个问题,我们不确定导致此问题的原因:
在此项目中、我们将使用德州仪器(TI)的微处理器 TMX320F28377D。
PWM 模块的时钟频率为100MHz,PWM 以50kHz 的频率(TBPRD = 1000)在“上-下计数器模式”下运行。
PWM 必须具有高分辨率占空比。
实际的 PWM 配置可在随附的文件 EPwm1Regs_CMPA_0x03E60000_Export.txt 中看到(仅配置 EPwm1)。
我们观察到的实际问题以及我们需要 TI 帮助了解和理想解决该问题的地方如下:
由于支持 HRPWM、我们可以精确地将 PWM 周期的占空比设置为0到99.999%(ePWM 寄存器 CMPA=从0x0到0x03E5FF00)。 但是、如果 CMPA=0x03E60000 (精确地达到99.8%)、我们将获得50%的占空比、而不是所需的占空比。
当将寄存器 CMPA 的值增加到0x03E60100 (即下一个可能的占空比)时、该占空比再次正常(大约99.8005%)。
因此、只有当 CMPA 寄存器设置为0x03E60000时、才会出现问题(我们获得50%的占空比、而不是所需的占空比)。
乍一看、我们认为我们正面临这一问题、因为占空比的下降沿在 PWM 周期结束时非常接近3个时钟。
随附三张示波器图片。 每张图片都显示了由 CMPA 寄存器等效值创建的 PWM。
随附的.pdf 文件汇总了三个 CMPA 值。
PWM 配置的简短摘要:
PWM 模块的时钟频率为100MHz。
每个 PWM 具有50kHz 的频率。
PWM 配置为向上/向下计数器模式、两侧都有一个100ns 的死区。
TBCTL:
PWM_TBCTL_FREE_SOFT (PWM_TBCTL_FREE_SOFT_STOP_AT 结束周期)
PWM_TBCTL_PHSDIR (PWM_TBCTL_PHSDIR_DOWN)
PWM_TBCTL_CLKDIV (PWM_TBCTL_CLKDIV_DIV1)
PWM_TBCTL_HSPCLKDIV (PWM_TBCTL_HSPCLKDIV_DIV1)
PWM_TBCTL_SWFSYNC (ON)
PWM_TBCTL_SYNCOSEL (PWM_TBCTL_SYNCOSEL_DISABLED)
PWM_TBCTL_PRDLD (PWM_TBCTL_PRDLD_SHADOW)
PWM_TBCTL_PHSEN (关闭)
PWM_TBCTL_CTRMODE (PWM_TBCTL_CTRMODE_UP_DOWN)
AQCTLA:
PWM_AQCTLA_CBD =禁用
PWM_AQCTLA_CBU =禁用
PWM_AQCTLA_CAD =置1
PWM_AQCTLA_CAU =清除
PWM_AQCTLA_PRD =禁用
PWM_AQCTLA_ZRO =置1
HRPWM 寄存器配置如下。
HRPCTL:
PWM_HRPCTL_PWMSYNCSELX (0U)
PWM_HRPCTL_TBPHSHRLOADE (关闭)
PWM_HRPCTL_PWMSYNCSEL (关闭)
PWM_HRPCTL_HRPE (接通)
HRCNFG:
PWM_HRCNFG_HRLOADB (LOAD_ON_ZERO PRD)
PWM_HRCNFG_CTLMODEB (SEL_CMPHR_OR_TBPRDHR)
PWM_HRCNFG_EDGEMODEB (两者)
PWM_HRCNFG_SWAPAB (PWMA_PWMB_unchanged)
PWM_HRCNFG_AUTOCONV (启用)
PWM_HRCNFG_SELOUTB (EPWMXB_OUT_NORMAL)
PWM_HRCNFG_HRLOAD (LOAD_ON_ZERO PRD)
PWM_HRCNFG_CTLMODE (SEL_CMPHR_OR_TBPRDHR)
PWM_HRCNFG_EDGEMODE (两者)
MEP_ScaleFactor 由 SFO ()函数计算一次(在配置 PWM 之后并且在 TBCLKSYNC 设置为1之前)。
提前非常感谢您的支持。
附件:
Picture1:CMPA=0x03E5FF00时的示波器屏幕截图
Picture2:CMPA=0x03E60000时的示波器截屏
Picture3:CMPA=0x03E60100时的示波器屏幕截图
e2e.ti.com/.../EPwm1Regs_5F00_CMPA_5F00_0x03E60000_5F00_Export.txt
您好、Kris、
感谢您的快速回答、感谢您的延迟回复。
我已经使用标准分辨率 PWM (禁用 HRPWM 功能)和 CMPA=0x03E60000进行了测试、负载为预期的 C.A.99.8%。
此致
谢谢 Kris
此致、
伊凡