历史上的今天
返回首页

历史上的今天

今天是:2025年01月02日(星期四)

正在发生

2020年01月02日 | MSP430 ADC12采样分析

2020-01-02 来源: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信号的上升沿来临时。


好了,就这么多,以后如果有增加了再写了

推荐阅读

史海拾趣

Asia Electronics Ind Co Ltd公司的发展小趣事

随着公司产品的不断成熟和市场的不断扩大,Asia Electronics Ind Co Ltd积极寻求市场拓展的机会。公司加强与国际知名企业的合作,通过参加国际电子展、建立海外销售渠道等方式,不断提升品牌知名度和影响力。同时,公司还注重品牌形象的塑造,通过统一的品牌标识、宣传资料等,增强消费者对品牌的认知度和信任度。

First Sensor公司的发展小趣事

Asia Electronics Ind Co Ltd深知人才是企业发展的核心。因此,公司注重人才培养和团队建设。公司定期举办各类培训活动,提升员工的技能和素质。同时,公司还建立了一套完善的激励机制,鼓励员工积极创新、勇于担当。这些举措有效激发了员工的工作热情和创造力,为公司的发展注入了源源不断的动力。

American Custom Components公司的发展小趣事

American Custom Components公司始终将产品质量放在首位。为了提升产品质量和客户满意度,公司引进了一套先进的质量管理体系,并定期对员工进行质量意识和技能培训。此外,公司还建立了完善的客户服务体系,及时收集和处理客户的反馈意见,不断优化产品和服务。这些举措使得公司的产品在市场上保持了良好的口碑和竞争力。

American Technical Ceramics (ATC)公司的发展小趣事

随着全球环境问题的日益严重,American Custom Components公司开始关注可持续发展和社会责任。公司积极推行绿色生产,采用环保材料和节能技术,减少生产过程中的环境污染。同时,公司还参与了一系列公益活动,支持当地社区的发展和环境保护事业。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了基础。

这些故事只是基于电子行业常规实践虚构的示例,并不代表American Custom Components公司的真实发展历程。如需了解该公司的真实情况,建议查阅相关资料或访问公司官方网站。

Davico Industrial Ltd公司的发展小趣事

American Custom Components公司始终将产品质量放在首位。为了提升产品质量和客户满意度,公司引进了一套先进的质量管理体系,并定期对员工进行质量意识和技能培训。此外,公司还建立了完善的客户服务体系,及时收集和处理客户的反馈意见,不断优化产品和服务。这些举措使得公司的产品在市场上保持了良好的口碑和竞争力。

赛微(Cellwise)公司的发展小趣事

作为一家有着高度社会责任感的企业,赛微始终关注社会发展和环境保护。公司积极参与公益事业和慈善活动,为社会做出积极贡献。同时,公司还注重环境保护和资源节约,通过引进先进的生产设备和工艺技术,降低生产过程中的能耗和排放,实现绿色生产和可持续发展。

请注意,以上故事框架仅为概述,具体细节和数据可能需要根据实际情况进行调整和完善。

问答坊 | AI 解惑

几个简单的汇编初学者问题总结

0 关于指令时间的问题上次有兄弟问关于 指令时间的问题,答复查看 intel 手册是一个办法。 但很多人没有那个东东吧!,所以可以用另一招,在编译时加入 /Sc 选项: ML /Fl /Sc Kinds.asm 还有有位兄弟问过 为什么 mov ax,offset table 比 lea ...…

查看全部问答>

参加飞思卡尔智能车大赛的新人,希望老师们指点!

参加飞思卡尔智能车大赛的新人,希望老师们指点! 各位前辈!飞思卡尔智能车大赛清华大学队的队员,我写了一篇关于检测周期和控制周期的文章,希望各位老师指点。也希望老师们多多到我的博客投票支持,凡是参与投票的老师都有可能获得参加飞思 ...…

查看全部问答>

我该不该用Linux,你所不了解的六个事实!

耳边不时地听别人提起它,但似乎仍然难以建立起确切的印象?这就是Linux,一种开发源码操作系统!它很诱人,因为它功能强大而且免费。同时,它也令新手望而生畏,因为它通常比Windows难以安装和配置。假如你曾经想尝试Linux,但像准新娘一样在最后 ...…

查看全部问答>

毕业论文设计--基于89S51的信号发生器设计

我的毕业论文设计。包括源程序,仿真程序,PCB图! 链接:https://bbs.eeworld.com.cn/viewthread.php?tid=74869&highlight=…

查看全部问答>

WinCE 5.0+2443平台上操作Flash同时挂起(Sleep或叫做Suspend)无法唤醒(Resume或Wakeup)

现象描述: 1. 工作正常情况下     WinCE 5.0+2443平台上通过在PowerButton Driver里检测到HW Button有按下去的动作,会以PostMessage(HWND_BROADCAST,WM_OEM_POWERBUTTON_PRESSED,0,0)的方式广播一个消息WM_OEM_POWERBUTTON_PRESSED, ...…

查看全部问答>

USB枚举过程求助

现在做的UTMI高速接口芯片,我现在正在对他进行测试,我用FPGA模拟设备,然后外接UTMI与电脑进行通信,握手过程和枚举的第一个阶段没有问题,但是到了Set_address的时候,电脑竟然只发送了2个SOF后就不再发送SOF了,并且后面不再有任何数据,这个问 ...…

查看全部问答>

怎么用1602实现滚动显示

怎么用1602实现滚动显示…

查看全部问答>

波特率计算器,,来源网络。

这个计算器有时有人找。现找起来也挺麻烦,放到这里,有用的可以下。。…

查看全部问答>

全数控、积木式TI方案电源(11.29电路图已经公布,欢迎提建议)

电路图已经发布,详见  https://bbs.eeworld.com.cn/thread-307842-5-1.html 43楼 欢迎大家多提建议。…

查看全部问答>

STM32电源指示灯

STM32板子用usb接电脑,但板子的电源指示灯不是一直亮着,而是一亮一灭? 怎么回事 是不是电压不足?还是电压太大?…

查看全部问答>