【江科协-STM32】6. TIM编码器接口

1. 编码器接口简介

编码器接口(Encoder Interface),可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度。

每个高级定时器和通用定时器都拥有一个编码器接口,两个输入引脚借用了输入捕获的通道1和通道2。

2. 正交编码器

正转时,A相上升沿,B相低电平;对应反转,B相则是低电平,以此类推。

当出现某个边沿时,我们看对应另一相的高低电平,如果对应另一相的状态出现在该表中,就是正转,计数自增。否则,就是自减。

3. 旋转编码器

旋转编码器:用于测量位置、速度或者旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位信息即可得知旋转轴的速度和方向。

类型:机械触点式/霍尔传感器式/光栅式

接线的引脚有两个是电源,两个是AB相,还有一个编码器0位置的测量,还有一个是空脚,闲置。

4. 编码器接口应用

高级定时器和通用定时器都是只有一个编码器接口。

基本定时器没有编码器接口。

编码器接口有两个输入端,分别接到A相和B相。

回到这张图中:

编码器接口的输入有两个信号:TI1FP1和TI2FP2。

编码器接口的两个引脚,借用了输入捕获单元的前两个通道。最终编码器的输入引脚可以追溯到CH1和CH2。信号的通路是,CH1通过TI1-输入滤波器和边沿检测器通向编码器接口,CH2通过TI2-输入滤波器和边沿检测器通向编码器接口。

:::warning

我们之前一直使用的72MHz的内部时钟,和我们在时基单元初始化时设置的计数方向,并不会使用,因为此时计数时钟和计数方向都处于编码器接口托管的状态,计数器的自增和自减是受编码器控制的.

:::

输入捕获的前两个通道,通过GPIO口接入编码器的A、B相,然后通过滤波器和边沿检测极性选择,产生TI1FP1和TI2FP2两个信号,通向编码器接口,编码器接口通过预分频器控制CNT计数器的时钟,同时,编码器接口还根据编码器的旋转方向,控制CNT的计数方向,编码器正转时,CNT自增,编码器反转时,CNT自减,ARR也是有效的,一般是设置为65535,利用上补码的特点,在自减的时候输出负数。

5. 工作模式

注意到我们是可以忽略边沿的。比如可以仅在A相的上升沿和下降沿自增或者自减,而B相的两个状态忽略掉,不进行计数。

在前两种模式下,在一相的边沿计数,另一相忽略。

在第三种模式下,正转的状态都向上计数,反转的状态都向下计数。

一般都使用第三种模式。

在上图中,两个引脚都是用的第三种模式。

一个引脚不变,另一个引脚连续跳变好几次,可以归为毛刺信号。毛刺信号可以滤掉。正交编码器可以帮助我们滤掉这种噪声。

来看TI1反相的情况:

相关推荐
solomonzw2 分钟前
物联网系统搭建
单片机·嵌入式硬件
练习&两年半18 分钟前
C语言:51单片机 程序设计基础
c语言·开发语言·单片机·51单片机
电气_空空30 分钟前
基于单片机和Wifi技术的智能台灯设计
单片机·嵌入式硬件·毕业设计·毕设
DOMINICHZL2 小时前
STM32 RTC实时时钟详解与HAL库实战教程
stm32·单片机
亿道电子Emdoor2 小时前
【ARM】DS如何查看工程的堆栈使用情况
arm开发·stm32·单片机·arm
子豪-中国机器人3 小时前
2月28日,三极管测量,水利-51单片机
单片机·嵌入式硬件·51单片机
陌夏微秋3 小时前
STM32单片机芯片与内部111 STM32 DSP内核 介绍 功能 库与源码
stm32·单片机·嵌入式硬件·硬件架构·硬件工程·信息与通信·智能硬件
盐析大白兔3 小时前
STM32G431RBT6——(2)浅析Cortex-M4内核
stm32·单片机·嵌入式硬件
鹏展-penggeon4 小时前
STM32实战——ESP8266 WIFI模块
stm32