玩转MSP-ESP430G2(基础篇)
(十二)AD转换器
ADC10是MSP430 单片机的片上模数转换器,其转换位数为10比特,该模块内部是一个SAR型的AD内核,可以在片内产生参考电压,并且具有数据传输控制器。数据传输控制器能够在CPU不参与的情况下,完成AD数据向内内存任意位置的传输。
ADC模块的常用性能指标
分辨率:与ADC的位数相关
量化误差:和分辨率是统一的,1/2LSB
转换精度:ADC实际转换的误差
转换时间:完成一次模数转换的时间
另外还有电压范围、工作温度、接口特性、输出形式等
ADC10 主要特点
- 最大转换速率大于200ksps
- 转换精度为10位
- 采样保持器的采样周期可通过编程设置
- 可利用软件或者TimerA 设置转换初始化
- 编程选择片上电压参考源,选择1.5V或者2.5V
- 编程选择内部或者外部电压参考源
- 8个外部输入通道
- 具备对内部温度传感器、供电电压VCC和外部参考源的转换通道
- 转换时钟源可选择
- 多种采样模式:单通道采样、序列通道采样、单通道重复采样、序列通道重复采样
- 提供自动数据传输方法
- ADC的内核和参考源可分别单独关
ADC10模块工作的核心是ADC10的核,即图中的10-bit SAR(逐次逼近模数转换器)。ADC10的核将模拟量转换成10位数字量转换成10位数字量并储存在ADC10MEM寄存器里。
这个核使用VR+和VR-来决定转换模拟值的高低门限。当输入电压超过VR+时它会停在03FFh,当输入门限低于VR-时它会停在0上。采样计算公式为
NADC=1023*(VIN-VR-)/(VR±VR-)
输入的电压不能超过VR+和VR-。而VR+和VR-是可选的,在控制寄存器ADCCCTL0中选择。
Regiter | Short Form | Register Type | Address | Initial state |
---|---|---|---|---|
ADC 10 input enable register 0 | ADC10AE0 | Read/Write | 04Ah | Reset with POR |
ADC 10 input enable register 1 | ADC10AE1 | Read/Write | 04Bh | Reset with POR |
ADC 10 control register 0 | ADC10CTL0 | Read/Write | 01B0h | Reset with POR |
ADC 10 control register 1 | ADC10CTL1 | Read/Write | 01B2h | Reset with POR |
ADC 10 memory | ADC10MEM | Read | 01B4h | Unchanged |
ADC 10 data transfer control register 0 | ADC10DTC0 | Read/Write | 048h | Reset with POR |
ADC |