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

关于采样定时器触发ADC采样的问题

[复制链接]
吃肉肉,不长肉肉 提问时间:2023-3-12 09:12 / 未解决

目前使用的是STM32L0系列芯片,采用tim6上升沿触发使ADC采样,但把定时器频率配为4K后,采样周期不对,首先想问tim6的时钟源来自哪,其次是这个定时器频率与采样频率的关系与计算,可以确认采样时间是大于转换时间的

收藏 评论8 发布时间:2023-3-12 09:12

举报

8个回答
晒太阳的懒猫 回答时间:2023-3-13 09:07:30

查相关芯片的用户手册啊

xmshao 回答时间:2023-3-13 09:46:23
1、关于TIM6的时钟源哪里来,你如果没做特别配置,一般来自RCC时钟系统。这个地方你应该搞清楚哪里来,频率有多高,到
计数器时是否做了分频。你可以看参考手册或借助CubeMx工具查看。


2、我不知你具体使用的芯片型号,你确认下所用的型号是否有TIM6。我看了几个L0系列的料号,有些是没有内置TIM6的。


3、我觉得你不用急于把触发频率调得多快,而是先保证ADC能正常工作并的得到正确的转换结果。先保证硬件、AD配置都OK.


4、你说把定时器频率配置为4k后采样周期就不对了。对你这句表示不太理解,或许各自对有些术语理解上的偏差吧。


采样周期跟定时器频率并没有关系啊。打个比方:用个按键,配合1个闪灯。


每按1次键,LED灯就以固定频率闪烁几下。显然你的按键频率跟灯自身的闪烁频率没有关系。充其量,在一定范围


内LED 发生闪烁 的频率 跟 按键频率是有关的、一致的。


具体到你这里,定时器的频率影响会触发频率,即触发快慢,进而影响发生AD转换的快慢,但ADC的采样频率是你基于ADC时钟和


采样参数决定的,跟这个定时器没有关系。


5、你现在强调的问题是采样周期不对,而不是说ADC结果不对,有点奇怪。建议你先把上面的第3步做好。
吃肉肉,不长肉肉 回答时间:2023-3-13 15:54:56

xmshao 发表于 2023-3-13 09:46
1、关于TIM6的时钟源哪里来,你如果没做特别配置,一般来自RCC时钟系统。这个地方你应该搞清楚哪里来,频率 ...

您好,谢谢您的回答,首先我使用的芯片是STM32L532R8,然后我的目的是利用定时器的上升沿触发ADC采样,对此我的理解是定时器上升一次ADC进行一次采样,并且定时器频率为4K,所以采样间隔为0.25ms,所以采样时间远远大于转换时间,所以我就认为定时器频率就是ADC采样频率,这中间的理解是出什么问题了吗?

shenxiaolin_mai 回答时间:2023-3-14 09:17:47
你首先需要确认一个事情,你的采样时间以及转换时间需要在定时器的周期之内,否则会造成第一次采样还没有完成就再次进入中断。
xmshao 回答时间:2023-3-14 13:40:32
吃肉肉,不长肉肉 发表于 2023-3-13 15:54
[md]您好,谢谢您的回答,首先我使用的芯片是STM32L532R8,然后我的目的是利用定时器的上升沿触发ADC采样 ...

OK. 我们不纠结有些术语了。 你确认下定时器的触发周期到底是多少,因为你还在询问其时钟源;然后再确认你的ADC的采样时间是多少,这个是你自己配置的。 还有,你现在说的发现采样周期不对,是指因为定时器溢出变快了采样数据不对吗?  你一要确保定时器触发周期长于ADC采样转换周期,这样外部触发才有意义。还有你的ADC结果是靠什么获得的,查询方式?中断方式?DMA方式?尤其基于前两种方式时,随着触发频率的加快,你的代码处理上一定要跟上来。
吃肉肉,不长肉肉 回答时间:2023-3-15 09:05:42
xmshao 发表于 2023-3-14 13:40
OK. 我们不纠结有些术语了。 你确认下定时器的触发周期到底是多少,因为你还在询问其时钟源;然后再确认 ...

您好,现在是这样的,首先我的定时器触发频率为4k,周期即为0.25ms,然后STM32L053的ADC时钟为16M,我对他在Cubemx中配置的采样时间为1.5Cycles,则他的采样时间不就是1.5/16M,所以定时器周期肯定是大于采样周期的。
至于波形获取那块,是有一个通过示波器同样4K采样采集到的波与ADC采样用串口输出后图形对比,发现二者周期对不上,所以怀疑ADC采样频率计算错误
吃肉肉,不长肉肉 回答时间:2023-3-15 09:06:04

xmshao 发表于 2023-3-14 13:40
OK. 我们不纠结有些术语了。 你确认下定时器的触发周期到底是多少,因为你还在询问其时钟源;然后再确认 ...

您好,现在是这样的,首先我的定时器触发频率为4k,周期即为0.25ms,然后STM32L053的ADC时钟为16M,我对他在Cubemx中配置的采样时间为1.5Cycles,则他的采样时间不就是1.5/16M,所以定时器周期肯定是大于采样周期的。

至于波形获取那块,是有一个通过示波器同样4K采样采集到的波与ADC采样用串口输出后图形对比,发现二者周期对不上,所以怀疑ADC采样频率计算错误

吃肉肉,不长肉肉 回答时间:2023-3-15 09:06:36

shenxiaolin_mai 发表于 2023-3-14 09:17
你首先需要确认一个事情,你的采样时间以及转换时间需要在定时器的周期之内,否则会造成第一次采样还没有完 ...

您好,现在是这样的,首先我的定时器触发频率为4k,周期即为0.25ms,然后STM32L053的ADC时钟为16M,我对他在Cubemx中配置的采样时间为1.5Cycles,则他的采样时间不就是1.5/16M,所以定时器周期肯定是大于采样周期的。

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版