OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6419|回复: 7

求教,利用定时器进行等时间间隔的AD采样

[复制链接]

20

主题

96

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2016-1-12
在线时间
62 小时
发表于 2016-4-26 08:56:17 | 显示全部楼层 |阅读模式
1金钱

     最近在做一个小设计,利用了定时器的计数功能。当定时器计数到设定值时,产生中断,在中断中进行AD采样(利用STM32F407自带的ADC)。
我现在的问题是:在进行AD采样时,需要采样频率要到达1M,连续采集20个点的数据。还请问各位大神告知该怎么设计,用什么方法可以用1MHz的
采样频率连续采集20个数据点。

最佳答案

查看完整内容[请看2#楼]

又看了一边问题,你需要两个定时器 一个计数的定时器产生中断,开第二个定时器 第二个定时器控制adc采样速度, dma不做成循环的 DMA_InitStructure.DMA_BufferSize 做成20的就可以了 如果你操作的是寄存器,你就自己去找吧
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

751

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1605
金钱
1605
注册时间
2015-6-10
在线时间
222 小时
发表于 2016-4-26 08:56:18 | 显示全部楼层
又看了一边问题,你需要两个定时器
一个计数的定时器产生中断,开第二个定时器

第二个定时器控制adc采样速度,

dma不做成循环的

DMA_InitStructure.DMA_BufferSize 做成20的就可以了

如果你操作的是寄存器,你就自己去找吧
回复

使用道具 举报

22

主题

751

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1605
金钱
1605
注册时间
2015-6-10
在线时间
222 小时
发表于 2016-4-26 09:33:01 | 显示全部楼层
本帖最后由 止天 于 2016-4-26 09:34 编辑

单个ADC采样速度达到2.4MSPS
定时器触发就可以了  不要中断

然后用DMA传数据
回复

使用道具 举报

20

主题

96

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2016-1-12
在线时间
62 小时
 楼主| 发表于 2016-4-26 14:08:14 | 显示全部楼层
止天 发表于 2016-4-26 09:33
单个ADC采样速度达到2.4MSPS
定时器触发就可以了  不要中断

我明白了。那如果定时器触发采样之后,需要以1MHz的频率连续采集20个数据点,应该怎么做呢?
回复

使用道具 举报

7

主题

247

帖子

0

精华

高级会员

Rank: 4

积分
745
金钱
745
注册时间
2016-1-20
在线时间
78 小时
发表于 2016-4-26 14:14:26 | 显示全部楼层
飞羽1918 发表于 2016-4-26 14:08
我明白了。那如果定时器触发采样之后,需要以1MHz的频率连续采集20个数据点,应该怎么做呢?

用1us的定时器,进一次定时器你采集一次。1MHz不就固定了(只要你的AD速度跟得上就可以)。
回复

使用道具 举报

20

主题

96

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2016-1-12
在线时间
62 小时
 楼主| 发表于 2016-4-26 14:55:56 | 显示全部楼层
止天 发表于 2016-4-26 08:56
又看了一边问题,你需要两个定时器
一个计数的定时器产生中断,开第二个定时器

多谢,知道什么意思了,我试一试
回复

使用道具 举报

20

主题

96

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2016-1-12
在线时间
62 小时
 楼主| 发表于 2016-4-26 14:56:18 | 显示全部楼层
footprint 发表于 2016-4-26 14:14
用1us的定时器,进一次定时器你采集一次。1MHz不就固定了(只要你的AD速度跟得上就可以)。

明白了,多谢解答
回复

使用道具 举报

7

主题

247

帖子

0

精华

高级会员

Rank: 4

积分
745
金钱
745
注册时间
2016-1-20
在线时间
78 小时
发表于 2016-4-27 10:28:35 | 显示全部楼层
止天 发表于 2016-4-26 08:56
又看了一边问题,你需要两个定时器
一个计数的定时器产生中断,开第二个定时器

一个定时器加一个变量就可以做到的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 01:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表