STM32定时器的输入滤波机制

最新更新时间:2013-09-22来源: 互联网关键字:STM32  定时器  输入滤波 手机看文章 扫描二维码
随时随地手机看文章
STM32的定时器输入通道都有一个滤波单元,分别位于每个输入通路上(下图中的黄色框)和外部触发输入通路上(下图中的兰色框),它们的作用是滤除输入信号上的高频干扰。

具体操作原理如下:

在TIMx_CR1中的CKD[1:0]可以由用户设置对输入信号的采样频率基准,有三种选择:
1)采样频率基准fDTS=定时器输入频率fCK_INT
2)采样频率基准fDTS=定时器输入频率fCK_INT/2
3)采样频率基准fDTS=定时器输入频率fCK_INT/4

然后使用上述频率作为基准对输入信号进行采样,当连续采样到N次个有效电平时,认为一次有效的输入电平。

实际的采样频率和采样次数可以由用户程序根据需要选择;外部触发输入通道的滤波参数在从模式控制寄存器(TIMx_SMCR)的ETF[3:0]中设置;每个输入通道的滤波参数在捕获/比较模式寄存器1(TIMx_CCMR1)或捕获/比较模式寄存器2(TIMx_CCMR2)的 IC1F[3:0]、IC2F[3:0]、IC3F[3:0]和IC4F[3:0]中设置。

例如:当fCK_INT=72MHz时,选择fDTS=fCK_INT/2=36MHz,采样频率fSAMPLING=fDTS/2=18MHz且N=6,则频率高于3MHz的信号将被这个滤波器滤除,有效地屏蔽了高于3MHz的干扰。

比如,结合输入捕获的中断,可以轻松地实现按键的去抖动功能,而不需要软件的干预;这可是由硬件实现的去抖动功能,大大节省了软件的开销和程序代码的长度。

每个定时器最多可以实现4个按键的输入,这个方法也可以用于键盘矩阵的扫描,而且因为是通过中断实现,软件不需频繁的进行扫描动作。
关键字:STM32  定时器  输入滤波 编辑:神话 引用地址:STM32定时器的输入滤波机制

上一篇:立体声发射机电路
下一篇:基于TMS320LF2812的电力线通信模拟终端设计

推荐阅读最新更新时间:2023-10-12 20:48

STM32 Uart及其配置
重要的事情要说三遍,这个通信口,非常重要!非常重要!非常重要! Uart = Universal Asynchronous Receiver/Transmitter,通用异步接收器/发送器,它的特点就在于它的名字,通用,很多地方都用到;异步,它没有同步时钟;接收器/发送器:能收能发,全能小超人。 一般用在上位机(比如PC,比如中控等)与单片机的通信,单片机与模块间的通信,单片机与单片机的通信等等,主要用于两个不同设备间的通信,总之,它很通用! 它的主要特点除了它的名字之外,还要明白几个:1.一对一;2.全双工;3.传输距离不长,15m以内,长了干扰啊,还得取决于硬件设计电路; PC如何与单片机通信呢? PC相关
[单片机]
<font color='red'>STM32</font> Uart及其配置
STM32 EXTI中断设置五步曲
首依实际系统选择需要多少个中断优先级即 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); 然后按下列5步 1 AFIO及GPIO时钟设置 2 要中断的脚设为IN_PU或浮空输入 3 绑定exti中断引脚如 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0); 4 配置边沿触发 即设置 EXTI_InitTypeDef EXTI_InitStructure; 5 配置中断向量 即设置 NVIC_InitTypeDef NVIC_InitStructure; 另外 不要忘了
[单片机]
AVR——使用定时器必须弄清的几个概念
在MCU中(M16),定时器是独立的一个模块,M16有三个独立的定时器模块,即T/C0、T/C1和T/C2;其中T/C0和T/C2都是8位的定时器,而T/C1是一个16位的定时器。定时器的工作是独立于CPU之外自行运行的硬件模块。 1、定时器何时开始工作(或说计数)的? 当TCCR0!=0x00任何模式下,只要MCU一上电,T/C就开始计时工作。其实TCCR0主要是定时器的预分频和波形模式、比较匹配模式的设置,说到预分频,不得不提一下这个模块,这个模块是T/C0、T/C1共用的一个模块,但可以有不同的分频设置。 2、定时器是如何进行工作的:说到定时器的工作,不得不说三个个重要参数:TCNT0、OCR0,T
[单片机]
STM32 keil printf的使用
请在MDK(keil)工程属性的 Target -》 Code Generation 中勾 选 Use MicroLIB 前提是你有一个完整keil的工程 比如ADC的调试的时候很多时候用到串口 这里教你怎么样使 用Printf 函数 红色字句为重点!!!!! 若使得在程序中使用Printf需做一下几步 1,输入输出文件包含#include stdio.h 2,在程序下添加宏定义代码 /* Private function prototypes -----------------------------------------------*/ #ifdef __GNUC__
[单片机]
stm32---ADXL345
ADXL345是一款三轴加速度传感器,广泛用于手机、游戏手柄等设计。 ADXL 支持标准的 I2C 或 SPI 数字接口,自带 32 级 FIFO 存储,并且内 部有多种运动状态检测和灵活的中断方式等特性,常用I2C接口 检测轴 初始化步骤 1)上电 2)等待 1.1ms 3)初始化命令序列 4)结束 其中上电这个动作发生在开发板第一次上电的时候,在上电之后,等待 1.1ms 左右,就可以开始发送初始化序列了,初始化序列一结束, ADXL345 就 开始正常工作了 stm里的硬件电路 adxl345.c #include adxl345.h #include iic.h #include math.h #
[单片机]
stm32---ADXL345
STM32_USART输入输出讲解
今天总结STM32F103串口,以工程实例来讲述。 工程现象: 1.间断发送字符 2.接收中断(接收字符,并发送该字符) 软件工程下载地址(360云盘): https://yunpan.cn/cPEI3zyQ7UqJv 访问密码ee52 讲述分如下几点: 一、初始化始终 这里的“时钟配置”函数在bsp.c文件下面; 使能串口1(RCC_APB2Periph_USART1)时钟。 二、USART1引脚配置 这里的“USART1引脚配置”函数在usart.c文件下面; 初始化串口使用引脚, 包含端口引脚、频率、输出类型。 三、串口配置 这里的“串口配置”函数在usart.c文件下面; 详见
[单片机]
STM32_USART<font color='red'>输入</font>输出讲解
掌握单片机的精髓-定时器
问题描述: 单片机的精华资源不多,今天练习掌握它的定时器硬件资源 硬件环境: 89C58RD+单片机(共三个定时器T0、T1、T2) 目标是这样的:定时器定时1秒后闪灭led,使用的是定时器内部中断 代码如下: #include reg52.h sbit led = P1^0; unsigned int int_count = 0; void internal_int() interrupt 1 // time0 overflow { int_count ++; //TH0=(8192-5000)/32; //分别得到高8位和低8
[单片机]
掌握单片机的精髓-<font color='red'>定时器</font>
一种基于STM32的多功能精密电子秤
1、引言 本文采用四片箔式应变片组成一个惠斯登电桥。运用集成芯片HX711对称重传感器的模拟信号进行A/D转换,完成测量数据的采集,后经单片机对数据处理完成高精度的测量,随后加上各种算法,完成多种功能的计算;最后在配合液晶显示,触摸输入,语音播报等完成友好的人机交互。 2、系统组成 根据设计的需求,硬件上需要有称重传感器,AD转换电路,单片机最小系统,按键输入,显示输出,语音播报,以及电源模块,其组成的系统框图如图1。 图1 电子秤系统框图 3、称重传感器的设计 3.1、悬臂梁的设计 采用优质的铝合金材质(长,宽,高分别为:190mm,20mm,3mm),铝合金具有塑造性强,硬度适中,弹性好等特点,常作为电阻应变式称重
[单片机]
一种基于<font color='red'>STM32</font>的多功能精密电子秤
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved