MSP430F5XXX中的ADC12使用
MSP430F5XXX中的ADC12使用
MSP430F5xxx ADC12 框图
使用流程
AD部分主要配置ADC12模块的时钟、参考源、采样通道、采样模式、存储和采样保持。
下面一个部分一个部分来。
- 第一个是ADC12模块的时钟,这个是模块运行时的时钟,跟采样定时器是两个概念,曾经我有一段时间被迷惑住了。这个由
ADC12CTL1
里面的ADC12SSEL
和ADC12DIV
配置,可以选择ADC12OSC
/ACLK
/SMCLK
/MCLK
,TI例程里面好像都是选择的ADC12OSC
,这个是5MHZ,不过频率容易受外界影响而改变。这个部分配置好了就得到了ADC12CLK。 - 第二个参考源,这个部分我没有细致研究,因为我的设计里面不用这个,略过不提。
第三个采样通道,跟这个有关的寄存器有
ADC12MCTL
和ADC12CTL1
的ADC12CSTARTADD
。第一种单通道采样,
ADC12MCTL
选择采样的输入通道,ADC12CSTARTADD
的值选择这个通道采样的值存入哪个存储寄存器内。比如:ADC12CTL1 |= ADC12CSTARTADD3+ADC12CSTARTADD2+ADC12CSTARTADD1; ADC12MCTL14 = ADC12INCH_14;
上面这两句就是采样通道14,通道14采样的值存入到
ADC12MEM14
里面。如果你不设置ADC12CSTARTADD
的值的话,采样的值默认存入ADC12MEM0里面。第二种序列通道采样,
ADC12MCTL
选择采样的输入通道,ADC12CSTARTADD
的值选择这个序列采样的值首个存入的存储寄存器。比如:ADC12MCTL0 = ADC12INCH_0; ADC12MCTL1 = ADC12INCH_1; ADC12MCTL2 = ADC12INCH_2; ADC12MCTL3 = ADC12INCH_3; ADC12MCTL4 = ADC12INCH_4; ADC12MCTL5 = ADC12INCH_5; ADC12MCTL6 = ADC12INCH_6; ADC12MCTL7 = ADC12INCH_7+ADC12EOS;
我并没有配置
ADC12CSTARTADD
的值,所以开始采样后,通道0的值存入ADC12MEM0
,通道1的值存入ADC12MEM1
里面,依次类推。
第四个采样模式,这个按照用户指导里面的模式示意图来写程序就可以,配置用
ADC12CTL1
里面的ADC12CONSEQ
来配置。第五个存储没什么要写的,在第三个采样通道里面提到的就可以了,我主要讲下最后一个采样保持,这个部分是我领悟的新的知识点。
采样保持是由采样定时器触发信号SHI
信号引起的,这个部分曾经迷惑了我好长一段时间。SHI
信号由ADC12CTL1
的ADC12SHS
配置,有4个选择:ADC12OSC/TIMERA.OUT1/TIMERB.OUT0/TIMERB.OUT1
。采样保持分两种模式,由
ADC12CTL1
的ADC12SHP
位控制,ADC12SHP=0
时是扩展模式,ADC12SHP=1
时是脉冲模式。第一种扩展模式,
SHI
信号上升沿开始采样,上升沿后的高电平时间即为采样时间,SHI
信号下降沿进行采样结果转换,转换需要13个ADC12CLK
。
第二种脉冲模式,SHI
信号触发采样定时器,采样定时器就是控制你什么时候开始采样,什么时候开始转换,采样定时器由ADC12CTL0
的ADC12SHT0
和ADC12SHT1
配置,在采样定时器时间内进行采样,采样后就立即进行采样结果转换。如果这时你的ADC12MSC=1
的话,如果的单通道采样就会不停进行单通道采样转换,如果是序列通道,就会一直采样转换直到ADC12EOS=1
。如果ADC12MSC=0
,则采样结束,下一次采样的时间是下一个SHI
信号的上升沿来临时。
MSP430F5XXX中的ADC12使用相关推荐
- GNU Make 使用手册(于凤昌中译版)
GNU Make 使用手册(中译版) 翻译:于凤昌 GNU make Version 3.79 April 2000 Richard M. Stallman and Roland McGrath 1 ...
- adcclk最大_ADC12采样保持时间与采样频率
ADC12采样保持时间与采样频率(2011-02-15 11:49:28) 标签: 由于近期要做简易示波器,要用到高频采样,所以对MSP430内部的ADC12进行了一些实验.技术手册中说明ADC12的 ...
- 面试:第十二章:所有总结
Java基础 java基本类型哪些,所占字节 byte :1个字节 short :2个字节 char :2个字节 int :4个字节 long :8个字节 float :4个字节 double :8个 ...
- linux内核分析(转自某位大哥网上的笔记)
启动 当PC启动时,Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码.BIOS先进行一系列的系统自检,然后初始化位于地址0的中断 ...
- MSP430F149的ADC12应用
MSP430F149的ADC12应用 1 概述 MSP430F149的ADC12为SAR型12位AD,共有16路输入通道,其中8路独立的外部输入通道,2路接外部Vref+,Vref-,3路内部通道可分 ...
- MSP430F5529 DriverLib 库函数学习笔记(八)模数转换模块(ADC12)
目录 硬知识 模数转换概述 MSP430单片机ADC12模块介绍 MSP430单片机ADC12模块操作 ADC12的转换模式 采样和转换 转换存储器 使用片内集成温度传感器 ADC12模块寄存器 AD ...
- MSP430X1XX系列ADC12和DMA详解(附带程序)(上)--ADC12详解与源码
目录 一,ADC12基本原理 1.1,参考电压发生器 1.2,时钟发生器 1.3,转换结果存储 1.4,具有采样保持功能的 12 位模数转换内核 1.5,采样转换时续控制电路 二,寄存器设置 2.1, ...
- 计算机应用项目中 属于科学计算应用领域,下列计算机应用项目中,属于科学计算应用领域的是( )...
[多选题]下列说法正确的是( ). [多选题]狂热分子的内心往往分为哪两个极端( ) [单选题]钠钾泵可以将多余的()离子送出细胞外,将所需的()离子带入细胞内. [判断题]手倒立时头要梗住. [判断 ...
- MSP430F5529库函数——模数转换模块(ADC12)软件触发
需提前观看:MSP430F5529库函数学习--串口 目录 代码 ADC初始化部分 引脚复位 ADC12_A_init() 函数声明 baseAddress sampleHoldSignalSourc ...
最新文章
- JqueryAjax异步加载在ASP.NET
- C语言贪吃蛇如何让蛇一直前进,c++贪吃蛇代码中,哪条代码是让蛇知道前进的
- java中的sql语句书写_Java中sql语句之通配符*
- ADO.NET、ODP.NET、Linq to SQL、ADO.NET Entity 、NHibernate在Oracle下的性能比较
- 【SAP HANA】关于SAP HANA中带层次结构的Analytic View创建、激活状况下在系统中生成对象的研究...
- DataNode之DirectoryScanner分析
- 华为P30系列双景录像功能上线:同屏展示全景与特写
- Windwos配置Maven环境变量
- 源头防堵信息泄露 监管拟全面推行支付标记化
- 0ffice2003安装2007兼容包不能使用的解法
- 西湖论剑 2020 loader
- Elasticsearch生产集群健康状况为yellow原因分析和解决方案
- transformer 模型的decoder部分 带gif动图
- Unity制作AR图片和视频展示
- 办流量卡要身份证照片,办流量卡是否需要身份证正反面照片
- ★【树状数组】【NOI2008】糖果雨
- Linux系统调试之return probe原理和示例
- git小记-git默认是忽略大小写的
- python中矩阵乘以常数_python – 用numpy乘以高阶矩阵
- 【读者群答疑】使用xlwings编程进行调试时会在后台留下若干Excel进程,如何解决?
热门文章
- Android实现简单的检测手机自由落体关闭屏幕
- iOS:通过URL构件UIImage
- elasticsearch的update_by_query
- linux shell if语句使用方法
- mysql 高性能压力测试(总结了好久)
- windows XP和ubuntu时间一致
- ffmpeg文档2:输出到屏幕
- php 当我添加数据成功后跳到首页 为什么刷新还会增加数据,使用post提交数据之后,有错误,页面刷新之后,想保持原有值...
- mysql无法安装弹出Log_[MySQL FAQ]系列 -- 启用GTID binlog新安装完的MySQL提示无法登录...
- 解决css firefox火狐浏览器IE浏览器下的兼容性问题