SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
| Address Offset | 0x0000 0000 | ||
| Physical Address | 0x4B23 0000 0x4B2B 0000 | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | Time Stamp Counter Register | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TSCNT | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | TSCNT | Active 32 bit-counter register that is used as the capture time-base | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 0004 | ||
| Physical Address | 0x4B23 0004 0x4B2B 0004 | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | Counter Phase Control Register | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CNTPHS | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | CNTPHS | Counter phase value register that can be programmed for phase lag/lead. This register shadows TSCNT and is loaded into PRUSS_ECAP_TSCNT upon either a SYNCI event or S/W force via a control bit. Used to achieve phase control synchronization with respect to other eCAP and EPWM time-bases. | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 0008 | ||
| Physical Address | 0x4B23 0008 0x4B2B 0008 | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | Capture-1 Register | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CAP1 | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | CAP1 | This register can be loaded (written) by the following. (a) Time-Stamp (that is, counter value) during a capture event. (b) Software may be useful for test purposes. (c) APRD active register when used in APWM mode. | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 000C | ||
| Physical Address | 0x4B23 000C 0x4B2B 000C | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | Capture-2 Register | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CAP2 | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | CAP2 | This register can be loaded (written) by the following. (a) Time- Stamp (that is, counter value) during a capture event. (b) Software may be useful for test purposes. (c) APRD active register when used in APWM mode. | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 0010 | ||
| Physical Address | 0x4B23 0010 0x4B2B 0010 | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | Capture-3 Register | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CAP3 | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | CAP3 | In CMP mode, this is a time-stamp capture register. In APWM mode, this is the period shadow (APRD) register. User software updates the PWM period value through this register. In this mode, CAP3 shadows CAP1. | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 0014 | ||
| Physical Address | 0x4B23 0014 0x4B2B 0014 | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | Capture-4 Register | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CAP4 | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | CAP4 | In CMP mode, this is a time-stamp capture register. In APWM mode, this is the compare shadow (ACMP) register. User software updates the PWM compare value through this register. In this mode, CAP4 shadows CAP2. | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 0028 | ||
| Physical Address | 0x4B23 0028 0x4B2B 0028 | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | ECAP Control Register1 | ||
| Type | RW | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FREE_SOFT | EVTFLTPS | CAPLDEN | CTRRST4 | CAP4POL | CTRRST3 | CAP3POL | CTRRST2 | CAP2POL | CTRRST1 | CAP1POL | |||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 15:14 | FREE_SOFT | Emulation Control 0x0 = TSCNT counter stops immediately on emulation suspend. 0x1 = TSCNT counter runs until = 0. 0x2 = TSCNT counter is unaffected by emulation suspend (Run Free). 0x3 = TSCNT counter is unaffected by emulation suspend (Run Free). | RW | 0x0 |
| 13:9 | EVTFLTPS | Event Filter prescale select: 0x0 = Divide by 1 (i.e,. no prescale, by-pass the prescaler) 0x1 = Divide by 2 0x2 = Divide by 4 0x3 = Divide by 6 0x4 = Divide by 8 0x5 = Divide by 10 0x1E = Divide by 60 0x1F = Divide by 62 | RW | 0x0 |
| 8 | CAPLDEN | Enable Loading of PRUSS_ECAP_CAP1 to PRUSS_ECAP_CAP4 registers on a capture event 0x0 = Disable PRUSS_ECAP_CAP1-PRUSS_ECAP_CAP4 register loads at capture event time. 0x1 = Enable PRUSS_ECAP_CAP1-PRUSS_ECAP_CAP4 register loads at capture event time. | RW | 0x0 |
| 7 | CTRRST4 | Counter Reset on Capture Event 4 0x0 = Do not reset counter on Capture Event 4 (absolute time stamp operation) 0x1 = Reset counter after Capture Event 4 time-stamp has been captured (used in difference mode operation) | RW | 0x0 |
| 6 | CAP4POL | Capture Event 4 Polarity select 0x0 = Capture Event 4 triggered on a rising edge (RE) 0x1 = Capture Event 4 triggered on a falling edge (FE) | RW | 0x0 |
| 5 | CTRRST3 | Counter Reset on Capture Event 3 0x0 = Do not reset counter on Capture Event 3 (absolute time stamp) 0x1 = Reset counter after Event 3 time-stamp has been captured (used in difference mode operation) | RW | 0x0 |
| 4 | CAP3POL | Capture Event 3 Polarity select 0x0 = Capture Event 3 triggered on a rising edge (RE) 0x1 = Capture Event 3 triggered on a falling edge (FE) | RW | 0x0 |
| 3 | CTRRST2 | Counter Reset on Capture Event 2 0x0 = Do not reset counter on Capture Event 2 (absolute time stamp) 0x1 = Reset counter after Event 2 time-stamp has been captured (used in difference mode operation) | RW | 0x0 |
| 2 | CAP2POL | Capture Event 2 Polarity select 0x0 = Capture Event 2 triggered on a rising edge (RE) 0x1 = Capture Event 2 triggered on a falling edge (FE) | RW | 0x0 |
| 1 | CTRRST1 | Counter Reset on Capture Event 1 0x0 = Do not reset counter on Capture Event 1 (absolute time stamp) 0x1 = Reset counter after Event 1 time-stamp has been captured (used in difference mode operation) | RW | 0x0 |
| 0 | CAP1POL | Capture Event 1 Polarity select 0x0 = Capture Event 1 triggered on a rising edge (RE) 0x1 = Capture Event 1 triggered on a falling edge (FE) | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 002A | ||
| Physical Address | 0x4B23 002A 0x4B2B 002A | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | ECAP Control Register 2 | ||
| Type | RW | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | APWMPOL | CAPAPWM | SWSYNC | SYNCO_SEL | SYNCI_EN | TSCNTSTP | REARMRESET | STOPVALUE | CONTONESHT | ||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 15:11 | RESERVED | R | 0x0 | |
| 10 | APWMPOL | APWM output polarity select. This is applicable only in APWM operating mode 0x0 = Output is active high (Compare value defines high time) 0x1 = Output is active low (Compare value defines low time) | RW | 0x0 |
| 9 | CAPAPWM | CAP/APWM operating mode select 0x0 = ECAP module operates in capture mode. This mode forces the following configuration. 0x1 = ECAP module operates in APWM mode. This mode forces the following configuration. | RW | 0x0 |
| 8 | SWSYNC | Software-forced Counter (TSCNT) Synchronizing. This provides a convenient software method to synchronize some or all ECAP time bases. In APWM mode, the synchronizing can also be done via the CTR = PRD event. Note: Selection CTR = PRD is meaningful only in APWM mode. However, a choice of CAP mode is also available if it may be of use. 0x0 = Writing a zero has no effect. Reading always returns a zero 0x1 = Writing a one forces a TSCNT shadow load of current ECAP module and any ECAP modules down-stream providing the SYNCO_SEL bits are 1'b00. After writing a 1, this bit returns to a zero. | RW | 0x0 |
| 7:6 | SYNCO_SEL | Sync-Out Select 0x0 = Select sync-in event to be the sync-out signal (pass through) 0x1 = Select CTR = PRD event to be the sync-out signal 0x2 = Disable sync out signal 0x3 = Disable sync out signal | RW | 0x0 |
| 5 | SYNCI_EN | Counter (TSCNT) Sync-In select mode 0x0 = Disable sync-in option 0x1 = Enable counter (TSCNT) to be loaded from PRUSS_ECAP_CNTPHS register upon either a SYNCI signal or a S/W force event. | RW | 0x0 |
| 4 | TSCNTSTP | Time Stamp (TSCNT) Counter Stop (freeze) Control 0x0 = TSCNT stopped 0x1 = TSCNT free-running | RW | 0x0 |
| 3 | REARMRESET | One-Shot Re-Arming Control, that is, wait for stop trigger. Note: The re-arm function is valid in one shot or continuous mode. 0x0 = Has no effect (reading always returns a 0) 0x1 = Arms the one-shot sequence as follows: 1) Resets the Mod4 counter to zero. 2) Unfreezes the Mod4 counter. 3) Enables capture register loads. | RW | 0x0 |
| 2:1 | STOPVALUE | Stop value for one-shot mode. This is the number (between 1 and 4) of captures allowed to occur before the CAP (1 through 4) registers are frozen, that is, capture sequence is stopped. Wrap value for continuous mode. This is the number (between 1 and 4) of the capture register in which the circular buffer wraps around and starts again. Notes: STOPVALUE is compared to Mod4 counter and, when equal, the following two actions occur. (1) Mod4 counter is stopped (frozen). (2) Capture register loads are inhibited. In one-shot mode, further interrupt events are blocked until re-armed. 0x0 = Stop after Capture Event 1 in one-shot mode. Wrap after Capture Event 1 in continuous mode. 0x1 = Stop after Capture Event 2 in one-shot mode. Wrap after Capture Event 2 in continuous mode. 0x2 = Stop after Capture Event 3 in one-shot mode. Wrap after Capture Event 3 in continuous mode. 0x3 = Stop after Capture Event 4 in one-shot mode. Wrap after Capture Event 4 in continuous mode. | RW | 0x3 |
| 0 | CONTONESHT | Continuous or one-shot mode control (applicable only in capture mode) 0x0 = Operate in continuous mode 0x1 = Operate in one-shot mode | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 002C | ||
| Physical Address | 0x4B23 002C 0x4B2B 002C | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | ECAP Interrupt Enable Register | ||
| Type | RW | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CMPEQ | PRDEQ | CNTOVF | CEVT4 | CEVT3 | CEVT2 | CEVT1 | RESERVED | |||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 15:8 | RESERVED | R | 0x0 | |
| 7 | CMPEQ | Counter Equal Compare Interrupt Enable. 0x0 = Disable Compare Equal as an Interrupt source. 0x1 = Enable Compare Equal as an Interrupt source. | RW | 0x0 |
| 6 | PRDEQ | Counter Equal Period Interrupt Enable. 0x0 = Disable Period Equal as an Interrupt source. 0x1 = Enable Period Equal as an Interrupt source. | RW | 0x0 |
| 5 | CNTOVF | Counter Overflow Interrupt Enable. 0x0 = Disable counter Overflow as an Interrupt source. 0x1 = Enable counter Overflow as an Interrupt source. | RW | 0x0 |
| 4 | CEVT4 | Capture Event 4 Interrupt Enable. 0x0 = Disable Capture Event 4 as an Interrupt source. 0x1 = Enable Capture Event 4 as an Interrupt source. | RW | 0x0 |
| 3 | CEVT3 | Capture Event 3 Interrupt Enable. 0x0 = Disable Capture Event 3 as an Interrupt source. 0x1 = Enable Capture Event 3 as an Interrupt source. | RW | 0x0 |
| 2 | CEVT2 | Capture Event 2 Interrupt Enable. 0x0 = Disable Capture Event 2 as an Interrupt source. 0x1 = Enable Capture Event 2 as an Interrupt source. | RW | 0x0 |
| 1 | CEVT1 | Capture Event 1 Interrupt Enable. 0x0 = Disable Capture Event 1 as an Interrupt source. 0x1 = Enable Capture Event 1 as an Interrupt source. | RW | 0x0 |
| 0 | RESERVED | R | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 002E | ||
| Physical Address | 0x4B23 002E 0x4B2B 002E | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | ECAP Interrupt Flag Register | ||
| Type | R | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CMPEQ | PRDEQ | CNTOVF | CEVT4 | CEVT3 | CEVT2 | CEVT1 | INT | |||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 15:8 | RESERVED | R | 0x0 | |
| 7 | CMPEQ | Compare Equal Compare Status Flag. This flag is only active in APWM mode. 0x0 = Indicates no event occurred 0x1 = Indicates the counter (TSCNT) reached the compare register value (ACMP) | R | 0x0 |
| 6 | PRDEQ | Counter Equal Period Status Flag. This flag is only active in APWM mode. 0x0 = Indicates no event occurred 0x1 = Indicates the counter (TSCNT) reached the period register value (APRD) and was reset. | R | 0x0 |
| 5 | CNTOVF | Counter Overflow Status Flag. This flag is active in CAP and APWM mode. 0x0 = Indicates no event occurred. 0x1 = Indicates the counter (TSCNT) has made the transition from 0xFFFFFFFF to 0x00000000 | R | 0x0 |
| 4 | CEVT4 | Capture Event 4 Status Flag This flag is only active in CAP mode. 0x0 = Indicates no event occurred 0x1 = Indicates the fourth event occurred at ECAPn pin | R | 0x0 |
| 3 | CEVT3 | Capture Event 3 Status Flag. This flag is active only in CAP mode. 0x0 = Indicates no event occurred. 0x1 = Indicates the third event occurred at ECAPn pin. | R | 0x0 |
| 2 | CEVT2 | Capture Event 2 Status Flag. This flag is only active in CAP mode. 0x0 = Indicates no event occurred. 0x1 = Indicates the second event occurred at ECAPn pin. | R | 0x0 |
| 1 | CEVT1 | Capture Event 1 Status Flag. This flag is only active in CAP mode. 0x0 = Indicates no event occurred. 0x1 = Indicates the first event occurred at ECAPn pin. | R | 0x0 |
| 0 | INT | Global Interrupt Status Flag 0x0 = Indicates no interrupt generated. 0x1 = Indicates that an interrupt was generated. | R | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 0030 | ||
| Physical Address | 0x4B23 0030 0x4B2B 0030 | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | ECAP Interrupt Clear Register | ||
| Type | RW | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CMPEQ | PRDEQ | CNTOVF | CEVT4 | CEVT3 | CEVT2 | CEVT1 | INT | |||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 15:8 | RESERVED | R | 0x0 | |
| 7 | CMPEQ | Counter Equal Compare Status Flag 0x0 = Writing a 0 has no effect. Always reads back a 0 0x1 = Writing a 1 clears the CTR=CMP flag condition | RW | 0x0 |
| 6 | PRDEQ | Counter Equal Period Status Flag 0x0 = Writing a 0 has no effect. Always reads back a 0 0x1 = Writing a 1 clears the CTR=PRD flag condition | RW | 0x0 |
| 5 | CNTOVF | Counter Overflow Status Flag 0x0 = Writing a 0 has no effect. Always reads back a 0 0x1 = Writing a 1 clears the CNTOVF flag condition | RW | 0x0 |
| 4 | CEVT4 | Capture Event 4 Status Flag 0x0 = Writing a 0 has no effect. Always reads back a 0. 0x1 = Writing a 1 clears the CEVT3 flag condition. | RW | 0x0 |
| 3 | CEVT3 | Capture Event 3 Status Flag 0x0 = Writing a 0 has no effect. Always reads back a 0. 0x1 = Writing a 1 clears the CEVT3 flag condition. | RW | 0x0 |
| 2 | CEVT2 | Capture Event 2 Status Flag 0x0 = Writing a 0 has no effect. Always reads back a 0. 0x1 = Writing a 1 clears the CEVT2 flag condition. | RW | 0x0 |
| 1 | CEVT1 | Capture Event 1 Status Flag 0x0 = Writing a 0 has no effect. Always reads back a 0. 0x1 = Writing a 1 clears the CEVT1 flag condition. | RW | 0x0 |
| 0 | INT | Global Interrupt Clear Flag 0x0 = Writing a 0 has no effect. Always reads back a 0. 0x1 = Writing a 1 clears the INT flag and enable further interrupts to be generated if any of the event flags are set to 1. | RW | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 0034 | ||
| Physical Address | 0x4B23 0034 0x4B2B 0034 | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | ECAP Interrupt Forcing Register | ||
| Type | RW | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | CMPEQ | PRDEQ | CNTOVF | CEVT4 | CEVT3 | CEVT2 | CEVT1 | RESERVED | |||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 15:8 | RESERVED | R | 0x0 | |
| 7 | CMPEQ | Force Counter Equal Compare Interrupt 0x0 = No effect. Always reads back a 0. 0x1 = Writing a 1 sets the CTR=CMP flag bit. | RW | 0x0 |
| 6 | PRDEQ | Force Counter Equal Period Interrupt 0x0 = No effect. Always reads back a 0. 0x1 = Writing a 1 sets the CTR=PRD flag bit. | RW | 0x0 |
| 5 | CNTOVF | Force Counter Overflow 0x0 = No effect. Always reads back a 0. 0x1 = Writing a 1 to this bit sets the CNTOVF flag bit. | RW | 0x0 |
| 4 | CEVT4 | Force Capture Event 4 0x0 = No effect. Always reads back a 0. 0x1 = Writing a 1 sets the CEVT4 flag bit | RW | 0x0 |
| 3 | CEVT3 | Force Capture Event 3 0x0 = No effect. Always reads back a 0. 0x1 = Writing a 1 sets the CEVT3 flag bit | RW | 0x0 |
| 2 | CEVT2 | Force Capture Event 2 0x0 = No effect. Always reads back a 0. 0x1 = Writing a 1 sets the CEVT2 flag bit. | RW | 0x0 |
| 1 | CEVT1 | Always reads back a 0. Force Capture Event 1 0x0 = No effect. 0x1 = Writing a 1 sets the CEVT1 flag bit. | RW | 0x0 |
| 0 | RESERVED | R | 0x0 |
| PRU-ICSS eCAP Module |
| Address Offset | 0x0000 005C | ||
| Physical Address | 0x4B23 005C 0x4B2B 005C | Instance | PRUSS1_ECAP PRUSS2_ECAP |
| Description | ECAP Revision ID | ||
| Type | R | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| REVISION | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | REVISION | IP Revision | R | 0x-(1) |
| PRU-ICSS eCAP Module |