OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » LPC2103之Analog-to-Digital Converter

共1条 1/1 1 跳转至

LPC2103之Analog-to-Digital Converter

专家
2009-03-10 02:56:04    评分
   

 

 

Analog-to-Digital Converter (ADC)

 

 

Features

LPC2103ADC特性:

         1.  10bit逐次逼近型模数转换器

         2.  低功耗模式

         3.  测量范围0VVDD3.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数据分别对应8A/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))            

可读可写寄存器。该寄存器包括了ADCDONE位和最近的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通道的DONEOVERRUN标志位,也包括了A/D中断标志。

信号

功能

0

DONE0

该位反映了结果寄存器中A/D通道0DONE状态。

1

DONE1

该位反映了结果寄存器中A/D通道1DONE状态。

2

DONE2

该位反映了结果寄存器中A/D通道2DONE状态。

3

DONE3

该位反映了结果寄存器中A/D通道3DONE状态。

4

DONE4

该位反映了结果寄存器中A/D通道4DONE状态。

5

DONE5

该位反映了结果寄存器中A/D通道5DONE状态。

6

DONE6

该位反映了结果寄存器中A/D通道6DONE状态。

7

DONE7

该位反映了结果寄存器中A/D通道7DONE状态。

8

OVERRUN0

该位反映了结果寄存器中A/D通道0OVERRUN状态。

9

OVERRUN1

该位反映了结果寄存器中A/D通道1OVERRUN状态。

10

OVERRUN2

该位反映了结果寄存器中A/D通道2OVERRUN状态。

11

OVERRUN3

该位反映了结果寄存器中A/D通道3OVERRUN状态。

12

OVERRUN4

该位反映了结果寄存器中A/D通道4OVERRUN状态。

13

OVERRUN5

该位反映了结果寄存器中A/D通道5OVERRUN状态。

14

OVERRUN6

该位反映了结果寄存器中A/D通道6OVERRUN状态。

15

OVERRUN7

该位反映了结果寄存器中A/D通道7OVERRUN状态。

16

ADINT

A/D中断标志位。当任何A/D DONE标志位置位时该位置位,并且影响ADINTEN寄存器的A/D中断。

31:17

 

保留

 

//模数中断使能寄存器

#define AD0INTEN         (*((volatile unsigned long *) 0xE003400C))            

         该寄存器控制A/D转换完成是否产生一个中断。

信号

功能

0

ADINTEN0

1——A/D通道0转换完成产生中断

0——A/D通道0转换完成不产生中断

1

ADINTEN 1

1——A/D通道1转换完成产生中断

0——A/D通道1转换完成不产生中断

2

ADINTEN 2

1——A/D通道2转换完成产生中断

0——A/D通道2转换完成不产生中断

3

ADINTEN 3

1——A/D通道3转换完成产生中断

0——A/D通道3转换完成不产生中断

4

ADINTEN 4

1——A/D通道4转换完成产生中断

0——A/D通道4转换完成不产生中断

5

ADINTEN 5

1——A/D通道5转换完成产生中断

0——A/D通道5转换完成不产生中断

6

ADINTEN 6

1——A/D通道6转换完成产生中断

0——A/D通道6转换完成不产生中断

7

ADINTEN 7

1——A/D通道7转换完成产生中断

0——A/D通道7转换完成不产生中断

8

ADINTEN

1——只要ADINTEN7:0使能就可以产生中断

0——只有ADDR中的全局DONE标志位使能才产生中断

31:9

 

保留

 

//模数通道0/1/2/3/4/5/6/7数据寄存器

//模数通道0数据寄存器

#define AD0DR0           (*((volatile unsigned long *) 0xE0034010))         

//模数通道1数据寄存器

#define AD0DR1           (*((volatile unsigned long *) 0xE0034014))           

//模数通道2数据寄存器

#define AD0DR2           (*((volatile unsigned long *) 0xE0034018))           

//模数通道3数据寄存器

#define AD0DR3           (*((volatile unsigned long *) 0xE003401C))            

//模数通道4数据寄存器

#define AD0DR4           (*((volatile unsigned long *) 0xE0034020))             

//模数通道5数据寄存器

#define AD0DR5           (*((volatile unsigned long *) 0xE0034024))            

//模数通道6数据寄存器

#define AD 0DR6           (*((volatile unsigned long *) 0xE0034028))            

//模数通道7数据寄存器

#define AD0DR7           (*((volatile unsigned long *) 0xE003402C))            

只读存储器。

信号

功能

5:0

 

保留

15:6

RESULT

转换结果。

29:16

 

保留

30

OVERRUN

溢出标志位。

31

DONE

完成标志位,读该寄存器清除该位

 

 




关键词: LPC2103     Analog-to-Digital    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]