本章总结如下
-
模拟量和数字量
-
AD转化相关参数
-
210的ADC控制器
ADC的引入
▶ analog digital converter,也叫做 ADC转换,模数转换(模拟转数字),CPU本身是数字的,而外部世
界的变量(如电压,温度,高度,力度。。)都是模拟的,所以需要用cpu来处理这些外部的模拟变量的时候,需要做AD转换
模拟量和数字量
▶ 模拟量:是现实生活中的时间,电压等连续的过程。它反映在数学里就是无限的小数位(从0到1之间无数的小数位)
▶ 数字量:是离散的,不连续的,这种离散处理实际上是从数学上对现实中的模拟量的一种有限精度的描述,数字化就是离散化,就是把连续分布的模拟量按照一定精度进行
取点采样,变成有限多个不连续的分布的数字值,就叫数字量
▶ 数字化意义: 可以用离散数学来简化描述模拟量,这东西是计算机技术的基础,计算机处理参量的时候都是数字化的,计算机需要数字化的值来参与运算,如果系统
输入参数中有模拟量,就需要外加AD转换器将模拟量转成数字量再给计算机
▶ DA转换:AD是将模拟转数字,同样,有DA将数字转模拟,纯粹的CPU完成不了DA转换,因为PCU本身就是数字的,需要一些积分或者微分效果的物理器件,
如(电容,电感)就可以实现数字转模拟
▶ 数字转模拟意义:用来做波形发生
AD转化相关参数
▶ 量程(模拟量输入范围)
• AD转化器是一个电器器件,它只能接受电压信号,其他种类的模拟信号要先经过传感器的转换编程模拟的电压信号然后发送给AD。
• AD输入端的模拟电压要求有一个范围,一般是0~10V之间,这个范围是AD本身的一个参数限制,实际工作时不能超过这个电压范围
▶ 精度(分辨率)
• AD转化输出的值是有一定的位数的,如果10位表示输出的值用10个二进制位来表示的,这种叫10位AD,这个位数表示了精度
• 十位的数字范围是1024,表示把AD的量程(比如4V)分成了1024份,即精度 =4/2014 V, 如果转换后得到的数字是100,即代表的模拟值是 4/2014 * 100 V
• AD的量程相等的情况下,位数越高,则精度(分辨率)越高
▶ 转化速率
• AD芯片进行AD转换是需要耗费时间,AD工作需要配置一个时钟,并且有一个范围,AD在这个时钟下工作,时钟的频率控制的AD的转换速率
• 转换速率的单位是MSPS(M:兆 S是sample【样本,就是采样】PS是per second),表示每秒钟转出来多少M个数据值
210的ADC控制器
▶ ADC和(电阻式)触摸屏的关系:电阻式触摸屏本身工作时需要依赖AD转换的,在210总触摸屏接口和ADC接口合并在一起了,或者或电阻式触摸屏接口直接
使用(复用)了ADC接口
▶ ADC时钟框图:
• ADCLCK是ADC的时钟,它是PCLK经过一次分频得到的,在使用ADC前需要在TSADCCCON的13到6位设置分频系数,来初始化ADC的时钟转换器
▶ ADC通道
• 210支持10路ADC通道的,分别为AIN[0 ~ 9]
• ADC引脚分两种,数字引脚和模拟引脚,GPIO类输入数字引脚,ADC channel属于模拟引脚(XadcAIN_n),数字引脚和模拟引脚不能混用
▶ ADC相关控制器:
• TSADCCON
RES:配置触摸屏分辨率,10位还是12位,10位精度低但是速度快
ECFLG: 转换完成状态位,两种办法获取,第一种是轮训获取该表示位,第二种是中断
PRSCEN: 设置是否分频,注意210一定要分频,因为adc不能超过5MHz,
PRSCVL: 分频值
STANDBY:工作模式,Standby mode时,ADC功能禁止,模拟信号直接经过adc输出,不进行adc转换
READ_START:AD转换完成是否开启下一次转换,这种机制叫做start by read,机制开启后,本次ad转换完成后,硬件自动开启下一次AD转换
ENABLE_START:是否开启start by read模式,特点是读完后可控制是否继续下次自动转换,而READ_START特点是读一次后,后面默认都是开启的
• TSDATX0/TSDATY0: 转后之后的AD值,默认放在X0里的,Y0是空的
• CLRINTADC0 清中断 (ECFLG通过中断获取时)
• ADCMUX:选择ad通道