paradoxfx

【原创】TI C2833x介绍---系统自带的ADC(7)

0
阅读(2930)

 

28335的ADC有16个通道,可以通过最大转换通道寄存器AdcRegs.ADCMAXCONV来配置每次触发ADC采样所转换的通道数量,该寄存器的位说明如图1所示。

图1 ADCMAXCONV寄存器

在级联模式下,最大转换通道数由低4位控制;在双序列发生器模式下,SEQ1对应0-2位,SEQ2对应4-6位。每个序列发生器从初始状态开始转换,并顺序执行,在读取到结束状态标志位后又循环执行这种过程,除非被复位。其初始状态和结束状态如表1所示。

表1 序列发生器的初始与结束状态

 

SEQ1

SEQ2

级联模式

初始状态

CONV00

CONV08

CONV00

结束状态

CONV07

CONV15

CONV15

 

16个通道有4个通道选择排序控制寄存器ADCCHSELSEQ1-4 来控制,分别对应转换通道的序号,如表2所示。

表2 ADC输入通道选择排序控制寄存器

 

15-12

11 -8

7 -4

3 -0

ADCCHSELSEQ1

CONV03

CONV02

CONV01

CONV00

ADCCHSELSEQ2

CONV07

CONV06

CONV05

CONV04

ADCCHSELSEQ3

CONV11

CONV10

CONV09

CONV08

ADCCHSELSEQ4

CONV15

CONV14

CONV13

CONV12

 

每个转换通道经过配置,就能与ADC输入管脚相关联,则该管脚上输入的模拟信号就将从该转换通道进行转换,然后再写入相应的结果寄存器。从ADCINA0到ADCINA7,对应的位的值分别是0-7(对应二进制4个位是从0000到0111);从ADCINB0到ADCINB7(对应二进制4个位是从1000到1111),对应的位的值分别是8-15,这样只要在相应的通道里赋值给4位相应的值,就能将转换通道与ADC管脚相对应了。例如:

在CONVxy里写入0001,则该通道对应的是ADCINA1管脚上采样的信号;

在CONVxy里写入1000,则该通道对应的是ADCINB0管脚上采样的信号。