数字信号处理器中D/A功能的实现_模拟技术论文
关键词:数字信号处理器;脉宽调制;数模转换
引言
tms320f2407a是一款高速,高性能,低成本的微处理器,其内部集成了众多数控系统所需的外扩设备,可以实现spi,sci,pwm,a/d等功能。其内部的两个事件管理器模块eva和evb,各包含了两个16位通用定时器及8个16位的脉宽调制(pwm)通道,可应用于电机控制及其他逆变器控制领域。美中不足的是,该系列dsp内部没有d/a功能,该功能通常须外接数模转换芯片来实现,这不仅增加了系统的成本,也使系统设计复杂化。本文提出了一种使用f2407a内部的pwm信号,经滤波处理后实现d/a功能的方法。实验结果表明,其转换精度可以达到10位以上专用d/a芯片的精度,且该方法设计简单,有较好的实用价值。
2 d/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频率越高,滤波效果越好。
2 d/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转换的误差主要这两个方面,由于两个误差具有相互制约性,必须通过折中的方法选取一个合适的pwm载波频率。表1(通过matlab仿真)是选用不同的pwm频率和不同阶数的滤波器时的性能比较。仿真时采用截止频率为2khz的巴特沃兹滤波器。图2是当pwm信号频率为20khz时,经不同阶数滤波器后直流电压的纹波比较,图中从上到下依次是二阶、三阶、四阶的滤波效果。图3是pwm信号频率为40khz时,滤波后直流电压的纹波,图中从上到下依次为二阶、三阶、四阶的滤波效果。
表1 不同阶数滤波特性的比较
滤波器 | f/khz | 纹波幅值/v | d/a位数 |
二阶 | 20 | 0.04 | 6.4 |
二阶 | 40 | 0.004 | 9.7 |
三阶 | 20 | 0.0044 | 9.6 |
三阶 | 40 | 0.0005 | 12.7 |
四阶 | 20 | 0.0004 | 13.0 |
四阶 | 40 | 0.00005 | 16.0 |
3 模拟滤波器的设计
滤波器按不同的频域或时域特性要求,可分为巴特沃兹(butterworth)型,契比雪夫(chebyshev)型,贝赛尔(bessel)型,椭圆型等标准型。相同的电路,通过选取不同的r和c参数可以实现不同的类型。其中,巴特沃兹型滤波器具有最平坦的通带幅频特性;契比雪夫型特点是通带内增益有波动,但这种滤波器的通带边界下降快;贝赛尔型通带边界下降较为缓慢,其相频特性接近线性;椭圆型的滤波特性很好,但模拟电路复杂,元件选择较为困难,实现难度大,故不常采用。本设计要求通带尽量平坦,而且过渡带和截止带衰减尽量快,因此,只考虑巴特沃兹型。
模拟二阶、三阶电路结构如图4所示。对于图4(a)所示的二阶电路,其传递函数为
h(s)=1/[s2r1r2c1c2+(r1c2+r2c2)s+1 (8)
对于图4(b)所示的三阶电路,其传递函数为
h(s)=1/(a0s3+a1s2+a2s+1) (9)
式中:a0=r1r2r4c1c2c3;
a1=[r4c2c3(r1+r2)r1r2c1c2];
a2=[r4c3+c2(r1+r2)]。
具体参数计算如下。
3.1 两阶电路参数计算
巴特沃兹二阶滤波器的一般表达式为
h(s)=1/(b1p2+b0p+1)
式中:p=s/ωc;
b1=ωc2r1r2c1c2=1;
b0=ωc(r1c2+r2c2)=根号2。
取ωc=2πf=4000π时,可得r1=0.68kΩ,r2=10kΩ,c1=0.1μf,c2=0.01μf。实际截止频率为1930hz。
3.2 三阶电路参数计算
三阶巴特沃兹滤波器的一般表达式为
h(s)=1/(b2p3+b1p2+bop+1)
式中:b2=ωc3r1r2r4c1c2c3=1;
b1=ωc2[r4c2c3(r1+r2)+r1r2c1c2]=2;
b0=ωc[r4c3+c2(r1+r2)]=2。
取ωc=2πf=4000π,可得r1=1.2kΩ,r2=10kΩ,r4=0.4kΩ,c1=0.1μf,c2=0.01μf,c3=0.1μf,实际截止频率为1989hz。
4 实验结果
图5是采用40khz频率时的滤波效果,ch1所示的是经二阶模拟滤波器后的直流电压,ch2所示的是经三阶模拟滤波器后的直流电压,滤波器的具体参数选用同上文,pwm的占空比为0.5。
图5中ch1的波形中有较大的纹波毛刺叠加在直流分量上,其输出平均值在1.6v左右,转换精度不高。ch2的波形和ch1相比,纹波分量减小很明显,输出波形的平均值在1.65v左右,理论分析该波形转换分辩率可以达到12.7左右,已经接近或达到一般d/a芯片的分辨率要求,因此,有较好的应用价值。
5 结语
通过外接滤波电路,dsp输出的pwm信号可以完成d/a功能的扩展,且合理选择输出pwm的频率和滤波器的阶数,可以使转换的分辨率达到12位以上,且外设滤波电路较为简单,因此,具有一定的应用价值。