数字信号处理器中D/A功能的实现 摘要:通过对脉宽调制(PWM)信号进行滤波处理,在TMS320F2407A型DSP中实现了D/A功能的扩展。同时详细分析了数字PWM的量化误差和D/A转换所能达到的精度。最后结合仿真和实验说明该方法的可行性。 关键词:数字信号处理器;脉宽调制;数模转换
0 引言 TMS320F2407A是一款高速,高性能,低成本的微处理器,其内部集成了众多数控系统所需的外扩设备,可以实现SPI,SCI,PWM, A/D等功能。其内部的两个事件管理器模块EVA和EVB,各包含了两个16位通用定时器及8个16位的脉宽调制(PWM)通道,可应用于电机控制及其他逆变器控制领域。美中不足的是,该系列DSP内部没有D/A功能,该功能通常须外接数模转换芯片来实现,这不仅增加了系统的成本,也使系统设计复杂化。本文提出了一种使用F2407A内部的PWM信号,经滤波处理后实现D/A功能的方法。实验结果表明,其转换精度可以达到10位以上专用D/A芯片的精度,且该方法设计简单,有较好的实用价值。 1 D/A实现原理 在F2407A型DSP中,通过软件编程可以很方便地对PWM信号实现周期和占空比的控制。PWM信号是一组幅值为3.3V的方波,可以通过傅里叶变换,使其分成直流和交流两部分,如图1所示,其中ud(t)是输出的PWM信号,Uo是PWM信号中的直流成分,ua(t)是信号中的交流成分。
图1 PWM信号分解原理图 将ud(t)用傅里叶级数表示,即 ud(t)=Uo+ansin2nπft+bncos2nπft (1) 其中: an=ud(t)sin2nπftdt (2) bn=ud(t)cos2nπftdt (3) Uo=ud(t)dt (4) 式中:f,T分别是PWM信号频率和周期。 设PWM波形具有偶函数特性,即ud(t)=ud(-t),则式(1)中an=0, bn={sin(nπD)-sin[2nπ]} (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×(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时,滤波后直流电压的纹波,图中从上到下依次为二阶、三阶、四阶的滤波效果。 图2 f=20kHz时不同阶数滤波器时的输出纹波 图3 f=40kHz时不同阶数滤波器时的输出纹波 表1 不同阶数滤波特性的比较
3 模拟滤波器的设计 滤波器按不同的频域或时域特性要求,可分为巴特沃兹(Butterworth)型,契比雪夫(Chebyshev)型,贝赛尔(Bessel)型,椭圆型等标准型。相同的电路,通过选取不同的R和C参数可以实现不同的类型。其中,巴特沃兹型滤波器具有最平坦的通带幅频特性;契比雪夫型特点是通带内增益有波动,但这种滤波器的通带边界下降快;贝赛尔型通带边界下降较为缓慢,其相频特性接近线性;椭圆型的滤波特性很好,但模拟电路复杂,元件选择较为困难,实现难度大,故不常采用。本设计要求通带尽量平坦,而且过渡带和截止带衰减尽量快,因此,只考虑巴特沃兹型。 模拟二阶、三阶电路结构如图4所示。对于图4(a)所 示 的 二 阶 电 路 , 其 传 递 函 数 为 H(s)= ( 8) 对 于 图 4(b)所 示 的 三 阶 电 路 , 其 传 递 函 数 为 H(s)= ( 9) 式 中 :a0=R1R2R4C1C2C3; a1=[R4C2C3(R1+R2)R1R2C1C2]; a2=[R4C3+C2(R1+R2)]。 具 体 参 数 计 算 如 下 。
(a) 二阶电路图 (b) 三阶电路图 图4 巴特沃兹型滤波电路 3.1 两阶电路参数计算 巴特沃兹二阶滤波器的一般表达式为 H(s)= 式中:p=s/ωc; b1=ωc2R1R2C1C2=1; b0=ωc(R1C2+R2C2)=。 取ωc=2πf=4000π时,可得R1=0.68kΩ,R2=10kΩ,C1=0.1μF,C2=0.01μF。实际截止频率为1930Hz。 3.2 三阶电路参数计算 三阶巴特沃兹滤波器的一般表达式为 H(s)= 式中: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 不同阶滤波效果的比较(1V/div,20μs/div) 图5中CH1的波形中有较大的纹波毛刺叠加在直流分量上,其输出平均值在1.6V左右,转换精度不高。CH2的波形和CH1相比,纹波分量减小很明显,输出波形的平均值在1.65V左右,理论分析该波形转换分辩率可以达到12.7左右,已经接近或达到一般D/A芯片的分辨率要求,因此,有较好的应用价值。 5 结语 通过外接滤波电路,DSP输出的PWM信号可以完成D/A功能的扩展,且合理选择输出PWM的频率和滤波器的阶数,可以使转换的分辨率达到12位以上,且外设滤波电路较为简单,因此,具有一定的应用价值。 |