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
|