stm32定时器输入捕获 理解STM32定时器中的输入捕获滤波器.doc

stm32定时器输入捕获 理解STM32定时器中的输入捕获滤波器.doc

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
stm32定时器输入捕获 理解STM32定时器中的输入捕获滤波器 理解STM32定时器中的输入捕获滤波器 关于STM32定时器中的输入捕获滤波器的功能描述,在中文参考手册中描述如下: 我不理解官方的说明,在网上搜了老半天,基本都是下面这几句话: 1)当滤波器连续采样到N次个有效电平时,认为一次有效的输入电平。 2)该数字滤波器实际上是个事件计数器,它记录到N个事件后会产生一个输出的跳变。 例如:当f(CK_INT) = 72MHz, CKD[1:0] = 01时,选择f(DTS) = f(CK_INT)/2 = 36MHz; 而ETF[3:0] = 0100,则采样频率f(SAMPLING) = f(DTS) / 2 = 18MHz, N = 6,此时高于3MHz的信号 将被这个滤波器滤除,这样就有效地屏蔽了高于3MHz的干扰。 看了这些说法,我还是不理解这个数字滤波器到底是如何工作的,问题如下: 问题1:当滤波器连续采样到N次个有效电平时,是输出这个电平?还是输出一个跳变? 问题2:当滤波器没有连续采样到N次个有效电平时,输出是的什么? 带着这两个问题,我们来分析一下,下面以TIM3为例: 首先可以肯定输入捕获过程如下:详细信息见参考手册中的14.2节,通用定时器框图 TIM3_CH1(PA.6) ----gt; TI1(外部信号) -------gt; 输入滤波器IC1F[3:0] -----gt; IC1(滤波器输出信号) -------gt; 输入捕获预分频器IC1PSC[1:0] ----gt; 捕获/比较1寄存器CCR1 从上面的过程可以知道, 1)发生输入捕获所需要的跳变沿是由滤波器输出产生的。 2)滤波器和预分频器可软件编程,如果IC1F[3:0] = 0x0,则滤波器全通,即TI1 和 IC1是同一个信号。 借助这两点分析,我假设的滤波器的工作原理是: 问题1猜测答案:当滤波器连续采样到N次个有效电平时,就输出这个有效电平。 问题2猜测答案:当滤波器没有连续采样到N次个有效电平时,再从0开始计数,输出一 直保持上一次输出的有效电平。例如:滤波器上一次输出是高电平,本次连 续采样到N-1个高低平,但第N是个低电平,那么滤波器仍然保持上次输出的高电平,并重新开始计数,记录1次低电平,如果在其后采样的N-1个也是低电 平,此时滤波才输出低电平,于是一个下降沿才出现在IC1上。 举例:如果我们产生一个f = 1MHz的占空比为50%的方波信号,滤波器的采样频率f(SAMPLING) = 18MHz,那么如果滤波器要想监测的1MHz信号,并且滤除高频干扰,则理论上 N lt;= 9 , 即 f(SAMPLING) / N gt;= 2 * f,这让我想起了《信号与系统》中的“奈圭斯特采样频率”。 如下图所示: 从上图中我们可以看到,对于1MHz的信号,当采样频率为18MHz时,N最大为9。当N大于9时,是不可能连续采样到大于10个的有效电平的。 下面我们验证这个猜测: 按照这个猜想,我们先求一下这个数字低通滤波器的最小通带截止频率。 令 CKD[1:0] = 01b, 即f(DTS) = f(CK_INT) / 4 = 18MHz; IC1F[3:0] = 1111b, 即f(SAMPLING) = f(DTS) / 32 = 562.5KHz, N = 8; 由公式 f(SAMPLING) / N gt;= 2 * f 可得: f lt;= 35.156KHz, 也就是说理论上:滤波器可以监测到输入信号频率小于35.156KHz,占空比为50%的方波信号的跳变沿,换句话说,大于35.156KHz的此类信号将被滤除掉。 下面是STM32定时器输出频率的计算公式:f(OC1) = 72,000,000 / (ARR - 1)*(PSC - 1); 50%的PWM波不同频率的计算值如下表: _______________________________________________________________________ f Hz | ARR | PSC | 理论上 | 实际上 40K | 1800 - 1 | 0 | 监测不到跳变沿 | 监测不到跳变沿 36K | 2000 - 1 | 0 | 监测不到跳变沿 |

文档评论(0)

raojun0010 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档