【江科协-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反相的情况:

相关推荐
不悔哥4 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20164 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子4 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡4 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5554 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡4 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9664 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛4 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅4 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员4 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程