历史上的今天
今天是:2025年01月17日(星期五)
2019年01月17日 | MSP430 ADC12采样分析
2019-01-17 来源:eefocus
AD部分主要配置ADC12模块的时钟、参考源、采样通道、采样模式、存储和采样保持。
我就一个部分一个部分来
第一个是ADC12模块的时钟,这个是模块运行时的时钟,跟采样定时器是两个概念,曾经我有一段时间被迷惑住了。这个由ADC12CTL1里面的ADC12SSEL和ADC12DIV配置,可以选择ADC12OSC/ACLK/SMCLK/MCLK,TI例程里面好像都是选择的ADC12OSC,这个是5MHZ,不过频率容易受外界影响而改变。这个部分配置好了就得到了ADC12CLK。
第二个参考源,这个部分可以用单片机的参考模块控制,也可以用ADC12模块控制,REFCTL0 &= ~REFMSTR;这句就是设置ADC模块直接控制参考源,ADC12REFON,ADC12REF2_5V打开参考模块,参考模块输出的参考电压为2.5V。ADC12CTL2 |= ADC12REFOUT;这句设置参考电压输出,可以输出也可以不输出。ADC12MCTL14 = ADC12SREF_1+ADC12INCH_14;这句是设置通道14的电压参考模式是:REF+:2.5V,REF-:AVSS.
第三个采样通道,跟这个有关的寄存器有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,这里由定时A指的是定时器A0,定时器B指的是定时器B0,我验证过A1/B1是不能用的,只能用A0或B0。红色部分我修改下(文章是之前写的,今天修改下红色的部分)这个定时器的选用是根据具体的片子用的,参考具体的数据手册。采样保持分两种模式,由ADC12CTL1的ADC12SHP位控制,ADC12SHP=0时是扩展模式,ADC12SHP=1时是脉冲模式。第一种扩展模式,SHI信号上升沿开始采样,上升沿后的高电平时间即为采样时间,SHI信号下降沿进行采样结果转换,转换需要13个ADC12CLK。第二种脉冲模式,SHI信号触发采样定时器,采样定时器就是控制你什么时候开始采样,什么时候开始转换,采样定时器由ADC12CTL0的ADC12SHT0和ADC12SHT1配置,在采样定时器时间内进行采样,采样后就立即进行采样结果转换。如果这时你的ADC12MSC=1的话,如果的单通道采样就会不停进行单通道采样转换,如果是序列通道,就会一直采样转换直到ADC12EOS=1.如果ADC12MSC=0,则采样结束,下一次采样的时间是下一个SHI信号的上升沿来临时。
好了,就这么多,以后如果有增加了再写了
史海拾趣
|
海地地震中 我的亲身经历证明中国的设备最抗震 (转载自新浪博客—海地通讯日记) 距离海地地震已经9天了,在这9天里,我经历了无数次余震,也通过网络深深感受到祖国的关怀。但是由于忙于抢修和维护通讯设备,所以一直没有时间来和大 ...… 查看全部问答> |
|
1.网上经常看到有人说设三极管的直流放大系数为多少多少 怎么直流放大系数还能自己设置的?不是固定的吗? 2.三极管数据手册上的hfe怎么会有最大最小值?我要取值的话 该取多大的hfe? 望各位兄弟进来探讨探讨 &nb ...… 查看全部问答> |
|
我很久前买了个44B0开发板,没怎么动,现在拿出来玩玩。 想请教一个简单的问题,我想把ADS生成的HEX文件烧写FLASH后,重新启动,能够让程序跳转到SDRAM里运行,跟设置RO BASE 和RW BASE 有关系吗?怎么去实现FLASH程序到SDRAM的跳转?我运行的是跑 ...… 查看全部问答> |
|
我们的设备驱动是用windriver写的,在没有安装过windriver的机器上发布的话要用其提供的wdreg这个工具来安装windriver核心的驱动以及设备的驱动。 可是在XP下,设备连上PC后,设备管理器中显示是USB mass storage,这时如果用wdreg装驱动的话是装不 ...… 查看全部问答> |
|
我在不同的网站上下载了quartus10.0 和11.0版本,安装时点击setup.exe后一点反应也没!!防火墙也关过,也试过以管理员省份运行都是一样的效果!!! 那位朋友知道这是咋回事 ???/… 查看全部问答> |
|
关于竹林的记忆都是美好而鲜活的,午后光线在竹子之间穿梭,微风轻掠带来沙沙竹叶声,还能看到斑驳光影在闪烁摇动跳舞,此刻感觉宛如看到时光畅游,与大自然一同自由呼吸,竹丝坚韧柔软。全身上下散发着大自然的亲和力。设计师为了把这种自然的美妙 ...… 查看全部问答> |
|
c8051F340怎么接收一串数据?数据由PC上的串口助手发送,波特率19200 我的串口接收中断函数如下,8个字节的数据,一个一个的发,接收正常,但是8个数据一次全发给单片机,接收到数据就错了,要正常一次接收8字节该怎么整呢? ...… 查看全部问答> |




