MSP430单片机实用技术讲座16 第11讲 ADC12原理与应用
- 格式:pdf
- 大小:304.44 KB
- 文档页数:2
一张图看懂MSP430单片机之ADC原创一,基础知识ADC即Analog to Digital Converter模数转换,把模拟信号进行量化,转换为数字量。
对于软件工程师来说,ADC内部的转换原理可以忽略,只需要了解其对外呈现的接口。
AD输入与输出之间的关系为:MSP430的ADC12内核模块是12位的,其最大输出为2^12 – 1 = 4095。
以VR-为参考点,当VIN小于或者等于VR-时得到的AD码值为0,当VIN大于或者等于VR+时,得到的AD码值为4095,当VIN处于VR-和VR+之间时,按线性比例转换。
这样,从MCU中读出AD码值,即可根据公式倒推回去计算出输入的模拟量电压。
二,ADC总体框图再补一张中文版的:三,分块解释1,ADC内核先来看看ADC最核心的部分。
当然少不了电压参考源VR+和VR-,以及模拟量输入部分。
模拟量输入部分是和“采样保持”电路连在一起的,这一部分后面再细说。
除此之外,与ADC内核相关的,还有以下几个信号:1,ADC12CLK。
在MCU中,任何模块都少不了时钟,ADC模块也不例外,必须有时钟信号它才能工作。
它有4个时钟源可以选择,并且可以1~8分频。
2,ADC12ON,这个是ADC内核的总开关,只有当ADC12ON这一位为1时,ADC内核模块才工作。
如果想要关闭ADC内核以降低功耗,可以将ADC12ON置为0.3,SAMPCON,采样控制信号。
该信号接至Convert,当SAMPCON为低电平时,ADC内核进行AD转换。
4,BUSY,用于指示内核模块是否正处于AD转换过程中。
2,采样保持。
12-Bit ADC Core:ADC CORE将一个模拟量转化为12位的数字量,并且将数字量存储到ADC12存储器中。
ADC CORE需要软件编程选择V R-和V R+的参考输入源,作为转换的上限值和下限值。
当模拟量输入等于或大于V R+时,转换结果N ADC =0FFFH;当模拟量输入等于或小于V R-时,转换结果N ADC =0H。
ADC12ON位用于打开ADC Core,ENC位:在每次转化之前都要置1.Conversion Clock SelectionADC12CLK用做转换时钟;或者当SHP=1()时,用于生成采样周期。
采样的时钟源有多个。
ADC12OSC大约5M Hz左右,但是与设备,供电电压,温度相关,具体参照规格书而定。
ADC12 Inputs and MultiplexerADC12模块模拟量输入源有16个,通过INCHx控制。
16个输入元分别是A0-A7(P6口),Ve REF+(Pin10), Ve REF-(Pin11)和4个内部输入源。
Voltage Reference GeneratorREFON=1,打开参考电压发生器。
REF2_5V = 1,参考电压为2.5V; REF2_5V = 0,参考电压为1.5V;INCHX=0AH,是模拟量输入源是温度传感器。
为了去耦,在参考电压输出引脚VREF+,接10uF和0.1uF的电容到A VSS.Auto Power-Down为了低功耗的应用。
ADC Core当不使用时自动关闭,在使用时,可以自动恢复打开;首次需软件打开。
ADC12OSC 用时自动打开,不用自动关闭。
参考电源需软件打开和关闭,不具有自动功能。
Sample and Conversion TimingSHI上升沿时An analog-to-digital conversion is initiated。
SAMPCON控制采样周期和启动转换:SAMPCON高电平时,采样。
MSP430程序库之ADC12模块msp430内部含有ADC12模块,可以完成12位的模数转换,当对精度或其他指标要求不高时,可以选用430单片机内部的ADC12完成模数转换工作。
这里主要实现了一个比较通用的ADC12模块初始化程序,具体的数据存储和处理需要自己在中断处理函数中添加。
1.硬件介绍:msp430单片机内的ADC12模块的特点如下:12位转换精度,1位非线形误差,1位非线形积分误差;多种时钟源给ADC12模块,切本身自带时钟发生器;内置温度传感器;TimerA/TimerB硬件触发器;8路外部通道和4路内部通道;内置参考电压源和6种参考电压组合;4种模式的模数转换;16bit的转换缓存;ADC12关闭支持超低功耗;采用速度快,最高200Kbps;自动扫描和DMA使能。
430内部的ADC12功能还是蛮强大的,可以有定时器触发模数转换开始,还可以和内部的DMA模块共同使用,完成高速的采样转储等高级功能。
这个AD的转化公式如下,可以根据它计算采样的模拟电压值:使用AD是还要注意采样时间,430单片机的模数ADC12模块的等效模拟电压输入电路如下:其中V S是信号源电压,R S是信号源内阻,V I在Ax(ADC12模块模拟输入端)上的电压,R I单片机内多路开关等效电阻,V C是保持电容上的电压(ADC12模块采样的电压),C I 是电容的值。
需要根据这些值计算采样时间:代入单片机上的参数后公式如下:我的程序中采样时间设的是4us,可以算出如果用我的程序(不更改采样时间)的话,最大信号源内阻可以是6.8k,当信号源内阻更大时,可以自己按要求设采样时间(在程序的初始化函数内的寄存器设置部分)。
还有,ADC模数转换时要求参考电压等很稳定,为了达到这个要求,德州仪器要求这部分的电路如下:即:所有参考源和电源均并联一组0.1uF和10uF的电容。
硬件部分就说这么多了;如果需要更详细的说明,参考用户指南。
MSP430ADC12转换模块总结MSP430ADC12转换模块是德州仪器(Texas Instruments)公司推出的一种12位模数转换器。
它主要应用于MSP430系列微控制器中,是一种用于模拟信号转换为数字信号的重要模块。
本文将对MSP430ADC12转换模块的原理、特点、应用和优缺点进行详细的总结。
一、原理1.设置输入通道和转换时钟。
2.开始转换,模块将自动切换到所选通道,并从该通道读取模拟输入信号。
3.模块以逐位的方式逼近比较,从最高有效位(MSB)开始,通过与DAC比较来确定该位是0还是14.继续逼近,直至得到完整的12位数字输出。
5.完成转换后,可以读取数字输出值,并根据需要进行后续处理。
二、特点1.高精度:MSP430ADC12转换模块具有12位分辨率,可以实现高精度的模拟信号转换。
2.快速转换:该模块支持多种转换速度选项,可根据应用需求选择合适的速度,实现快速转换。
3.多通道输入:MSP430ADC12模块支持多达16个输入通道,可以实现多种模拟信号的并行转换。
4.内部参考电压:模块内置了参考电压源,可以提供稳定的参考电压,减少外部硬件成本。
5.中断功能:该模块支持转换完成中断,当转换完成时,可以通过中断方式通知主控制器进行相应的处理。
6.低功耗:该模块工作时具有低功耗特性,可以在需要的时候进入低功耗模式,从而节省系统能量消耗。
三、应用1.传感器信号处理:可以将各种传感器(如温度、压力、湿度传感器)的模拟信号转换为数字信号,从而实现对传感器的精确测量和控制。
2.电力系统监测:可以对电力系统中的各种参数(如电压、电流、功率)进行模拟信号转换,实现对电力系统的实时监测和控制。
3.仪器仪表:可以将各种测量仪器(如多米表、示波器)的模拟信号转换为数字信号,提高仪器仪表的测量精度和稳定性。
4.通信系统:可以将通信系统中的模拟信号(如音频信号)转换为数字信号,实现通信数据的处理和传输。
四、优缺点1.高精度:具有12位分辨率,可以实现高精度的信号转换。
MSP430教程之十二ADC(下)上次我们讲了相关的ADC知识,那么这次我们将这些知识实际应用于我们的实际使用中。
同样的建立工程和添加库的步骤我们就不在说明了,两份文档,数据手册和我们的库文件使用手册也是必不可少的了,有时候我们还会需要用到我们的Launchpad的开发板原理图来查看某些引脚,这些步骤也都是我们之前一直说到的,希望可以给大家一些学习方法上面的参考。
今天这一讲我们将进入代码的书写上面,同样我们还是以库函数的形式来进行编写,后续我们会更新寄存器的编写方式,同时大家可以进行参考MSP430Ware的示例代码来自行编写寄存器的配置代码。
Ksps的意思是每秒转换次数为多少。
这里插播一个细节的东西,德州仪器(TI)的官网不管对于库函数还是寄存器都给出了示例代码,我们通过我们CCS环境下面的TI Resource Explorer下面查看到的示例代码都是基于寄存器的形式进行编写的,那么这里我们将和大家说一下要如何查看官方的库函数参考例程。
首先我们需要确认你有安装了MSP430Ware,如果你可以打开上面的界面,那毫无疑问是已经安装好了。
然后我们需要找到这个MSP430Ware的存放位置。
一个方法就是通过windows的搜索,直接搜索MSPWare(注意这里是搜索MSPWare而不是MSP430Ware)。
其他方法没找到,需要你知道安装在哪里。
不过一般情况下都会在软件的安装目录附近,自己稍微找一下应该就可以找到。
(如图下面长这样的文件夹)进去之后会有很多分支,红色方框里面的是我们的库函数的集合,而黑色方框对应的example就是我们上面TI Resource Explorer里面呈现的寄存器C参考例程了。
进入driverlib这个文件夹之后我们得到下面这么多文件,很显然例程就在我们的example里面,而这里面的driverlib对应就是我们器件的库函数源代码。
其他的大家自己琢磨去看看了。
不在说明了。
模数转换器ADC12的工作原理及使用//0>. 微控设计网中国MSP430单片机专业网站MSP430外围模块功能简介[4]作者:利尔达模数转换器ADC12的工作原理及使用基于模拟前端信号处理与控制技术的专业论坛、网站//. 微控设计网中国MSP430单片机专业网站MSP430F14X和44X系列单片机内嵌入一个高精度12位ADC转换模块。
该转换模块具有采样速率高,(最大采样速率达二十万次每秒,这无疑提高了测量精度)。
另外MSP430系列中的FE427也具有ADC模块功能,该模块中的16位ADC是采用∑-△转换技术来将模拟信号数字化的。
因此这两个模块转换的原理是有差别的,具体使用参见芯片参考手册。
在此讲座中只介绍MSP430F44X、14X系列的ADC转换模块。
从该模块电路看出,其模式转换是采用逐次逼近的方法来实现测量的。
该电路分5大功能模块组成,在配置上这5个模块都可以独立配置。
五五大大模块模块分析分析::1、带有采样/保持功能的ADC内核该采样器是以电菏为转换辅助量的及采用电荷重分布技术的逼近型ADC,其特点是高效经济。
其核心为1权电容网络。
其采样过程是一个电容充电过程。
其保持就是根据电容中的电菏不变实现在比较寄存器中的总电荷量在逐次逼近,随着逐次逼近过程的进行,权电容网络中的各电容两端的电压在不断变化,因而导致总电荷量在每个电容之间不断重新分布。
该原理要比传统逼近型ADC中控制精密电阻的相对精度要容易,因此实现较为经济,同时消除了电阻网络中因温度变化引起的阻值失配。
EXIT基于模拟前端信号处理与控制技术的专业论坛、网站//. 微控设计网中国MSP430单片机专业网站由于A/D转换的原理是基于电荷再分配,当内部开关切换输入信号进行采样时,会产生流入或流出电流,但这种电流由于外部的等效时间常数很小而不会影响转换精度。
但如果外部的阻抗很大,在确定的采样时间内,这些瞬变的电流就会影响采样的精度。
单片机与可编程器件
MSP430的ADC有4种类型:ADC10、ADC12、ADC14、SLOPE(斜边ADC转换)等。
最常见的是在MSP430F13、14、15、16、43、44等系列中的ADC12,本讲将详细讲述ADC12,同时示例具体应用。
ADC12的结构图如图1所示。
由图1可看出,ADC12由以下5大功能模块构成:一个带有采样与保持功能的12位转换器的ADC12内核;内部参考电压发生器,同时有两种参考电压值可供选择;可以选择的采样与转换过程中所需要的时钟信号源 ;采样以及转换所需的时序控制电路;转换结果有专门的桶型缓存。
ADC12的主要特性:采样速度快,最高可达200ksps;12位转换精度,1位非线性微分误差,一位非线性积分误差;内置采样与保持电路,省去外部扩展的麻烦;模块本身内置转换所需的时钟发生器,同时还有更多种时钟源可提供给ADC12模块;内置温度传感器 ;配置有8路外部通道与4路内部通道;内置参考电源,而且参考电压有6种可编程的组合;模数转换有4种模式,可灵活地运用以节省软件量以及时间;ADC12内核可关断以节省系统能耗。
ADC12的所有功能都可通过用户软件独立
配置。
通过ADC12的功能寄存器来使用ADC12相当灵活与方便。
该模块的寄存器很多: ADC12CTL0、ADC12CTL1、ADC12IFG、ADC12IE、ADC12IV、ADC12MCTL0 ̄ADC12MCTL15、ADC12MEM0 ̄ADC12MEM15。
部分寄存器介绍如下:
上述表格中阴影部分在使用时要特别注意:只有在ENC位为“0”时方可修改。
首先说明参考电压,要将模拟量转换为数字量,必须有参
考电压,参考电压有内部与外部两种。
如果使用内部参考电压,则在使用时,确保在ENC=”0”的前提下,REFON=1,ADC12ON=1。
这时只是给ADC电路供电,给参考电源部分供电,而转换时究竟是以什么为参考还没有指明,所以下面指明具体的参考电源。
内部参考电源有1.5、2.5V两种,当ADC12CTL0的第6位为“0”时是1.5V参考电压,否则为2.5V。
当然也可以使用外部参考电源,在使用外部参考电源时,必须将正确的标准电压源连接
在参考电源引脚端。
MSP430单片机实用技术讲座(16)
第11讲 ADC12原理与应用
・南京航空航天大学 魏小龙・
图
1
单片机与可编程器件
在ADC12MCTLi寄存器中的第4、5、6位将指明参考电源非常细节的情况,下面为第4、5、6位所表示的数据对应的参考电源情况:
一共有6种情况可供选择,分别为V R+与V R_的组合。
0: V R+ = AVcc V R- = AVss
1: V R+ = Vref+ V R- = AVss
2,3:VR+ = Ve REF+V R- = AVss
4: VR+ = AVcc V R-= Vref- / Ve REF-
5: VR+ = V REF+V R-= Vref- / Ve REF-
6,7:VR+ = Ve REF+V R- = Vref- / Ve REF-
在确定了转换所需要的参考电压源后,还需要确定采样、保持时间以及转换的速度与采样速率。
ADC12CTL0的第8~15位将确定采样、保持时间。
ADC12CTL1的第3、4位ADC12SSEL选择ADC12内核时钟源。
0:ADC12内部时钟源为ADC12OSC(来自AADC12内部振 荡器);
1:ACLK;
2:MCLK;
3:SMCLK。
ADC12CTL1的第5、6、7位ADC12DIV选择ADC12时钟源分频因子,共3位,分频因子为该3位二进制数加1。
有了以上这些,是否可以进行ADC转换呢?还必须有采样保持与转换的启动。
ADC12模块提供多种启动条件。
ADC12CTL1的第10、11位SHS控制位将决定由什么信号启动采样转换:
0:ADC12SC;
1:Timer_A.OUT1;
2:Timer_B.OUT0;
3:Timer_B.OUT1。
ADC12模块提供多模拟量输入,确定了以上所讲述的控制位之后,就剩下选取哪个模拟通道的模拟量送ADC12模块进行模数转换了。
ADC12MCTLi的最低4位所表示的数值将为送达ADC12的模拟通道。
在进行模数转换的过程中,ADC12CTL1的位0 也就是ADC12BUSY位将为1,读取转换的结果必须在ADC12BUSY位为0之后,因为ADC12BUSY位为1表示正在转换,为0表示转换完成。
只有在转换完成之后才能读取正确结果。
ADC12还有单通道单次、单通道多次、多通道单次、多通道多次4种转换模式,这里不详细讲述。
下面以路灯控制器的设计为例说明ADC12的使用方法。
该例子应用的是单通道单次转换模式。
路灯在一定的亮度值以上将熄灭,而在亮度低于某个数值时
亮起来,图2是简图。
当亮度较大、光
线较强时,光敏电阻的电阻值比较小,
这时它与下面10kΩ电阻分压,则送达
ADC12的电压比较高;而当亮度较小、
光线较弱时,光敏电阻的电阻值比较
大,这时它与下面10kΩ电阻分压,则
送达ADC12的电压比较低。
通过ADC12
模块转换出具体的表示光强度的数值
(光线越强,转换后的数值越大,但不成
正比例),再设定一个开启路灯的阀值数据,则可以通过实际测量的光强度数据与阀值数据比较得到是否开启路灯的目的。
在本刊的网站上(www.eleworld.com)给出了源程序,供读者参考。
◆
可随意留言与自动语音提示的
门控器设计
・大连民族学院机创新教育中心 何云欢 陈兴文 齐立荣 马丁立・
具有语音提示功能的门控器适用于家庭、办公等场合,安装于门附近一定的位置。
当用户有需要提示的事情时,可以提前向该装置录入语音;当用户打算出门,走到该装置可以扫描到的区域,该装置采用热释电红外传感器检测出人体辐射的红外线,再经过红外传感信号处理器处理电路,在有效的延迟时间内,门如果被打开,它会自动向用户播报所录语音,倘若在该时间内门未被打开,该装置智能化地判断出主人不是想要出门,便不会播报,从而实现人要出门时被提示的功能。
比如,您若出门前总忘记带钥
匙,您可以将门控器安装在家门附近,向
其录入“不要忘记带钥匙”语音,当您想
要出门而打开门时,它可自动播报“不要
忘记带钥匙”。
这样可以解除您因忘记带
钥匙而带来的一系列问题。
同时,它也可以作为留言簿。
倘若您
着急上班,可以将叮嘱孩子的话录入装
置。
并且,可根据您的需要随时录音、随
时更改,使用方便。
硬件电路设计
硬件电路主要包括:红外检测电路、
门状态电路、合成自动提示信号电路、语
音录放,如图1所示。
(1)红外检测电路设计 图2为红外
检测电路图。
热释电红外传感器(KDS9)
图1
图
2。