3018|11

967

帖子

24

TA的资源

纯净的硅(初级)

楼主
 

STM32L496直接测2K左右方波频率误差可以做到1HZ吗? [复制链接]

 

        目前在做一个项目,需要用STM32去测一个传感器的频率,传感器输出频率信号,通过放大整形后输出方波,频率大概在1.5K到3K,要求精度至少做到1HZ以内。目前用STM32CUBEMX进行配置,采用输入捕获的方式去读取一个周期内采集到的数,然后用1秒钟内的计数频率除以采集到的数就是频率了,但是目前我用HAL库写出来的程序误差在2HZ左右,通过普源的信号发生器产生2KHZ的方波,算出来是1998 1997HZ。考虑到HAL库运行效率较低,又用寄存器写了个驱动STM32F103ZET6进行捕获的程序,2KHZ的输入波形误差在10HZ左右,有没有人做过这样的项目,能不能给点思路或者参考历程?

此帖出自stm32/stm8论坛

最新回复

”采用输入捕获的方式去读取一个周期内采集到的数“这句话表述的方法不是很清楚,纯计数方式是最准的,不需要定时器输入捕获方式,条件是信号频率基本不变至少在一个测量周期基本不变。 2千分一肯定能做到,你测一下单片机自己输出的信号,这个测量数据可以排除软件和晶振的偏差。   详情 回复 发表于 2022-1-14 10:10
点赞 关注
个人签名这个人不懒,但是仕么都没留下
 

回复
举报

967

帖子

24

TA的资源

纯净的硅(初级)

沙发
 

这是用手上的精英开发板写的寄存器版本程序,目前误差在10HZ左右

STM32F103zZET6.rar

2.3 MB, 下载次数: 0

此帖出自stm32/stm8论坛
 
个人签名这个人不懒,但是仕么都没留下
 

回复

9803

帖子

24

TA的资源

版主

板凳
 

496是使用外部晶振吗?

此帖出自stm32/stm8论坛

点评

是的 用的外部8M有源晶振  详情 回复 发表于 2022-1-11 19:13
 
 

回复

9803

帖子

24

TA的资源

版主

4
 

我觉得首先要保证定时器的时钟精度,定时器尽量使用最高的时钟频率,同时捕获多个数据求平均也可以消除接线干扰和上升时间的问题。

此帖出自stm32/stm8论坛
 
 
 

回复

967

帖子

24

TA的资源

纯净的硅(初级)

5
 
littleshrimp 发表于 2022-1-11 17:43 496是使用外部晶振吗?

是的 用的外部8M有源晶振

此帖出自stm32/stm8论坛

点评

定时器使用多少的时钟?试过同时捕获多个数据对比数据之间的波动有多大吗?  详情 回复 发表于 2022-1-11 19:15
 
个人签名这个人不懒,但是仕么都没留下
 
 

回复

9803

帖子

24

TA的资源

版主

6
 
天天1 发表于 2022-1-11 19:13 是的 用的外部8M有源晶振

定时器使用多少的时钟?试过同时捕获多个数据对比数据之间的波动有多大吗?

此帖出自stm32/stm8论坛

点评

外设是倍频到72M,定时器没有分频,就等于1秒钟产生72000000个数。[attachimg]583037[/attachimg] 496用的是PC6也就是定时器8的通道1做高电平捕获。 [attachimg]583038[/attachimg]代码部分也是很简单的捕获计  详情 回复 发表于 2022-1-11 20:50
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

967

帖子

24

TA的资源

纯净的硅(初级)

7
 
littleshrimp 发表于 2022-1-11 19:15 定时器使用多少的时钟?试过同时捕获多个数据对比数据之间的波动有多大吗?

外设是倍频到72M,定时器没有分频,就等于1秒钟产生72000000个数。

496用的是PC6也就是定时器8的通道1做高电平捕获。

代码部分也是很简单的捕获计数。

捕获算出来的频率基本在1HZ内跳动,这是在信号发生器发出2392HZ波形时测得数据,东西在办公室手机里就这一张图了

 

 

此帖出自stm32/stm8论坛
 
个人签名这个人不懒,但是仕么都没留下
 
 

回复

9803

帖子

24

TA的资源

版主

8
 

看你这种多次“采集”到的数据波动厉害应该和输入信号波动有关,试试一次多采集一些数据然后求平均看一下效果。

建议直接使用DMA连续采集,关于DMA捕获可以参考这个帖子:

https://bbs.eeworld.com.cn/thread-1083218-1-1.html

此帖出自stm32/stm8论坛
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

1239

帖子

66

TA的资源

纯净的硅(中级)

9
 

你这个测试的源准不准呢

此帖出自stm32/stm8论坛

点评

用的信号发生器产生的波形 用示波器的频率计功能看了,2K的波形示波器显示频率2.0002K测试源应该准的吧  详情 回复 发表于 2022-1-12 19:21
 
 
 

回复

967

帖子

24

TA的资源

纯净的硅(初级)

10
 
dql2016 发表于 2022-1-12 13:43 你这个测试的源准不准呢

用的信号发生器产生的波形 用示波器的频率计功能看了,2K的波形示波器显示频率2.0002K测试源应该准的吧

此帖出自stm32/stm8论坛
 
个人签名这个人不懒,但是仕么都没留下
 
 

回复

117

帖子

0

TA的资源

一粒金砂(中级)

11
 

8m晶振准吗?真的8M.

此帖出自stm32/stm8论坛
 
 
 

回复

4008

帖子

0

TA的资源

版主

12
 

”采用输入捕获的方式去读取一个周期内采集到的数“这句话表述的方法不是很清楚,纯计数方式是最准的,不需要定时器输入捕获方式,条件是信号频率基本不变至少在一个测量周期基本不变。

2千分一肯定能做到,你测一下单片机自己输出的信号,这个测量数据可以排除软件和晶振的偏差。

此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表