STM32F4_TIM输入波形捕获 (脉冲频率)

发布时间:2023-06-13  

Ⅰ、概述

本文在前面文章“STM32基本的计数原理”的基础上进行拓展,讲述关于“定时器输入捕获”的功能,和上一篇文章“定时器比较输出”区别还是挺大的。在引脚上刚好相反:一个输入、一个输出。


本文只使用一个TIM5通道3(也可其他通道)捕获输入脉冲的频率,通过捕获两次输入脉冲的间隔时间来计算脉冲波形的频率。间隔一定时间读取频率并通过串口打印出来。


当然也可通过两路通道捕获脉冲信号的占空比,计划后期整理。


笔者通过信号发生器产生信号,上位机串口助手显示捕获的脉冲频率。(没有信号发生器的朋友可以结合上一篇文章PWM输出做信号源:在同一块板子上也可以使用不同定时器,将输出引脚接在输入引脚)


先看一下实例的实验现象:

关于本文的更多详情请往下看。

Ⅱ、实例工程下载

笔者针对于初学者提供的例程都是去掉了许多不必要的功能,精简了官方的代码,对初学者一看就明白,以简单明了的工程供大家学习。

笔者提供的实例工程都是在板子上经过多次测试并没有问题才上传至360云盘,欢迎下载测试、参照学习。

提供下载的软件工程是STM32F417的,但F4其他型号也适用(适用F4其他型号:关注微信,回复“修改型号”)。

STM32F4_TIM输入波形捕获(脉冲频率)实例:

https://yunpan.cn/cB6XrSi6rK3TP 访问密码 7eed

STM32F4资料:

https://yunpan.cn/cR2pxqF5x2d9c 访问密码 53e7

Ⅲ、原理描述

笔者将TIM分为三大块:时基部分、比较输出和输入捕获,请看下面截图“通用TIM框图”。

前面的文章已经将“时基部分”的一些基础知识讲述过了,“时基部分”的功能是比较有用的,它除了可以用来延时(定时)之外,它还可以拿来触发其他一些功能,如:触发DA转换、AD采集等。

上一篇文章讲述的就是图中比较输出部分,比较输出部分功能相对比较简单。

该文主要讲述“输入捕获”部分,这部分输入的通道1与2、通道3与4可以相互协作。该文只使用了TIM5的通道3,捕获输入信号频率。

通用TIM框图:


上面两图截取“STM32F4x5、x7参考手册”建议下载手册参看。

Ⅳ、源代码分析

笔者以F4标准外设库(同时也建议初学者使用官方的标准外设库)为基础建立的工程,主要以库的方式来讲述。

1.RCC时钟


该函数位于bsp.c文件下面;

本文提供的例程也可以使用TIM2(只要将例程源代码中使用到的TIM5改为TIM2,以及引脚改正过来就行)。

重点注意:

A.外设RCC时钟的配置要在其外设初始化的前面;

B.匹配对应时钟。

比如:RCC_APB2外设不要配置在RCC_APB1时钟里面

【如:RCC_APB1PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);这样能编译通过,但这是错误的代码】

2.TIM输入捕获引脚配置


该函数位于timer.c文件下面;

注意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.


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    的性能和多功能性 12 种不同的标准波形,同时以高采样速率生成长达128K的任意波形。在脉冲波形上可以单独设置上升沿和下降沿时间。可以将外部信号连接,并叠加到输出信号中。双通......
    的性能和多功能性 用户可以选择12 种不同的标准波形。可以以高采样率生成长度达128 K 的任意波形。在脉冲波形上,可以独立设置上升沿和下降沿时间。可以将外部信号连接并叠加到输出信号上。双通......
    源线以外的其它导线通过容性和感性耦合的电瞬态发射。 其中ISO 7637-2标准有5种测试脉冲波形: 1)测试脉冲波形1:模拟电源与感性负载断开连接时所产生的瞬态现象,适用于各种DUT 在车辆上使用时,与感......
    是受最大电压、内阻和持续时间等三方面因素影响,如何控制这三者之间的综合影响就是我们汽车抛负载保护的关键。 规定12V电气系统和24V电气系统的道路车辆沿电源线的电传导骚扰及其抗扰度的试验等级和测量方法。其中脉冲波形......
    不是正弦波,而是由一系列脉冲波组成。然而,当这些脉冲波输入电机后,所产生的电流波形却非常接近正弦波。 这与输入正弦波电压所产生的效果几乎一样,因此我们通常认为变频器输出的波形是正弦波。这种从脉冲波......
    雷击浪涌抑制电路设计基础!; 雷电压/电流的特性 1.2/50uS雷电压脉冲波形......
    型特点和处理要求 根据电磁波理论,电缆即为传输线,假若在电缆的一端发送一探测脉冲,它就会沿着电缆进行传输,当电缆线路发生障碍时,会造成阻抗不匹配,电磁波会在障碍点产生反射。在发射端由测量仪器将发送脉冲和反射脉冲波形......
    步是创建瞬态。Keysight N6700 系列具有多个内置波形,只需描述几个点即可方便地设置好动态输出。 当电流幅度改变时,阶梯式波形会产生一次瞬态。当电流上升然后下降时,脉冲波形会产生两次瞬态。为该测试设置的脉冲波形......
    240M正弦波形; ◆14位,250MS/s,1GS/s或2GS/s任意波形; ◆高达20Vp-p的幅度,50Ω负荷; ◆彩色TFTLCD显示器; ◆脉冲波形边沿时间可变; ◆多语言直观操作,节约......
    电路图怎么看呢?;是电子工程师和电子设备制造商之间沟通的桥梁,对于电子设备厂家的采购人员来说,掌握阅读的基本技能至关重要。本文引用地址:以下将从几个方面详细解析如何阅读和理解。 一、了解......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>