打印
[应用相关]

如何利用timer对一个频率变化范围比较广的中低频脉冲信号进行精确脉冲长度/周期/频率测定

[复制链接]
139|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2024-5-29 15:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

各位好,

如题,一个变周期脉冲信号A,周期从数秒(甚至数十秒)到不到1ms变化(几十k),希望能测量该信号的精确脉冲长度/周期/频率

我原来想法是通过timer对sysclk进行计数,然后A来触发计数值保存(呃,不知道这个叫哪个模式),后来发现不行,16bit的计数,计数频率低了吧,信号周期短的时候不行,误差太大,计数频率高了吧,周期数秒就溢出了。。。

想来想去都没有办法做的结果值的绝对误差相同

有点头疼不知道怎么做才好,请教大家指点,先谢谢

使用特权

评论回复
沙发
一只眠羊| | 2024-6-14 14:33 | 只看该作者
您可以使用STM32的定时器(Timer)来测量中低频脉冲信号的精确脉冲长度、周期和频率。

使用特权

评论回复
板凳
在曼谷的春| | 2024-6-14 17:00 | 只看该作者
选择一个合适的定时器,比如TIM2、TIM3等,这些定时器通常具有较高的分辨率和灵活的配置选项。

使用特权

评论回复
地板
月亮一键变蓝| | 2024-6-14 19:00 | 只看该作者
配置定时器为输入捕获模式(Input Capture Mode),以便捕获脉冲信号的上升沿和下降沿。您可以使用定时器的通道来捕获脉冲信号的边沿。

使用特权

评论回复
5
她已醉| | 2024-6-14 21:00 | 只看该作者
配置定时器的时钟源和预分频器,以确保定时器的计数频率足够高,以便精确测量中低频脉冲信号。

使用特权

评论回复
6
未说出口的像你| | 2024-6-14 23:00 | 只看该作者
当脉冲信号到来时,定时器将捕获脉冲信号的上升沿和下降沿的计数值。您可以通过读取捕获寄存器的值来获取脉冲信号的脉冲长度和周期。

使用特权

评论回复
7
我吃小朋友| | 2024-6-15 02:00 | 只看该作者
通过测量脉冲信号的周期,您可以计算出脉冲信号的频率。频率等于1/周期。

使用特权

评论回复
8
失物招領| | 2024-6-15 04:00 | 只看该作者
精确测量:由于定时器通常具有较高的分辨率,您可以通过对捕获值进行精确的计算和处理,来实现对中低频脉冲信号的精确测量。

使用特权

评论回复
9
将爱藏于深海| | 2024-6-15 10:00 | 只看该作者
您可以利用STM32的定时器来实现对中低频脉冲信号的精确脉冲长度、周期和频率的测量。在实际应用中,您可能需要根据具体的脉冲信号特性和测量要求进行定时器的配置和数据处理。

使用特权

评论回复
10
春日负喧| | 2024-6-15 14:00 | 只看该作者
感觉就是逻辑的事儿吧,你说的这种应该能实现

使用特权

评论回复
11
温室雏菊| | 2024-6-15 16:00 | 只看该作者
你试试外部中断获取脉冲信号呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

458

主题

1716

帖子

4

粉丝