【MSP430趣谈】MSP430第十二讲之ADC(上)

首先我们需要明白一个问题是什么是ADC,中文翻译过来就是模数转换器,从他的英文名的话我们会更加好记,Analog-to-Digital Converter。

简而言之就是将模拟量转换为数字量。在我们的生活中大部分是模拟量,比如说温度、压力、声音、或者图像等等。现在大部分的传感器都将一些模拟量转化为电压量来进行测量,这里不再举例,因为太多了,大家在学会这一讲之后,可以试着去读一个土壤湿度传感器的值(前提是你有的话)。

现在大家应该可以明白是什么了吧!一句话,就是把电压值转化成数字量(会不会有点笼统,暂且可以这么理解)。

我们现在看下ADC有一些什么性能指标?

1.采样率

这是一个什么概念呢?因为对于模拟量来说,在时域上面是连续的(时域是指x轴为时间t的一个坐标域,比如你用示波器看到的波形就是指在时域上面的波形),而对于我们的数字量来说它就是一个离散的量,也就是说它必然是会产生一个时间间隔,没有办法做到连续,做到连续的话数据量就是无穷大(会不会说的有点玄乎,希望大家可以明白。)所以就引出采样率这样的一个东西,简单说就是多久采集一次信号,又可以称之为采样频率。

2. 分辨率

大家如果去查ADC的芯片,都会说到该芯片是几位的ADC,那么这个是用来干嘛的呢?比如说我们介绍的FR5969提供了一个12位的ADC,改怎么理解呢,12位的ADC第一个寄存器来说,那么他可以存储多少个数呢?就是212个数,假设我们现在给一个2.5V的电压值,那么我们可以得到他的分辨率就是

2.5/212  = 0.0006

也就是说它可以测量到0.0006V的电压。

3.转化时间

这个比较复杂,因为涉及到ADC的构成以及工作原理,所以下面我们需要专门来讲一讲ADC的电路工作原理。

首先第一个我们需要知道的是采样定理,对于现在大部分的规模电路乃至超大规模电路,都基本的是以数字为主的,但是实际的大部分参量是模拟的,所以就需要解决这之间的桥梁问题。

举个简单的例子,一个正弦波,那么我们需要将其从模拟转换成数字,改如何实现,简单的说我们需要将其进行采样,采样什么意思呢?字面上看就是采集样本,而这个样本采集的呢是我们的电压值。那么这样就设计到一个问题,我们多长时间采集一次呢?这个问题就很关键了,它决定了我们采样得到的波形电压的一个是否能够恢复出来的问题,所以这里我们需要满足一个条件,就是采样的频率(也就是采样的时间间隔的倒数)必须大于或者等于我们信号的最高频率的两倍。

fs ≥ fi(max)

这里的fs是我们的采样频率(或者是取样频率),fi(max)是我们信号中的最高的频率分量的频率。那么信号中最高的频率分量指的是什么意思呢,像我们常见的波形,比如正弦波、方波、三角波、锯齿波这些波形,他们的频率是固定,是多少Hz就是多少,而对于我们大自然的模拟信号,是很难存在这种信号的,都是一大堆频率的波形混合在一起而显现出来的波形,暂时你就这么理解,这里深究下去我也搞不清楚,所以这里必须要找出的是最高的频率分量对应的频率。上面所说的就是采样定理,就是那个式子,很重要,需要大家记住。

上图所示就是一个采样过程,这样的一个模拟信号,不是一个规则的正弦信号,那么我们在t1和t2这个时间点进行信号的采集,两着之间的间隔倒数就是我们的采样频率了。

后面我们会进行另外一个步骤,就是量化和编码,那么这个又是什么意思呢?这里我们要明白,比如你使用的是3.3V或者5V的单片机,常见的,那么你对应最高能够测到的电压就是单片机的最高承受电压,3.3V或者5V(这句话不知道对不对,暂时没有找到充分的证据)。但是这里可能大家会提到一个问题就是如果我们要测超过这量程的电压,那怎么办,这个有好的解决方法,就是可以利用电阻进行分压测量,再通过计算得出我们的电压值,这个方法会引出电阻的阻值误差。

量化的示意图,这里很清楚的解释了什么叫做量化,简而言之,就是将我们的取样电压转化为所谓的二进制数,从图上介绍了两种的量化方法,这两种量化方式的区别在于他们的误差大小不同,前面的最小单位,也就是一个二进制位,001所代表的最小单位为1/8V,而第二个图中的最小单位为2/15V。那么如何体现他们的量化误差呢?

对于第一个来讲我们可以看出,如果编码为000,那么我们对应采集到的电压值应该是0~1/8V对吧,那么不难看出我们对于每一个量化值的最大误差为1/8V。好了接下来我们看下另外一个,我们的最小量化单位是2/15V,但是000变化到001,我们规定的是0~1/15V,所以这个时候我们得到的量化误差刚好是最小单位的一半,1/15V,往后的每一个量化值的误差都将处于量化单位的一半,中心位置,此时的量化误差就减少为1/15V。

后面还有经过一个取样保持电路,该电路的作用就是要将当前采集的模拟量保持一段时间,以便器件将其转换为数字量,这中间需要一段时间,所以需要该电路的支持,否则采集时间过快,数据突变,没有转换完成,将会到时数据错误。下面是一个取样保持电路的示意图,这里不细说,详细的大家参考附件的内容。

下面我们介绍一下常见的AD的结构类型,总的来说大概有这几种:

1.并联比较型ADC

2.反馈比较型ADC

3.双积分型ADC

4.V-F变换型ADC

5.逐次比较型ADC

总的来说,总类还是很多的,也都有着各自的特点,我们在这里没有办法说这么多,我们就挑几个来给大家说明了,其他的话就大家自行百度查查了。

下面的电路说明以3位的ADC来进行说明,位数少一点比较好说,高位数的道理都是一样的,这个能够明白了,其他也都类似了。

并联比较型ADC:

红色方框中我们看到共有8个电阻,总共的阻值是R×7+2/R = 15R/2,我们的参考电压是VREF,这个时候得到一个电阻的电压值为多少呢?2VREF/15,和我们前面说到的最小的模拟电压的间隔是相同的,有由于我们最下面的一个电阻为2/R,所以第一个和电压比较器(那个三角号有个+-号的那个)的节点就是VREF/15。也就和我们上面量化编码的第二图相同了,那么具体该如何进行比较呢?

我们举个例子,假设我们的输入电压是2VREF/15好了,那么现在我们的vi输入了这个电压值,那么对于C1这个电压比较器来说,我们看下它是怎么工作的。

我们需要知道电压比较器的工作特性:(偷懒一下,直接百度百科上截图了,打的手酸)

红色方框中是我们要用到的特性。

在C1这个电压比较器上面,反向输入端(-号的那个端口)输入的是我们的参考电压,这里的电压输入的是VREF/15,前面已经解释过为什么了,就是电阻分压。同向输入端(+号的输入端口)输入的是我们的vi,所以通过比较两者之间的电压大小我们得到此时应该C1输出的是高电平,这个电平有多高的话具体和电路有关系。

那么同理分析我们的C2~C7可以得到他们输出的是低电平。

经过电压比较器之后的电路就是D触发器了,那么对于D触发器我们同样也需要知道它的相关特性,这里也直接截图百度百科的了。

我们这里对应我们的电路看出我们的电压输出是连接到我们的D输入端,对应到我们的功能表上面可以相应的得出我们的输出内容,对C2连接的D触发器输出的是Q为0,相应的QN就为0,同理分析得出我们C1得出的就是Q为1,QN为0。通过图上我们可以看出两个D触发器后面连接的或非门的输入为C2所连接的D触发器输出的0和C1连接的D触发器输出连接的0。(这里的D触发器输出的变化都是在时钟的边沿产生,同时要注意看图上输出连接的是Q和QN,Q和QN是相反的关系,非的关系)。所以这个或非门输出得到的是1。相应的为高电平。(这里我们一般把1看做高电平,0为低电平)。

相应的分析后面的或非门我们可以得到最终的转换结果的位d2d1d0 = 001.这里就不在说明了哈,留给大家自行思考,相信大家可以通过分析或非门的输出关系,有一点很重要,要看清我们的连线,细心分析就可以得到结果。如果有什么疑问的话回帖,我们在和大家讨论。

相应的其他类型的ADC方式也通过相应的分析可以得到对应的理解。总归一句话,ADC是一个模拟量和数字量之间转换的桥梁,也是我们现在电子电路中必不可少的器件。

附件中有份文档,具体大家可以参考里面的知识,有不清楚的大家可以提出来一起讨论。

关于ADC其实还是有很多的内容的,我们在这里一次讲不完,我也想通过自己的语言来帮助大家理解,所以有什么不对的地方希望大家多多指出。关于这个系列的教程,我会继续介绍,当然第一版的话可能稍微粗糙,但是我会先更新,之后等整个教程完成之后,在回过头来进行想应的修正,希望能给大家带来一丝帮助,今天就讲这么多了。

(0)

相关推荐

  • 电波及频率与周期时间的关系和案例

    电子系统使用各种各样的信号波形类型和形状,从正弦波到波形发生器产生的信号 在振荡器教程中,我们看到了一个振荡器是用于产生连续输出信号的电子电路.通常,该输出信号是由电路的谐振分量设定的某个预定频率或波 ...

  • STM32硬件电路设计注意事项

    STM32硬件电路设计注意事项

  • 【MSP430趣谈】MSP430第十二讲之ADC(下)

    Ksps的意思是每秒转换次数为多少. 这里插播一个细节的东西,德州仪器(TI)的官网不管对于库函数还是寄存器都给出了示例代码,我们通过我们CCS环境下面的TI Resource Explorer下面查 ...

  • 【MSP430趣谈】MSP430第十讲之SPI总线驱动OLED

    上次我们说到了430的UART的使用方法,当我们一步一步开始探索的时候会发现它的实际应用是十分复杂的,但是经过我们的慢慢的看下来,我们看到TI给了很多官方的参数供给我们进行选择,所以这里给我们带来了很 ...

  • 【MSP430趣谈】MSP430第十三讲之DMA的应用

    本系列教程应该来说也已经基本接近尾声了,还会有几讲的内容,最后如果可以的话还回附上一个具体的案例让我们来看下具体该如何应用430这款产品.也将更加深入的探讨他的低功耗特性. 今天我们还是继续讨论430 ...

  • 【MSP430趣谈】MSP430第九讲之串口使用

    上次一讲中我们说到了定时器的两种写法,一种是利用寄存器进行书写的,另外一种是利用官方库函数进行书写的.我们通过对比这两种写法,发现库函数居然写的要比寄存器还多,这不是更加不方便了吗.其实库函数和寄存器 ...

  • 【MSP430趣谈】MSP430第八讲之时钟设置

    写到现在已经是第八讲了,希望大家多多支持.可能我的行文风格和我们的标题不大符合,趣谈,对吧.但是希望能够仔细的讲到每一点,让所有初学者能够明白.如果大家有不懂的地方也麻烦留言一下,也有帮助我补充和完善 ...

  • 【MSP430趣谈】MSP430第四讲之简谈中断

    上次和大家聊到了GPIO的使用,但是讲的不是很全面,要是全面涉及的话就是我们后面要讲的内容了,这里我们就不多加描述.在后期的讲解中也会慢慢涉及我们没有讲到的一些功能的.今天我们要涉及一个对于单片机来说 ...

  • 【MSP430趣谈】MSP430第二讲

    在上次我们说到了软件的安装以及相关的资料. 那么接下来我们即将进入"板子游戏"开发的过程咯! 首先打开我们的软件: 出现上面的对话框,我们可以选择我们自己的工程路径,一般下面的Us ...

  • 【MSP430趣谈】MSP430第一讲

    现在市面上属于单片机的有很多很多了,包括基础一点的51单片机,他出现的比较早,相对而言资料也稍微丰富一点.430也作为一款优秀的单片机,相信也有很多人运用这款单片机的作为自己的单片机入门的选项.但相对 ...

  • 阅素灵谈中医食疗第十二讲 ||养生是维稳,治病是纠偏

    本 讲 导 读 脾虚体质,每天早上起来喝鲜榨蔬果汁,中焦的脾阳易被破坏. 只有和谐之路才是正确的,气机必须两边调. 治病是纠偏,养生是维持稳定. 急性病看当下的状态:慢性病.虚弱体质的调理,看长期的状 ...