数字信号处理器中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芯片的精度,且该方法设计简单,有较好的实用价值。

  1 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功能的实现已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计