历史上的今天
今天是:2024年10月14日(星期一)
2019年10月14日 | MSP430F5XXX中的ADC12使用
2019-10-14 来源:eefocus
MSP430F5xxx ADC12 框图

使用流程
AD部分主要配置ADC12模块的时钟、参考源、采样通道、采样模式、存储和采样保持。
下面一个部分一个部分来。
第一个是ADC12模块的时钟,这个是模块运行时的时钟,跟采样定时器是两个概念,曾经我有一段时间被迷惑住了。这个由ADC12CTL1里面的ADC12SSEL和ADC12DIV配置,可以选择ADC12OSC/ACLK/SMCLK/MCLK,TI例程里面好像都是选择的ADC12OSC,这个是5MHZ,不过频率容易受外界影响而改变。这个部分配置好了就得到了ADC12CLK。
第二个参考源,这个部分我没有细致研究,因为我的设计里面不用这个,略过不提。
第三个采样通道,跟这个有关的寄存器有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。
采样保持分两种模式,由ADC12CTL1的ADC12SHP位控制,ADC12SHP=0时是扩展模式,ADC12SHP=1时是脉冲模式。
第一种扩展模式,SHI信号上升沿开始采样,上升沿后的高电平时间即为采样时间,SHI信号下降沿进行采样结果转换,转换需要13个ADC12CLK。
第二种脉冲模式,SHI信号触发采样定时器,采样定时器就是控制你什么时候开始采样,什么时候开始转换,采样定时器由ADC12CTL0的ADC12SHT0和ADC12SHT1配置,在采样定时器时间内进行采样,采样后就立即进行采样结果转换。如果这时你的ADC12MSC=1的话,如果的单通道采样就会不停进行单通道采样转换,如果是序列通道,就会一直采样转换直到ADC12EOS=1。如果ADC12MSC=0,则采样结束,下一次采样的时间是下一个SHI信号的上升沿来临时。
史海拾趣
|
故障现象: 电源不正常工作,无显示。 故障分析 : 此开关电源采用脉宽调节税制集成电路 UC2844 来控制,首先将电源板取出与 IGBT 分离以避免因电源故障造成 IGBT 损坏,找到电源板输入 560VDC 正负极通电,测量 UC2844 的脉冲输出端有断续脉冲 ...… 查看全部问答> |
|
【开团贴】Android210平板开发板+7寸电容屏(搭载Android4.0)2012暑期促销 1、团长备案号:SJ2012001 2、团长承诺:我已经详细阅读过论坛自发团购规则,并愿意严格遵照此规则执行,愿意为大家提供货真价实、物美价廉的产品。3、【征询贴】https://bbs.eeworld.com.cn/thread-332990-1-1.html4、团品介绍: 深圳友坚恒天公司 ...… 查看全部问答> |
|
想成为嵌入式程序员应知道的0x10个基本问题 C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈, ...… 查看全部问答> |
|
感谢NXP和EEWorld组织的这次活动,使我能够接触一款新的ARM CM3芯片平台。 LPCX15xx相对ST等流行的MCU而言,国内第三方开发板供应者较少(周立功), 其上手入门文档较少,而且demo程序只有源代码和少量注释文档。并且只提供所谓的“库函数版本”, ...… 查看全部问答> |




