LPC2000系列ARM A/D转换器

特性
lpc2114/2124具有一个ad转换器,lpc2200系列具有两个ad转换器,它们具有如下特性:
10位逐次逼近式模式转换器;
测量范围:0~3.3v;
10位转换事件>=2.44us;
可设置ad转换触发方式;
具有掉电模式。
a/d转换器描述
a/d转换器的基本时钟由vpb时钟提供。可编程分频器可将时钟调整至逐步逼近转换所需的4.5mhz(最大)。如要要得到10位精度的结果,需要11个a/d转换时钟。
a/d转换器的参考电压来自v3a和vssa引脚。
a/d转换器描述
a/d引脚描述
a/d转换器内部结构
a/d转换器寄存器描述
a/d转换器寄存器描述
——控制寄存器
clkdiv:将vpb时钟(pclk)进行分频,得到ad转换时钟。分频后的时钟必须小于或等于4.5mhz。通常将clkdiv编程为允许的最小值,以获得4.5mhz或稍低于4.5mhz的时钟。
a/d转换器时钟 = pclk / ( clkdiv + 1)
burst:burst/软件方式控制。当该位为0时,选择软件方式启动ad转换,需要11个时钟才能完成。当该位为1时,选择burst(突发)模式启动ad转换,所需时钟数由clk字段控制。
burst模式下,对所有在sel字段中置1的位对应的输入端进行转换,首先转换的是最低有效位。然后是更高的位。如此周而复始,直至该位清零。
clks:控制burst模式下每次转换需要使用的时钟数和所得addr转换结果的ls位中可确保精度的位的数目,clks可在11个时钟(10位)~4个时钟(3位)之间选择:000=11个时钟/10位,001=10个时钟/9位,…111=4个时钟/3位。
pdn:控制ad部件是否工作。
1:a/d转换器处于正常工作模式; 0:a/d转换器处于掉电模式;
test1:0:器件测试控制位。
00:正常模式;01:数字测试模式;
10:dac测试模式; 11:一次转换测试模式;
start:该字段用于控制ad转换的启动方式,该字段只有在burst为0时有效。
000:不启动; 001:立即启动转换;
010:p0.16引脚出现预置的电平时,启动ad转换。以下值也具有相同特性;
011:p0.22引脚; 100:mat0.1引脚; 101:mat0.3引脚;110:mat1.0引脚; 111:mat1.1引脚;
edge:当start字段的值为010~111时,该位的设置有效。
0:在所选cap/mat信号的下降沿启动转换
1:在所选cap/mat信号的上升沿启动转换
a/d转换器寄存器描述
——数据寄存器
v/vdda:当done位为1时,该字段包含对sel字段选中的ain脚的转换结果,为一个二进制数。
转换结果为0时,表示ain引脚电平小于、等于或接近于vssa。为0x3ff时,表示ain引脚电平等于、大于或接近于vdda。输入电压计算公式为:
vin = 结果×(vssa / 0x3ff)
0:这些位读出时为0。它们允许连续a/d值的累加,而不需要屏蔽处理,使得至少有256个值不会溢出到chn字段。
chn:该字段包含的是ls位的转换通道。
overun:在burst模式下,如果在转换产生最低位之前,以前转换的结果丢失或被覆盖,该位将置位。读addr寄存器时,该位清零。
done:ad转换完成标志位。当ad转换结束时该位置位。在读取addr或adcr被写入时,该位清零。如果在转换过程中,设置了adcr,那么该位将置位,并启动一次新的转换。
使用a/d转换器的注意要点
ad转换器的时钟不能大于4.5mhz;
使用mat引脚触发ad转换启动时,相应的mat信号不必输出到引脚。使用mat引脚触发的方法,可以实现ad转换定时启动;
burst模式下,每次转换结束后立即开始下一路的转换,所以burst模式具有最高的效率;
软件模式下,sel字段中只能有一位置位,如果多位置位,将使用最低有效位。
a/d转换器操作示例
a/d转换器操作示例