单片机小白学习之路(三十七)---AD转换

目标:ADC的理解


  • ADC简介

ADC(analog to digital converter)也称为模数转换器,是指一个将模拟量转变为数字量。(A:模拟信号,D:数字信号),ADC就是起到把连续的信号用离散的数字表达出来的作用。

模拟量:就是指变量在一定范围内连续变化的量,也就是在一定范围内可以取任意值。比如日常使用的卷尺,它总长是1米,我既可以抽出来0.5米,也可以抽出来0.22555....米,在1米范围内任意取。

数字量:而我们用的米尺上被我们人为的做上了刻度符号,每两个刻度之间的间隔是1mm,这个刻度实际上就是我们对模拟量的数字化,由于有一定的间隔,不是连续的,所以在专业领域里我们称之为离散的。

  • ADC的主要技术指标:
    1.ADC的位数

一个n位的ADC表示这个ADC共有2的n次方个刻度。8位的ADC,输出的是从0到255一共256个数字量,也就是2的8次方个数据刻度。

2.基准源

基准源,也叫基准电压,是ADC的一个重要指标,要想把输入ADC的信号测量准确,那么基准源首先要准,基准源的偏差会直接导致转换结果的偏差。就像那根卷尺,被火烤了热涨冷缩变长了,自然误差变大了。

3.分辨率

分辨率是数字量变化一个最小刻度时,模拟信号的变化量,定义为满刻度量程与2n-1的比值。5.10V的电压系统,使用8位的ADC进行测量,那么相当于0到255一共256个刻度,把5.10V平均分成了255份,那么分辨率就是5.10/255 = 0.02V。

4.INL(积分非线性度)和DNL(差分非线性度)

初学者很容易搞混分辨率和精度的关系,认为分辨率越高精度就越高,实际上两者没有必然的关系,如下图分辨率一样但下面的精度明显不如上面的

单片机小白学习之路(三十七)---AD转换_第1张图片
精度比较

ADC精度关系重大的两个指标是INL(Integral NonLiner)和DNL(DifferenciaNonLiner)。

INL:指ADC器件在所有的数值上对应的模拟值,和真实值之间误差最大的那一个点的误差值,是ADC最重要的一个精度指标,单位是LSB。

一个基准为5.10V的8位ADC,它的分辨率就是0.02V,用它去测量一个电压信号,得到的结果是100,那么它的电压就是100*0.02=2v,假设它的INL是1LSB,那么我们得到的真实电压应该在1.98---2.02之间,数字是99---101.

DNL:表示的是ADC相邻两个刻度之间最大的差异,单位是LSB。一把分辨率是1毫米的尺子,相邻的刻度之间并不都刚好是1毫米,而总是会存在或大或小的误差。同理,一个ADC的两个刻度线之间也不总是准确的等于分辨率,也是存在误差,这个误差就是DNL。

一个基准为5.10V的8位ADC,假定它的DNL是0.5LSB,那么当它的转换结果从100增加到101时,理想情况下实际电压应该增加0.02V,但DNL为0.5LSB的情况下实际电压的增加值是在0.01~0.03之间。

5.转换速率

转换速率,是指ADC每秒能进行采样转换的最大次数,单位是sps(或s/s、sa/s,即samples per second),而完成一次A/D转换所需的时间(包括稳定时间),则是转
换速率的倒数。


  • ADC转换原理
    1.逐次逼近式


    单片机小白学习之路(三十七)---AD转换_第2张图片
    逐次逼近式

比如逐次逼近寄存器里面有一位数据,先经过D/A转换器变模拟量变成V0,然后比较器与Vi比较如果V0i则数据留下,如果大于则清除数据即清0,待8位满了,就又通过逻辑控制电路回到逐次寄存器又转入缓冲寄存器

2.双积分式

单片机小白学习之路(三十七)---AD转换_第3张图片
双积分式

一开始开关打在VIN上,积分器输出在时间T内上升,输入电压越高则越高,然后开关打在标准电压上,积分器输出电压开始下降,之前的电压越高则下降到0所需的时间越长


  • XPT2046简介


    单片机小白学习之路(三十七)---AD转换_第4张图片
    XPT2046

    XPT2046常有两种装接方式,单片机上都有,关键还是看引脚功能。XPT2046还经常用在触摸屏上


    单片机小白学习之路(三十七)---AD转换_第5张图片
    引脚功能

A2,A1,A0的组合是通道选择位,+IN标记表明该端口被选中

单片机小白学习之路(三十七)---AD转换_第6张图片
模式

有单端模式和差分模式,单端模式就是日常接些,光敏传感器什么的,差分用于触摸屏。


单片机小白学习之路(三十七)---AD转换_第7张图片
控制位命令

该控制位命令是传入DIN的,低四位和最高位可以保持不变,就变A2,A1,A0来进行通道选择看是连哪个传感器来决定


单片机小白学习之路(三十七)---AD转换_第8张图片
时序图

单片机小白学习之路(三十七)---AD转换_第9张图片
模块电路

里面的X+就是引脚表的XP(X-PlUS),X-就是XN(X-NO)

如果要检测转换电位器模拟信号,控制字命令寄存器值为0X94或者0XB4.
如果要检测转换热敏电阻模拟信号,控制字命令寄存器值为0XD4.
如果要检测转换光敏电阻模拟信号,控制字命令寄存器值为0XA4.
如果要检测转换AIN3通道上模拟信号,控制字命令寄存器值为0XE4.

你可能感兴趣的:(单片机小白学习之路(三十七)---AD转换)