你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32F4库开发实战指南——读书笔记(二)ADC

[复制链接]
数码小叶 发布时间:2018-12-19 10:39
本帖最后由 数码小叶 于 2018-12-19 10:36 编辑

按计划,第二篇是写ADC的多重采样,关于F4的ADC,之前写了两个基本的贴子:
cubeMAX配置双通道ADC+dma(一)
https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=618145&fromuid=3054195
(出处: 意法半导体STM32/STM8技术社区)

cubeMAX配置双通道ADC+dma(二)定时器触发
https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=618157&fromuid=3054195
(出处: 意法半导体STM32/STM8技术社区)


这两个帖子的共同点就是单ADC,不涉及多重ADC。
F4库开发实战指南的第29章就是对多重ADC做了一个详细介绍
微信图片_20181216210519.jpg

微信图片_20181216210525.jpg
关于多重ADC采样和单一ADC采样的区别,在于转换速度更快。即用两个或两个以上ADC,同时采样两个或两个以上ADC通道,当然也可以是多个ADC采集同一通道的数据。
这个整个工作时序,在STM32F446xx advanced Arm®-based 32-bit MCUs Reference manual里有详细的介绍,不论是双重模式,还是三重模式。
Snipaste_2018-12-19_10-07-06.jpg

Snipaste_2018-12-19_10-07-00.jpg
摘录一段本章的原话介绍:三重 ADC 交替模式是针对同一通道的使用三个 ADC交叉采集,就是在 ADC1 采样完等几个时钟周期后 ADC2 开始采样,此时 ADC1 处在转换阶段,当 ADC2 采样完成再等几个时钟周期后 ADC3 就进行采样此时 ADC1 和 ADC2 处在转换阶段,如果 ADC3 采样完成并且 ADC1 已经转换完成那么就可以准备下一轮的循环,这样充分利用转换阶段时间达到增快采样速度的效果。
在读完这个章节后,接下来就是实际验证了。要改的地方还是很多的。首先通道和之前的不一样,要开启三个的IN0通道。
Snipaste_2018-12-19_09-46-11.jpg

然后就是更改之前的ADC模式,这里有很多参数要改
之前是独立模式,第一步要改为交替模式
Snipaste_2018-12-19_09-47-26.jpg


Scan Mode和Continuous Mode之前已经详细介绍过来,因此这里也需要更改
Snipaste_2018-12-19_09-47-56.jpg

然后开启DMA的数据传输
Snipaste_2018-12-19_09-47-44.jpg


Snipaste_2018-12-19_09-48-38.jpg
剩下的ADC参数就和之前的一样了,采样间隔那些,依据实际需要来更改。ADC2和ADC3的参数配置同ADC1。这里最容易忽略的错误是,配置成多重模式后,管脚的变化
Snipaste_2018-12-19_09-59-48.jpg
管脚已经变到PA0了,如果没注意到这个,最后就都错了,浪费很长的调试时间。因为是先开启ADC通道,再去Configuration去配置模式,然后管脚就变了。配置完成后,生成keil5工程,添加必要的用户代码。在程序里取平均
  1. for(i = 0,ad1 =0; i < 100;i++)
  2. {
  3.     ad1 += ADC_Value1[i];
  4.     ad2 += ADC_Value2[i];
  5.     ad3 += ADC_Value3[i];
  6. }
复制代码
  1. ad1 /= 100;
  2. ad2 /= 100;
  3. ad3 /= 100;
  4. printf("\r\n******** ADC 2018-12-13 ********\r\n\r\n");
  5. printf(" AD1 value = %1.3fV \r\n", ad1*3.3f/4096);
  6. printf(" AD2 value = %1.3fV \r\n", ad2*3.3f/4096);
  7. printf(" AD3 value = %1.3fV \r\n", ad3*3.3f/4096);
复制代码
最后在串口界面,看到程序的结果
Snipaste_2018-12-19_09-30-16.jpg












收藏 评论1 发布时间:2018-12-19 10:39

举报

1个回答
STMCU 回答时间:2018-12-21 09:26:34
我昨天已经把你的读书笔记加野火读后感名单了!

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版