MSP430模数转换ADC1-2解读课件

上传人:_impsvz****pswzcf... 文档编号:243141319 上传时间:2024-09-16 格式:PPT 页数:167 大小:2.83MB
返回 下载 相关 举报
MSP430模数转换ADC1-2解读课件_第1页
第1页 / 共167页
MSP430模数转换ADC1-2解读课件_第2页
第2页 / 共167页
MSP430模数转换ADC1-2解读课件_第3页
第3页 / 共167页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,模/数转换(ADC),第一节,概述,第二节,模/数转换器,第三节,采样保持器和多路模拟开关,本章教学目标:,1、了解ADC的基本概念,2、MSP430 ADC12的原理与基本应用,1,第一节 概述,计算机测量控制系统,计,算,机,控,制,对,象,传感器,放大器,滤波器,A / D,D / A,放大器,执行部件,2,计,算,机,多,路,开,关,传,感,器,1,放,大,器,1,滤,波,器,1,模拟,量,1,采,样,保,持,A / D,传,感,器,n,放,大,器,n,滤,波,器,n,模拟,量,n,数据采集系统,与本课程相关部分,音频、视频信号,数字通信,3,第二节 模/数转换器,一、,A/D 转换器的基本原理,二、,MSP430,ADC12介绍,4,一、A/D 转换器的基本原理,模拟输入量,数字输出量,000,001,010,011,000,001,010,011,1v,2v,3v,4v,5v,6v,7v,A/D,转换器,模拟输入量,数字输出量,量化,5,工作原理,特点,计数式,结构简单、,转换速度慢、精度低,实际少用,双积分式,精度高、转换速度慢、抗干扰性能好,逐次逼近式,转换速度较快、精度较高,实际常用、抗干扰性能不如积分式,高速并行式,转换速度快,价格高,精度低,A/D转换器分类,式,6,1分辨率:,指A/D转换器所能分辨的最小模拟输入量,通常用A/D的位数表示。如:,8位,A/D的,分辨率,为,8位,10位,A/D的,分辨率,为,10位,2转换精度:,指实际输入的模拟值与理论输入的模拟值(根据A/D输出推算)之间的偏差。常用数字量最低有效位,LSB 的几分之几,表示。,1,4,LSB,1,2,LSB,3转换时间和转换速度:,转换时间,指完成一次A/D转换所需的时间,从启动信号开始到转换结束,得到稳定数字量的时间。,转换速度,是转换时间的倒数。,A/D转换器的主要技术指标,7,逐次逼近式A/D转换器原理图,-,+,D/A,转换器,输出缓冲器,控制,电路,启动信号,START,CLK,时钟,EOC,转换结束信号,D,7,D,0,比较器,模拟输入,数字输出,N,ADC,V,in,OE,输出使能信号,SAR,V,REF,V,DA,8,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,0,1,1,0,1,0,0,1,0,1,x,x,x,x,x,x,x,x,1,0,1,0,1,1,0,1,1,0,1,0,1,1,0,1,D7,D6,D5,D4,D0,D1,D3,D2,9,A/D转换器的典型信号、电源、地,A/D,转换器,模拟量输入信号,A/D转换启动信号,数字量输出,A/D转换完成信号,输出使能信号,ADC时钟,电源,模拟地,数字地,参考电源,10,A/D转换的,启动,电平启动,高电平启动,低电平启动,脉冲沿启动,上升沿启动,下降沿启动,启动方法,软件启动,硬件启动,启动信号,11,CPU 对 ADC 转换结果的读取方式,程序延时方式,程序查询方式,中断方式,12,二、MSP430 ADC12介绍,ADC12模块是一个转换速度高达200ksps、采样时间可编程的12-bit逐次逼近型模数转换器。由12-bit的SAR核、采样保持电路、模拟开关、参考电压产生与选择电路、ADC时钟选择电路、采样与转换控制电路、16个转换结果存储缓冲器及其对应的16个存储控制寄存器、中断系统、片上集成温度传感器等组成。 ADC12可以在没有CPU的参与下,独立实现多达16次的采样、转换和存储操作。ADC12模块可以独立断电,以便于低功耗设计。,MSP430X13X,MSP430X14X,MSP43015X和MSP430X16X等芯片中均有ADC12模块。,13,ADC12,模块,14,ADC12 的特点与性能指标:,采样率可达200ksps,采样率可编程;,分辨率12-bit;,内含16路模拟开关,其中8路外部模拟输入,1路内部温度传感器输入等;,内含采样保持电路,采样时间可编程;,可由软件、Timer_A 或Timer_B启动转换过程;,参考电压可编程:内部(1.5V 或2.5V)、外部;,4种转换模式;,ADC核和内部参考电源可编程断电,以实现节能;,具有中断(子)向量寄存器,供18路ADC中断译码用;,具有16个转换结果存储寄存器。,15,12-BIT SAR ADC,参 考电压源,时钟电路,采样/保持器,模,拟,开,关,采样与转换控制电路,结果存储缓冲器,与,相应的控制寄存器,MSP430 ADC12 原理框图,16,17,ADC12的模数转换部分原理图,18,N,ADC,=4095,当V,in,V,R+,N,ADC,=0, 当V,in,V,R-,V,R+,和,V,R-,可由软件编程设置,N,ADC,=4095,V,in,V,R-,V,R+,V,R-,ADC12的转换结果N,ADC,:,19,参考电压源,V,R+,V,R-,电路,20,BIS,#REFON+REF2_5V, &,ADC12CTL0,; turn on 2.5V ref,BIS.B,#SREF_1, &,ADC12MCTL0,; Vr+=Vref+,举例 :ADC12 通道 0 使用内部 2.5V 参考电压源,SREF2 SREF1 SREF0,0 0 1,#SREF_1,21,BIS,#REFON, &,ADC12CTL0,; turn on 2.5V ref,BIS.B,#SREF_1, &,ADC12MCTL0,; Vr+=Vref+,举例 :ADC12 通道 0 使用内部 1.5V 参考电压源,SREF2 SREF1 SREF0,0 0 1,#SREF_1,22,举例:V,R+,使用外部正参考电压源 VeREF+,BIS.B #SREF_2 , &ADC12MCTL0,SREF2 SREF1 SREF0,0 1 x,#SREF_2 or #SREF_3,orBIS.B #SREF_3 , &ADC12MCTL0,23,ADC12工作时钟(ADC12CLK)编程设置,例:BIS #ADC12SSEL_2 , &ADC12CTL1,24,MSP430F149 转换时钟、转换时间、电源建立时间和采样时间等参数,13/6.3=2.06 , 13/3.7=3.51,25,ADC12的模拟输入及其多路模拟开关,例:BIS.B #INCH_4 , &ADC12MCTL0,26,ADC12 中的采样保持器,采样/保持信号,AD转换启动信号,模拟开关输出,什么是采样保持器?,为什么需要采样保持器?,请参见本章附录,27,S,ample/,H,old,I,nput,Signal,SAMPCON,为高电平时,采样保持器工作在采样模式,SAMPCON,为低电平时,,采样保持器工作在,保持模式,SAMPCON,的下降沿与 ADC12CLK 同步后启动 AD 转换,采样信号源选择,极性选择,采样方式选择,采样与转换控制,采样定时器,28,采样与转换控制,ADC12SC.0,ENC.1,MSC.7,SHT0x.811,SHT1x.1215,ISSH.8,SHP.9,SHSx.1011,ADC12CTL0,ADC12CTL1,29,SHP=0 , SAMPCON=SHI ,非采样定时器采样方式,(,Extended Sample Mode,),SHP=1 , SAMPCON=,采样定时器输出,采样定时器采样方式,(,Pulse Sample Mode,),采样方式选择,30,非采样定时器采样方式(,Extended Sample Mode,),SHP=0 , SAMPCON=SHI,t,sample = 采样保持输入信号(SHI)的宽度,31,采样定时器采样方式(,Pulse Sample Mode,),SHP=1 , SAMPCON=,采样定时器输出,t,sample = 采样定时器输出信号的宽度,采样保持输入信号的宽度,01ADC12CLK,4ADC12CLK,t,sample,1024ADC12CLK,32,采样定时器设置,设置采样时间,t,sample,4ADC12CLK,t,sample,1024ADC12CLK,SHT0xADC12CTL0.811,SHT1x,ADC12CTL0,.1215,33,采样时间 计算,t,sample,t,sample, (R,s,+ R,on,)ln(2 )C,s,+ 800ns,13,t,sample, ( R,s,+ 2k,)9.01140pF,+ 800ns,12-bit 分辨率下的最小采样时间计算公式:,当Rs=10k,时,,t,sample 5.13,s,R,s,R,on,C,s,MSP430,V,s,外部模拟信号源,模拟开关,导通电阻,采样保持电容,采样期间模拟等效电路,2k,40pF,V,c,Vs - Vc 0.5LSB,34,举例 :ADC12 通道 07,使用采样定时器采样方式,,采样时间=16ADC12CLK,SHT0x=2,采样时间=16ADC12CLK,BIS,#SHT0_2, Sampling time=16ADC12CLK,BIS,#SHP, Use sampling timer,35,每进行一次采样和转换均需要 SHI 上升沿去触发采样定时器,除了启动第一次采样和转换时需要 SHI 的上升沿触发采样定时器外,后续的采样和转换过程无需 SHI 的上升沿触发。一旦上一次转换完毕,紧接着自动开始下一次的采样和转换过程。,MSC : 多次采样和转换控制位,(仅序列或重复方式下有效),MSC=ADC12CTL0.7,MSC=0 :,MSC=1 :,36,采样保持信号源选择,同步,SHSx=00 , ADC12SC bit,软件启动,SHSx=01 , Timer_A Output Unit1,启动,SHSx=10 , Timer_B Output Unit0,启动,SHSx=11 , Timer_B Output Unit1,启动,ENC,SHI,采保源,ENC,SHI,采保源,ISSH=0,ISSH=0,SHSx=ADC12CTL1.1011,37,MSP430F149 Timer_A Output Unit1 具有内部启动采样转换信号,38,16个12-bit的转换结果存储缓冲器,16个8-bit的转换存储控制寄存器,一一对应,ADC12转换结果存储缓冲器,存储指针,转换方式,39,ADC12 转换存储控制寄存器: ADC12MCTLx,参考电压源选择 模拟输入通道选择,通道序列结束标志,EOS=1的通道是序列转换中最后转换的通道,40,n=CSTARTADD,ADC12MEM0,ADC12MEM1,ADC12MEMn,ADC12MEM15,ADC12MCTL0,ADC12MCTL1,ADC12MCTLn,ADC12MCTL15,ADC12 通道(channel)的概念,ADC12 通道n,一个ADC12通道,(简称通道),由通道号、该通道的转换结果存储缓冲器、该通道的参考电压源配置、该通道的模拟输入以及通道序列结束标志等组成。ADC12通道n可以对应于16个模拟输入中的任何一个,不同的ADC12通道可以对应于同一个模拟输入,不同的ADC12通道可以有不同的参考电压源。,ADC12 通道与传统的模拟输入通道有很大的不同。,CSTARTADD=ADC12CTL1,的最高 4 位的值=015,41,ADC12 的通道序列(sequence of channels),n=CSTARTADD,ADC12MEMn,ADC12MEMn+1,ADC12MEMn+2,ADC12MEMn+m,000,1,1,1,EOS,序列开始,序列结束,k=(n+m)%16,循环队列,例:从 n 号ADC12 通道开始的,长度=m+1 的通道序列,k,42,0,1,n,15,14,队首,队尾,n=(n+1) % 16,n=CSTARTADD,0,0,0,0,1,EOS=1,有限长通道序列:某些通道的EOS=1,1,1,0,0,0,0,43,无限长通道序列:所有通道的EOS=0,0,1,n,15,14,队首,n=(n+1) % 16,n=CSTARTADD,0,0,0,0,0,0,0,0,0,0,0,44,ADC12的 4 种转换方式(运行方式),单通道单次转换方式,通道序列单轮转换方式,单通道重复转换方式,通道序列重复转换方式,45,常用转换方式,通道序列单轮转换方式,每一轮通道序列中第一通道的采样和转换都由定时器(TA1/TB0/TB1)启动,然后由采样定时器自动启动后续通道的快速采样和转换,直到EOS=1的通道转换完毕,完成第一轮。,定时器,采样定时器,采样间隔,u,a,u,b,u,c,i,c,u,a,u,b,u,c,i,c,第一轮,第二轮,46,ADC12 off,n=CSTARTADDx Wait for Enable,Sample,Input Channel Defined in ADC12MCTLn,Wait for Trigger,Convert,Conversion,Completed, Result Stored,into ADC12MEMn,ADC12IFGn is Set,ENC,ENC,=,ENC,=,SAMPCON=,SAMPCON=1,SAMPCON=,12ADC12CLK,1ADC12CLK,EOS.n,=1,if n 0.5*AVcc, P1.0 set, else reset.,In Main MSP430 waits in LPM0 to save power until,conversion complete, ADC12_ISR will force exit from,LPM0 in Main on reti.,75,bis.b #01h , P6.0 ADC option select,mov,#SHT0_2,+,ADC12ON, Sampling time, ADC12 on,mov,#SHP, Use sampling timer,mov #01h , Enable ADC12IFG0 interrupt,bis,#ENC, Enable ADC12,相关寄存器初始化编程:,76,#include ,;-,ORG 01100h ; Program Start,;-,RESETmov #0A00h,SP ; Initialize stackpointer,mov #WDTPW+WDTHOLD, Stop WDT,bis.b #01h, P6.0 ADC option select,mov #SHT0_2+ADC12ON, Sampling time, ADC12 on,mov #SHP, Use sampling timer,mov #01h, Enable ADC12IFG0 interrupt,bis #ENC, Enable ADC12,bis.b #01h, P1.0 output,Mainbis #ADC12SC,软件启动采样和转换,bis #CPUOFF+GIE,SR ; LPM0, ADC12_ISR will force exit,jmp Main ; Again,77,;-,ADC12_ISR; Exit any LPMx on reti,bic.b #01h, P1.0 = 0,cmp #07FFh, ADC12MEM = A0 0.5AVcc?,jlo ADC12_ISR_1 ;,bis.b #01h, P1.0 = 1,ADC12_ISR_1 bic #CPUOFF,0(SP) ; Exit any LPM0 on reti,reti ;,;-,; Interrupt Vectors Used MSP430x13x/14x/15x/16x,;-,ORG 0FFFEh ; MSP430 RESET Vector,DW RESET ;,ORG 0FFEEh ; ADC12 Vector,DW ADC12_ISR ;,END,78,举例02使用内部 2.5V 参考电压源,,使用采样定时器,采样时间=16ADC12CLK ,,其它采用复位值。查询方式。,转换完毕后通过 P1.0 输出一个负脉冲,79,SREF2 SREF1 SREF0,0 0 1,#SREF_1,80,相关寄存器初始化编程:,bis.b #BIT0 , &,P6SEL,; Enable A/D channel A0,mov,#REFON+REF2_5V+ADC12ON+SHT0_2, &,ADC12CTL0,; turn on 2.5V ref, set samp time,mov.b,#SREF_1, &,ADC12MCTL0,; Vr+=Vref+,mov,#SHP, &,ADC12CTL1,; Use sampling timer,mov #03600h , R15 ; Delay for needed ref start-up.,L$1 dec R15 ; See datasheet for details.,jnz L$1,bis,#ENC, &,ADC12CTL0,; Enable conversions,81,#include ,;-,ORG 01100h ; Program Start,;-,RESETmov #0A00h,SP ; Initialize stackpointer,mov #WDTPW+WDTHOLD, Stop watchdog,bis.b #BIT0, Enable A/D channel A0,mov #REFON+REF2_5V+ADC12ON+SHT0_2,&ADC12CTL0,; turn on 2.5V ref, set samp time,mov.b #SREF_1, Vr+=Vref+,mov #SHP, Use sampling timer,mov #03600h,R15 ; Delay for needed ref start-up.,L$1 dec R15 ; See datasheet for details.,jnz L$1 ;,bis #ENC, Enable conversions,82,bis.b #01h, P1.0 output,bis.b #01h, P1.0 = 1,Mainbis #ADC12SC,软件启动采样和转换,testIFG0 bit #BIT0, Conversion done?,jz testIFG0 ; No, test again,bic.b #01h, P1.0 = 0,bis.b #01h, P1.0 = 1,jmp Main,;-,; Interrupt Vectors,;-,ORG 0FFFEh ; MSP430 RESET Vector,DW RESET ;,END,83,举例04 使用采样定时器,,采样时间=1024ADC12CLK ,,使用 ADC12IFG0 中断,,其它采用复位值,并将转换结果转存到R5中。,SHT0x=15,采样时间=1024ADC12CLK,84,#include ,;-,ORG 01100h ; Program Start,;-,RESETmov #0A00h,SP ; Initialize stackpointer,mov #WDTPW+WDTHOLD, Stop watchdog,bis.b #BIT0 , Enable A/D channel A0,mov #ADC12ON+SHT0_15 , &ADC12CTL0,; Turn on ADC12, set SHT0 for longer sampling,mov #SHP , Use sampling timer,bis #BIT0 , Enable ADC12IFG.0 interrupt,bis #ENC , Enable conversions,85,Mainbis #ADC12SC, Start conversions,bis #LPM0+GIE,SR ; Wait for conversion completion,; Enable interrupts,nop ; Only required for CSPY,jmp Main ; SET BREAKPOINT HERE,;-,ADC12ISR ; Interrupt Service Routine for ADC12,;-,mov Move result, IFG is reset,bic #CPUOFF,0(SP) ; Return active,reti,86,;-,; Interrupt Vectors,;-,ORG 0FFFEh ; MSP430 RESET Vector,DW RESET ;,ORG 0FFEEh ; ADC12 Interrupt Vector,DW ADC12ISR ;,END,87,举例05使用外部正参考电压源 Ve,REF+,,,使用采样定时器,采样时间=16ADC12CLK ,,其它采用复位值。查询方式。,转换完毕后,将转换结果转存到 R5 中。,相关寄存器初始化编程:,bis.b #BIT0 , Enable A/D channel A0,mov #ADC12ON+SHT0_2 , &ADC12CTL0,; turn on ADC12, set samp time,mov #SHP , Use sampling timer,mov.b #SREF_2 , Vr+=VeREF+ (external),bis #ENC , Enable conversions,88,#include ,;-,ORG 01100h ; Program Start,;-,RESETmov #0A00h,SP ; Initialize stackpointer,mov #WDTPW+WDTHOLD, Stop watchdog,bis.b #BIT0, Enable A/D channel A0,mov #ADC12ON+SHT0_2,&ADC12CTL0,; turn on ADC12, set samp time,mov #SHP, Use sampling timer,mov.b #SREF_2, Vr+=VeREF+ (external),bis #ENC, Enable conversions,89,Mainbis #ADC12SC, Start conversions,testIFG,bit #BIT0, Conversion done?,jz testIFG ; No, test again,mov Move result,jmp Main ; SET BREAKPOINT HERE,;-,; Interrupt Vectors,;-,ORG 0FFFEh ; MSP430 RESET Vector,DW RESET ;,END,90,举例06 重复通道序列转换方式,使用采样定时器,,采样时间=256ADC12CLK ,,使用 ADC12IFG.3 中断,,其它采用复位值,并将转换结果转存到RAM中。,SHT0x=8,采样时间=256ADC12CLK,91,通道序列定义:,通道号 结果存储 模拟输入 RAM,缓冲器通道号,0 ADC12MEM0A00x2000x20E,1 ADC12MEM1A10x2100x21E,2 ADC12MEM2A20x2200x22E,3 ADC12MEM3A30x2300x23E,注意:通道号与模拟输入通道号可以不一致。因此上述的通,道定义也可以如下:,通道号 结果存储 模拟输入 RAM,缓冲器通道号,0 ADC12MEM0A30x2000x20E,1 ADC12MEM1A10x2100x21E,2 ADC12MEM2A20x2200x22E,3 ADC12MEM3A00x2300x23E,92,通道号 结果存储 模拟输入 RAM,缓冲器通道号,0 ADC12MEM0A10x2000x20E,1 ADC12MEM1A10x2100x21E,2 ADC12MEM2A30x2200x22E,3 ADC12MEM3A30x2300x23E,通道号
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!