ReRain
认证:普通会员
所在专题目录 查看专题
【蓝桥杯嵌入式】二、STM32之按键+蜂鸣器
【蓝桥杯嵌入式】三、STM32之定时器配置
【蓝桥杯嵌入式】四、关于STM32的定时器配置中时钟分割的问题
【蓝桥杯嵌入式】五、STM32之通用定时器输出PWM波
【蓝桥杯嵌入式】六、关于STM32的定时器配置中时钟分割的问题
【蓝桥杯嵌入式】七、STM32变量定义及位带操作
作者动态 更多
【蓝桥杯单片机】十二、底层练习
2021-04-20 17:46
【蓝桥杯单片机】十一、第十届蓝桥杯省赛失败总结加试题分析
2021-04-11 20:50
【蓝桥杯单片机】十、第九届蓝桥杯国赛之“多功能测量仪表”
2021-04-01 16:36
【蓝桥杯单片机】九、第九届省赛之彩灯控制器
2021-03-30 18:19
【蓝桥杯单片机】八、第八届省赛之电子钟
2021-03-29 18:41

【蓝桥杯嵌入式】六、关于STM32的定时器配置中时钟分割的问题

导读:开启新的专栏啦~希望大家可以多多支持呀!!!《蓝桥杯嵌入式》专栏文章是博主在自学stm32期间所做的学习笔记,同时为了备战蓝桥杯比赛,博主在学习期间所用的开发板为蓝桥杯嵌入式专用开发板。菜鸟思维,写的可能会有一点繁琐,但是我觉得学习是要一步一步来的,也希望自己可以把每一点都弄懂。希望可以对初学者有些帮助,如有错误,欢迎评论区留言指正哦~


一、一个总结性说明 

STM32的定时器配置中的时钟分割,是与定时器的输入捕获功能和滤波单元相关的。不同的参数代表以不同的采样频率对输入信号进行采样,当连续采样到 N(滤波带宽) 次个有效电平时,认为一次有效的输入电平。(但是这个采样频率只是一个基准频率,实际中的采样频率是可以设置的,我们根据程序所设置这个实际的采样频率与定时器通道的滤波单元有关,下面的内容中会细说这一部分)。

二、解释说明

1、首先要知道这三种不同的采样频率基准是通过设置控制寄存器TIMx_CR1中的CKD(时钟分频因子)来实现的,手册上有详细的说明:

一般我们在设置时钟分割时,都将其设置为0(采样频率为定时器输入频率),实际上也就是TIM_CKD_DIV1:

TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim//等同于TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim

2、关于定时器通道的滤波单元 

STM32的定时器输入通道都有一个滤波单元,分别位于每个输入通路上和外部触发输入通路上,它们的作用是滤除输入信号上的高频干扰。

那么滤除高频干扰的功能是如何实现的呢? 

举个例子: 检测一次输入信号为高电平,假设采样频率是18MHZ滤波带宽是6,那么我们需要以18MHZ的采样频率,在连续6个采样周期内检测到高电平,才可判断输入信号为高电平,也就是说采样信号的高电平持续时间至少为6个采样周期(1/3MHZ)相对应的采样信号的频率最大为3MHZ从而滤去了频率高于3MHZ的信号。 再举一个例子: 假如要监测一个占空比为50%,频率为1MHZ的方波信号,且利用滤波功能,滤去高频信号干扰(假设采样频率仍为18MHZ),那么我们的滤波带宽应该是多少呢?N<=9 仍然可以利用检测高电平的思路来理解:占空比为50%,频率为1MHZ的方波信号,它的高电平持续时间为1/2MHZ,那么连续采样的时间就是1/2MHZ,也就是9个采样周期,且最多为9个采样周期。可以看一下图:

图上可见:假如采样脉宽大于9,那么就监测不到该方波信号了。

3、上面的时钟分割设置中我们设置了采样频率基准,而实际中的采样频率和滤波带宽是可以设置的:外部触发输入通道的滤波参数在从模式控制寄存器(TIMx_SMCR)的ETF[3:0]中设置每个输入通道的滤波参数在捕获/比较模式寄存器1(TIMx_CCMR1)或捕获/比较模式寄存器2(TIMx_CCMR2)的IC1F[3:0]、IC2F[3:0]、IC3F[3:0]和IC4F[3:0]中设置。 

具体可见手册:

从上面的图中我们也可以看出:实际采样频率与采样频率基准有关,故改变采样频率基准可改变滤波的频率。

4、关于“数字滤波器是一个事件计数器,它记录到N个事件后会产生一个输出的跳变。”这句话的说明: 

事件是什么?数字滤波器的一个事件就是对输入信号的一次采样结果。 输出的跳变是什么?输出的跳变就是一个脉冲。 举例说明: 比如要求检测一个输入的上升沿,当选择ETF[3:0]=0011时,以频率fSAMPLING=fCK_INT对输入信号采样,如果在监测到一个上升沿(连续2次采样的结果为一低一高)后连续8个采样周期都检测到高电平,则数字滤波器输出一个脉冲,否则不输出脉冲。

5、应用:结合输入捕获的中断,可实现按键的去抖动功能,每个定时器最多可以实现4个按键的输入,这个方法也可以用于键盘矩阵的扫描,而且因为是通过中断实现,软件不需频繁的进行扫描动作。


参考链接:

希望大家可以多多点赞收藏,也不要忘记点一个大大的关注哦~感谢大家!!

祝您2021大吉大利,升职加薪~~

行数:42

字数:1481

主题:默认主题

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 149
收藏 147
关注 302
成为作者 赚取收益
全部留言
0/200
  • dy-SgCRSAWd 2021-04-29 21:24
    请教一下
    回复
  • dy-lZg1ikQS 2021-04-29 21:04
    思路清晰,受益匪浅
    回复
  • dy-6jaMNnKj 2021-04-29 11:05
    感谢分享
    回复
  • dy-uP6R9bIG 2021-04-28 22:22
    佩服楼主
    回复
  • dy-faUxdNVf 2021-04-28 22:16
    期待继续
    回复
  • dy-ARsdJtu2 2021-04-28 16:42
    思路清晰,受益匪浅
    回复
  • dy-PfBg9fHc 2021-04-28 15:17
    比论文强一万倍
    回复
  • dy-BntE74dS 2021-04-27 11:38
    佩服楼主
    回复
  • dy-AstN3YsZ 2021-04-27 11:25
    请教一下
    回复
  • dy-kWQSvfcY 2021-04-26 11:28
    请教一下
    回复
  • dy-IRhxrrTG 2021-04-26 11:07
    对我很有帮助
    回复
  • dy-EWZRbIzj 2021-04-22 11:27
    比论文强一万倍
    回复
  • dy-HlVFyepq 2021-04-21 20:52
    学习了
    回复
  • dy-fEyVNAbF 2021-04-21 15:45
    感谢博主!
    回复
  • dy-fEyVNAbF 2021-04-21 14:21
    继续加油!
    回复
  • dy-cfgdwamL 2021-04-21 12:59
    不亚于看了一篇高质量论文
    回复
  • dy-ayNTwT3L 2021-04-21 12:29
    讲的真好!
    回复
  • dy-LiDZV1Qr 2021-04-20 18:10
    请教一下
    回复
  • dy-rfrUF2fp 2021-04-20 17:03
    感谢分享
    回复
  • dy-bHww98js 2021-04-19 23:03
    感谢分享
    回复