硬件开发者之路之:由A到D中间可不止“B、C”(关于ADC非常好的科普)
来源:EETOP 硬汉(论坛usrname:ICNO.1) 的博客
地址:http://www.eetop.cn/blog/?xhsir520
在电子信息系统的学习中,我们或许早就被告知现实世界是模拟的,而数字化的模拟世界则越来越展现更多的风采。但是所谓的数字和模拟只是相对的而已,你可以把模拟量当做无穷数字量的组合,也可以把数字量当做具有不同间隔特征的模拟量。这模数之间的差别也就是采样和量化的差别而已!
那么Analog如何才能走到Digital?
一、ADC几个步骤
1、采样和保持
如果把模拟信号比作无限采样点的数字信号,那么我们就需要采取其中一些有限点才能进行真正的数字化传输。采多少点?怎么采?
奈奎斯特(Nyquist)采样定理:
简单来说就是采样频率必须大于信号频率的2倍,fs≥2fn。这样才能重新恢复信号。如果不,会因为频谱混叠而无法复原,具体原因自行查找公式推导及分析。如下图频谱
保持的意思简单理解就是让采样后的数值保存到下一步转换。
2、量化和编码
所谓的量化是把采样后的N多个点数值按照一定标准和步骤转化为数字式的0和1,这个过程根据方式的不同可以分为很多种ADC类型,因此具有不同的性能特性,见下文。
二、ADC的几种架构
1、积分型ADC
顾名思义,积分ADC的基本原理就是利用运放对输入信号和参考信号进行积分输出,这里参考信号一般与输入信号极性相反,这样输出电压就会有上升时间和下降时间,根据计数器来统计时间,最后按照函数关系得到采样信号的值。
特征简介:
A:积分时间决定转换精度,因此牺牲转换速度可以提升精度,在早期的一些仪表转换精度要求不高的场合应用,后来的ADC很少采用这种架构了。
B:抗噪声能力强。对于零点正负的白噪声,积分时可以消除。
2、逐次比较型SAR
顾名思义是利用比较的方式来转换输出数字量,这个用来比较的值由DAC产生,如下图:初始化DAC的输出由寄存器设置为1/2Vref,然后由比较器判断大小来决定输出1或0,进而进行下一步再次设置寄存器输出DAC,如此循环到最后一次LSB。依次输出的0和1即为转换后的数字量。算法核心就是二分法搜索,类似于猜数字值的游戏。
特征简介:
A:100K到1M的中等速度,12到16位的中等精度,综合性能较好,因此是目前应用最多的ADC架构之一。
B:精度主要决定于DAC的转换精度,因此DAC需要校准,比较器也需要满足高速和能够匹配系统的较高精度。
C:功耗可调,由转换速度决定,因此也限制了高速应用。
D:总之SAR型ADC的内部各组成模块需要组合设计性能匹配最优。
3、Flash型ADC
基本原理如图,利用多个比较器进行并行处理,很明显,高速!
特征简介:
A:很明显够快,比较器并行处理。
B:功耗大,面积大,自然是因为比较器多。
C:分辨率不够,也是因为功耗大,多数小于16位。
D:转换周期需要不断校准以保证一定精度。
两种ADC架构的比较:
4、Σ-Δ型ADC
Sigma-Delta 型ADC也是目前应用相当多的一种ADC架构,尤其是在高位数分辨率的ADC设计上,这种调制型的ADC转换设计尽可能采用数字电路来处理并结合算法实现更好的性能。核心技术点:过采样和噪声整形。
Sigma-Delta 调制过采样:
如图,sigma-delta的意思是差分求和,我们来顾名思义一下这个过程:
假设第一个积分运放输出1,则到后面Q输出也为1,第二个运放输出则为+V。
+V反馈到第一个运放输入,驱动积分器向反方向输出,待采集信号Vi也会驱动积分器输出,综合而言如果积分器输出为0,第二个比较器反馈回来的就是-V,以驱动积分器向输出。这个环路最后的目的是实现运放的基本特性:反相端应该为0!
这样整个输出的1的个数比例对应的电压值其实就是待测信号的电压值!能否理解?就是通过对误差的不断累积求和得到对应值!Q会输出一串01值即完成。
过采样:
上述过程中的触发器时钟非常快,远大于奈奎斯特采样要求,这样可以将量化噪声推到更高频段内。量化噪声:数字量化的最小单位存在的误差被称为量化噪声,即1LSB和2LSB之间的误差值。
噪声整形:
前一步得到的高速01数字流可以通过数字方式进行处理得到最后的输出结果。因为在过采样过程中是以速度换取精度的方式来操作的,高速但是噪声大,在噪声整形过程中通过数字滤波器和抽取电路把噪声消除并降低最终的信号输出速率,实现高精度的数据转换结果!
如下图总结:
几种ADC架构的简单比较:
三、ADC的参数
1、分辨率
就是最小能够分辨的模拟电压值,例如12位ADC,Vref为3.3V最小分辨率即:Vref/2的12次方=0.8mv。
2、转换速度
即每秒转换的数字量,例如100kSPS,也常表示为每个数字量的转换时间如15us
3、输出接口
有串行或者并行接口
4、工作电压,基准电压(内部或者外部基准),封装。
5、DNL 微分非线性误差
6、INL积分非线性误差
这两种误差具有一定随机性,因此ADC会出现误码。
7、几种重要的交流参数
四、ADC的应用
本来想以我非常粗浅的经验简单说说ADC应用设计要点,可是还是无法写出,也许你不喜欢工程师给别人说看情况,但是工作后我越来越发现确实如此,你无法详尽某一项应用设计的所有点,不同特性配合不同应用的组合在不同运行环境下也是千差万别。你最好的方式就是掌握一定的基础再加以充分的思考验证。
就ADC而言,设计自然从选型开始,什么样的待测信号,什么样的速率要求,精度要求等,这些就可以依据前面的知识予以选型指导。这个过程可以避免盲目设计,浪费性能和成本。ADC的精度自然是相对参考电压而言的,那么基准电压就要稳,电源要稳,作为时钟的晶振要稳,PCB设计中地要处理好,高速信号要匹配好,干扰要隔离开,还有软件上的N多配置选择要恰当,等等等,见识浅薄,尚不能略窥一二。
五、小结
ADC作为信号处理过程中最重要的环节之一,是模拟和数字之间的桥梁,目前的信号处理朝着更高检测精度,更快转换速率发展,在音视频接口,微弱信号检测等领域应用深入,而此类芯片的国产化还远远滞后,不过前途可期。而对于硬件开发中的应用而言,知其然并知其所以然对于应用的把握水平会有更好的提升,假以时日或许最后可达到武学中的手中无剑,心中无剑,俯拾残枝即为利刃的境界吧。