模拟技术
直播中

ben111

11年用户 2640经验值
擅长:模拟技术 嵌入式技术 MEMS/传感技术
私信 关注
[讨论]

如何快速建立的同步PWM-DAC滤波器没有纹波?

实现高分辨率数模转换的廉价方法是将微控制器-PWM(脉冲宽度调制)输出与精密模拟电压基准,CMOS开关和模拟滤波相结合。但是,PWM-DAC设计存在一个很大的设计问题:如何充分抑制开关输出中不可避免的大的交流纹路?

回帖(4)

李伟

2018-12-31 15:18:32
当您使用典型的16位微控制器-PWM外设进行DAC控制时,纹波问题变得尤为严重; 这种高分辨率PWM功能通常具有较长的周期,因为它具有较大的2 1616位定时器和比较器的倒计数模数。这种情况导致交流频率分量如100或200Hz那样不方便地慢。如此低的纹波频率,如果您采用足够的普通模拟低通滤波来抑制纹波到16位 - 即-96 dB噪声电平,则DAC建立可以变为整秒或更长时间。

图1中的电路通过将差分积分器A]
图1该DAC纹波滤波器将差分积分器A 1与采样保持放大器A 2组合在一个与PWM同步工作的反馈环路中。

图2]可选的反馈分压器R 2 / R 3在DAC输出范围内提供灵活性,具有公共电压基准。例如,如果R 2 = R 3,那么5V参考电压将产生0到10V的输出范围。这种跨度调整方法的另一个优点是输出纹波保持与参考放大无关。

举报

张敏

2018-12-31 15:19:27
PWM DAC的持久简单性将始终在设计人员的烹饪书中占据一席之地,但响应时间慢和PWM波纹问题往往会限制其吸引力和实用性。通常的衰减PWM纹波的方法是RC低通滤波器,它永远不会成功地完全消除它,并且只有当你尝试时才会使输出稳定时间慢得令人痛苦。图1显示了一种不同的方法,可以克服这些缺点 - 使用同步S&H(采样和保持)。


图1   S1的采样保持操作消除了PWM纹波。
的设计思路依赖于PWM纹波,这使得它在在V同步任何选定点具有完全相同的电压的固有周期性质C1波形,如图图2。因此,如果同步采样V]
图2]此外,由于同步采样固有地消除了纹波,而与RC1时间常数可能有多短无关,因此RC1产品确实可以做得非常短。这可以 大大缩短建立时间,如图1所示,其中RC1 =100μs= T c = PWM周期,在示例情况下,小于15·T c = 1.5 ms 导致稳定(至8位精度)。但是,当然,正如所有好事一样,我们知道必须有限制。所以问题就变成了:RC1与DAC功能的一致性有多短,以及哪些设计因素限制了?
仔细观察V]V out = V s T p / T c + V 纹波
随着...
V 纹波 = V s(T p / T c)(1 - T p / T c)/(2·R(C1 + C2)/ T c)
]因此,使用DAC V out函数对此非线性分量求和也会使DAC传递函数非线性,导致积分非线性(INL)误差,在示例电路常数下,可能会达到满量程的8.3%。对于许多应用来说,这么多的INL是不可接受的。幸运的是,有一个简单的(软件)修复:DAC设置的数字预加重。例如,使用图1的常量,其中......
R(C1]如果我们改变T p ......
T]
V]
图3]值得一提的 是“可选”元件V s和S2,它们从精密基准电压(V s)产生RC1输入波形,从而避免叠加噪声和狡猾的调节通常是逻辑电源的特性(因此依赖于PWM逻辑)信号)在V out上。当然,如果您的应用的精度要求不足以使其不必要,则可省略它们,并且R仅直接连接到PWM信号。
值得一提的是,正如我在开头所说的那样,持久的简洁性是]
图4   三种不同输出设置下的DAC响应

举报

刘埃生

2018-12-31 15:21:53
需要来自没有数模转换器(DAC)的微控制器的模拟输出时,您可以连接外部DAC芯片。但是对于更便宜的解决方案,使用脉冲宽度调制(PWM)输出并添加低通滤波器(LPF)来提取其平均值,该平均值等于PWM信号的占空比。



图1  RC LPF提取PWM信号的平均值
RC滤波器去除非直流分量; 剩下的是平均信号U OUT。如果PWM信号的周期T等于63个时钟,则信号 U OUT可以具有64个离散DC值之一(0到63,六位分辨率)。
低通RC滤波器的时间常数t必须足够大以平滑输出信号U OUT。涟漪,?ü OUT,应小于一个至少显著位(LSB)。最坏的情况是占空比为50%(图2)。如果t比周期T大得多,则电容充电电流I C 和变化?U OUT可以近似为:

对于6位DAC,?U OUT应小于V CC / 64,需要滤波器t = RC = 16·T。


图2  滤波后的输出(蓝色)应具有少于一个LSb的纹波。
一些实用数字:低功耗微处理器通常使用32768 Hz的晶体振荡器,此时钟信号用于PWM模块。对于6位PWM,周期T为64/32768~2ms,需要32ms的时间常数。必须等待5t(160ms)才能使6位转换器稳定下来。慢。本设计理念解释了如何加快速度。
微控制器中的PWM模块通常可以产生多个PWM信号。考虑对两个基于PWM的3位DAC(DACH和DACL)的输出求和,其中DACL的输出在加法之前降低到八分之一幅度。产生的信号用作6位DAC,与简单版本相比具有重要优势:对于相同的分辨率,周期T仅为8个时钟周期,并且所需的时间常数t为前者的1/8,从而加快了建立速度时间乘以八。对于两个PWM信号(PWMH,PWML),RC滤波器中的电阻很容易实现这种布置:


图3  组合两个基于PWM的DAC输出
输出信号U OUT由下式给出:

该技术已在TI MSP430F5132微控制器中实现:

  // 在两个PWM中配置 PWM - 32 kHz / 8 = 4 kHz :: 6位,上电时仅执行一次
  TA0CCR0 = 7; //最多7个(包括)
  TA0CTL = TASSEL__ACLK | MC_1 | TACLR;
  TA0CCR1 = 0; TA0CCTL1 = OUTMOD_6; //切换/设置
  TA0CCR2 = 0; TA0CCTL2 = OUTMOD_6; //切换/设置

  // 使用 ::写入PWM模块以实现所需的DAC输出
  DAClevel ++; //下一个DAC级别,DAClevel是一个char
  TA0CCR1 =(DAC等级>> 3)&7; //设置PWMH:MSB 3位
  TA0CCR2 =(DAClevel)&7; //设置PWML:LSB 3位

图4  初始化和写入6位(3 + 3)基于PWM的DAC的代码


图5  基于6位PWM的DAC的测量输出; 蓝色:如图1所示(160ms建立); Violet:如图3所示(20ms解决)

可以使用1%电阻实现7位DAC。这次,两个PWM信号用于产生两个三位DAC,总共六位,并且在P3.7处MSb简单地设置为0或1。

图6  基于七位PWM的DAC的实现



图7  图6电路的测量输出; 注意良好的线性。

// 配置 PWM - 32 kHz / 8 = 4 kHz :: 7位,两个PWM和一个数字引脚,上电时仅执行一次
// 图5 中的configure部分中给出的相同

// 使用 ::写入定时器比较器以实现所需的DAC输出
DAClevel ++; //下一个DAC级别,DAClevel是一个char
TA0CCR1 =(DAC等级>> 3)&7; //设置PWMH,MSB,3位
TA0CCR2 =(DAClevel)&7; //设置PWML,LSB,3位
if(DAClevel&BIT6)P3OUT | = BIT7; 否则P3OUT&= ~BIT7; //设置MSB,无PWM

图8  初始化和写入7位(3 + 3 + 1)基于PWM的DAC的代码

这里的速度 提升甚至更大。一个简单的PWM DAC周期为128个时钟周期(128/32768 s -1 = 3.9ms),导致t为32· T = 125ms,建立时间为5·125ms = 625ms。图7稳定在40ms - 快16倍。更高阶的LPF也有助于缩短建立时间。
举报

訾存贵

2018-12-31 15:24:35
每个PWM DAC设计都需要模拟滤波,以将所需的PWM占空比成比例的DC分量与不需要的AC纹波分开。其中最简单的是基本的RC低通滤波器,它提供峰峰值纹波幅度(对于50%PWM占空比的最坏​​情况,其中T PWM = PWM周期时间,假设RC> T PWM)的:

V 纹波 / V 满量程 = T PWM / 4·RC
明显的设计折衷是,虽然通过选择足够大的RC产品可以实现任何所需程度的纹波衰减,但是建立时间将相应地受到影响。例如,如果我们(相当逻辑地)选择一个定理带的定义等于纹波幅度,那么......
T sett = RC·ln(V 满刻度 / V 纹波)
= T PWM ·V fullscale ·ln(V 满刻度 / V 纹波)/(4·V 纹波)

这种关系的后果可以通过8位案例来说明:
给定:V ripple / V fullscale = 1/256; RC = 64·T PWM
T sett = 64·ln(256)·T PWM = 355·T PWM
其中,即使是相当迅速的32kHz(31μsŤ PWM),预测了积极的冰 11毫秒的稳定时间。
显然,如果稳定时间是一个关键的设计参数,我们需要做得更好,找到一个不太简单的过滤方案。我以前的DI说明了这个方向的极端可能性,快速建立的同步PWM-DAC滤波器几乎没有纹波。
但并非每个不能容忍1月份糖蜜的应用程序355·T PWM建立时间都需要或可以证明这种复杂的过滤解决方案是合理的。这里介绍的设计理念解决了这些中间应用。如图1所示,它通过一个反相器R2和C2增强了基本的R1 / C1低通,它们组合起来消除和减去(大部分)所需直流信号中不需要的交流分量,留下一个相对干净的模拟输出的建立时间远远小于简单的RC滤波器。


图1  PWM DAC纹波消除器的波形和原理图

但是“相对干净”有多纯粹,“多少”多快?设置R2 = R1和C2 = C1,新电路的纹波和建立时间数字为:
V 纹波 / V 满量程 =(T PWM / 4·RC)2
T sett = T PWM ·ln(V 满刻度 / V 纹波)·(V 满刻度 / 16·V 纹波)1/2

再次参考8位情况(图1中以图形方式说明):
给定:RC = 4·T PWM
T sett = 22·T PWM = 0.69 ms
在32 kHz周期内,它的速度快16 倍,具有平方纹波幅度比!
对于许多应用来说,这代表了电路复杂性适度增加和PWM DAC性能显着提高之间非常值得的权衡。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分