在前述文章,BUCK电路模拟补偿器的数字化过程,我们讨论了模拟补偿器的数字化,事实上,数字化过程的第一个重要的环节就是ADC对反馈量的采样,本文就重点探讨一下由于ADC采样频率带来的一些问题,进而讨论一下相应的解决方案。
一.ADC采样频率对电源环路带宽的影响
图1 ADC采样的基本结构
在ADC模块中,一般会经过合适的时钟选择及分频,产生一个合适的时钟作为ADC采样及转换的时钟频率,并且会有一个电源作为ADC转换的参考电源,对模拟信号进行量化,比如AVDD 3.3V。ADC模块包含专用ADC内核和共享ADC内核,专用ADC内核固定接某一个ADC的采样通道,对采样时间要求不高,而共享ADC内核会接不同的ADC采样通道,这必然会涉及到ADC通道的切换。在图1中,我们可知,模拟信号从ADC采样通道进去后,会进行采样,这会产生一定的延时,而采样后的信号会经过ADC转换,这也会消耗一定的时间,最终它的结果会送到ADCBUF寄存器去被软件处理,或者被数字滤波器或者数字比较器所用。关于ADC的具体性能,我们在后面的文章中会详细讨论,此处不做过多探讨。
图2 ADC的采样含义
一般来说,ADC的采样转换,需要一定的触发信号,当发生触发时,ADC或者开始直接转换,或者开始采样并采样结束后转换,这和ADC通道接的是专用内核还是共享内核有关。这时候表示模拟信号流逝的时间轴就不是时间的含义了,而是表示对信号的一次一次的采样,每次采样之间的时间就是ADC的采样间隔Ts,经过ADC转换后,模拟信号就被转换为了离散数字信号,这些数字基于ADC的参考电压和ADC的位数精度,来表示被采样的模拟信号的大小。
图3 ADC的采样间隔和ADC采样转换延时
当每一次进行触发ADC后,需要一个时间来完成转换及中断申请,而后在ADC中断中从ADCBUF中得到ADC的结果,这部分时间延时,在芯片硬件上会有一些措施会让这部分延时尽可能地减小,以便给环路控制算法留出足够的时间。这里需要注意的是,在每一次采样后,一直到下一次采样之前都会保持上一次的采样结果,这就是零阶保持器ZOH.
图4 ZOH的概念
百度百科对ZOH的解释,如图4所示,这是一种最简单的采样保持器,每一个采样区间之间的信号值为常值,其一阶导数为0,这就是零阶保持器的来由,它可以将数字采样信号还原回连续信号。
图5 采样频率造成的相位损失
了解了ADC采样造成的延时,以及ADC采样的零阶保持器特性,我们可以看一下ADC采样在环路控制中造成的相位损失,如图5所示,当在占空比50%处进行ADC触发采样时,在绿色波形上升沿处进入控制环路计算,在下一个周期初始进行占空比的更新,则此时造成的相位损失如下式,
其中fx为环路控制带宽,而fsample为采样间隔频率,所以,当采样频率相对于带宽非常大时,这个相位损失会比较小,但是现实中,采样频率只能最大设置为电源开关频率(对定频变换器而言),以确保每一个开关周期都能对占空比进行一次更新,所以为了尽可能减小ADC造成的相位损失,我们需要将带宽设为一个合适的值,如通常所建议的1/20开关频率,ADC造成的相位损失为18C.
图6 优化ADC触发时刻以优化相位损失
当我们将ADC触发时刻改为1/2的duty_off时间时,我们让占空比在下一个周期一得到计算结果后则立即更新占空比,则可以将相位损失减小为原来的一半,如下式
当建议设计fx为fsample的1/20时,则由于ADC采样导致的相位延时为9C.
二.ADC采样的混叠效应及解决方式
大家试想一下,为什么我们建议采样频率和带宽保持1/20的倍数关系呢?实际上,是由于在采样学上,有一个奈奎斯特采样定律,奈奎斯特频率代表了对应采样频率的采样能力。
采样必须以一定的速率采样,采样频表示采样的速率,当采样频率越高时,则采样到的信号越精确,当采样频率是关心的信号频率的两倍时,则信号还原后的频率不会失真,但是信号幅值会存在失真,所以在采样学上,建议采样频率为信号频率的10倍以上时,才不会引起信号幅值的明显失真。
经过上述了解,我们可知,采样频率的一半称作奈奎斯特频率,要确保信号频率不失真,我们需要信号频率低于奈奎斯特频率,要确保信号幅值不失真,则需要让关心的信号频率为奈奎斯特频率的1/5,甚至于10分之一。因此,我们建议环路带宽设置为1/20采样频率(1/10的奈奎斯特频率),减小奈奎斯特频率对相位的影响。
接下来,我们分析一下不同采样频率下信号还原的情况是什么呢?
图7 高采样频率时的信号还原
当我们采用9倍于所关心频率的信号时去做ADC采样时,那么此时我们通过图7可知,采样信号被还原后比较接近原始的连续信号。
当我们采用奈奎斯特频率fn去采样所关心的频率信号时,我们发现采样后的信号,除了原有信号频率之外,在还原的信号中发现一个低频的信号,另外零阶保持后的信号幅值本身也发生了明显的失真。
图8 较低采样频率导致的信号畸变
图9 用1/2信号频率去采样信号造成的信号畸变
当我们采用一半的信号频率去采样原始信号时,发现信号发生了非常严重的幅值畸变,并且在还原信号中带入了一个明显的低频信号。
通过上述的分析,我们可以看出采样频率对准确采样并还原信号的重要性。一般来说,ADC对高于奈奎斯特频率以上的信号进行采样,都会带来一个低频假信号,而这个假信号如果被MCU所接收,那么它将做出错误的指令判断。所以,我们一定要避免它的出现。
图10 混叠效应的说明
如图10所示,当我们假定采样频率为100Hz,那么对应于采样频率的奈奎斯特频率为50Hz,对所有高于50Hz的信号进行采样,都会带来一个低频假信号,如70Hz会带来30Hz,160H会带来40Hz,510Hz会带来10Hz等,真实信号的频率和混叠进来的低频信号的计算关系我们在此不进行探讨,有兴趣可以去查阅相关资料。
既然我们不希望混叠信号的发生,那么如何消除它呢?有人说,会建议用数字滤波器,但是这往往是不现实的,因为MCU无法区分低频混叠信号和真实信号,所以它将他们统统滤除,那么将有用信号滤除显然是不合理的。正确的做法,一般是尽可能在采样信号进入MCU之前就将所有高于奈奎斯特频率以上的信号滤除掉,并且具有一定的衰减,这样就不会产生混叠频率,常用的滤除方式是采用RC滤波器。
图11 抗混叠滤波器设计1
ADC内部一般会有一个采样保持电容CHOLD,这个电容在规格书上能够查询得到,如图12所示,共享内核典型值为18pF,专用内核典型值为5pF,这里,我们以共享内核为例,一般推荐将滤波电容设为50-100倍的保持电容,以确保在ADC采样时,不管是对保持电容充电,还是保持电容放电,不至于影响到输入模拟信号的幅值,这对于共享内核非常重要,因为共享内核会连接到不同的输入通道上,而每一个通道的电压会有不同,如果处理不得当,会产生不同的电压通道之间产生crosstalk而导致采样错误或者降低精度。
图12 ADC主要结构参数
图13 ADC的模拟输入通道内部结构
由ADC的内部结构,我们可知,模拟通道上面除了信号源阻抗RS之外,ADC内部还有一系列阻抗,如连接电阻RIC为300ohm,采样开关的电阻RSS为44ohm,所以这些电阻会导致给保持电容充电时间变长,为了得到准确的采样电压,需要适当加大采样时间。
图14 抗混叠滤波器设计2
当滤波器电容C确定后,我们可以根据RC的转折频率来求得电阻值选择,由于采样频率是开关频率,则奈奎斯特频率就是一半的开关频率,我们希望在奈奎斯特频率处的输入信号能有20db衰减,则RC的转折频率应该设为1/10的奈奎斯特频率,如图14,可以将电阻R确定下来。
总结,通过分析ADC采样带来的两个典型问题,并且对其解决方案做了探讨,可以更好地理解对数字补偿器的设计。
相关文章:
BUCK电路模拟补偿器的数字化过程
RC滤波电路的频域及时域特性探讨