学生联盟网为您提供优质参考范文! 体会工作报告法律咨询精彩演讲各类材料
当前位置: 学生联盟网 > 教学论文 > 化学教学 > STM32输入捕获模式

STM32输入捕获模式

时间:2021-11-28 13:29:26 来源:学生联盟网

输入捕获模式 库函数例程位置 STM32F10 x_StdPeriph_Lib_V3.3.0ProjectSTM32F10 x_StdPeriph_ExamplesTIMI nputCapture在输入捕获模式下,当检测到 ICx 信号上相应的边沿后,计数器的当前值被锁存 到捕获 /比较寄存器 (TIMx_CCRx)中。当捕获事件发生时,相应的CCxIF 标志(TIMx_SR 寄存器)被置 1,如果使能了中断或者 DMA 操作,则将产生中断或者 DMA 操作。

  在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。PWM 输入模式库 函 数 例 程 位 置 STM32F10 x_StdPeriph_Lib_V3.3.0ProjectSTM32F10 x_StdPeriph_ExamplesTIMP WM_该模式是输入捕获模式的一个特例例如,你需要测量输入到TI1上的PWM信号的长度(TIMx_CCR1寄存器)和占空比 (TIMx_CCR2寄存器),具体步骤如下(取决于CK_INT的频率和预分频器的值)选择TIMx_CCR1的有效输入置TIMx_CCMR1寄存器的CC1S01选择TI1)。选择TI仆P1的有效极性(用来捕获数据到 TIMx_CCR1中和清除计数器)置 CC1P0(上升沿有效)。选择TIMx_CCR2的有效输入置TIMx_CCMR1寄存器的CC2S10选择TI1)。

  选择TI仆P2的有效极性(捕获数据到TIMx_CCR2)置CC2P1(下降沿有效)。选择有效的触发输入信号置 TIMx_SMCR寄存器中的TS101(选择TI1FP1)。

  配置从模式控制器为复位模式置 TIMx_SMCR 中的 SMS100。使能捕获置TIMx_CCER寄存器中CC1E1且CC2E1。由于只有TI仆P1和TI2FP2连到了从模式控制器,所以 PWM输入模式只能使用TIMx_CH1 /TIMx_CH2 信号。强置输出模式在输出模式(TIMx_CCMRx寄存器中CCxS00)下,输出比较信号(OCxREF和相 应的OCx)能够直接由软件强置为有效或无效状态,而不依赖于输出比较寄存器和 计数器间的比较结果。例如 CCxP0(OCx 高电平有效 ),则 OCx 被强置为高电平。

  置 TIMx_CCMRx 寄存器中的OCxM100,可强置OCxREF信号为低。输出比较模式此项功能是用来控制一个输出波形,或者指示一段给定的的时间已经到时。

  当计 数器与捕获 /比较寄存器的内容相同时,输出比较功能做如下操作 将输出比较模式 (TIMx_CCMRx 寄存器中的 OCxM 位)和输出极性 (TIMx_CCER 寄存器中的 CCxP 位)定义的值输出到对应的引脚上。在比较匹配时,输出引脚可以保持它的电平(OCxM000)、被设置成有效电平(OCxM001)、被设置成无效电 平(OCxM010)或进行翻转(OCxM011)。

  设置中断状态寄存器中的标志位 (TIMx_SR 寄存器中的 CCxIF 位)。若设置了相应的中断屏蔽(TIMx_DIER寄存器中的CCxIE 位),则产生一个中断。若设置了相应的使能位(TIMx_DIER寄存器中的CCxDE位,TIMx_CR2寄存器中的CCDS位选择DMA请求功能),则产生一个DMA请求。

  输出比较模式的配置步骤1.选择计数器时钟(内部,外部,预分频器)2.将相应的数据写入 TIMx_ARR和TIMx_CCRx寄存器中3.如果要产生一个中断请求和/或一个DMA请求,设置CCxIE位和/或 CCxDE 位。4.选择输出模式,例如当计数器CNT与CCRx匹配时翻转OCx的输出引脚,CCRx 预装载未用,开启OCx输出且高电平有效,则必须设置OCxM011、OCxPE0、CCxP 0和 CCxE 1、5.设置TIMx_CR1寄存器的CEN位启动计数器图127 输出比较模式.翻转0C彳在CC1R寄存器写入B201hTIM1TIM1在CCR1上比较匹配如果使能了中新.则产生中断PWM模式脉冲宽度调制模式可以产生一个由 TIMx_ARR寄存器确定频率、由TIMx_CCRx 寄存器确定占空比的信号。在TIMx_CCMRx寄存器中的OCxM位写入、110 (PW/模式1)或、111、(PWM式2),能够独立地设置每个 OCx输出通道产生一路PWM。必须设置TIMx_CCMRx 寄存器OCxPE位以使能相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的 ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。下面是一个 PWM 模式1的例子。当 TIMx_CNTTIMx_CCRx 时PWM信号参考OCxREF为高,否则为低。如果TIMx_CCRx中的比较值大于自动重装载值TIMx_ARR,则OCxREF保持为1如果比较值为0,则OCxREF保持为Q下 图为TIMx ARR8时边沿对齐的PWM波形实例。OCXREFCGflFOCXREFCCRit6CCxiFOCXREF -TCCRioflCCxlF _OCXREF fCCfhO 一CGdF单脉冲模式单脉冲模式OPM是前述众多模式的一个特例。这种模式允许计数器响应一个激励,并在一个程序可控的延时之后,产生一个脉宽可程序控制的脉冲。可以通过从模式控制器启动计数器,在输出比较模式或者PWM模式下产生波形。

  设置TIMx_CR1寄存器中的OPM位将选择单脉冲模式,这样可以让计数器自动地 在产生下一个更新事件UEV时停止。仅当比较值与计数器的初始值不同时,才 能产生一个脉冲。启动之前当定时器正在等待触发,必须如下配置向上计数方式CNT CCRx ARR特别地,0 CCRx,向下计数方式CNT CCRx o图130单脉冲模式的例rTI2OC1REF OC1计数器tpULBE编码器接口模式TH112两个输入TI1和TI2被用来作为增量编码器的接口。参看表77,假定计数器已经启动(TIMx_CR1寄存器中的CEN 1,)计数器由每次在 THFP1或TI2FP2上的有效 跳变驱动。TI1FP1和TI2FP2是TI1和TI2在通过输入滤波器和极性控制后的信号; 如果没有滤波和变相,则THFP1TI1 ,TI2FP2TI2。根据两个输入信号的跳变顺 序,产生了计数脉冲和方向信号。依据两个输入信号的跳变顺序,计数器向上或 向下计数,同时硬件对TIMx_CR1寄存器的DIR位进行相应的设置。不管计数器 是依靠TI1计数、依靠TI2计数或者同时依靠TI1和TI2计数。在任一输入端(TI1 或者TI2)的跳变都会重新计算DIR位。编码器接口模式基本上相当于使用了一 个带有方向选择的外部时钟。这意味着计数器只在0到TIMx_ARR寄存器的自动装载值之间连续计数(根据方向,或是0到 ARR计数,或是ARR到0计数)。所以 在开始计数之前必须配置TIMx_ARR ;同样,捕获器、比较器、预分频器、触发 输出特性等仍工作如常。在这个模式下,计数器依照增量编码器的速度和方向被 自动的修改,因此计数器的内容始终指示着编码器的位置。计数方向与相连的传 感器旋转的方向对应。下表列出了所有可能的组合,假设TI1和TI2不同时变换。77计数方向与编码翠信号的关系有效边沿相对信号的电平(THFF1 对应 T1Z T绘FP2对应TI1FP1信号TI上升下降上升仅在T1I计数向下计数向上计数不计数低向上计敬向下计数不计数仅在T12计数讥;不计数不计数向I .计變低不计数不计数向下计撤在TI1和了 12上计数冋向下计数向上计数向上计變向上计数向下计数向尸计蜀下图是一个计数器操作的实例,显示了计数信号的产生和方向控制。它还显示了 当选择了双边沿时,输入抖动是如何被抑制的;抖动可能会在传感器的位置靠近 一个转换点时产生。在这个例子中,我们假定配置如下 CC1S 01 (TIMx_CCM寄存器,IC1FP1 映射到 TI1)CC2S 01 (TIMx_CCMR存器,IC2FP2映射到 TI2)CC1P O (TIMx_CC寄存器,IC1FP1 不反相,IC1FP1TI1)CC2P O (TIMx_CC寄存器,IC2FP2不反相,IC2FP2TI2)SMS 011 (TIMx_SMCF存器,所有的输入均在上升沿和下降沿有效 ).CEN 1 (TIMx_C寄存器,计数器使能)毛剌图132 编砒器模式卜的计数器操作实例毛刺TIM 与 Hall 接口