7466|6

640

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

lpc1343之一:ADC详解 [复制链接]

    五一期间没有闲着,除了5月2日看望父母以外,其余时间都学习LPC1343。经过2天努力,总算对LPC1434有一个大概了解。

    今天把学习笔记整理出来,和大家共享。其中免不了对原文的误解,诚心的请大家指正。有些表格无法发表在正文里,大家可以看我上传的的附件。   

 

LPC1343内置一个10位逐次逼近AD转换器(ADC)

8个模拟输入通道;

测量范围:0-VDD

10位进度的AD转换时间大于等于2.44uS

1个或多个输入的突发转换模式。

可选择由输入跳变或定时器匹配信号触发转换。

每个A/D通道的独立结果寄存器减少了中断开销。

 

为了精确测量被测引脚的电压值,必须先通过各IOCON寄存器为该引脚选择ADC功能。

用作ADC输入的引脚,不能选择为数字功能。当引脚选择为数字功能后内部电路会把ADC硬件从相关引脚上断开。

请注意:虽然在数字模式时引脚允许5V电平,但是引脚配置为模拟输入时输入电压不要超过VDD

[ 本帖最后由 zhdphao 于 2010-5-4 16:30 编辑 ]

LPC1343的ADC.doc

171 KB, 下载次数: 260

LPC1343的ADC

此帖出自NXP MCU论坛

最新回复

很好.............  详情 回复 发表于 2010-5-5 08:20

赞赏

1

查看全部赞赏

点赞 关注
 

回复
举报

640

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

ADC引脚功能的IOCON寄存器配置:

PIN32TDI/PIO0_11/AD0/CT32B0_MAT3IOCON_R_PIO0_11 register (IOCON_R_PIO0_11, address 0x4004 4074)BIT2:0=010 引脚设置为AD0BIT7=0为模拟输入

PIN33TMS/PIO1_0/AD1/CT32B1_CAP0IOCON_R_PIO1_0 register (IOCON_R_PIO1_0, address 0x4004 4078)BIT2:0=010 引脚设置为AD1BIT7=0为模拟输入

PIN34TDO/PIO1_1/AD2/CT32B1_MAT0IOCON_R_PIO1_1 register (IOCON_R_PIO1_1, address 0x4004 407C)BIT2:0=010 引脚设置为AD2BIT7=0为模拟输入

PIN35/TRST/PIO1_2/AD3/CT32B1_MAT1IOCON_R_PIO1_2 register (IOCON_R_PIO1_2, address 0x4004 4080)BIT2:0=010 引脚设置为AD3BIT7=0为模拟输入

PIN39WDIO/PIO1_3/AD4/CT32B1_MAT2IOCON_SWDIO_PIO1_3 register (IOCON_SWDIO_PIO1_3, address 0x4004 4090)BIT2:0=010 引脚设置为AD4BIT7=0为模拟输入

PIN40PIO1_4/AD5/CT32B1_MAT3/WAKEUPIOCON_PIO1_4 register (IOCON_PIO1_4, address 0x4004 4094)BIT2:0=001 引脚设置为AD5BIT7=0为模拟输入

PIN30PIO1_10/AD6/CT16B1_MAT1IOCON_PIO1_10 register (IOCON_PIO1_10, address 0x4004 406C)BIT2:0=001 引脚设置为AD6BIT7=0为模拟输入

PIN42PIO1_11/AD7IOCON_PIO1_11 register (IOCON_PIO1_11, address 0x4004 4098)BIT2:0=001 引脚设置为AD6BIT7=0为模拟输入

[ 本帖最后由 zhdphao 于 2010-5-4 16:22 编辑 ]
此帖出自NXP MCU论坛
 
 
 

回复

640

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 

ADC基础时钟由外围时钟PCLK决定,ADC内置的可编程分频器提供4.5MHz(最大)时钟,用于逐次逼近过程。一次精确的转换需要11个时钟周期。

ADC外围时钟由系统时钟提供,该时钟可以通过SYSAHBCLKCTRLBIT13禁用以减少电力消耗:外设时钟由系统AHB时钟控制寄存器(SYSAHBCLKCTRL, address 0x4004 8080)BIT13=1打开ADC时钟(复位后为关闭)

ADC在运行期间可以通过PDRUNCFG寄存器断电:当掉电配置寄存器(PDRUNCFG, address 0x4004 8238)BIT4=1ADC掉电(复位后为掉电)

 

硬件触发AD转换:如果AD0CRBURST位为0并且START010-111,那么当所选引脚电平发生变化或者计时器得到匹配信号时,开始ADC转换。

ADSTATADINT位为1时,中断控制器产生一个中断请求。任何一个打开了中断功能(通过ADINTEN寄存器)的ADC通道对应DONE位为1时,ADINT位就为1。软件可以配置中断控制器的使能位。发生中断的AD通道的结果寄存器必须被读,以清除相应的DONE标志。
此帖出自NXP MCU论坛
 
 
 

回复

640

帖子

0

TA的资源

五彩晶圆(初级)

4
 

ADC转换步骤:

1、   设置对应引脚I/O配置寄存器,将该PINAnd通道以及模拟输入;

2、   设置掉电配置寄存器(PDRUNCFG, address 0x4004 8238)BIT4=0ADC供电;

3、   SYSAHBCLKCTRL, address 0x4004 8080)BIT13=1打开到ADCAHB时钟;

4、   设置AD0CR选择And通道、ADC时钟频率、转换模式、精确度和耗费时钟数(仅BURST)、启动方式和触发边沿。

5、   AD0INTEN选择产生中断的通道;需要注意:BIT81时如果全局DONE标志为1就会产生中断。

6、   启动转换:BURST=0AD0CRSTART不为000则开始转换;

BURST=1AD0CRSTART=000转换反复进行;

7、   完成转换是对应DONE=1,如果该通道允许中断则产生中断请求。你可以在中断程序里处理是否过载、读取结果、关闭ADC

也可以采用轮巡方式等待ADC结束读ADC结果。

此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

5
 
不错啊!!!!!!!!!!!!!!!!!!!
此帖出自NXP MCU论坛
 
 
 

回复

640

帖子

0

TA的资源

五彩晶圆(初级)

6
 

一个查询AD转换的例子

/*
===============================================================================
 Name        : main.c
 Author      : zhdphao
 Version     :
 Copyright   : (C) Copyright v1.0
 Description : main definition
===============================================================================
*/

#ifdef __USE_CMSIS
#include "LPC13xx.h"
#endif

int32_t adc_value;

// TODO: insert other include files here

// TODO: insert other definitions and declarations here

int main(void) {
    // TODO: insert code here

    // Enter an infinite loop, just incrementing a counter
    //volatile static int i = 0 ;
    LPC_SYSCON->SYSMEMREMAP =   0x03;
    LPC_SYSCON->SYSOSCCTRL =    0x00;
    LPC_SYSCON->CLKOUTDIV =     0X78;
    LPC_SYSCON->SYSAHBCLKCTRL = 0x20DF;
    LPC_IOCON -> PIO1_4 =0x41;    //AD5通道,

    LPC_ADC->INTEN=0x00;    //无ADC中断

    LPC_ADC->CR=0x1000B20;    //马上开始转换,PCLK/12,AD5

    while(LPC_ADC->STAT!=0X20)   //查询等待ADC完成
    {
    }

    adc_value=LPC_ADC->DR5;   //读AD5数据
    return 0 ;
}

 

//

[ 本帖最后由 zhdphao 于 2010-5-4 17:49 编辑 ]
此帖出自NXP MCU论坛
 
 
 

回复

2955

帖子

0

TA的资源

纯净的硅(初级)

7
 
很好.............
此帖出自NXP MCU论坛
 
个人签名不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表