CC25300的AD转换
CC25300的AD转换
ADC支持14位的模拟数字转换,具有多达12位的ENOB(有效数据)。
ADC的主要特性如下:
●可选的抽取率,这也设置了分辨率(7到12位)
●8个独立的输入通道,可接受单端或差分信号
●参考电压可选为内部单端、外部单端、外部差分或AVDD5
●产生中断请求
●转换结束时的DMA触发
●温度传感器输入
●电池测量功能
关键字:
多通道的序列转换 :由寄存器ADCCON2控制
单通道的单个转换 :由寄存器ADCCON3控制
启动方式:可以软件启动也可以事件触发启动
注意事项:
参考电压的选择只能在没有转换运行的时候更改
多通道的序列转换时,如果想禁用某个通道,就在APCFG里面将禁用该IO的模拟输入功能。
每次转换时都要设置相应的ADCCON寄存器。
当用作电池的电量检测里,AVDD5不能用作基准电压。
端口配置
可以将输入配置为单端输入和差分输入,还可以输入一个对应AVDD5/3的电压作为一个ADC输入,可以实现类示电池监控的功能。片上的温度传感器也可以作为ADC的输入。
转换通道
单端电压输入AIN0到AIN7以通道号码0到7表示。通道号码8到11表示差分输入,由AIN0–AIN1、AIN2–AIN3、AIN4–AIN5和AIN6–AIN7组成。通道号码12到15表示GND(12)(13保留)温度传感器(14),和AVDD5/3(15)。这些值在ADCCON2.SCH和ADCCON3.SCH域中使用。
转换序列
ADCCON2.SCH寄存器位用于定义一个ADC转换序列,它来自ADC输入。
如果ADCCON2.SCH设置为一个小于8的值,转换序列包括一个转换,来自每个通道,从0往上,包括ADCCON2.SCH编程的通道号码。
当ADCCON2.SCH设置为一个在8和12之间的值,序列包括差分输入,从通道8开始,在已编程的通道结束。
对于ADCCON2.SCH大于或等于12,序列仅包括所选的通道。
单个ADC转换
除了可以序列转换,通过配置ADCCON3寄存器,ADC可以编程为从任何通道执行一个转换。
ADC操作模式
AD转换数据ADCH[7:0]和ADCL[7:0]为转换结果的高位和低位,其中ADCL[1:0]位无效。ADC有三个控制寄存器:ADCCON1,ADCCON2和ADCCON3
ADCCON1. EOC位为转换状态位,当一个转换结束时,该位被硬件置1。当读取ADCCON1.ADCH时,该位被清零。
ADCCON1. STSEL[1:0]为选择一个启动方式
ADCCON1.ST 当ADCCON1. STSEL[1:0]等于11时,设置ST = 1,如果当前没有序列在转换,就立即启动一次转换。
ADC中断
当通过写ADCCON3触发的一个单个转换完成时,ADC将产生一个中断。当完成一个序列转换时,不产生中断。
ADC与DMA触发
每完成一个序列转换,ADC将产生一个DMA触发。当完成一个单个转换,不产生DMA触发。
另外,还有一个DMA触发ADC_CHALL,当ADC转换序列的任何通道中有新的数据准备好时,它是活动的。
ADC转换时间和分辨率
ADC只能运行在32MHzXOSC上,抽取率决定了完成转换需要的时间和分辨率。
设置ADCCON2. Ediv[1:0] 或ADCCON3. Ediv[1:0]位就能设置分辨率。
00: 64抽取率(7位ENOB)
01: 128抽取率(9位ENOB)
10: 256抽取率(10位ENOB)
11: 512抽取率(12位ENOB)
Tconv=(抽取率+16)x0.25μs