数字信号处理器中D/A功能的实现
摘要:通过对脉宽调制(PWM)信号进行滤波处理,在TMS320F2407A型DSP中实现了D/A功能的扩展。同时详细分析了数字PWM的量化误差和D/A转换所能达到的精度。最后结合仿真和实验说明该方法的可行性。
关键词:数字信号处理器;脉宽调制;数模转换
引言
TMS320F2407A是一款高速,高性能,低成本的微处理器,其内部集成了众多数控系统所需的外扩设备,可以实现SPI,SCI,PWM,A/D等功能。其内部的两个事件管理器模块EVA和EVB,各包含了两个16位通用定时器及8个16位的脉宽调制(PWM)通道,可应用于电机控制及其他逆变器控制领域。美中不足的是,该系列DSP内部没有D/A功能,该功能通常须外接数模转换芯片来实现,这不仅增加了系统的成本,也使系统设计复杂化。本文提出了一种使用F2407A内部的PWM信号,经滤波处理后实现D/A功能的方法。实验结果表明,其转换精度可以达到10位以上专用D/A芯片的精度,且该方法设计简单,有较好的实用价值。
2D/A实现原理
在F2407A型DSP中,通过软件编程可以很方便地对PWM信号实现周期和占空比的控制。PWM信号是一组幅值为3.3V的方波,可以通过傅里叶变换,使其分成直流和交流两部分,如图1所示,其中ud(t)是输出的PWM信号,Uo是PWM信号中的直流成分,ua(t)是信号中的交流成分。
将ud(t)用傅里叶级数表示,即
其中:
式中:f,T分别是PWM信号频率和周期。
设PWM波形具有偶函数特性,即ud(t)=ud(-t),则式(1)中an=0,
bn=3.3/nπ{sin(nπD)-sin[2nπ(1-D/2)]}(5)
式中:n=1,2,3……;
D是PWM的占空比。
则直流电压为
Uo=3.3D(V)(6)
从理论上分析,改变占空比就可以使直流输出电压Uo在0~3.3V范围内变化。输出的谐波频率是PWM频率的倍数,一般可以通过低通滤波器滤除。PWM频率越高,滤波效果越好。
2D/A精度分析
F2407A的工作频率为40MHz,内部寄存器长度为16位字长。PWM信号通过定时器计数的方式在周期中断中获得,因此,不可避免存在一个计数步长的量化误差。这个误差会产生一个纹波叠加在输出直流电压上,因此,应尽量减少。通常当PWM的频率为f时,DSP工作频率为fc时,这个量化误差电压值为
?а=3.3×(f/fc)(V)(7)
例如,当f=20kHz,а=1.65mV,其分辨率为1/2000,接近11位D/A芯片的分辨率。
可见,当PWM频率越低,DSP产生定时中断所需的计数值越大,其量化误差的影响越小。但是,考虑到输出低通滤波器的特性,当PWM频率降低时,产生的谐波频率也随之降低,则对于带宽和截止频率一定的滤波器来说,就会有更多的低次谐波通过滤波器,这部分谐波叠加在直流量上同样会产生误差电压。因此,本文D/A转换的误差主要来源于这两个方面,由于两个误差具有相互制约性,必须通过折中的方法选取一个合适的PW 《数字信号处理器中D/A功能的实现》
本文链接地址:http://www.oyaya.net/fanwen/view/175272.html
关键词:数字信号处理器;脉宽调制;数模转换
引言
TMS320F2407A是一款高速,高性能,低成本的微处理器,其内部集成了众多数控系统所需的外扩设备,可以实现SPI,SCI,PWM,A/D等功能。其内部的两个事件管理器模块EVA和EVB,各包含了两个16位通用定时器及8个16位的脉宽调制(PWM)通道,可应用于电机控制及其他逆变器控制领域。美中不足的是,该系列DSP内部没有D/A功能,该功能通常须外接数模转换芯片来实现,这不仅增加了系统的成本,也使系统设计复杂化。本文提出了一种使用F2407A内部的PWM信号,经滤波处理后实现D/A功能的方法。实验结果表明,其转换精度可以达到10位以上专用D/A芯片的精度,且该方法设计简单,有较好的实用价值。
2D/A实现原理
在F2407A型DSP中,通过软件编程可以很方便地对PWM信号实现周期和占空比的控制。PWM信号是一组幅值为3.3V的方波,可以通过傅里叶变换,使其分成直流和交流两部分,如图1所示,其中ud(t)是输出的PWM信号,Uo是PWM信号中的直流成分,ua(t)是信号中的交流成分。
将ud(t)用傅里叶级数表示,即
其中:
式中:f,T分别是PWM信号频率和周期。
设PWM波形具有偶函数特性,即ud(t)=ud(-t),则式(1)中an=0,
bn=3.3/nπ{sin(nπD)-sin[2nπ(1-D/2)]}(5)
式中:n=1,2,3……;
D是PWM的占空比。
则直流电压为
Uo=3.3D(V)(6)
从理论上分析,改变占空比就可以使直流输出电压Uo在0~3.3V范围内变化。输出的谐波频率是PWM频率的倍数,一般可以通过低通滤波器滤除。PWM频率越高,滤波效果越好。
2D/A精度分析
F2407A的工作频率为40MHz,内部寄存器长度为16位字长。PWM信号通过定时器计数的方式在周期中断中获得,因此,不可避免存在一个计数步长的量化误差。这个误差会产生一个纹波叠加在输出直流电压上,因此,应尽量减少。通常当PWM的频率为f时,DSP工作频率为fc时,这个量化误差电压值为
?а=3.3×(f/fc)(V)(7)
例如,当f=20kHz,а=1.65mV,其分辨率为1/2000,接近11位D/A芯片的分辨率。
可见,当PWM频率越低,DSP产生定时中断所需的计数值越大,其量化误差的影响越小。但是,考虑到输出低通滤波器的特性,当PWM频率降低时,产生的谐波频率也随之降低,则对于带宽和截止频率一定的滤波器来说,就会有更多的低次谐波通过滤波器,这部分谐波叠加在直流量上同样会产生误差电压。因此,本文D/A转换的误差主要来源于这两个方面,由于两个误差具有相互制约性,必须通过折中的方法选取一个合适的PW 《数字信号处理器中D/A功能的实现》