LPC2103之Analog-to-Digital Converter
时间:11-29
来源:互联网
点击:
Analog-to-Digital Converter (ADC)
Features
LPC2103的ADC特性:
1.10bit逐次逼近型模数转换器
2.低功耗模式
3.测量范围0V—VDD(3.3V)(通常为3V,不超过VDDA)
4.10bit转换时间> 2.44us
5.单输入或多输入突发转换模式
6.每路模数通道有专用的结果寄存器
Description
APB时钟为A/D转换基本时钟。转换器中包括可编程分频时钟,逐次逼近处理所需的时钟最大能达到4.5MHz,彻底准确的转换需要11个这样的时钟周期。
Pin description
Register description
//模数控制寄存器
#define AD0CR(*((volatile unsigned long *) 0xE0034000))
A/D转换发生前,必须设置ADCR寄存器选择操作模式。复位值为0x00000001。可读可写寄存器。
//模数全局数据寄存器
#define AD0GDR(*((volatile unsigned long *) 0xE0034004))
可读可写寄存器。该寄存器包括了ADC的DONE位和最近的A/D转换结果。
//模数状态寄存器
#define AD0STAT(*((volatile unsigned long *) 0xE0034030))
只读寄存器。该寄存器包括了所有A/D通道的DONE和OVERRUN标志位,也包括了A/D中断标志。
Features
LPC2103的ADC特性:
1.10bit逐次逼近型模数转换器
2.低功耗模式
3.测量范围0V—VDD(3.3V)(通常为3V,不超过VDDA)
4.10bit转换时间> 2.44us
5.单输入或多输入突发转换模式
6.每路模数通道有专用的结果寄存器
Description
APB时钟为A/D转换基本时钟。转换器中包括可编程分频时钟,逐次逼近处理所需的时钟最大能达到4.5MHz,彻底准确的转换需要11个这样的时钟周期。
Pin description
Pin | Type | Description |
AD0.7:0 | Input | 模拟输入端口。 |
VDD(3V3) | Reference | 参考电压 |
VDDA,VSSA | Power | 模拟电压和地 |
Register description
//模数控制寄存器
#define AD0CR(*((volatile unsigned long *) 0xE0034000))
A/D转换发生前,必须设置ADCR寄存器选择操作模式。复位值为0x00000001。可读可写寄存器。
位 | 信号 | 功能 |
7:0 | SEL | 选择AD0.7:0管脚哪一路进行采样和转换。8bit数据分别对应8路A/D输入管脚,有且只有一位可以写1。写0x00默认为0x01。 |
15:8 | CLKdiv | APB时钟(PCLK)的分频系数。必须使得A/D转换时钟小等于4.5MHz。 |
16 | BURST | 1——突发模式,转换时间和转换精度由CLKS决定 0——正常模式,11clock/10bits |
19:17 | CLKS | 突发(BURST)模式下转换时钟周期选择(转换时间和转换精度的取舍)。 000——11clock/10bits 001——10clock/9bits 010——9clock/8bits 011——8clock/7bits 100——7clock/6bits 101——6clock/5bits 110——5clock/4bits 111——4clock/3bits |
20 | 保留 | |
21 | PDN | 1——A/D转换可操作 0——A/D转换工作于低功耗模式 |
23:22 | 保留 | |
26:24 | START | 当BURST位为0时,以下设置控制是否以及何时A/D转换开始。 000——不启动(该值应该使用于PDN=0时) 001——立刻启动 010——Start conversion when the edge selected by bit 27 occurs on P0.16/EINT0/MAT0.2 pin. 011——Start conversion when the edge selected by bit 27 occurs on P0.22. 100——Start conversion when the edge selected by bit 27 occurs on MAT0.1. 101——Start conversion when the edge selected by bit 27 occurs on MAT0.3. 110——Start conversion when the edge selected by bit 27 occurs on MAT1.0. 111——Start conversion when the edge selected by bit 27 occurs on MAT1.1. |
27 | EDGE | 此位的设置仅在START选择了010-111时 1——Start conversion on a falling edge on the selected CAP/MAT signal. 0——Start conversion on a rising edge on the selected CAP/MAT signal. |
31:28 | 保留 |
//模数全局数据寄存器
#define AD0GDR(*((volatile unsigned long *) 0xE0034004))
可读可写寄存器。该寄存器包括了ADC的DONE位和最近的A/D转换结果。
位 | 信号 | 功能 |
5:0 | 保留 | |
15:6 | RESULT | 转换结果 |
23:16 | 保留 | |
26:24 | CHN | 该位包含了RESULT位所转换的通道。 |
29:27 | 保留 | |
30 | OVERUN | 溢出标志位 |
31 | DONE | A/D转换完成该位置1,读该位和写ADCR时该位清除。当写ADCR时转换正在进行中,该位置1并且开始新的转换。 |
//模数状态寄存器
#define AD0STAT(*((volatile unsigned long *) 0xE0034030))
只读寄存器。该寄存器包括了所有A/D通道的DONE和OVERRUN标志位,也包括了A/D中断标志。
位 | 信号 | 功能 |
0 | DONE0 | 该位反映了结果寄存器中A/D通道0的DONE状态。 |
1 | DONE1 | 该位反映了结果寄存器中A/D通道1的DONE状态。 |
2 | DONE2 | 该位反映了结果寄存器中A/D通道2的DONE状态。 |
3 | DONE3 | 该位反映了结果寄存器中A/D通道3的DONE状态。 |
4 | DONE4 | 该位反映了结果寄存器中A/D通道4的DONE状态。 |
5 | DONE5 | 该位反映了结果寄存器中A/D通道5的DONE状态。 |
6 | DONE6 | 该位反映了结果寄存器中A/D通道6的DONE状态。 |
7 | DONE7 | 该位反映了结果寄存器中A/D通道7的DONE状态。 |
8 | OVERRUN0 | 该位反映了结果寄存器中A/D通道0的OVERRUN状态。 |
9 | OVERRUN1 | 该位反映了结果寄存器中A/D通道1的OVERRUN状态。 |
10 | OVERRUN2 | 该位反映了结果寄存器中A/D通道2的OVERRUN状态。 |
11 | OVERRUN3 | 该位反映了结果寄存器中A/D通道3的OVERRUN状态。 |
12 | OVERRUN4 | 该位反映了结果寄存器中A/D通道4的OVERRUN状态。 |
13 | OVERRUN5 | 该位反映了结果寄存器中A/D通道5的OVERRUN状态。 |
14 | OVERRUN6 | 该位反映了结果寄存器中A/D通道6的OVERRUN状态。 |
15 | OVERRUN7 | 该位反映了结果寄存器中A/D通道7的OVERRUN状态。 |
16 | ADINT | A/D中断标志位。当任何A/D DONE标志位置位时该位置位,并且影响ADINTEN寄存器的A/D中断。 |
LPC2103Analog-to-DigitalConverte 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)