×
单片机 > 单片机程序设计 > 详情

STM32输入捕获(一)

发布时间:2020-09-03 发布时间:
|

今天,就参照芯片的数据手册,来编写程序,实现输入捕获功能,首先看一下输入捕获的实现原理:(这里只拿通道1为例,其他通道与之类似)


首先来看这张图

(图中的U代表更新事件,UI表示可以产生更新条件)


蓝色框出的部分就是一条完整的输入捕获通道,红色画出的就是信号采集后的路径,而这只是一个粗略的路径,我们来看下一幅图:

(蓝色方框标注的是相应的控制位)


从上图可以很清晰的看出输入信号的流程:输入部分对相应的TI1输入信号采样(f_DTS是指采样频率),并产生一个滤波后的信号TI1F。然后,一个带极性选择的边缘检测器产生一个信号(TI1FP1),它可以作为从模式控制器的输入触发或者作为捕获控制。该信号通过预分频进入捕获寄存器(ICxPS)。


先分析一下红色方框:


1:滤波器:输入滤波器控制位是TIMx_CCMRx寄存器中的ICxF位,它的作用就是:采样到N次信号看作一次有效信号,因为有的信号不稳定,就连续采集N个信号,来判断该信号的有效性,当然,如果信号稳定,就可以设置采样到一次信号即为有效信号。


 

2:边缘检测器:它的设定就决定了是下降沿信号,还是上升沿信号能通过。


该位的设定在TIMx_CCER的CCIP位

再往后会发现有一个通道选:3,这个选择器是什么意思呢?原来它的选择决定了通道IC1被映射到哪条信号通道上,通过TIMx_CCMR1的CCIS位设定。

(这里的最后一句被标注了,这个在程序里分析)


比方说:如果此位设为10,就是说通道TI2的输入信号可以传输到IC1上。


最后,输入信号到达IC1上之后,就会经过分频器,它的值决定多少次有效信号触发一次捕获。通过TIMx_CCMR1的IC1PSC位设定。细心地人会发现,红色方框4下的蓝色框中最后有一个使能设定。这就说明了之前设定CC1S位时,通道是关闭的。这也正是上幅图最后标记的那句话意思。

关于输入捕获的实现原理分析就到这,下一篇将参照数据手册分析程序。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何升级STM32单片机的代码