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.
您好!
我正在尝试使用时钟频率为150MHz 的 TMS320F28335来实现25MHz PWM 频率。 为此、我将使用向上计数器且 EPwm1Regs.TBPRD = 6;
我保持占空比为50%。 EPwm1Regs.CMPA.half.CMPA = 3.
不过、没有显示任何脉冲。 当我保持 TBPRD 值=30时、我看到了 PWM 脉冲。 但如果我给出 TBPRD=20或更低的值、我就看不到来自 PWM1A 的任何脉冲。
PWM1的设置方式如下、
EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;//设置 EPWM1A 的操作
EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm1Regs.AQCTLB.bit.ZRO = AQ_CLEAR;//在0上设置 PWM1A
EPwm1Regs.AQCTLB.bit.CAU = AQ_SET;
请告诉我、在实现这样的高频方面是否存在任何限制。
谢谢!
Naveed
您好、Naveed:
数据表 指出最小 PWM 周期 宽度为20ns (50MHz)、因此25MHz 应该可达到。 对于向上计数(非对称)计算: TBPRD
=(FTBCLK/FPWM)-1 =(150 MHz / 25MHz)-1 = 5.我明天可以尝试测试一下,让你知道我能看到什么问题。
为了说明这一点、您是否认为20的 TBPRD 是您看到任何 ePWM 脉冲的截止值? 我能不能要求 您确认您的时钟 分频器 是什么?
此致、
艾里森
感谢您联系 Allison。
我的 CLKDIV 如下:
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;//时钟与 SYSCLKOUT 的比率
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
#define TB_DIV1 0x0
我在 PWM 信号没有出现时尝试使用 TBPRD=20。 如果我给出30它即将到来。
您好、Naveed:
应能够 使用25MHz (因为这是数据表中指定的最大 GPIO 切换频率)。 将 TBPRD 值更改为测试时、您是否更改了代码中的任何其他内容? 此外、您是否使用 C2000Ware 中的任何示例代码?
此致、
艾里森