您好,欢迎访问三七文档
1.测速简介测速的两种方法:上述第一种方法的测速精度受到码盘精度(线数)和单位时间周期T的限制。例如,有一500线的码盘,T为0.0025秒(速度计算率为400Hz)。码盘转一圈产生2000个脉冲,所以能被检测到的最小旋转是0.0005转。因此速度检测的分辨率就是0.0005/0.0025=0.2rps=12rpm。这样的速度检测分辨率在中高速下也许能满足要求,如,转速为1200rpm,则误差为1%,但在低速下,显然误差是比较大的。事实上,在低于12rpm的转速下,很多时候检测速度值都会为零。在低速时,第二种方法可以获得更好的精度。但是,第二种方法的限制在于,如果转速太快,那么在固定的角位移之间,时间间隔很短,受时钟分辨率的影响就比较大。通常,在系统运行速度范围较宽的情况下,使DSP软件在低速时采用第二种速度检测方法,在高速时采用第一种速度检测方法。2.EQEP描述2.1EQEP的输入。如上图所示,EQEP功能模块的输入涉及4个GPIO。·EQEPA/XCLK和EQEPB/XDIR这两个pin可以被用于正交时钟模式(增量式)或者方位计数模式(绝对式)。(1).正交时钟模式eQEP编码器产生两列方波脉冲(A和B),互相错开90度,由相位的超前或者滞后判断转向。正交解码器(QDU)单元用这两列输入产生正交时钟和方向信号。(2).方位计数模式在这种模式下,位置和时钟信号直接由外部源提供,有些位置编码器有这种类型的输出,而不是增量式输出。QEPA脚提供时钟输入,而QEPB脚提供位置输入。·QEPI刻度信号(index)或零位标记eQEP编码器用刻度信号来标记绝对开始位置。这个脚与编码器的index输出相连接。当期望的事件发生时,这个信号可以被用来初始化或者锁存位置计数器。·QEPS选通脉冲输入(strobeinput)。在选通脉冲脚(strobepin)上,当期望事件发生的时候,选通脉冲信号可以初始化或者锁存位置计数器。这个信号通常被连接到传感器或者限位开关上,用来指示电机已经到达了受限位置。2.2功能描述eQEP外设功能框图eQEP外设包含以下主要的功能单元:partofGPIOMUX,QDU,PCCU,QCAP,UTIME,QWDOG3.正交解码单元(QDU)3.1位置计数器输入模式根据输入信号,位置计数器的时钟和方向输入可以通过QDECCTL[QSRC]位来配置,有四种模式:(1)正交计数模式(Quadrature-countmode),QDECCTL[QSRC]=00(2)方位计数模式(Direction-countmode),QDECCTL[QSRC]=01(3)UP-countmode(4)Down-countmode3.1.1正交计数模式(Quadrature-countmode)在这种模式下,正交解码器为位置计数器产生方向和时钟信号。方向解码逻辑根据QEPA和QEPB的超前滞后关系确定方向信息,并据此刷新QEPSTS[QDF]标志位(方向标志位)。4.位置计数器与控制单元(PCCU)两个相关的配置寄存器QEPCTL和QPOSCTL。4.1位置计数器工作模式可以被配置为以下4种模式:·位置计数器在indexevent复位·位置计数器在maximumposition复位·位置计数器在第一个indexevent复位·位置计数器在UnitTimeOutEvent复位(频率测量)在上面所有工作模式下,位置计数器只要发生溢出,就会被复位为“0”;只要发生下溢,就会被复位为“QPOSMAX”。溢出发生在位置计数器向上计数到达QPOSMAX值以后,下溢发生在位置计数器向下计数到达“0”以后。此时,QFLG寄存器的中断标志[INT]被置位,用来指示发生溢出/下溢。4.1.1位置计数器在indexevent复位(QEPCTL[PCRM]=00)4.1.2位置计数器在maximumposition复位(QEPCTL[PCRM]=01)4.1.3位置计数器在第一个indexevent复位(QEPCTL[PCRM]=10)4.1.4位置计数器在UnitTimeOutEvent复位(QEPCTL[PCRM]=11)此模式适合频率测量(速度测量)。在这种模式下,QPOSCNT的值被锁存在QPOSLAT寄存器里,然后QPOSCNT被复位(复位成“0”或者“QPOSMAX”,取决于QDECCTL[QSRC]位在unittimeevent的方向模式选择)4.2位置计数器锁存eQEP的index和strobe输入可以被配置成用来把位置计数器(QPOSCNT)锁存到QPOSILAT和QPOSSLAT,当各自pin上的特定事件发生的时候。4.2.1Indexevent锁存4.2.2Strobeevent锁存4.3位置计数器的初始化位置计数器可以用以下3种事件初始化·Indexevent·Strobeevent·Softwareinitialization4.3.1IndexEventInitialization(IEI)4.3.2StrobeEventInitialization(SEI)4.3.3SoftwareInitialization(SWI)4.4eQEP位置比较单元eQEP位置比较单元5.eQEP边缘捕捉单元(QCAP)这个单元用来测量两个unitpositionevent之间的时间间隔,特别适合用于低转速情况下的速度测量:eQEP的捕捉时钟(QCTMR)从SYSCLKOUT分频得到,而分频刻度通过QCAPCTL[CCPS]位来配置。在每个unitpositionevent,QCTMR的值都被锁存到捕捉周期寄存器QCPRD,然后QCTMR被复位为“0”。注:QCTMR是16位的时钟。在unitpositionevent之间测量的时间只有满足以下两个条件时才是正确的:·时钟计数不能超过65535。·不能有方向的改变。如果时钟计数溢出,则溢出错误标志位QEPSTS[COEF]被置位;如果方向改变,则方向错误标志为QEPSTS[CDEF]被置位。QCTMR和QCPRD可以被配置成当以下事件发生时锁存:·QPOSCNT寄存器被CPU读取这种模式下,QEPCTL[QCLM]要清零。当CPU读取位置计数器QPOSCNT的时候,捕捉时钟和捕捉周期的值分别被锁存到QCTMRLAT和QCPRDLAT寄存器。·Unittime-out事件这种模式下,QEPCTL[QCLM]要置位。当unittimeout发生的时候,位置计数器、捕捉时钟和捕捉周期的值分别被锁存到QPOSLAT、QCTMRLAT和QCPRDLAT寄存器。注意:QCAPCTL寄存器不能被动态修改(比如把CAPCLK的分频从QCLK/4改为QCLK/8)。在改变分频之前,捕捉单元一定要禁止掉。6.eQEPWatchdog7.UnitTimerBase8.eQEPInterruptStructure9.eQEPRegisters参见《TMS320x280xEnhancedQuadratureEncoderPulse(eQEP)Module》
本文标题:eQEP说明
链接地址:https://www.777doc.com/doc-6372220 .html