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

查看: 794|回复: 7

SSTM32F103 ADC笔记

[复制链接]

19

主题

220

回帖

2

蝴蝶豆

金牌会员

最后登录
2016-1-22
发表于 2015-1-5 21:08:26 | 显示全部楼层 |阅读模式
以前在做有AD模块项目的时候遇到几个问题:

1,  ADC配合DMA采样规则是怎样的。

2,  ADC在DMA采可否不连续采样,以提高有效采样使用率和降低功耗。

3,  如何提高有效利用率和降低功耗,并减少CPU的占用时间。

4,  ADC的如何多通道采样。

针对以上几个问题做解答。

ADC的采样模式主要分两个:规则采样和注入采样。规则模式可采样16个通道,注入模式最多只能4个通道。

配合DMA使用时主要是用规则采样模式。在初始化时配置采样端口为规则采样通道即可如下:

列:         ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5);

端口1为规则采样的第一位,239.5的ADC时钟采样周期。

         ADC在DMA下可以不连续采样,既采样一定数据后,关闭ADC及DMA通道。但是这样子存在一些问题。DMA的存储的变量数组中的数据会出现错位问题。

测试过很多方法,包括ADC和DMA一起重新初始化,依然无法解决这个问题。系统只进行一次初始化时,DMA数据无错位现象。 但是对于长时间不关机的产品来说,缺少了几分可靠性。网上也有相关的评测,ADC用DMA工作在强电磁的环境中可能会输出丢失部分数据的可能。

         这里就想到了用中断的方式,进行采样。无法用规则模式,因为只能用单次采样触发中断。由于无法确定第一个通道,这样同样会遇到数据错位的现象。所以这里使用注入模式进行中断出发。



有以下几个优点:

1,  可以最多4路为一组采样,每组采样结束后才产生一次中断,减少了进中断的次数。

2,  在读取数据时几路通道都是预先配置好的。某个变量存放指定某个指定通道。这样永远不可能出现错位现象。

由以总结 在4路及以下通道进行采样时,首选注入模式进行中断采样。超过4路及不是长时间工作的产品(几天以上不断电)可以考虑。

单路采样时,这两种方法都很可靠。

上面都是理论,下面发个程序说明一下,见附件。
<
回复

使用道具 举报

16

主题

242

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-5-18
发表于 2015-1-5 21:45:25 | 显示全部楼层
附件呢?
回复 支持 反对

使用道具 举报

19

主题

220

回帖

2

蝴蝶豆

金牌会员

最后登录
2016-1-22
 楼主| 发表于 2015-1-6 14:53:50 | 显示全部楼层
昨晚传不了,网速卡的不行。很抱歉,网络好了立即传。
回复 支持 反对

使用道具 举报

19

主题

220

回帖

2

蝴蝶豆

金牌会员

最后登录
2016-1-22
 楼主| 发表于 2015-1-6 18:21:27 | 显示全部楼层
  抱歉,昨晚网速不好上不去,今晚回家没吃饭先把传上来,谢谢你的关注。

STM32 ADC程序.rar

下载

19.25 KB, 下载次数: 9, 下载积分: ST金币 -1

STM32 ADC程序

回复 支持 反对

使用道具 举报

12

主题

55

回帖

0

蝴蝶豆

高级会员

最后登录
2020-11-24
发表于 2015-1-7 09:34:22 | 显示全部楼层

多谢分享
回复 支持 反对

使用道具 举报

19

主题

220

回帖

2

蝴蝶豆

金牌会员

最后登录
2016-1-22
 楼主| 发表于 2015-1-7 09:57:54 | 显示全部楼层
独乐乐不如众乐乐,不客气,帮助别人就是帮助自己。。
回复 支持 反对

使用道具 举报

0

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
2015-1-7
发表于 2015-1-7 10:07:43 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

19

主题

220

回帖

2

蝴蝶豆

金牌会员

最后登录
2016-1-22
 楼主| 发表于 2015-1-7 10:28:19 | 显示全部楼层
不客气,请继续关注。
回复 支持 反对

使用道具 举报

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