问个PWM的问题?请高手指点。

[复制链接]
2915|0
 楼主| 乘风破浪 发表于 2007-1-25 12:20 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;&nbsp; DSP2812的PWM单元产生两路PWM脉冲,我想让其中一路PWM7超前(或者滞后)于另一路PWM1,该怎么样实现?大家都是用什么方式塑造这两路脉冲的?<br />   附图是我想要的两路脉冲:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我用了EVA中的一路PWM1和EVB中的另一路PWM2,然后采用EvbRegs.CMPR4&nbsp;=&nbsp;EvaRegs.CMPR1-30,使得PWM7确实超前了PWM1,但是,与此同时带来的问题是使得PWM7的脉宽变大了(比如我只想要0.06T的脉宽),我该怎样减少PWM7的脉宽?<br />&nbsp;&nbsp;&nbsp;&nbsp;我用了<br />&nbsp;&nbsp;&nbsp;&nbsp;{if&nbsp;(EvbRegs.T3CNT&nbsp;&lt&nbsp;EvbRegs.CMPR4)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EvbRegs.ACTRB.bit.CMP7ACT&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(EvbRegs.T3CNT&nbsp;&lt&nbsp;EvbRegs.CMPR4+45)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EvbRegs.ACTRB.bit.CMP7ACT&nbsp;=&nbsp;3;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EvbRegs.ACTRB.bit.CMP7ACT&nbsp;=&nbsp;0;}<br />    目的是想通过强制高或强制低满足我的PWM7,只在EvbRegs.CMPR4&ltEvbRegs.T3CNT&ltEvbRegs.CMPR4+45之间强制输出高电平,之外强制输出低电平,<br />    可是新的问题又来了,因为我采用的是连续增/减模式,增半部分和减半部分理论上都会出现小脉冲,我该怎么办?<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部