OpenEdv-开源电子网

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

stm32f103定时器触发adc采样率问题

[复制链接]

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-7-15
在线时间
6 小时
发表于 2016-8-26 17:49:45 | 显示全部楼层 |阅读模式
3金钱
之前做项目,利用定时器2触发adc采样,采样率低点没关系,但不知道为什么,采样率高了以后,不知道是adc还是dma不工作了,串口一直没数据出来,求大神帮忙看看问题。采样率50k可用,100k,200k试过都没用。其实原来50k都不行,不出数据,然后不知道怎么得,50k,100k都可以出数据。然后用了一阵子50k的采样率,,100k的采样率又不能用,,哭死,真是奇葩
有人有遇到过这样的问题或知道怎么解决吗,,,头都大了

最佳答案

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

你是不是在定时器中断里面用查询法,先触ADC检测,再等等数据转换完成,。adc转换是要时间的,高频率采样你就一直在定时间中断里面了,采样完成下一个定时中断又产生了,查询法采样不能放在定时器中断里面,
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

17

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2014-3-20
在线时间
5 小时
发表于 2016-8-26 17:49:46 来自手机 | 显示全部楼层
你是不是在定时器中断里面用查询法,先触ADC检测,再等等数据转换完成,。adc转换是要时间的,高频率采样你就一直在定时间中断里面了,采样完成下一个定时中断又产生了,查询法采样不能放在定时器中断里面,
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-7-15
在线时间
6 小时
 楼主| 发表于 2016-8-29 09:48:19 | 显示全部楼层
有木有人帮我解答疑问啊,,,
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-8-29 15:28:03 | 显示全部楼层
有三个问题您看一下:
1、原子的例程中最大有12M/(12.5+1)这么大的采样频率是吧?也就是说能达到几百k的速率。你有试过他的例程在你的板子上好不好使吗?
2、你说是串口输出?可知道串口一口气输出100个字节要多长时间?要5-10ms左右。那你的意思是要用串口把200kb的数据全部实时输出?
3、我感觉一般用的时候,可以用定时器,设一个采样频率,当定时器触发时以某个频率采上几百组数据,然后滤波处理一下也就可以了。这么算下来50k还不够用么?您是什么情景要用到更高的速率呢?
自在随心
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-7-15
在线时间
6 小时
 楼主| 发表于 2016-8-29 15:52:36 | 显示全部楼层
yuzeyuan1 发表于 2016-8-29 15:28
有三个问题您看一下:
1、原子的例程中最大有12M/(12.5+1)这么大的采样频率是吧?也就是说能达到几百k的 ...

对,这应该是最大采样率,但200k32应该还是可以达到的;其他的例程没试过,因为我用的是同一个程序,原来100k可以,但后来就不行了;数据不是实时输出,先通过DMA存一定的值以后,再进行数据处理输出,就跟你第三点说的类似;然后,因为做项目,要fft测波形的频率,采样率50k不够用,所以需要200k的采样率,波形的频率最高有90k
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-8-29 18:58:53 | 显示全部楼层
lx10110 发表于 2016-8-29 15:52
对,这应该是最大采样率,但200k32应该还是可以达到的;其他的例程没试过,因为我用的是同一个程序,原来 ...

这样的话,不知道了。我遇到过低的导致程序崩的,没遇到过高了还不行的。
有个事你不妨试一下:
想满足你的频率有两个以上可以选是吧?我遇到过一个问题,记得选项里有7和41两个,我的程序不知道哪里溢出了还是怎么的,有时改了代码就会导致时钟错误,串口也同样不好使了,但是不改代码就不会出问题。有一天发现用7时坏的,我把AD采样改用41代码就突然好了,一旦再坏,就7和41来回改。反正只要改一次就是好的,原因不详,不过7和41都满足我的要求,这个问题也就暂时跳过去了。如果1和7你都满足,那就互换一下试试看,别光可一个试。
自在随心
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-7-15
在线时间
6 小时
 楼主| 发表于 2016-8-31 12:33:28 | 显示全部楼层
yuzeyuan1 发表于 2016-8-29 18:58
这样的话,不知道了。我遇到过低的导致程序崩的,没遇到过高了还不行的。
有个事你不妨试一下:
想满足 ...

嗯嗯,好的,谢谢你的建议
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-8-31 20:46:09 | 显示全部楼层
100K是肯定可以的。。。103最快采样率是1Mhz左右。  要快就得降低采样时间。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-6-6
在线时间
10 小时
发表于 2019-8-6 14:55:22 | 显示全部楼层
有参考代码吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-2 20:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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