Thread 中讨论的其他器件: SysConfig、 C2000WARE
工具/软件:
您好、
我发现、 TMS320F28P650DK SysConfig 时钟树中的 EPWMCLKDIV 默认设置为“除以 2“、因此知道 SYSCLK 为 200MHz、EPWMCLK 为 APLL/2 200MHz = 100MHz。
最初、我在使用 C2000ware 运行 ePWM 实验室培训时保持设置不变。 因此、时基周期 (TBPRD) 和计数器比较值 (CCV) 的公式按如下方式设置、如本链接 https://dev.ti.com/tirex/explore/node?node=A__ASXXwGbQ.ubt5o3S3jXEvA__C28X-ACADEMY__1sbHxUB__LATEST 的示例所示 :
TBCLK =(SYSCLK/2)/(CLKDIV*HSPCLKDIV)=(100e6)/(1*1)= 100e6
TBPRD = TBCLK/(2 * f_pwm)=(100e6)/(2*2000)= 25000
CCV =(1 - DUTY_100)*TBPRD =(1 –25/100)*25000 = 18750
在 SysConfig EPWM 部分中使用这些值、可以获得与示例中相同的结果:2kHz、25%占空比的 PWM 信号。
如果我将 EPWMCLKDIV 设置为 1、则 EPWMCLK 为 CLKDIV/1 = 200MHz、现在为了获得相同的结果、我应将 200MHz 或 HSPCLKDIV 设置为 2。 将 CLKDIV 设置为 2、则公式变为:
TBCLK =(SYSCLK/1)/(CLKDIV*HSPCLKDIV)=(200e6)/(2*1)= 100e6
TBPRD = TBCLK/(2 * f_pwm)=(100e6)/(2*2000)= 25000
CCV =(1 - DUTY_100)*TBPRD =(1 –25/100)*25000 = 18750。
因此 TBPRD 和 CC 值没有变化、我预计可以获得与之前相同的结果。 不过、我可以从示波器中看到的是 1kHz 且占空比为 25%的 PWM 信号。 实际上、将 EPWMCLKDIV 设置为 1 似乎对 EPWMCLK 没有影响。
我尝试在 SysConfig 中添加“器件支持“、但编译时出错。 然后、如果我从构建器件文件夹中排除、它会编译、但控制卡不会执行任何操作(我在示波器上看不到任何信号)。
您是否知道如何以该频率有效的方式将 EPWMCLK 正确设置为 200MHz?
提前感谢您。
Alessandro
