历史上的今天
今天是:2025年01月18日(星期六)
2021年01月18日 | STM32F4_TIM输入波形捕获(脉冲频率)
2021-01-18 来源:eefocus
https://yunpan.cn/cB6XrSi6rK3TP 访问密码
STM32F4资料:
https://yunpan.cn/cR2pxqF5x2d9c 访问密码 53e7
Ⅲ、原理描述
笔者将TIM分为三大块:时基部分、比较输出和输入捕获,请看下面截图“通用TIM框图”。
前面的文章已经将“时基部分”的一些基础知识讲述过了,“时基部分”的功能是比较有用的,它除了可以用来延时(定时)之外,它还可以拿来触发其他一些功能,如:触发DA转换、AD采集等。
上一篇文章讲述的就是图中比较输出部分,比较输出部分功能相对比较简单。
该文主要讲述“输入捕获”部分,这部分输入的通道1与2、通道3与4可以相互协作。该文只使用了TIM5的通道3,捕获输入信号频率。
通用TIM框图:

上面两图截取“STM32F4x5、x7参考手册”建议下载手册参看。
Ⅳ、源代码分析
笔者以F4标准外设库(同时也建议初学者使用官方的标准外设库)为基础建立的工程,主要以库的方式来讲述。

本文提供的例程也可以使用TIM2(只要将例程源代码中使用到的TIM5改为TIM2,以及引脚改正过来就行)。
A.外设RCC时钟的配置要在其外设初始化的前面;
B.匹配对应时钟。
比如:RCC_APB2外设不要配置在RCC_APB1时钟里面
【如:RCC_APB1PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);这样能编译通过,但这是错误的代码】

注意2点:
A.引脚与通道对应:这个需要参看“数据手册”,该文TIM5通道3对应的引脚就是PA2.
B.复用配置:GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_TIM5);
这个地方对于F1转F0、F4等的朋友需要注意,更加芯片系列及库的不同,他们之间存在一定的差异。
3. TIM输入捕获配置

该函数位于timer.c文件下面;
“时基部分”是在前面两篇文章讲述过的,这里主要对“输入捕获”部分理解,主要5个参数:
捕获通道:就是我们捕获的通道;
捕获极性:就是我们捕获脉冲的高还是低电平;
捕获选择:是直接捕获该通道,还是上面说的1,2通道协助捕获;
捕获分频:对捕获的脉冲分频;
捕获滤波:过滤掉波形;
4. NVIC配置

该函数位于bsp.c文件下面;
这里不用多说,只是提醒大家不要忘记配置这里。
5. 计算捕获波形频率原理

该函数位于stm32f4xx_it.c文件下面;
该函数是中断函数,也是计算频率重要的函数;
A.两次捕获值
捕获配置中,捕获的极性是高电平,这里就是在“上升沿”中断(捕获),如果配置为“下降沿”,则是在信号的下降沿中断。
B.计算两次捕获差值
这里常人理解都是: capture = (capture_value2 - capture_value1);
但是,需要考虑另外两种情况,就是计数器在计满和相等时候。
C.计算频率
这里可以理解为:1秒钟计了多少个数。
但是需要注意的是截图中“/2”,对系统时钟除2,原因在于RCC给TIM提供的时钟就是除了2的,所以,这个地方需要/2.
史海拾趣
|
摘要:本文介绍了测量噪声系数的三种方法:增益法、Y系数法和噪声系数测试仪法。这三种方法的比较以表格的形式给出。 前言在无线通信系统中,噪声系数(NF)或者相对应的噪声因数(F)定义了噪声性能和对接收机灵敏度的贡献。本篇应用笔记详细阐述这 ...… 查看全部问答> |
|
谁有EVC4.0+PocketPc2003开发PDA反面的电子书? 我刚刚接触EVC4.0+PocketPc2003开发PDA程序,在网上总找不到 相关的电子教程,哪位前辈能提供些教程啊!急 啊!… 查看全部问答> |
|
开年后,心思都在高频加热设备上,到今天,实验结果比较满意,频率920KHz,已经达到4500W的功率,目前看还有一定的扩展余量,基本满足产品需求,下一步将继续完善,实现产品化。 总的来说,做电源之前有两次经历,一次是03年的电动自行车项目,用a ...… 查看全部问答> |
|
EEWORLD大学堂----MSP430进阶培训—MSP430F5529的使用与开发 MSP430进阶培训—MSP430F5529的使用与开发:https://training.eeworld.com.cn/course/236 ????? MSP430F5529是德州仪器新一代F5xxx系列MCU的典型代表,不但拥有更低的功耗,而且在模拟外设、?数字外设和系统软件开发方面有了很大的改进。本培训课 ...… 查看全部问答> |




