目录
3.1.1 QEPxA/XCLK and QEPxB/XDIR
3.1.2 QEPI: Index or Zero Marker
接F28377D双核开发经验(eQEP)第一篇的内容,继续介绍F28377D的eQEP模块,第一篇文章链接如下:https://blog.csdn.net/TZ3200/article/details/143192113?spm=1001.2014.3001.5501
https://blog.csdn.net/TZ3200/article/details/143192113?spm=1001.2014.3001.5501
本篇为eQEP模块整体结构描述和正交解码单元(QDU)介绍。
3.eQEP模块整体结构描述
本部分介绍了eQEP模块输入、寄存器地址映射和功能描述。
3.1 eQEP模块输入引脚
eQEP输入包括两个用于正交时钟模式(此时为EQEPxA和EQEPxB)或方向计数模式(此时为XCLK和XDIR)的引脚,一个索引脉冲信号输入引脚(EQEPxI)和一个用来触发锁存eQEP模块内部计数器值的引脚(EQEPxS)。eQEP模块要求QEPA、QEPB和QEPI在进入模块之前与SYSCLK同步。
3.1.1 QEPxA/XCLK and QEPxB/XDIR
这两个引脚可以用于正交时钟模式或方向计数模式。
正交时钟模式:编码器给eQEP模块提供两个相位相差90度的方波信号(A和B)。 这种相位关系用于确定电机转子的旋转方向、根据脉冲信号的频率计算转子当前转速以及根据脉冲信号的个数计算转子当前位置。对于顺时针旋转,QEPA信号超前QEPB信号,反之亦然。eQEP模块的正交解码器使用这两个输入来生成正交时钟和旋转方向信号。
方向计数模式:在方向计数模式下,方向信号(XDIR)和时钟信号(XCLK)直接由外部源提供。一些位置编码器具有这种类型的输出,而不是正交输出。QEPA引脚作为时钟输入引脚,而QEPB引脚作为方向输入引脚。
3.1.2 QEPI: Index or Zero Marker
编码器使用一个索引信号来确定一个绝对的起始位置,从这个位置开始,位置信息通过正交脉冲进行增量编码。eQEP模块的这个引脚连接到编码器的索引输出(通常为编码器的Z相)可以根据该索引信号在每个旋转周期重置位置计数器。
3.1.3 QEPS: Strobe Input
这路信号用来锁存eQEP模块内部的计数器的值,通常这路信号由传感器或者限位开关提供,用来提醒控制器电机已经转到指定位置。
3.2 寄存器地址映射
表1列出了寄存器名称及其存储位置、大小和复位值。
3.3 eQEP模块功能描述
eQEP外设模块包含以下主要功能部分(如图1所示)
- 正交解码单元(QDU)
- 用于位置测量的位置计数器和控制单元(PCCU)
- 用于低速测量的正交边沿捕获单元(QCAP)
- 用于速度/频率测量的单元时间基准(UTIME)
- 用于检测转动停止的看门狗定时器(QWDOG)
4. 正交解码单元(QDU)
图2展示了正交解码单元(QDU)的结构框图。
4.1 位置计数器输入模式
位置计数器的输入模式由QDECCTL[QSRC]决定,主要包括以下四种:正交计数模式、方向计数模式、增计数模式以及减计数模式。
4.1.1 正交计数模式
在正交计数模式下,方向判断逻辑电路通过判断QEPA及QEPB之间的相位关系来获得旋转方向,并存储在QEPSTS[QDF]中。表2和图3分别以真值表和状态机方式来说明方向判断逻辑电路的工作过程。
EQPA及EQPB的上升沿和下降沿都将作为位置计数器的触发事件,因此eQEP逻辑产生的计数脉冲的频率是每个输人脉冲的4倍,图4给出了eQEP模块计数时钟及方向的解码逻辑。
正常情况下QEPA与QEPB之间的相位将相差90°,当系统检测到两者之间的相位同步时,会将QFLG寄存器中的相位错误标志位PHE置位,同时可以选择产生中断事件。
正常情况下QEPA连接到解码器的输入端A,QEPB连接到解码器的输入端B,可通过设定QDECCTL寄存器中的SWAP位将两者交换,即 QEPA接到 B,而 QEPB 接到 A。
4.1.2 方向计数模式
有些编码器直接提供方向信号以及计数时钟,在这种情况下可使用方向计数模式,QEPA直接为位置计数器提供计数脉冲XCLK,QEPB为位置计数器提供方向信息XDIR。当QEPB为高时,位置计数器在每个计数时钟的上升沿增加;当QEPB为低时,位置计数器在每个计数时钟的上升沿减小。
4.1.3 增计数模式
计数器的方向直接被硬件设定为增计数模式,位置计数器用来测量QEPA输入信号的频率。将QDECCTL[XCR]置位将使能QEPA输人的2个边沿都产生计数脉冲,从而将检测精度提高一倍。
4.1.4 减计数模式
计数器的方向直接被硬件设定为减计数模式,位置计数器用来测量QEPA输入信号的频率。将QDECCTL[XCR]置位将使能QEPA输入的2个边沿都产生计数脉冲,从而将检测精度提高一倍。
4.2 输入极性选择
eQEP模块的每路输人信号都可通过 QDECCTL[8:5]位进行取反,例如,将QDECCTL[QIP] 置位会将索引脉冲取反。
4.3 位置比较同步输出功能
eQEP模块包括一个位置比较单元,当位置计数寄存器QPOSCNT 的值与位置比较寄存器QPOSCMP的值相等时会产生一个同步信号。此路同步信号可通过EQEPI或EQEPS引脚输出。
将QDECCTL[SOEN]置位将使能比较同步输出功能,通过 QDECCTL[SPSEL]可在EQEPI和EQEPS之间选择同步信号的输出引脚。
第二篇&spm=1001.2101.3001.5002&articleId=143193076&d=1&t=3&u=b7ccac865bff46e9a59ba7c125d91166)
1724

被折叠的 条评论
为什么被折叠?



