打印
[DSP编程]

关于F28335的PWM频率问题

[复制链接]
3160|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pinda_|  楼主 | 2014-11-6 15:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近在算F28335的PWM时钟频率,其中关键的寄存器下有两个位必须要用到TBCTL.bit.HSPCLKDIV / TBCTL.bit.CLKDIV;
    根据其定时器时钟频率算法公式为 TBCLK = SYSCLKOUT / (HSPCLKDIV * CLKDIV);
    现在,将HSPCLKDIV = 8, CLKDIV = 32;
    则: TBCLK = 150M / (32 * 8) = 585.9375 Khz;

    目前采用比较中断,周期值为0xFFFF,比较值为7或者8, 产生一个比较中断,比较中断中实现4000个脉冲的发送和边沿翻转(当然方向的改变也在中断中实现,暂时没用到)。
    那么根据时钟频率585.9375Khz,比较值7或者8,算出来的频率应该在100Khz多一点,实际过程中,我通过示波器测量发现,该PWM频率为40.84xxKhz,后面两xx会有一定的不稳定。这与我计算的频率有较大的出入。
    现在,请教各位,整个过程中,哪里理解错了。 @zhangmangui

相关帖子

沙发
pinda_|  楼主 | 2014-11-6 15:05 | 只看该作者
@zhangmangui   再来.

使用特权

评论回复
板凳
airwill| | 2014-11-6 23:11 | 只看该作者
看糊涂了,输入时钟频率585.9375Khz,周期值为0xFFFF,算出来的频率应该是 9Hz 左右。
如果上升下降模式,就一半的频率。怎么算出 100Khz?

使用特权

评论回复
地板
wei3890836| | 2014-11-7 15:22 | 只看该作者
个人觉得上升或者下降 pwm的频率=主频/(HSPCLKDIV * CLKDIV)/(period+1)
升降的话 pwm的频率=主频/(HSPCLKDIV * CLKDIV)/period/2

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:该吃吃,该喝喝!!!

13

主题

173

帖子

0

粉丝