STC单片机的模数转换器实现

控制/MCU

1878人已加入

描述

模数转换器原理

数模转换器( analog to digitI converter,ADC),简称为A/D,ADC是链接模拟世界和数字世界的桥梁。它用于将连续的模拟信号转换为数字形式离散信号。典型的,ADC将模拟信号转换为与电压值成比例表示的数字离散信号,对于不同厂商所提供的ADC,其输出的数字信号可能使用不同的编码格式

注:有一些模叔数字转换器并非纯的电子设备,如旋转编码器,也可看作是模拟数字转换器

ADC的一些参数

分辨率、响应类型、误差和采样率

1)分辨率

在模拟数字转换器中,分辨率是指对于所允许输入的模拟信号范围,它能输出离散数字信号值的个数。这些输出的信号值通用二进制数来表示,如图22.1所示,因此,分辨率经常用比特作为单位,且这些离散值的个数是2的幂次方。例如,一个具有8位分辨率的模拟数字转换器可以将模拟信号编码成256个不同的离散值(离散梯度),其范围可以是0~255(即无符号整数)或从-128~127(即带符号整数),至于使用哪一种编码格式,则取决所选用的ADC器件。

分辨率也可以用电气性质来描述,如使用伏特(V),使得输出离散信号产生一个变化所需的最小输入电压的差值被称作最低有效位( least significant bit,LSB电压。这样,模数字转换器的分辨率(Q)等于LSB电压。模拟数字转换器的电压分辨率由下面等式确定子式中,VRefHi和VRefLOw一是转换过程允许输入到ADC的电压上限和下限值;N是模拟数字

Q=( VRefHi  -  VRefLOw)/2N

如果输入电压的变化小于Q值,则ADC无法分辨出电压的变化,这样,就带量化误差,N值越大,即ADC输出数字量的位数越多,则Q越小,可分辨的电压变化欲小,分辨能力就越强,量化导致的误差就越小

2)响应类型

大多数模拟数字转换器的响应类型为线性,这里的线性是指输出信号的值与输入信号的值成线性比,一些早期的转换的响应类型呈对数关系,ADC器件可表示数字量的范围内,中间部分线性度较好,而两端线性度较差

3)误差

模拟数字转换器的误差有若干种来源。量化误差和非线性误差是任何模拟数字转换中存在的内在误差

3)采样率

模拟信号在时域上是连续的,可以将它转换为时间上连续的一系列数字信号。因此,要R定义一个参数来表示获取模拟信号上每个值并表示成数字信号的速度。通常将这个参数称为ADC的采样率或采样航率

模数转换器的类型(以后自己了解了在上图分析)

Flash ADC

逐次逼近寄存器型ADC

积分型ADC

数字跃迁型ADC

STC单片机内ADC的结构

adc

STC单片机的ADC由多路选择开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器 ADC RES和 ADC RESI以及ADC控制寄存器ADC_ CONTR构成

通过设置ADC控制寄存器ADC_ CONTR中的 SPEED1和 SPEEDO比特位,该ADC模块的最高采样速率可以达到300kHz,即30万次采样/s(30ksps,30 k sample per second)。

该ADC是典型的SAR结构,这种结果是一种典型的闭环反馈系统。在该ADC的前端提供了一个8通道的模拟多路复用开关,在ADC控制寄存器 ADC CONTR内的CHS2CS比特位的控制下,将ADC=ADC7的模拟信号多路复用到比较器

该结构的ADC包含一个比较器和DAC,通过逐次比较逻辑,从最高有效位MSB开始,顺序地对每一个输入电压与内置DAC输出进行比较。经过多次比较后,使其转换得到的数字量逼近输入模拟信号所对应的数字量的值。将最终得到的数字量保存在ADC转换结果寄存器 ADC _RES和 ADC _RESL中.同时,将ADC控制寄存器 ADC_CONTR中的转换结束标志 ADC_ FLAG置1,以供程序查询或者向CPU发出中断请求.

ADC装换结果的计算方式

adc

P1模拟功能控制寄存器

adc

STC单片机的8路模拟信号的输入端口设置在P1端口的8个引脚上,即P1.0~P.7.当上电复位后,P1口设置为弱上拉I0口,用户可以通过软件将8个引脚上的任何一个设置为ADC模拟输入,没有设置为ADC模拟输人的引脚可以作为普通I/O使用。

7.ADC控制寄存器

adc

1) ADC_POWER

ADC电源控制位。当该位为0时,关闭ADC电源;当该位为1时,打开ADC电源

2)SPEED1 与SPEED0 数模速度转换控制位

3)ADC_FLAG

ADC转换结束标志位。当ADC转换结束时,有硬件将该位置1,需要软件清0

4)ADC_START

ADC 转换启动位,1是ADC开始启动转换

5)CHS0 CSH1 CHS2模拟输入通道位

控制哪一个引脚作为模拟输入 。

8.中断有关的寄存器

IE地址0xA8  其中的B5 ,为EADC,当该位是1 是,允许ADC 中断

IP优先级控制器0xB8 ,其中的B5位 PADC ,为1 是最高级中断级别,0 最低级中断级别。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分