MM32SPIN0280内部时钟捕获外部HSE时钟

描述

频率测量 

测频法(计频法)

对一段标准时间内的被测信号的上升沿数量进行计数。

测频法误差

计数器只能进行整数计数,而在标准信号周期时间窗口内,却不一定刚好有整数个被测信号周期。因此测频法造成的最大测量误差为±1个被测信号。建议用于被测信号频率较高的情况。

频率测量

测周法(计时法)

在被测信号的两个上升沿间标准时间的计数。

测周法误差

计数器只能进行整数计数,而在标准时间窗口内,却不一定刚好有整数个标准信号周期。建议用于被测信号频率较低的情况。

频率测量

由于SPIN0280可以很便捷的捕获LSI和HSE的128分频,所以使用测周法。

TIM2 通用定时器 

由一个16位可实时编程预分频器和一个32位计数方向可调的自动装载计数器组成,可以为用户提供便捷的计数定时功能,计数器时钟由预分频器分频得到。

TIM2具有多种用途:输入功能(测量输入信号的脉冲宽度、频率,PWM输入等),输出功能(PWM输出、单脉冲模式输出等)。

本次主要介绍TIM2的输入捕获功能:

输入捕获部分包括数字滤波器、多路复用、预分频器等,结构如下:

频率测量

输入捕获模式下,当检测到信号ICx上的有效边沿后,计数器的当前值被锁存到对应的影子寄存器上,再复制到对应的捕获比较寄存器中。当开启了中断或DMA使能,发生捕获事件时,将产生相应的中断或DMA请求。发生捕获事件时,会将状态寄存器(TIM2_SR)中的捕获标志位 CCxIF 置 1,通过配置 CCxIF=0或读取TIM2_CCRx中的数据,清除CCxIF标志位。当CCxIF未被清零时,发生输入捕获事件,重复捕获标志位CCxOF将会被置1,通过配置CCxOF=0,可以清除CCxOF标志位。

SPIN0280的通用定时器TIM2有输入选项寄存器(TIM2_OR),可以很便捷的复用通道四,配置输入为CH4 GPIO 或比较器输入或LSI或HSE的128分频

频率测量

SPIN0280内部时钟捕获外部HSE时钟具体步骤

1开启HSI时钟(8M)并倍频(最高96MHz)

2TIM2挂载在APB1上,使能TIM2时钟

3配置TIM2,计数器清空,由低向高计数,上升沿触发,时钟不分频

4配置TIM2的通道4作为输入捕获,上升沿触发,输入信号8分频

5开启TIM2通道4的时钟中断,并配置NVIC和编写中断函数

6开启HSE时钟,等待稳定

7配置TIM2通道4输入信号为HSE的128分频

示例代码如下:

频率测量

 

频率测量

示例输出结果:

频率测量

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分