2.4低通滤波系统的实现 将PWM输出的高电平记为VH,低电平记为VL,理想情况下VL等于0,但实际往往不等,也是应用中产生误差的主要原因。将PWM波形用分段式函数表达结果为: F(t)=VH kNT<=t<=kNT+nT F(t)=VL kNT+nT<=t<=NT+kNT n为PWM一个周期内高电平的计数脉冲个数,这里如PWM1L,N为PWM一个周期的计数脉冲个数。 表1给出了不同N和n的情况下的分辨率 表一、PWM和DAC分辨率对应关系 可以看出N越大DAC的分辨率越高但是NT也越大,即 PWM的周期也越大,相当于1次谐波的频率也越低需要截止频率很低的低通滤波器。DAC输出的滞后也将增加。一种解决方法就是使T减少,即减少单片机的计数脉冲宽度。这往往需要提高单片机的工作频率,达到不降低1次谐波频率的前提下提高精度。在实际中T的减少受到单片机时钟和PWM后续电路开关特性的限制。如果在实际中需要微秒级的T,则后续电路需要选择开关特性较好的器件以减少PWM波形的失真。 PWM波的VH和VL受到MCU输出高低电平的限制,一般情况下VL不等于0V,VH也不等于VCC。而且该数值随着负载电流和温度而变化。输出精度只能跟随输出的VL和VH。而且随负载电流和环境温度变化,精度很难保证。一般电路的变化部分精度不高,没有必要采用高分辨率的PWM输出,8位即可。一般的RC滤波电路使DAC输出的负载能力也比较差,只适合与具有高输入阻抗的后续电路连接。因此简单RC电路只能用在对DAC输出精度要求不高、负载很小的场合。对精度和负载能力要求较高的场合需要对电路进行改进,增加基准电压、负载驱动等电路。 一般的低通滤波设计采用RC滤波,器件结构简单,实现低功耗,尽量避免采用有源器件。 用于交流信号的滤波器是一个双极点级联RC滤波器。如果滤波器阶数过高可以采用提高的抽样频率的办法来降低滤波器阶数。滤波器的截至频率fc由fc=1/(2PiRC)来计算,如果截至频率很接近信号带宽边沿,将会导致相当大的衰减。因此为了减小滤波器的衰减截至频率应该大于信号带宽边沿,但是要远小于PWM信号的频率。 图三、滤波仿真单路图 图三所示为3个PWM模拟DAC的仿真电路图,输出分别为O1、O2和O3,它们之间的单元结构都是相同的,区别仅在于单元级数依次递增。初期的实验表明PWM占空比为50%时输出的纹波基本达到最大,而整个波形稳定的时间没有明显地随占空比的不同而变化。因此在这里取PWM的占空比为50%,频率为10 kHz,上升时间和下降时间均取1 ns,高电平为5 V,低电平0 V,而相应的滤波电路的一个基本RC单元的截止频率约为1 kHz。 经过测试显示,O1的纹波呈现正弦波形,峰峰值780 mV,幅度390 mV,直流平均值为2.50 V,电压稳定时间约为1.0 ms;O2的纹波呈现正弦波形,峰峰值53 mV,幅度26.5 mV,直流平均值为2.50 V,电压稳定时间约为2.5 ms;O3的纹波呈现正弦波形,峰峰值4 mV,幅度2 mV,直流平均值为2.50 V,电压稳定时间约为5.5 ms。 DAC的精度(Accuracy)是指DAC的输出与理想情况的偏差。示波器显示纹波基本对称,可以得到各个电路对应的精度就是纹波的幅度,即O1的精度A1为390 mV,O2的精度A2为26.5 mV,O3的精度A3为2 mV。可见随着滤波级数的增加DAC精度显著改善。
|