MSP430AD采样用法Word文档格式.docx

上传人:b****6 文档编号:20906602 上传时间:2023-01-26 格式:DOCX 页数:7 大小:81.08KB
下载 相关 举报
MSP430AD采样用法Word文档格式.docx_第1页
第1页 / 共7页
MSP430AD采样用法Word文档格式.docx_第2页
第2页 / 共7页
MSP430AD采样用法Word文档格式.docx_第3页
第3页 / 共7页
MSP430AD采样用法Word文档格式.docx_第4页
第4页 / 共7页
MSP430AD采样用法Word文档格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

MSP430AD采样用法Word文档格式.docx

《MSP430AD采样用法Word文档格式.docx》由会员分享,可在线阅读,更多相关《MSP430AD采样用法Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。

MSP430AD采样用法Word文档格式.docx

ADC12CTL0|=ADC12ON;

ADC12CTL0|=ADC12ENC;

 

//允许转换

}

elseif(doit==100)

ADC12CTL0&

=~ADC12ON;

//不允许转换

=~ADC12ENC;

#defineADC12ON 

(0x0010u) 

#defineADC12ENC 

(0x0002u) 

寄存器ADC12CTL0中的ADC12ON复位时关闭ADC12的内核,置位时打开ADC12的内核。

寄存器同初始化,其实也可以看是初始化的一个步骤。

即将ADC12CTL0中的ADC12ON和ENC置位,打开内核,允许ADC转换。

AdcDo函数

设置AD转换所使用的的模式和转换首地址。

AdcDo(0,2);

voidAdcDo(uintadr,ucharmod)

ADC12CTL1=(adr<

<

12)+ADC12SHP+(mod<

1);

//SHP意思为由采样定时器控制采样

#defineADC12SHP 

(0x0200u) 

二、操作寄存器ADC12CTL1 

CSSTARTADD 

SHS 

SHP 

ISSH 

ADC12DIV 

ADC12SSEL 

CONSEQ 

ADC12BUSY

15-12 

11-10 

7-5 

4-3 

2-1 

0

转换存储器地址位,这4位表示二进制0-15分别对应ADC12MEM0-15.可以定义单次转换地址或序列转换的首地址。

(程序中设置为0)

扩展采样模式(SHP=0):

即SHI信号直接决定采样时间,参看DATASHEET和时序图;

脉冲采样模式时,SHI只负责输入一个上升沿信号来触发采样,而采样时间由ADC12CLK及SHT0_X或SHT1_X决定。

SHS 

采样触发输入源选择位

ADC12SC 

1TIMER_A.OUT1 

TIMER_B.OUT0 

TIMER_B.OUT1 

(程序中为1)

SHP 

采样信号(SAMPCON)选择控制位

采样信号源自采样触发输入信号 

源自采样定时器,由输入信号(即采样信号)的上升沿触发采样定时器。

(程序中为0)

ISSH 

采样输入信号方向控制位 

0同向输入 

1反向输入

ADC12DIV 

ADC12时钟源分频因子选择位,分频因子为3位二进制加一。

(程序中为0即分频因子为0)

ADC12SSEL 

ADC12内核时钟源选择

ADC12内部时钟源:

ADC120SC 

ACLK 

MCLK 

SMCLK 

(程序中为0,选ADC内部时钟)

CONSEQ 

转换模式选择位

单通道单次转换 

1序列通道单次转换 

2单通道多次转换 

序列通道多次转换 

(程序中为2)

ADC12BSSY 

ADC12忙标志

表示没有活动 

1表示正处于采样期间、转换、或序列转换期间。

注:

只用于单通道单次转换模式

3-15位只能大ENC=0的前提下才能修改,因而初始化时是让ENC为复位。

4. 

SetTongDao

voidSetTongDao(uchartongdao,uchareos,ucharmem,ucharverf,ucharinter) 

40021

char*pmem_ctl=ADC12MCTL;

pmem_ctl+=mem;

//pmem_ctl加上mem,所指向的即为要操作的寄存器ADC12MCTLx

*pmem_ctl=tongdao+(eos<

7)+(verf<

4);

if(inter==0)

ADC12IE&

=~(0x1<

mem);

else

ADC12IE|=(0x1<

此函数的功能是设置通道。

有关通道的设置是针对某个转换存储器,应该设置以下内容:

1、选择转换通道 

2、选择的通道是否是转换序列的最后一个通道

3、选择转换参考电压 

4、转换完毕后是否触发中断

指针变量pmem_ctl指向ADC12MCTL的基地址,参数mem的取值为0~15,对应各存储器。

pmem_ctl加上mem,所指向的即为要操作的寄存器ADC12MCTLx,在本模块中,应当至少使转换序列的最后一个通道转换完成时触发中断,以便置位等待转换结束的标志变量Wait,Wait为全局变量。

实质是对

三、ADC12MCTL转换存储控制寄存器的操作:

EOS 

SREF 

INCH

65 

3210

EOS为序列结束控制位 

0表示序列还没有结束 

EOS=1表示此序列中最后一次转换 

(程序中取0,取外部中断源)

EOS位于所需AD通道中最后一个通道的ADC12MCTLX中,并且,中断允许是最后一个通道对应的ADC12MEMX对应的中断允许置位。

参考电压选择位 

(程序中取2/3)

VR+=AVCC,VR=AVSS 

(采集两路模拟电源) 

VR+=VREF+(内部参考源),VR-=AVSS 

(模拟电源) 

2\3VR+=VAREF+(外部参考),VR-=AVSS 

VR+=AVCC,VR-=VREF_/VEREF-

5VR+=VREF+,VR-=REF_/VEREF- 

6,7VR+=VEREF+,VR-=VREF-/VEREF-

INCH 

(程序中取0)

0-7 

A0-A7 

(此为8路外部通道)

VEREF+ 

9Veref+ 

10片内温度传感器输出 

11(Avcc-Avss)/2 

此为4路内部部通道

12-15 

A12-A15

其中

四、ADC12IE为中断使能寄存器

ADC12IE.15 

14 

.........1 

意思1为允许相应的中断标志位ADC12IFG.X在置位时发生中断请求,0为禁止中断。

顺便介绍

五、ADC12IFG

各位为1表示转换结束,且转换结果已经装入转换存储器,0表示ADC12MEMX被仿问。

因此上面的程序中,如果INTER=则禁止中断,1则允许中断。

Adc12Go

voidAdc12Go()

ucharq0;

for(q0=0;

q0<

16;

q0++)AdMem[q0]=0;

Wait=0;

ADC12CTL0|=ADC12ENC+ADC12SC;

//转换开始

while(Wait==0) 

{;

//等待转换结束

此函数功能为使用软件方式AD,全局数组ADMEM用来存储转换结果,在启动前前16位全部赋0并复位转换完成标示WAIT。

启动转换的方法为将ADC12CTL0的ENC置位,将寄存器在ADC12CTL0中的ADC12SC位置位,

ADC12采样保持时间与采样频率

(由于近期要做简易示波器,要用到高频采样,所以对MSP430内部的ADC12进行了一些实验。

技术手册中说明ADC12的最高采样频率可以达到200ksps,但是经过研究发现ADC12的最高采样频率只有165KHz;

采样保持时间与转换时间是不可避免的。

以下为微控资料:

【采样与转换】

ADC12完成对一个模拟信号模数转换过程由两部分组成:

采样保持和转换.

完成采样转换周期时间=采样保持时间+转换时间

采样保持时间:

由产生SAMPCON信号开始到结束所需时间,这期间ADC进行对模拟信号采样保持。

在脉冲采样模式时(SHP=1),采样时间:

Tsample=4xADC12CLKxN。

式中,Tsample为采样保持时间,ADC12CLK为ADC12内核时钟周期,N则由SHT1(SHT0)的4位二进制码决定。

采样保持时间与ADC12模块的等效输入电路有关。

从ADC12模块输入看ADC内部等效为一个电阻(2K)与一个电容(30pf)相串联.这个内部RC常数直接影响着最小的采样保持时间参数.所以,在采样转换中有一个最小采样保持时间值概念.这个最小采样保持时间值从上式中可以看出是由ADC12CLK时间周期决定(N=1时),也就是说ADC12CLK的最高频率;

这个频率不能超出MSP430芯片手册中所指定的最高频率(最小采样保持时间值)。

关于脉冲采样模式(SHP=1)这个最小采样保持时间值因芯片不同,详情可以查看相应的芯片手册。

转换时间:

ADC12核将采样保持的模拟信号转换成数字所需要的时间,这个转换时间在脉冲采样模式和扩展采样模式都是相同的。

转换时间=13x(ADC12CLK/Fadc12clk)

在脉冲采样模式时完成一个模拟信号采样转换周期时间计数公式为:

=(4xADC12CLKxN)+(13xADC12CLK/Fadc12clk))

以上内容来自微控论坛,因为要使用最高采样频率,对输入时钟以及采样保持时间不清楚,1611头文件中并未指出SHTx_x对应的分频因子具体是多少,所以自己亲自实验测量。

输入信号为1kHz,ADC输入时钟为SMCLK,时钟频率为8MHz。

#defineSHT0_0(0*0x100u)//分频因子为N=0(此时无保持时间,无法运行)

#defineSHT0_1(1*0x100u)//分频因子为N=8.8(对应采样频率为166k)

#defineSHT0_2(2*0x100u)//分频因子为N=8.8(对应采样频率为166k)

#defineSHT0_3(3*0x100u)//分频因子为N=9(对应采样频率为162k)

#defineSHT0_4(4*0x100u)//分频因子为N=16(对应采样频率为104k)

#defineSHT0_5(5*0x100u)//分频因子为N=24(对应采样频率为73k)

#defineSHT0_6(6*0x100u)//分频因子为N=32(对应采样频率为57k)

#defineSHT0_7(7*0x100u)//分频因子为N=48(对应采样频率为39k)

#defineSHT0_8(8*0x100u)//分频因子为N=64(对应采样频率为30k)

可见ADC12的最高采样频率为165KHz,实验数据没有进行数据统计,内容仅供参考。

补充:

SHP=1时为脉冲采样模式(pulsemode),此时采样由采样定时器的上升沿触发,Tsample=4xADC12CLKxN,分频因子N决定了采样保持时间的长短。

SHP=0时为扩展采样模式(extendedsample),采样由SHI信号触发,(无采样保持时间,)SAMPCON信号在高电平时采样下降沿转换,转换时间为13个ADC12CLK

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1