AD采集的原理:
1)逐次逼近法
逐次逼近式A/D 是比较常见的一种A/D 转换电路,转换的时间为微秒级。
采用逐次逼近法的A/D 转换器是由一个比较器、D/A 转换器、缓冲寄存器及控制逻辑电路组成。
它的基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行
试探。
2)双积分法
基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属
于间接转换。
双积分法A/D 转换的过程是:先将开关接通待转换的模拟量V i,Vi 采样输入到积分器,
积分器从零开始进行固定时间T的正向积分,时间T到后,开关再接通与Vi 极性相反的基准电
压VREF,将VREF 输入到积分器,进行反向积分,直到输出为0V 时停止积分。Vi 越大,
积分器输出电压越大,反向积分时间也越长。计数器在反向积分时间内所计的数值,就是输入
模拟电压Vi 所对应的数字量,实现了A/D 转换。
3)电压频率转换法
它的工作原理是V/F 转换电路把输入的模拟电压转换成与模拟电压成正比的脉冲信号。
电压频率转换法的工作过程是:当模拟电压Vi 加到V/F 的输入端,便产生频率F 与Vi 成
正比的脉冲,在一定的时间内对该脉冲信号计数,时间到,统计到计数器的计数值正比于输入
电压Vi,从而完成A/D 转换。
对LSB 的理解(搞了一年多的单片机都还是晓得,惭愧):
LSB这一术语有着特定的含义,它表示的是数字流中的最后一位,也表示组成满量程输入范围的最小单位。对于12位转换器来说,LSB的值相当于模拟信号满量程输入范围除以2^12 或 4,096的商。如果用真实的数字来表示的话,对于满量程输入范围为4.096V的情况,一个12位转换器对应的LSB大小为1mV。但是,将LSB定义为4096个可能编码中的一个编码对于我们的理解是有好处的。
让我们回到开头的技术指标,并将其转换到满量程输入范围为4.096V的12位转换器中:
失调误差 = ±3LSB =±3mV,
增益误差 =±5LSB = ±5mV,
KSPS(kilo Samples Per second) 用来描述AD的转换速率
所谓的转换速率(Conversion Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。
s3c2440的ADC模块:
模块功能图:
ADC 延时寄存器:
ADC 的使用分四个步骤:
1) 设置ADCCON 寄存器,选择输入信号通道,设置A/D 转换器的时钟。使能A/D 转换器的
预分频功能。计算A/D 时钟的公式:A/D 时钟频率=PLCK/(预分频值(PRSCVL)+1)。
2) 设置ADCTSC 寄存器,使用设为普通转换模式,这里不能使用触摸屏功能。ADCTSC 寄存
器多用于触摸屏,对于普通的ADC,使用默认值即可。
3) 设置ADCCON 寄存器,启动A/D 转换。如果设置READ_START 位,则读取转换数据(读
ADCDAT0 寄存器)时即启动下一次转换;否则,就通过设置ENABLE_START 位来启动A/D。
4) 转换结束时,读取ADCDAT0 寄存器来获取数值。如果使用查询方式,则可以不读取
ADCCON 寄存器的ECFLG 位来确定转换是否结束;否则可以使用INT_ADC 中断,发生
INT_ADC 中断时表示转换结束。
UART 模块图
AFC 自动控制流
UBRDIVn = (int)( UART clock / ( buad rate x 16) ) –1