写在最前面
本文是一篇并不枯燥的介绍ADC的文章。考虑到现在有些读者刷文章的翻台率比HR筛简历的速度还快,所以就算你不能每个字都读完,至少每张图也都花点时间看看,毕竟为了让表述言简意赅也是
[绞尽了脑汁.gif]
模拟 VS 数字
二八定律的现象不仅在经济学,社会学,金融学等诸多领域可以听到,就连在电路中也是可见一斑。比如许多电路设计中,模拟器件只占到整个电路的两成,在硬件设计中却往往占用八成的时间和精力。要知道,模拟信号就如同马路上的行人一样,有着“行走随意性大,方向多变”的特点。在实验室里煎熬过的同学们想必领教过模拟信号“琢磨不透,捕捉不到,行踪不定,来去无踪”的特点。
因此,懂得如何将模拟信号进行数字化处理是作为一个电子工程师必备的求生技能!
ADC,你注定离不开的东西
ADC,有时候也称AD,是模数转换器(Analog Digital Converter)的英文缩写。只要你进入电子工程师的领域,尤其是数电,嵌入式,信号处理,物联网,音频等等应用,这玩意都会是经常出现在你脑海里的东西。假设你对ADC还不甚了解,或者只是在学校的课程中不明觉厉地听说过这个词,那么接下来我们就用通俗的方式讲解一番,希望你对这个知识点有一个更加深刻地认知(并在学明白之后果断下单)。
ADC在电路中扮演的作用
学过高数的同学都知道,尽管微积分中存在着许多巧妙的反函数推导算积分的方法,但事实上只有很小很小一部分函数的积分是可以通过直接推导求出的。稍微复杂的函数都是靠离散的方式,将函数下的面积分割成许多小格子后累加算出来的。
同理,对于涉及到大量复杂运算,逻辑功能和信号处理的电路来说,仅靠运放器晶体管组成的那么百十来种模拟电路是远远不够的,因此我们必须借助更强大的数字信号处理单元,比如永远的神的FPGA和单片机等,用来实现更多高大上的功能。
上面这张图就是一个完整的信号处理电路。由于FPGA或者单片机等处理单元都是数字电路家族的,甭管你扭得多么妩媚,他们只认0和1。所以能将扭得跟麻花一样的模拟信号准确地转化成对应的0和1就是ADC存在的价值了。而经过数字处理单元一顿猛如虎的操作之后,如果需要将0和1转化成真实世界的模拟信号,则需要通过DAC来实现(我们之后的文章还会来掰扯掰扯)。
ADC的工作原理介绍
图中是一个ADC的结构。除了性能弱爆了之外,其他的五脏都是俱全的。电路中有3个运放器,更确切地说是比较器。每个比较器的其中一个输入都连接了由等值电阻构成的参考电压,另一个输入则同时接入待采集的模拟信号源Vin。
现在大家可以思考几个问题:
● 该电路构成的ADC是几位的?2位,3位,4位?
● 假如采用LM393作为比较器,那么能采集多快频率的模拟信号?
● 按照以上的结构,10位ADC需要几个运放器?
● 下图电路中接的4-2优先编码器有什么作用?
衡量ADC性能的几个重要指标
ADC的作用就如同战场中的“侦察兵”。他需要将当前的天气,地形,敌方兵力部署等各种重要情报传达给作战指挥部,而后者所有的判断与决策都是基于该侦察兵提供的信息。因此,如果我们想快速大致判断一个侦察兵是青铜还是王者,可以从以下两个方面考虑:
● 描述的信息有多准确?
● 信息传达的速度有多快?
位数
对于ADC来说,反映上述两个性能的指标就是ADC的位数和采样率。图1中的ADC是一个可怜的2-bit ADC,也就是说它只有22=4个区间,换言之除了用于理解概念之外基本没什么luan用。目前最常用的ADC位数有8位,10位和12位的。
8位的ADC代表可以把一个模拟信号的峰峰值切割成28个单位,也就是256份。10位的ADC就能切割成1024份。所以假如待采集的模拟信号为1V,那么ADC理论上能采集并分辨的最小电压为:
采样率
除了位数外,ADC的采样率也非常重要。当采集一个模拟交流信号时,为了能采集到不失真的波形,ADC的采样频率应当至少为该模拟信号频率的2倍以上(奈奎斯特定理)。在采样中,我们可以遵循以下公式:
通常对于一个信号周期来说,至少需要10个采样点,那么以上公式则等于:
也就是说,如果一个ADC的采样率为10Mbps,那么它能采集的模拟信号频率不能超过2MHz。
“别人家的”ADC
“ADC这东西还是别人家的好”,说完这话以后,我们的小姐姐就表示很不服气,于是时隔N年之后又重新拾起了面包板,并从我这里搜刮了几个仅有的元器件后,开启了疯狂拼板模式。
很多同学会觉得这样一个电路一定很好搭吧。但是如果你实际做一做就会发现,很多经验都只有在动手实践中才能学到的,比如运放的轨到轨,source和sink电流,压摆率,模拟带宽,包括电源和地怎么连等等,总算是把以前只有书本里听过的知识实践了一把。不论如何,折腾了半天之后,我们终于有了可以工作的电路,有视频为证:
“别人家的”ADC
了解我们的小姐姐自研的3位低性能ADC之后,我们再来看看高性能的ADC。下图是基于“别人家的”10位高速ADC芯片: 3PA1030而开发的超小模块。在电子森林的项目页面中有详细介绍:
https://www.eetree.cn/project/detail/61
以下是该模块的实物图。
为什么这款如此之小的ADC模块可以完爆我们用面包板搭的电路?下图中列出了该模块采用的关键器件:
我们专门标出了重点,分别涉及了:位数,采样率,增益带宽积,精密,轨到轨,PSRR,低压差线性。至于这些为什么很重要,可以恶补一下以前课本里的知识,或者去电子森林(www.eetree.cn)的文库里面查一查。
是驴是马还需要跑跑看
现在我们就来现场搭建一个小电路来测一测这款高速ADC模块的实际效果。非专业动作,无危险因素,低难度,鼓励模仿!
第一步:在面包板上搭建简易的测试电路。
相信图中你们又看到了一个高级的玩意。这个是梅林雀的超高级版本,信号发生器,逻辑分析仪,示波器什么的全都有。
第二步:打开自带的Scopy软件进行信号发生器配置
通道1是一个10MHz的方波,直接用于ADC的时钟(它甚至可以支持到50MHz),通道2是一个100kHz的三角波,也就是待采样的模拟信号。
第三步:开启逻辑分析仪功能
这时,是不是看到了10条完美的方波信号。这个就是采样之后的数字信号,并且我们采用逻辑分析仪的功能直接进行数位解码,每8位就是一个Byte…于是就完成了将模拟信号数字化的全部过程。剩下的事情就交给数字指挥部了。
装备库一览
讲了这么多,相信有不少同学垂涎三尺,毕竟看别人玩总是不如自己亲手玩一玩过瘾的。于是我们在这里就将装备依次列出:
1.地主土豪最喜欢用的高速ADC模块,3PA1030
2.地主土豪最喜欢用的多功能实验仪器,ADALM2000
3. 贫下中农最喜欢用的多功能实验仪器,梅林雀TG491(新品预售,来加群提前看~)
4.贫下中农喜欢用的面包板电源,MEGO
还有一点,假如你之前从没有参加过我们的学习活动,那么真是太可惜了,因为很多同学都通过活动白piao了我们不少好装备。所以还是要鼓励大家以后多多参加我们的活动。比如近期的暑假一起练活动,已经几百名学生报名参与,因此我们的不少好东西注定又要被白piao走一批了。。。
联系客服