设计一个基于DSP的PWM波形发生器

1,说明PWM波的基本构成
2,画出基于DSP的PWm波形发生器的硬件连接图,说明工作原理
3,软件编程
在这里先 谢谢了 急需

我简单说下吧
如果你使用的是TIC2000系列dsp,下述可作为参考
为了产生一个PWM信号,DSP的定时器定时周期应该和PWM的周期相等。另外需要对DSP的EVA/EVB模块中的比较单元的比较寄存器设定数值,这样该数值一直与定时器的计数器值相比较,按照一定的比较方式,PWM即产生跳变。通过此种方式,DSP的PWM管脚就会产生一个宽度与比较寄存器数值成比例的脉冲信号。在定时器重复定时的过程中就产生了PWM信号。

使用DSP比较单元产生PWM波形不需要硬件连接图,只需对DPS的相关寄存器进行配置就可以在输出端得到相应的PWM波形,其具体操作过程如下:
1设置比较方式控制寄存器ACTRx
2如有必要,使能死区功能,配置死区控制寄存器DBTCONx
3对比较寄存器CMPRx赋值
4设置定时器寄存器T1CON(T3CON)并启动定时
5通过更新CMPRx的数值改变PWM占空比的大小

对于我所熟悉的2407 DSP 程序如下:
PWMINIT
LDP #0E1H
SPLK #0AH,MCRC;PWM7,9
SPLK #0140H,MCRA;PWM1,3
LDP #0E8H
SPLK #0,CMPR1
SPLK #0,CMPR2
SPLK #0H,ACTRA;
SPLK #0H,DBTCONA
SPLK #0A600H,COMCONA
SPLK #2000,T1PR
SPLK #0,T1CNT
SPLK #0H,GPTCONA;
SPLK #80H,EVAIMRA
SPLK #0FFFFH,EVAIFRA
SPLK #0FFFFH,EVAIFRB
SPLK #0FFFFH,EVAIFRC
LDP #0EAH
SPLK #0H,ACTRB;
SPLK #0H,DBTCONB
SPLK #0,CMPR4
SPLK #0,CMPR5
SPLK #2000,T3PR
SPLK #0A600H,COMCONB
SPLK #0,T3CNT
SPLK #0FFFFH,EVBIFRA
SPLK #0FFFFH,EVBIFRB
SPLK #0FFFFH,EVBIFRC
RET
该段程序使用2407两个事件管理器模块的4个PWM输出引脚pwm1 pwm3 pwm7 pwm9进行pwm输出,定时器周期为2000,只要你将写入CMPR的数值改变 就可以得到不同占空比的PWM波形,不妨试一试,前提是DSP可以正常工作
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-03
快乐!
第2个回答  2009-06-04
百度的分不是RMB 一句谢谢都没有 懒的理你

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网