MSP430AD采样用法Word文档格式.docx
- 文档编号:20906602
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:7
- 大小:81.08KB
MSP430AD采样用法Word文档格式.docx
《MSP430AD采样用法Word文档格式.docx》由会员分享,可在线阅读,更多相关《MSP430AD采样用法Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
ADC12CTL0|=ADC12ON;
ADC12CTL0|=ADC12ENC;
//允许转换
}
elseif(doit==100)
ADC12CTL0&
=~ADC12ON;
//不允许转换
=~ADC12ENC;
#defineADC12ON
(0x0010u)
#defineADC12ENC
(0x0002u)
寄存器ADC12CTL0中的ADC12ON复位时关闭ADC12的内核,置位时打开ADC12的内核。
寄存器同初始化,其实也可以看是初始化的一个步骤。
即将ADC12CTL0中的ADC12ON和ENC置位,打开内核,允许ADC转换。
3
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
9
8
7-5
4-3
2-1
0
转换存储器地址位,这4位表示二进制0-15分别对应ADC12MEM0-15.可以定义单次转换地址或序列转换的首地址。
(程序中设置为0)
扩展采样模式(SHP=0):
即SHI信号直接决定采样时间,参看DATASHEET和时序图;
脉冲采样模式时,SHI只负责输入一个上升沿信号来触发采样,而采样时间由ADC12CLK及SHT0_X或SHT1_X决定。
SHS
采样触发输入源选择位
0
ADC12SC
1TIMER_A.OUT1
TIMER_B.OUT0
TIMER_B.OUT1
(程序中为1)
SHP
采样信号(SAMPCON)选择控制位
采样信号源自采样触发输入信号
1
源自采样定时器,由输入信号(即采样信号)的上升沿触发采样定时器。
(程序中为0)
ISSH
采样输入信号方向控制位
0同向输入
1反向输入
ADC12DIV
ADC12时钟源分频因子选择位,分频因子为3位二进制加一。
(程序中为0即分频因子为0)
ADC12SSEL
ADC12内核时钟源选择
ADC12内部时钟源:
ADC120SC
ACLK
MCLK
SMCLK
(程序中为0,选ADC内部时钟)
CONSEQ
转换模式选择位
单通道单次转换
1序列通道单次转换
2单通道多次转换
3
序列通道多次转换
(程序中为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
7
65
4
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路外部通道)
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则允许中断。
5
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MSP430AD 采样 用法