硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1566|回复: 12
收起左侧

[有问必答] F407输入引脚如何做到us级别滤波、输入中断如何滤波

[复制链接]

4

主题

24

回帖

36

积分

新手上路

积分
36
发表于 2021-9-26 21:43:44 | 显示全部楼层 |阅读模式
407GPIO输入滤波,怎么实现us级别。如果是中断输入如何滤波
回复

使用道具 举报

5

主题

519

回帖

534

积分

金牌会员

积分
534
发表于 2021-9-27 08:19:13 | 显示全部楼层
软硬结合。高通,低通,带通电路上。软件很多滤波的算法。你是ADC吗?还是普通数字电平?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-27 08:27:48 | 显示全部楼层
1、可以借鉴硬件UART的做法,做个8倍或者16倍过采样。极具借鉴价值。
QQ截图20210927082839.png


2、然后就是使用定时器输入捕获机制,自带输入滤波的
QQ截图20210927082725.png
回复

使用道具 举报

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
发表于 2021-9-27 08:32:32 | 显示全部楼层
stm32的管脚自带滤波模块,可以设置的
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2021-9-27 08:46:15 | 显示全部楼层
hqgboy 发表于 2021-9-27 08:19
软硬结合。高通,低通,带通电路上。软件很多滤波的算法。你是ADC吗?还是普通数字电平?

普通数字电平
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2021-9-27 08:48:16 | 显示全部楼层
eric2013 发表于 2021-9-27 08:27
1、可以借鉴硬件UART的做法,做个8倍或者16倍过采样。极具借鉴价值。

谢谢佬大指点,这就去研究下
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2021-9-27 10:53:54 | 显示全部楼层
eric2013 发表于 2021-9-27 08:27
1、可以借鉴硬件UART的做法,做个8倍或者16倍过采样。极具借鉴价值。

佬大,第一点能否说的再细点。第二点看了下是只能设置固定的几个值
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2021-9-27 12:11:10 | 显示全部楼层
eric2013 发表于 2021-9-27 08:27
1、可以借鉴硬件UART的做法,做个8倍或者16倍过采样。极具借鉴价值。

佬大,第1点能否说的再详细点,第2点看下了,只能选固定的几个值。我想做的是滤波时间1us-1000us可设置
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-28 02:57:10 | 显示全部楼层
时光逆 发表于 2021-9-27 12:11
佬大,第1点能否说的再详细点,第2点看下了,只能选固定的几个值。我想做的是滤波时间1us-1000us可设置

第1个是硬件固定的,不太好参考。

第2个不能随意设置,也是一种基于分频的滤波机制。可以用,你可以动态设置定时器速度的。
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2021-9-28 07:01:34 来自手机 | 显示全部楼层
eric2013 发表于 2021-9-28 02:57
第1个是硬件固定的,不太好参考。

第2个不能随意设置,也是一种基于分频的滤波机制。可以用,你可以动 ...

第1个做法用FPGA做应该可以参考
第2个明白了我再去看看
我有个想法,用外部中断或者扫描的方式检测触发1us打开定时器,然后在定时器里做像按键例程的滤波处理,之后关闭定时器,不知道可不可行或者别的问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-28 12:01:46 | 显示全部楼层
时光逆 发表于 2021-9-28 07:01
第1个做法用FPGA做应该可以参考
第2个明白了我再去看看
我有个想法,用外部中断或者扫描的方式检测触发 ...

第2个方法,最好可以先测测,这样心理有底。
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2021-9-28 13:39:19 | 显示全部楼层
eric2013 发表于 2021-9-28 02:57
第1个是硬件固定的,不太好参考。

第2个不能随意设置,也是一种基于分频的滤波机制。可以用,你可以动 ...

第2点也有局限性,定时器速度只能设1/2/4/8分频
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-29 09:06:49 | 显示全部楼层
时光逆 发表于 2021-9-28 13:39
第2点也有局限性,定时器速度只能设1/2/4/8分频

是的,只能定时器时间基准也做调整来配合。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-27 05:21 , Processed in 0.200677 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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