SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
A single track of slots patterns the periphery of an incremental encoder disk, as shown in Figure 31-62. These slots create an alternating pattern of dark and light lines. The disk count is defined as the number of dark/light line pairs that occur per revolution (lines per revolution). As a rule, a second track is added to generate a signal that occurs once per revolution (index signal: QEPI), which can be used to indicate an absolute position. Encoder manufacturers identify the index pulse using different terms such as index, marker, home position, and zero reference.
To derive direction information, the lines on the disk are read out by two different photo-elements that "look" at the disk pattern with a mechanical shift of 1/4 the pitch of a line pair between them. This shift is realized with a reticle or mask that restricts the view of the photo-element to the desired part of the disk lines. As the disk rotates, the two photo-elements generate signals that are shifted 90 degrees out of phase from each other. These are commonly called the quadrature QEPA and QEPB signals. The clockwise direction for most encoders is defined as the QEPA channel going positive before the QEPB channel and vise versa as shown in Figure 31-63.
The encoder wheel typically makes one revolution for every revolution of the motor or the wheel may be at a geared rotation ratio with respect to the motor. Therefore, the frequency of the digital signal coming from the QEPA and QEPB outputs varies proportionally with the velocity of the motor. For example, a 2000-line encoder directly coupled to a motor running at 5000 revolutions per minute (rpm) results in a frequency of 166.6 KHz, so by measuring the frequency of either the QEPA or QEPB output, the processor can determine the velocity of the motor.
Quadrature encoders from different manufacturers come with two forms of index pulse (gated index pulse or ungated index pulse) as shown in Figure 31-64. A nonstandard form of index pulse is ungated. In the ungated configuration, the index edges are not necessarily coincident with A and B signals. The gated index pulse is aligned to any of the four quadrature edges and width of the index pulse and can be equal to a quarter, half, or full period of the quadrature signal.
Some typical applications of shaft encoders include robotics and even computer input in the form of a mouse. Inside your mouse you can see where the mouse ball spins a pair of axles (a left/right, and an up/down axle). These axles are connected to optical shaft encoders that effectively tell the computer how fast and in what direction the mouse is moving.
General Issues: Estimating velocity from a digital position sensor is a cost-effective strategy in motor control. Two different first order approximations for velocity may be written as:
where
v(k): Velocity at time instant k
x(k): Position at time instant k
x(k-1): Position at time instant k - 1
T: Fixed unit time or inverse of velocity calculation rate
ΔX: Incremental position movement in unit time
t(k): Time instant "k"
t(k-1): Time instant "k - 1"
X: Fixed unit position
ΔT: Incremental time elapsed for unit position movement.
Equation 16 is the conventional approach to velocity estimation and it requires a time base to provide unit time event for velocity calculation. Unit time is basically the inverse of the velocity calculation rate.
The encoder count (position) is read once during each unit time event. The quantity [x(k) - x(k-1)] is formed by subtracting the previous reading from the current reading. Then the velocity estimate is computed by multiplying by the known constant 1/T (where T is the constant time between unit time events and is known in advance).
Estimation based on Equation 16 has an inherent accuracy limit directly related to the resolution of the position sensor and the unit time period T. For example, consider a 500-line per revolution quadrature encoder with a velocity calculation rate of 400 Hz. When used for position the quadrature encoder gives a four-fold increase in resolution, in this case, 2000 counts per revolution. The minimum rotation that can be detected is therefore 0.0005 revolutions, which gives a velocity resolution of 12 rpm when sampled at 400 Hz. While this resolution may be satisfactory at moderate or high speeds, for example, 1% error at 1200 rpm, it would clearly prove inadequate at low speeds. In fact, at speeds below 12 rpm, the speed estimate would erroneously be zero much of the time.
At low speed, Equation 17 provides a more accurate approach. It requires a position sensor that outputs a fixed interval pulse train, such as the aforementioned quadrature encoder. The width of each pulse is defined by motor speed for a given sensor resolution. Equation 17 can be used to calculate motor speed by measuring the elapsed time between successive quadrature pulse edges. However, this method suffers from the opposite limitation, as does Equation 16. A combination of relatively large motor speeds and high sensor resolution makes the time interval ΔT small, and thus more greatly influenced by the timer resolution. This can introduce considerable error into high-speed estimates.
For systems with a large speed range (that is, speed estimation is needed at both low and high speeds), one approach is to use Equation 17 at low speed and have the software switch over to Equation 16 when the motor speed rises above some specified threshold.
This section provides the eQEP functional description and corrsponding functional details about EQEPx inputs .
Multiple identical eQEP modules can be contained in a system. For actual number of eQEP modules integrated in the device, refer to the Section 31.1.3. The letter x within a signal or module name is used to indicate a generic eQEP instance on a device. For example, output interrupt request, EQEP1A belongs to eQEP1, EQEP2A belongs to eQEP2, etc.
The eQEP peripheral contains the following major functional units (as shown in Figure 31-65):
The eQEP inputs include two pins for quadrature-clock mode or direction-count mode, an index (or 0 marker), and a strobe input.
Clock and direction input to position counter is selected using the QSRC bit in the eQEP decoder control register (EQEP_QDECCTL), based on interface input requirement as follows:
The quadrature decoder generates the direction and clock to the position counter in quadrature count mode.
The direction decoding logic of the eQEP circuit determines which one of the sequences (QEPA, QEPB) is the leading sequence and accordingly updates the direction information in the QDF bit in the eQEP status register (EQEP_QEPSTS). Table 31-140 and Figure 31-67 show the direction decoding logic in truth table and state machine form. Both edges of the QEPA and QEPB signals are sensed to generate count pulses for the position counter. Therefore, the frequency of the clock generated by the eQEP logic is four times that of each input sequence. Figure 31-68 shows the direction decoding and clock generation from the eQEP input signals.
In normal operating conditions, quadrature inputs QEPA and QEPB will be 90 degrees out of phase. The phase error flag (PHE) is set in the EQEP_QFLG register when edge transition is detected simultaneously on the QEPA and QEPB signals to optionally generate interrupts. State transitions marked by dashed lines in Figure 31-67 are invalid transitions that generate a phase error.
The eQEP position counter provides 4x times the resolution of an input clock by generating a quadrature-clock (QCLK) on the rising/falling edges of both eQEP input clocks (QEPA and QEPB) as shown in Figure 31-68.
In normal quadrature count operation, QEPA input is fed to the QA input of the quadrature decoder and the QEPB input is fed to the QB input of the quadrature decoder. Reverse counting is enabled by setting the SWAP bit in the eQEP decoder control register (EQEP_QDECCTL). This will swap the input to the quadrature decoder thereby reversing the counting direction.
Previous Edge | Present Edge | QDIR | QPOSCNT |
---|---|---|---|
QA↑ | QB↑ | UP | Increment |
QB↓ | DOWN | Decrement | |
QA↓ | TOGGLE | Increment or Decrement | |
QA↓ | QB↓ | UP | Increment |
QB↑ | DOWN | Decrement | |
QA↑ | TOGGLE | Increment or Decrement | |
QB↑ | QA↑ | DOWN | Increment |
QA↓ | UP | Decrement | |
QB↓ | TOGGLE | Increment or Decrement | |
QB↓ | QA↓ | DOWN | Increment |
QA↑ | UP | Decrement | |
QB↑ | TOGGLE | Increment or Decrement |
Some position encoders provide direction and clock outputs, instead of quadrature outputs. In such cases, direction-count mode can be used. QEPA input will provide the clock for position counter and the QEPB input will have the direction information. The position counter is incremented on every rising edge of a QEPA input when the direction input is high and decremented when the direction input is low.
The counter direction signal is hard-wired for up count and the position counter is used to measure the frequency of the QEPA input. Setting of the XCR bit in the eQEP decoder control register (EQEP_QDECCTL) enables clock generation to the position counter on both edges of the QEPA input, thereby increasing the measurement resolution by 2× factor.
The counter direction signal is hardwired for a down count and the position counter is used to measure the frequency of the QEPA input. Setting of the XCR bit in the eQEP decoder control register (EQEP_QDECCTL) enables clock generation to the position counter on both edges of a QEPA input, thereby increasing the measurement resolution by 2× factor.
Each eQEP input can be inverted using the in the eQEP decoder control register (EQEP_QDECCTL[8:5]) control bits. As an example, setting of the QIP bit in EQEP_QDECCTL inverts the index input.
The eQEP peripheral includes a position-compare unit that is used to generate the position-compare sync signal on compare match between the position counter register (EQEP_QPOSCNT) and the position-compare register (EQEP_QPOSCMP). This sync signal can be output using an index pin or strobe pin of the EQEP peripheral.
Setting the SOEN bit in the eQEP decoder control register (EQEP_QDECCTL) enables the position-compare sync output and the SPSEL bit in EQEP_QDECCTL selects either an eQEP index pin or an eQEP strobe pin.
The position counter and control unit provides two configuration registers (EQEP_QEPCTL and EQEP_QPOSCTL) for setting up position counter operational modes, position counter initialization/latch modes and position-compare logic for sync signal generation.
Position counter data may be captured in different manners. In some systems, the position counter is accumulated continuously for multiple revolutions and the position counter value provides the position information with respect to the known reference. An example of this is the quadrature encoder mounted on the motor controlling the print head in the printer. Here the position counter is reset by moving the print head to the home position and then position counter provides absolute position information with respect to home position.
In other systems, the position counter is reset on every revolution using index pulse and position counter provides rotor angle with respect to index pulse position.
Position counter can be configured to operate in following four modes
In all the above operating modes, position counter is reset to 0 on overflow and to QPOSMAX bifield value in EQEP_QPOSMAX register on underflow. Overflow occurs when the position counter counts up after QPOSMAX value. Underflow occurs when position counter counts down after "0". Interrupt flag is set to indicate overflow/underflow in EQEP_QFLG register.
If the index event occurs during the forward movement, then position counter is reset to 0 on the next eQEP clock. If the index event occurs during the reverse movement, then the position counter is reset to the value in the EQEP_QPOSMAX register on the next eQEP clock.
First index marker is defined as the quadrature edge following the first index edge. The eQEP peripheral records the occurrence of the first index marker (EQEP_QEPSTS[FIMF]) and direction on the first index event marker (EQEP_QEPSTS[FIDF]) in EQEP_QEPSTS registers, it also remembers the quadrature edge on the first index marker so that same relative quadrature transition is used for index event reset operation.
For example, if the first reset operation occurs on the falling edge of QEPB during the forward direction, then all the subsequent reset must be aligned with the falling edge of QEPB for the forward rotation and on the rising edge of QEPB for the reverse rotation as shown in Figure 31-69.
The position-counter value is latched to the EQEP_QPOSILAT register and direction information is recorded in the EQEP_QEPSTS[QDLF] bit on every index event marker. The position-counter error flag (EQEP_QEPSTS[PCEF]) and error interrupt flag (EQEP_QFLG[PCE]) are set if the latched value is not equal to 0 or QPOSMAX. The position-counter error flag (EQEP_QEPSTS[PCEF]) is updated on every index event marker and an interrupt flag (EQEP_QFLG[PCE]) will be set on error that can be cleared only through software.
The index event latch configuration EQEP_QEPCTL[5:4] IEL bits are ignored in this mode and position counter error flag/interrupt flag are generated only in index event reset mode.
If the position counter is equal to QPOSMAX (in EQEP_QPOSMAX register), then the position counter is reset to 0 on the next eQEP clock for forward movement and position counter overflow flag is set. If the position counter is equal to ZERO, then the position counter is reset to QPOSMAX on the next QEP clock for reverse movement and position counter underflow flag is set. Figure 31-70 shows the position counter reset operation in this mode.
First index marker is defined as the quadrature edge following the first index edge. The eQEP peripheral records the occurrence of the first index marker (EQEP_QEPSTS[FIMF]) and direction on the first index event marker (EQEP_QEPSTS[FIDF]) in the EQEP_QEPSTS registers; it also remembers the quadrature edge on the first index marker so that the same relative quadrature transition is used for the software index marker (EQEP_QEPCTL[5:4] IEL=0b11).
If the index event occurs during forward movement, then the position counter is reset to 0 on the next eQEP clock. If the index event occurs during the reverse movement, then the position counter is reset to the value in the EQEP_QPOSMAX register on the next eQEP clock. Note that this is done only on the first occurrence and subsequently the position counter value is not reset on an index event; rather, it is reset based on maximum position as described in Section 31.4.15.
First index marker is defined as the quadrature edge following the first index edge. The eQEP peripheral records the occurrence of the first index marker (EQEP_QEPSTS[FIMF]) and direction on the first index event marker (EQEP_QEPSTS[FIDF]) in EQEP_QEPSTS registers. It also remembers the quadrature edge on the first index marker so that same relative quadrature transition is used for software index marker (EQEP_QEPCTL[5:4] IEL= 0b11).
In this mode, the QPOSCNT value is latched to the EQEP_QPOSLAT register and then the QPOSCNT field is reset (to 0 or the QPOSMAX value in the EQEP_QPOSMAX register, depending on the direction mode selected by EQEP_QDECCTL[QSRC] bits on a unit time event). This is useful for frequency measurement.
The eQEP index and strobe input can be configured to latch the position counter QPOSCNT (EQEP_QPOSCNT) into QPOSILAT (EQEP_QPOSILAT register) and QPOSSLAT (EQEP_QPOSSLAT register) bitfields, respectively, on occurrence of a definite event on these pins.
In some applications, it may not be desirable to reset the position counter on every index event and instead it may be required to operate the position counter in full 32-bit mode (EQEP_QEPCTL[13:12] PCRM = 0b01 and EQEP_QEPCTL[13:12] PCRM = 0b10 modes).
In such cases, the eQEP position counter can be configured to latch on the following events and direction information is recorded in the EQEP_QEPSTS[QDLF] bit on every index event marker.
This is particularly useful as an error checking mechanism to check if the position counter accumulated the correct number of counts between index events. As an example, the 1000-line encoder must count 4000 times when moving in the same direction between the index events.
The index event latch interrupt flag (EQEP_QFLG[IEL]) is set when the position counter is latched to the EQEP_QPOSILAT register. The index event latch configuration bits (QEPCTZ[IEL]) are ignored when EQEP_QEPCTL[13:12] PCRM = 0b00.
The position counter value (QPOSCNT) is latched to the EQEP_QPOSILAT register on every rising edge of an index input.
The position counter value (QPOSCNT) is latched to the EQEP_QPOSILAT register on every falling edge of index input.
The first index marker is defined as the quadrature edge following the first index edge. The eQEP peripheral records the occurrence of the first index marker (EQEP_QEPSTS[FIMF]) and direction on the first index event marker (EQEP_QEPSTS[FIDF]) in the EQEP_QEPSTS registers. It also remembers the quadrature edge on the first index marker so that same relative quadrature transition is used for latching the position counter (EQEP_QEPCTL[5:4] IEL = 0b11).
Figure 31-71 shows the position counter latch using an index event marker.
The position-counter value is latched to the EQEP_QPOSSLAT register on the rising edge of the strobe input by clearing the EQEP_QEPCTL[6] SEL bit.
If the EQEP_QEPCTL[6] SEL bit is set, then the position counter value is latched to the EQEP_QPOSSLAT register on the rising edge of the strobe input for forward direction and on the falling edge of the strobe input for reverse direction as shown in Figure 31-72.
The strobe event latch interrupt flag (EQEP_QFLG[SEL]) is set when the position counter is latched to the EQEP_QPOSSLAT register.
The position counter can be initialized using following events:
The QEPI index input can be used to trigger the initialization of the position counter at the rising or falling edge of the index input.
If the EQEP_QEPCTL[9:8] IEI bits are 0b10, then the position counter (EQEP_QPOSCNT) is initialized with a value in the EQEP_QPOSINIT register on the rising edge of strobe input for forward direction and on the falling edge of strobe input for reverse direction.
The index event initialization interrupt flag (EQEP_QFLG[IEI]) is set when the position counter is initialized with a value in the EQEP_QPOSINIT register.
If the EQEP_QEPCTL[11:10] SEI bits are 0b10, then the position counter is initialized with a value in the EQEP_QPOSINIT register on the rising edge of strobe input.
If the EQEP_QEPCTL[11:10] SEI bits are 0b11, then the position counter (EQEP_QPOSCNT) is initialized with a value in the EQEP_QPOSINIT register on the rising edge of strobe input for forward direction and on the falling edge of strobe input for reverse direction.
The strobe event initialization interrupt flag (EQEP_QFLG[SEI]) is set when the position counter is initialized with a value in the EQEP_QPOSINIT register.
The position counter can be initialized in software by writing a '1' to the EQEP_QEPCTL[7] SWI bit, which will automatically be cleared after initialization.
The eQEP peripheral includes a position-compare unit that is used to generate a sync output and/or interrupt on a position-compare match. Figure 31-73 shows a diagram. The position-compare (EQEP_QPOSCMP) register is shadowed and shadow mode can be enabled or disabled using the EQEP_QPOSCTL[PSSHDW] bit. If the shadow mode is not enabled, the CPU writes directly to the active position compare register.
In shadow mode, you can configure the position-compare unit (EQEP_QPOSCTL[PCLOAD]) to load the shadow register value into the active register on the following events and to generate the position-compare ready (EQEP_QFLG[PCR]) interrupt after loading.
The position-compare match (EQEP_QFLG[PCM]) is set when the position-counter value (QPOSCNT) matches with the active position-compare register (EQEP_QPOSCMP) and the position-compare sync output of the programmable pulse width is generated on compare match to trigger an external device.
For example, if EQEP_QPOSCMP bitfield QPOSCMP = 0x2, the position-compare unit generates a position-compare event on 1 to 2 transitions of the eQEP position counter for forward counting direction and on 3 to 2 transitions of the eQEP position counter for reverse counting direction (see Figure 31-74).
The pulse stretcher logic in the position-compare unit generates a programmable position-compare sync pulse output on the position-compare match. In the event of a new position-compare match while a previous position-compare pulse is still active, then the pulse stretcher generates a pulse of specified duration from the new position-compare event as shown in Figure 31-75.
The eQEP peripheral includes an integrated edge capture unit to measure the elapsed time between the unit position events as shown in Figure 31-76. This feature is typically used for low speed measurement using the following equation:
where,
The eQEP capture timer (QCTMR bitfield in EQEP_QCTMR register) runs from prescaled SYSCLKOUT and the prescaler is programmed by the EQEP_QCAPCTL[CCPS] bits. The capture timer QCTMR value is latched into the capture period register (EQEP_QCPRD) on every unit position event and then the capture timer is reset, a flag is set in EQEP_QEPSTS[UPEVNT] to indicate that new value is latched into the EQEP_QCPRD register. Software can check this status flag before reading the period register for low speed measurement and clear the flag by writing 1.
The system clock - SYSCLKOUT is the eQEP functional clock derived from the PWMSSn gateable interface and functional clock PWMSSn_GICLK, described in Section 31.1.3.
Time measurement (ΔT) between unit position events will be correct if the following conditions are met:
The capture unit sets the eQEP overflow error flag (EQEP_QEPSTS[COEF]) in the event of capture timer overflow between unit position events. If a direction change occurs between the unit position events, then an error flag is set in the status register (EQEP_QEPSTS[CDEF]).
Capture Timer (EQEP_QCTMR register) and Capture period register (EQEP_QCPRD) can be configured to latch on following events.
If the EQEP_QEPCTL[2] QCLM bit is cleared, then the capture timer and capture period values are latched into the EQEP_QCTMRLAT and EQEP_QCPRDLAT registers, respectively, when the CPU reads the position counter in EQEP_QPOSCNT.
If the EQEP_QEPCTL[2] QCLM bit is set, then the position counter, capture timer, and capture period values are latched into the EQEP_QPOSLAT, EQEP_QCTMRLAT and EQEP_QCPRDLAT registers, respectively, on unit time out.
Figure 31-78 shows the capture unit operation along with the position counter.
The EQEP_QCAPCTL register should not be modified dynamically (such as switching CAPCLK prescaling mode from QCLK/4 to QCLK/8). The capture unit must be disabled before changing the prescaler.
Velocity Calculation Equations:
where
v(k): Velocity at time instant k
x(k): Position at time instant k
x(k-1): Position at time instant k - 1
T: Fixed unit time or inverse of velocity calculation rate
ΔX: Incremental position movement in unit time
X: Fixed unit position
ΔT: Incremental time elapsed for unit position movement
t(k): Time instant "k"
t(k-1): Time instant "k - 1"
Unit time (T) and unit period (X) are configured using the EQEP_QUPRD and EQEP_QCAPCTL[UPPS] registers. Incremental position output and incremental time output is available in the EQEP_QPOSLAT and EQEP_QCPRDLAT registers.
Parameter | Relevant Register to Configure or Read the Information |
---|---|
T | Unit Period Register (EQEP_QUPRD) |
ΔX | Incremental Position = QPOSLAT(k) - QPOSLAT(K - 1) |
X | Fixed unit position defined by sensor resolution and ZCAPCTL[UPPS] bits |
ΔT | Capture Period Latch (QCPRDLAT) |
The eQEP peripheral contains a 16-bit watchdog timer that monitors the quadrature-clock to indicate proper operation of the motion-control system. The eQEP watchdog timer is clocked from SYSCLKOUT/64 and the quadrate clock event (pulse) resets the watchdog timer. If no quadrature-clock event is detected until a period match (QWDPRD = QWDTMR), then the watchdog timer will time out and the watchdog interrupt flag will be set (EQEP_QFLG[WTO]). The time-out value is programmable through the watchdog period register (EQEP_QWDPRD).
The eQEP peripheral includes a 32-bit timer (QUTMR) that is clocked by SYSCLKOUT to generate periodic interrupts for velocity calculations. The unit time out interrupt is set (EQEP_QFLG[UTO]) when the unit timer (QUTMR) matches the unit period register (EQEP_QUPRD).
The eQEP peripheral can be configured to latch the position counter, capture timer, and capture period values on a unit time out event so that latched values are used for velocity calculation as described in Section 31.4.23.
Figure 31-81 shows how the interrupt mechanism works in the EQEP module.
Eleven interrupt events (PCE, PHE, QDC, WTO, PCU, PCO, PCR, PCM, SEL, IEL, and UTO) can be generated. The interrupt control register (EQEP_QEINT) is used to enable/disable individual interrupt event sources. The interrupt flag register (EQEP_QFLG) indicates if any interrupt event has been latched and contains the global interrupt flag bit (INT). An interrupt pulse is generated only to the interrupt controller if any of the interrupt events is enabled, the flag bit is 1 and the INT flag bit is 0. The interrupt service routine will need to clear the global interrupt flag bit and the serviced event, via the interrupt clear register (EQEP_QCLR), before any other interrupt pulses are generated. You can force an interrupt event by way of the interrupt force register (EQEP_QFRC), which is useful for test purposes.
Table 31-141 lists the registers with their memory locations, sizes, and reset values.
Offset | Acronym | Register Description | Size(×16)/ #shadow |
---|---|---|---|
0h | EQEP_QPOSCNT | eQEP Position Counter Register | 2/0 |
4h | EQEP_QPOSINIT | eQEP Position Counter Initialization Register | 2/0 |
8h | EQEP_QPOSMAX | eQEP Maximum Position Count Register | 2/0 |
Ch | EQEP_QPOSCMP | eQEP Position-Compare Register | 2/1 |
10h | EQEP_QPOSILAT | eQEP Index Position Latch Register | 2/0 |
14h | EQEP_QPOSSLAT | eQEP Strobe Position Latch Register | 2/0 |
18h | EQEP_QPOSLAT | eQEP Position Counter Latch Register | 2/0 |
1Ch | EQEP_QUTMR | eQEP Unit Timer Register | 2/0 |
20h | EQEP_QUPRD | eQEP Unit Period Register | 2/0 |
24h | EQEP_QWDTMR | eQEP Watchdog Timer Register | 1/0 |
26h | EQEP_QWDPRD | eQEP Watchdog Period Register | 1/0 |
28h | EQEP_QDECCTL | eQEP Decoder Control Register | 1/0 |
2Ah | EQEP_QEPCTL | eQEP Control Register | 1/0 |
2Ch | EQEP_QCAPCTL | eQEP Capture Control Register | 1/0 |
2Eh | EQEP_QPOSCTL | eQEP Position-Compare Control Register | 1/0 |
30h | EQEP_QEINT | eQEP Interrupt Enable Register | 1/0 |
32h | EQEP_QFLG | eQEP Interrupt Flag Register | 1/0 |
34h | EQEP_QCLR | eQEP Interrupt Clear Register | 1/0 |
36h | EQEP_QFRC | eQEP Interrupt Force Register | 1/0 |
38h | EQEP_QEPSTS | eQEP Status Register | 1/0 |
3Ah | EQEP_QCTMR | eQEP Capture Timer Register | 1/0 |
3Ch | EQEP_QCPRD | eQEP Capture Period Register | 1/0 |
3Eh | EQEP_QCTMRLAT | eQEP Capture Timer Latch Register | 1/0 |
40h | EQEP_QCPRDLAT | eQEP Capture Period Latch Register | 1/0 |
5Ch | EQEP_REVID | eQEP Revision ID Register | 2/0 |
This section provides description of the PWMSS eQEP relevant functional registers.
Module Name | Module Base Address L4_PER2 Interconnect | Size (Bytes) |
---|---|---|
PWMSS1_EQEP | 0x4843 E180 | 116 Bytes |
PWMSS2_EQEP | 0x4844 0180 | 116 Bytes |
PWMSS3_EQEP | 0x4844 2180 | 116 Bytes |
Register Name | Type | Register Width (Bits) | Address Offset | PWMSS1_EQEP Physical Address L4_PER2 Interconnect | PWMSS2_EQEP Physical Address L4_PER2 Interconnect | PWMSS3_EQEP Physical Address L4_PER2 Interconnect |
---|---|---|---|---|---|---|
EQEP_QPOSCNT | RW | 32 | 0x0 | 0x4843 E180 | 0x4844 0180 | 0x4844 2180 |
EQEP_QPOSINIT | RW | 32 | 0x4 | 0x4843 E184 | 0x4844 0184 | 0x4844 2184 |
EQEP_QPOSMAX | RW | 32 | 0x8 | 0x4843 E188 | 0x4844 0188 | 0x4844 2188 |
EQEP_QPOSCMP | RW | 32 | 0xC | 0x4843 E18C | 0x4844 018C | 0x4844 218C |
EQEP_QPOSILAT | R | 32 | 0x10 | 0x4843 E190 | 0x4844 0190 | 0x4844 2190 |
EQEP_QPOSSLAT | R | 32 | 0x14 | 0x4843 E194 | 0x4844 0194 | 0x4844 2194 |
EQEP_QPOSLAT | R | 32 | 0x18 | 0x4843 E198 | 0x4844 0198 | 0x4844 2198 |
EQEP_QUTMR | RW | 32 | 0x1C | 0x4843 E19C | 0x4844 019C | 0x4844 219C |
EQEP_QUPRD | RW | 32 | 0x20 | 0x4843 E1A0 | 0x4844 01A0 | 0x4844 21A0 |
EQEP_QWDTMR | RW | 16 | 0x24 | 0x4843 E1A4 | 0x4844 01A4 | 0x4844 21A4 |
EQEP_QWDPRD | RW | 16 | 0x26 | 0x4843 E1A6 | 0x4844 01A6 | 0x4844 21A6 |
EQEP_QDECCTL | RW | 16 | 0x28 | 0x4843 E1A8 | 0x4844 01A8 | 0x4844 21A8 |
EQEP_QEPCTL | RW | 16 | 0x2A | 0x4843 E1AA | 0x4844 01AA | 0x4844 21AA |
EQEP_QCAPCTL | RW | 16 | 0x2C | 0x4843 E1AC | 0x4844 01AC | 0x4844 21AC |
EQEP_QPOSCTL | RW | 16 | 0x2E | 0x4843 E1AE | 0x4844 01AE | 0x4844 21AE |
EQEP_QEINT | RW | 16 | 0x30 | 0x4843 E1B0 | 0x4844 01B0 | 0x4844 21B0 |
EQEP_QFLG | R | 16 | 0x32 | 0x4843 E1B2 | 0x4844 01B2 | 0x4844 21B2 |
EQEP_QCLR | RW | 16 | 0x34 | 0x4843 E1B4 | 0x4844 01B4 | 0x4844 21B4 |
EQEP_QFRC | RW | 16 | 0x36 | 0x4843 E1B6 | 0x4844 01B6 | 0x4844 21B6 |
EQEP_QEPSTS | RW | 16 | 0x38 | 0x4843 E1B8 | 0x4844 01B8 | 0x4844 21B8 |
EQEP_QCTMR | RW | 16 | 0x3A | 0x4843 E1BA | 0x4844 01BA | 0x4844 21BA |
EQEP_QCPRD | RW | 16 | 0x3C | 0x4843 E1BC | 0x4844 01BC | 0x4844 21BC |
EQEP_QCTMRLAT | R | 16 | 0x3E | 0x4843 E1BE | 0x4844 01BE | 0x4844 21BE |
EQEP_QCPRDLAT | RW | 16 | 0x40 | 0x4843 E1C0 | 0x4844 01C0 | 0x4844 21C0 |
EQEP_REVID | R | 32 | 0x5C | 0x4843 E1DC | 0x4844 01DC | 0x4844 21DC |
Address offset | 0x0 | ||||
Physical Address | 0x4843 E180 0x4844 0180 0x4844 2180 | Instance | PWMSS1_EQEP PWMSS2_EQEP PWMSS3_EQEP | ||
Description | |||||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 1 |