LaunchPad-ADC10介绍
ADC10简介
ADC10是MSP430单片机的片上模数转换器,根据其命名大家知道转换位数为10比特。
该模块内部是一个SAR型的AD内核,可以在片内产生参考电压,并且具有数据传输控制器。
数据传输控制器能够在CPU不参与的情况下,完成AD数据向内存任意位置的传输。
ADC特性:
Ø 最大转换速率大于200kHz。
Ø 转换精度为10位。
Ø 采样保持器的采样周期可编程设置。
Ø 利用软件或者TimerA设置转换初始化。
Ø 编程选择片上电压参考源(2.5V或者1.5V)。
Ø 编程选择内部或者外部电压参考源。
Ø 8 个外部输入通道(在MSP430x22xx上有12个)。
Ø 具备对内部温度传感器、供电电压VCC和外部参考源的转换通道。
Ø 转换时钟源可选择。
Ø 多种采样模式:单通道、重复单通道、排序和重复排序
Ø ADC的内核和参考源可分别单独关闭
Ø 用于自动控制数据传输的数据传输控制器
要掌握一个外设的使用,首先就需要清楚外设特点,以上就是MSP430自带的10位AD的特性,这些特性将直接影响该AD的应用场合,希望初学的朋友们对这些特点在开始的时候能有个感性的认识。
有心的朋友们可以看出来,这些特性是我从英语的用户手册直接翻译过来的(有些感觉不太好表述,大家见谅了)。本不想写这些东西的,太教程话,但是想了想还是翻译过来了,毕竟需要了解下所用器件的特性,下面我就挑重点说了。
ADC10操作
1、ADC10的转换值怎么计算
ADC10通过两个可编程的参考电压Vr+和Vr-来定义转换电压的上下限。当输入电压大于等于Vr+,输出转换值为3FF;当输入电压小于Vr-,转换值为0。
计算公式为:
N = (Vin-Vr-)/(Vr+ - Vr-)
这个够EASY,跟普通的AD是完全一样的。
2、ADC10的转换时钟选择
ADC10的时钟源可以是SMCLK、MCLK、ACLK和内部的振荡器ADC10OSC,可以用ADC10SSELx来选择时钟源,并且设置ADC10DIVx可实现1到8的分频。
振荡器ADC10OSC根据不同的器件有所不同,这个需要根据具体的器件选择。
ADC的时钟必须在转换的过程中保持有效,如果在转换的过程中时钟失效,转换结果是无效的。
3、ADC10模拟引脚选择
这个操作也很简单,模拟输入引脚和普通的IO是管脚复用的,所以当模拟信号输入的时候普通IO的功能其实对信号是有影响的。
你要做一件事把普通引脚功能关掉,使能ADC10AEx。
4、ADC10的参考电压源
ADC10是有内部参考源的,REFON
= 1时被打开。
当REF2_5V = 1时,参考源为2.5V;为REF2_5V = 0的时候1.5V。
当REFOUT = 0时,内部参考源可以输出到Vref+。
当然MSP430肯定是可以使用外部参考源的,这个时候可以关闭内部参考源来降低功耗。
MSP430还有自动关闭的功能,当ADC10的内核在没有进行转换的时候,会自动关闭;ADC10OSC也会自动关闭来降低功耗。(给力了,作为一个超低功耗产品,可以说是处心积虑啊!)
其实,现在的MCU外设的配置就像填空,就是一堆的寄存器,把对应的位填对了就OK。
所以大家见到一堆寄存器的时候不要有畏难心理。寄存器越多,就说明分类越清晰,理解就越容易。
寄存器的列表我附在后面,供大家查阅(( ^_^ )不翻译了哈!)
咱们有问题随时版上讨论!
|