SPNS184C September 2012 – June 2015 RM46L450 , RM46L850
PRODUCTION DATA.
Figure 7-1 illustrates the connections between the seven ePWM modules (ePWM1,2,3,4,5,6,7) on the device.
Each ePWM module has a clock enable (EPWMxENCLK). When SYS_nRST is active low, the clock enables are ignored and the ePWM logic is clocked so that it can reset to a proper state. When SYS_nRST goes in-active high, the state of clock enable is respected.
ePWM Module Instance | Control Register to Enable Clock | Default Value |
---|---|---|
ePWM1 | PINMMR37[8] | 1 |
ePWM2 | PINMMR37[16] | 1 |
ePWM3 | PINMMR37[24] | 1 |
ePWM4 | PINMMR38[0] | 1 |
ePWM5 | PINMMR38[8] | 1 |
ePWM6 | PINMMR38[16] | 1 |
ePWM7 | PINMMR38[24] | 1 |
The default value of the control registers to enable the clocks to the ePWMx modules is 1. This means that the VCLK4 clock connections to the ePWMx modules are enabled by default. The application can choose to gate off the VCLK4 clock to any ePWMx module individually by clearing the respective control register bit.
A time-base synchronization scheme connects all of the ePWM modules on a device. Each ePWM module has a synchronization input (EPWMxSYNCI) and a synchronization output (EPWMxSYNCO). The input synchronization for the first instance (ePWM1) comes from an external pin. Figure 7-1 shows the synchronization connections for all the ePWMx modules. Each ePWM module can be configured to use or ignore the synchronization input. Refer to the ePWM chapter in the RM46x Technical Reference Manual (SPNU514) for more information.
The connection between the N2HET1_LOOP_SYNC and SYNCI input of ePWM1 module is implemented as shown in Figure 7-2.
The TBCLKSYNC bit can be used to globally synchronize the time-base clocks of all enabled ePWM modules on a device. This bit is implemented as PINMMR37 register bit 1.
When TBCLKSYNC = 0, the time-base clock of all ePWM modules is stopped. This is the default condition.
When TBCLKSYNC = 1, all ePWM time-base clocks are started with the rising edge of TBCLK aligned.
For perfectly synchronized TBCLKs, the prescaler bits in the TBCTL register of each ePWM module must be set identically. The proper procedure for enabling the ePWM clocks is as follows:
The output sync from EPWM1 Module is also exported to a device output terminal so that multiple devices can be synchronized together. The signal pulse is stretched by eight VCLK4 cycles before being exported on the terminal as the EPWM1SYNCO signal.
The ePWMx modules have six trip zone inputs each. These are active-low signals. The application can control the ePWMx module response to each of the trip zone input separately. The timing requirements from the assertion of the trip zone inputs to the actual response are specified in Section 7.1.8.
These three trip zone inputs are driven by external circuits and are connected to device-level inputs. These signals are either connected asynchronously to the ePWMx trip zone inputs, or double-synchronized with VCLK4, or double-synchronized and then filtered with a 6-cycle VCLK4-based counter before connecting to the ePWMx. By default, the trip zone inputs are asynchronously connected to the ePWMx modules.
Trip Zone Input | Control for Asynchronous Connection to ePWMx | Control for Double-Synchronized Connection to ePWMx | Control for Double-Synchronized and Filtered Connection to ePWMx |
---|---|---|---|
TZ1n | PINMMR46[16] = 1 | PINMMR46[16] = 0 AND PINMMR46[17] = 1 | PINMMR46[16] = 0 AND PINMMR46[17] = 0 AND PINMMR46[18] = 1 |
TZ2n | PINMMR46[24] = 1 | PINMMR46[24] = 0 AND PINMMR46[25] = 1 | PINMMR46[24] = 0 AND PINMMR46[25] = 0 AND PINMMR46[26] = 1 |
TZ3n | PINMMR47[0] = 1 | PINMMR47[0] = 0 AND PINMMR47[1] = 1 | PINMMR47[0] = 0 AND PINMMR47[1] = 0 AND PINMMR47[2] = 1 |
This trip zone input is dedicated to eQEPx error indications. There are two eQEP modules on this device. Each eQEP module indicates a phase error by driving its EQEPxERR output High. The following control registers allow the application to configure the trip zone input (TZ4n) to each ePWMx module based on the application’s requirements.
ePWMx | Control for TZ4n = not(EQEP1ERR OR EQEP2ERR) | Control for TZ4n = not(EQEP1ERR) | Control for TZ4n = not(EQEP2ERR) |
---|---|---|---|
ePWM1 | PINMMR41[0] = 1 | PINMMR41[0] = 0 AND PINMMR41[1] = 1 | PINMMR41[0] = 1 AND PINMMR41[1] = 0 AND PINMMR41[2] = 1 |
ePWM2 | PINMMR41[8] | PINMMR41[8] = 0 AND PINMMR41[9] = 1 | PINMMR41[8] = 1 AND PINMMR41[9] = 0 AND PINMMR41[10] = 1 |
ePWM3 | PINMMR41[16] | PINMMR41[16] = 0 AND PINMMR41[17] = 1 | PINMMR41[16] = 1 AND PINMMR41[17] = 0 AND PINMMR41[18] = 1 |
ePWM4 | PINMMR41[24] | PINMMR41[24] = 0 AND PINMMR41[25] = 1 | PINMMR41[24] = 1 AND PINMMR41[25] = 0 AND PINMMR41[26] = 1 |
ePWM5 | PINMMR42[0] | PINMMR42[0] = 0 AND PINMMR42[1] = 1 | PINMMR42[0] = 1 AND PINMMR42[1] = 0 AND PINMMR42[2] = 1 |
ePWM6 | PINMMR42[8] | PINMMR42[8] = 0 AND PINMMR42[9] = 1 | PINMMR42[8] = 1 AND PINMMR42[9] = 0 AND PINMMR42[10] = 1 |
ePWM7 | PINMMR42[16] | PINMMR42[16] = 0 AND PINMMR42[17] = 1 | PINMMR42[16] = 1 AND PINMMR42[17] = 0 AND PINMMR42[18] = 1 |
This trip zone input is dedicated to a clock failure on the device. That is, this trip zone input is asserted whenever an oscillator failure or a PLL slip is detected on the device. The application can use this trip zone input for each ePWMx module in order to prevent the external system from going out of control when the device clocks are not within expected range (system running at limp clock).
The oscillator failure and PLL slip signals used for this trip zone input are taken from the status flags in the system module. These are level signals are set until cleared by the application.
This trip zone input to the ePWMx modules is dedicated to a debug mode entry of the CPU. If enabled, the user can force the PWM outputs to a known state when the emulator stops the CPU. This prevents the external system from going out of control when the CPU is stopped.
A special scheme is implemented in order to select the actual signal used for triggering the start of conversion on the two ADCs on this device. This scheme is defined in Section 7.4.2.3.
PARAMETER | TEST CONDITIONS | MIN | MAX | UNIT | |
---|---|---|---|---|---|
tw(SYNCIN) | Synchronization input pulse width | Asynchronous | 2 tc(VCLK4) | cycles | |
Synchronous | 2 tc(VCLK4) | cycles | |||
Synchronous, with input filter | 2 tc(VCLK4) + filter width | cycles |
PARAMETER | TEST CONDITIONS | MIN | MAX | UNIT | |
---|---|---|---|---|---|
tw(PWM) | Pulse duration, ePWMx output high or low | 33.33 | ns | ||
tw(SYNCOUT) | Synchronization Output Pulse Width | 8 tc(VCLK4) | cycles | ||
td(PWM)tza | Delay time, trip input active to PWM forced high, OR Delay time, trip input active to PWM forced low | no pin load | 25 | ns | |
td(TZ-PWM)HZ | Delay time, trip input active to PWM Hi-Z | 20 | ns |
PARAMETER | TEST CONDITIONS | MIN | MAX | UNIT | |
---|---|---|---|---|---|
tw(TZ) | Pulse duration, TZn input low | Asynchronous | 2 * HSPCLKDIV * CLKDIV * tc(VCLK4)(1) | ns | |
Synchronous | 2 tc(VCLK4) | ns | |||
Synchronous, with input filter | 8 tc(VCLK4) | ns |
Figure 7-3 shows how the eCAP modules are interconnected on this microcontroller.
Each of the ECAPx modules have a clock enable (ECAPxENCLK). These signals need to be generated from a device-level control register. When SYS_nRST is active low, the clock enables are ignored and the ECAPx logic is clocked so that it can reset to a proper state. When SYS_nRST goes in-active high, the state of clock enable is respected.
ePWM Module Instance | Control Register to Enable Clock | Default Value |
---|---|---|
eCAP1 | PINMMR39[0] | 1 |
eCAP2 | PINMMR39[8] | 1 |
eCAP3 | PINMMR39[16] | 1 |
eCAP4 | PINMMR39[24] | 1 |
eCAP5 | PINMMR40[0] | 1 |
eCAP6 | PINMMR40[8] | 1 |
The default value of the control registers to enable the clocks to the eCAPx modules is 1. This means that the VCLK4 clock connections to the eCAPx modules are enabled by default. The application can choose to gate off the VCLK4 clock to any eCAPx module individually by clearing the respective control register bit.
When not used in capture mode, each of the eCAPx modules can be used as a single-channel PWM output. This is called the auxiliary PWM (APWM) mode of operation of the eCAP modules. Refer to the eCAP chapter of the RM46x Technical Reference Manual (SPNU514) for more information.
The input connection to each of the eCAP modules can be selected between a double-VCLK4-synchronized input or a double-VCLK4-synchronized and filtered input, as shown in Table 7-8.
Input Signal | Control for Double-Synchronized Connection to eCAPx | Control for Double-Synchronized and Filtered Connection to eCAPx |
---|---|---|
eCAP1 | PINMMR43[0] = 1 | PINMMR43[0] = 0 AND PINMMR43[1] = 1 |
eCAP2 | PINMMR43[8] = 1 | PINMMR43[8] = 0 AND PINMMR43[9] = 1 |
eCAP3 | PINMMR43[16] = 1 | PINMMR43[16] = 0 AND PINMMR43[17] = 1 |
eCAP4 | PINMMR43[24] = 1 | PINMMR43[24] = 0 AND PINMMR43[25] = 1 |
eCAP5 | PINMMR44[0] = 1 | PINMMR44[0] = 0 AND PINMMR44[1] = 1 |
eCAP6 | PINMMR44[8] = 1 | PINMMR44[8] = 0 AND PINMMR44[9] = 1 |
PARAMETER | TEST CONDITIONS | MIN | MAX | UNIT | |
---|---|---|---|---|---|
tw(CAP) | Capture input pulse width | Synchronous | 2 tc(VCLK4) | cycles | |
Synchronous, with input filter | 2 tc(VCLK4) + filter width | cycles |
PARAMETER | TEST CONDITIONS | MIN | MAX | UNIT | |
---|---|---|---|---|---|
tw(APWM) | Pulse duration, APWMx output high or low | 20 | ns |
Figure 7-4 shows the eQEP module interconnections on the device.
Device-level control registers are implemented to generate the EQEPxENCLK signals. When SYS_nRST is active low, the clock enables are ignored and the eQEPx logic is clocked so that it can reset to a proper state. When SYS_nRST goes in-active high, the state of clock enable is respected.
ePWM Module Instance | Control Register to Enable Clock | Default Value |
---|---|---|
eQEP1 | PINMMR40[16] | 1 |
eQEP2 | PINMMR40[24] | 1 |
The default value of the control registers to enable the clocks to the eQEPx modules is 1. This means that the VCLK4 clock connections to the eQEPx modules are enabled by default. The application can choose to gate off the VCLK4 clock to any eQEPx module individually by clearing the respective control register bit.
The eQEP module sets the EQEPERR signal output whenever a phase error is detected in its inputs EQEPxA and EQEPxB. This error signal from both the eQEP modules is input to the connection selection multiplexor. This multiplexor is defined in Table 7-3. As shown in Figure 7-1, the output of this selection multiplexor is inverted and connected to the TZ4n trip-zone input of all EPWMx modules. This connection allows the application to define the response of each ePWMx module on a phase error indicated by the eQEP modules.
The input connections to each of the eQEP modules can be selected between a double-VCLK4-synchronized input or a double-VCLK4-synchronized and filtered input, as shown in Table 7-12.
Input Signal | Control for Double-Synchronized Connection to eQEPx | Control for Double-Synchronized and Filtered Connection to eQEPx |
---|---|---|
eQEP1A | PINMMR44[16] = 1 | PINMMR44[16] = 0 and PINMMR44[17] = 1 |
eQEP1B | PINMMR44[24] = 1 | PINMMR44[24] = 0 and PINMMR44[25] = 1 |
eQEP1I | PINMMR45[0] = 1 | PINMMR45[0] = 0 and PINMMR45[1] = 1 |
eQEP1S | PINMMR45[8] = 1 | PINMMR45[8] = 0 and PINMMR45[9] = 1 |
eQEP2A | PINMMR45[16] = 1 | PINMMR45[16] = 0 and PINMMR45[17] = 1 |
eQEP2B | PINMMR45[24] = 1 | PINMMR45[24] = 0 and PINMMR45[25] = 1 |
eQEP2I | PINMMR46[0] = 1 | PINMMR46[0] = 0 and PINMMR46[1] = 1 |
eQEP2S | PINMMR46[8] = 1 | PINMMR46[8] = 0 and PINMMR46[9] = 1 |
PARAMETER | TEST CONDITIONS | MIN | MAX | UNIT | |
---|---|---|---|---|---|
tw(QEPP) | QEP input period | Synchronous | 2 tc(VCLK4) | cycles | |
Synchronous, with input filter | 2 tc(VCLK4) + filter width | cycles | |||
tw(INDEXH) | QEP Index Input High Time | Synchronous | 2 tc(VCLK4) | cycles | |
Synchronous, with input filter | 2 tc(VCLK4) + filter width | cycles | |||
tw(INDEXL) | QEP Index Input Low Time | Synchronous | 2 tc(VCLK4) | cycles | |
Synchronous, with input filter | 2 tc(VCLK4) + filter width | cycles | |||
tw(STROBH) | QEP Strobe Input High Time | Synchronous | 2 tc(VCLK4) | cycles | |
Synchronous, with input filter | 2 tc(VCLK4) + filter width | cycles | |||
tw(STROBL) | QEP Strobe Input Low Time | Synchronous | 2 tc(VCLK4) | cycles | |
Synchronous, with input filter | 2 tc(VCLK4) + filter width | cycles |
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
td(CNTR)xin | Delay time, external clock to counter increment | 4 tc(VCLK4) | cycles | |
td(PCS-OUT)QEP | Delay time, QEP input edge to position compare sync output | 6 tc(VCLK4) | cycles |
The multibuffered A-to-D converter (MibADC) has a separate power bus for its analog circuitry that enhances the A-to-D performance by preventing digital switching noise on the logic circuitry which could be present on VSS and VCC from coupling into the A-to-D analog stage. All A-to-D specifications are given with respect to ADREFLO unless otherwise noted.
Description | Value |
---|---|
Resolution | 12 bits |
Monotonic | Assured |
Output conversion code | 00h to 3FFh [00 for VAI ≤ ADREFLO; 3FFh for VAI ≥ ADREFHI] |
The ADC module supports 3 conversion groups: Event Group, Group1 and Group2. Each of these 3 groups can be configured to be hardware event-triggered. In that case, the application can select from among 8 event sources to be the trigger for a group's conversions.
Group Source Select, G1SRC, G2SRC or EVSRC | Event # | Trigger Event Signal | ||||
PINMMR30[0] = 1
(default) |
PINMMR30[0] = 0 and PINMMR30[1] = 1 | |||||
Option A | Control for Option A | Option B | Control for Option B | |||
000 | 1 | AD1EVT | AD1EVT | — | AD1EVT | — |
001 | 2 | N2HET1[8] | N2HET2[5] | PINMMR30[8] = 1 | ePWM_B | PINMMR30[8] = 0 and PINMMR30[9] = 1 |
010 | 3 | N2HET1[10] | N2HET1[27] | — | N2HET1[27] | — |
011 | 4 | RTI Compare 0 Interrupt | RTI Compare 0 Interrupt | PINMMR30[16] = 1 | ePWM_A1 | PINMMR30[16] = 0 and PINMMR30[17] = 1 |
100 | 5 | N2HET1[12] | N2HET1[17] | — | N2HET1[17] | — |
101 | 6 | N2HET1[14] | N2HET1[19] | PINMMR30[24] = 1 | N2HET2[1] | PINMMR30[24] = 0 and PINMMR30[25] = 1 |
110 | 7 | GIOB[0] | N2HET1[11] | PINMMR31[0] = 1 | ePWM_A2 | PINMMR31[0] = 0 and PINMMR31[1] = 1 |
111 | 8 | GIOB[1] | N2HET2[13] | PINMMR32[16] = 1 | ePWM_AB | PINMMR31[8] = 0 and PINMMR31[9] = 1 |
NOTE
If ADEVT, N2HET1 or GIOB is used as a trigger source, the connection to the MibADC1 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by configuring the function as output onto the pad (through the mux control), or by driving the function from an external trigger source as input. If the mux control module is used to select different functionality instead of the ADEVT, N2HET1[x] or GIOB[x] signals, then care must be taken to disable these signals from triggering conversions; there is no multiplexing on the input connections.
If ePWM_B, ePWM_S2, ePWM_AB, N2HET2[1], N2HET2[5], N2HET2[13], N2HET1[11], N2HET1[17] or N2HET1[19] is used to trigger the ADC the connection to the ADC is made directly from the N2HET or ePWM module outputs. As a result, the ADC can be triggered without having to enable the signal from being output on a device terminal.
NOTE
For the RTI compare 0 interrupt source, the connection is made directly from the output of the RTI module. That is, the interrupt condition can be used as a trigger source even if the actual interrupt is not signaled to the CPU.
Group Source Select, G1SRC, G2SRC or EVSRC | Event # | Trigger Event Signal | ||||
PINMMR30[0] = 1
(default) |
PINMMR30[0] = 0 and PINMMR30[1] = 1 | |||||
Option A | Control for Option A | Option B | Control for Option B | |||
000 | 1 | AD2EVT | AD2EVT | — | AD2EVT | — |
001 | 2 | N2HET1[8] | N2HET2[5] | PINMMR31[16] = 1 | ePWM_B | PINMMR31[16] = 0 and PINMMR31[17] = 1 |
010 | 3 | N2HET1[10] | N2HET1[27] | — | N2HET1[27] | — |
011 | 4 | RTI Compare 0 Interrupt | RTI Compare 0 Interrupt | PINMMR31[24] = 1 | ePWM_A1 | PINMMR31[24] = 0 and PINMMR31[25] = 1 |
100 | 5 | N2HET1[12] | N2HET1[17] | — | N2HET1[17] | — |
101 | 6 | N2HET1[14] | N2HET1[19] | PINMMR32[0] = 1 | N2HET2[1] | PINMMR32[0] = 0 and PINMMR32[1] = 1 |
110 | 7 | GIOB[0] | N2HET1[11] | PINMMR32[8] = 1 | ePWM_A2 | PINMMR32[8] = 0 and PINMMR32[9] = 1 |
111 | 8 | GIOB[1] | N2HET2[13] | PINMMR32[16] = 1 | ePWM_AB | PINMMR32[16] = 0 and PINMMR32[17] = 1 |
NOTE
If AD2EVT, N2HET1 or GIOB is used as a trigger source, the connection to the MibADC2 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by configuring the function as output onto the pad (through the mux control), or by driving the function from an external trigger source as input. If the mux control module is used to select different functionality instead of the AD2EVT, N2HET1[x] or GIOB[x] signals, then care must be taken to disable these signals from triggering conversions; there is no multiplexing on the input connections.
If ePWM_B, ePWM_S2, ePWM_AB, N2HET2[5], N2HET2[1], N2HET2[13], N2HET1[11], N2HET1[17] or N2HET1[19] is used to trigger the ADC the connection to the ADC is made directly from the N2HET or ePWM module outputs. As a result, the ADC can be triggered without having to enable the signal from being output on a device terminal.
NOTE
For the RTI compare 0 interrupt source, the connection is made directly from the output of the RTI module. That is, the interrupt condition can be used as a trigger source even if the actual interrupt is not signaled to the CPU.
As shown in Figure 7-5, the ePWMxSOCA and ePWMxSOCB outputs from each ePWM module are used to generate 4 signals – ePWM_B, ePWM_A1, ePWM_A2 and ePWM_AB, that are available to trigger the ADC based on the application requirement.
Control Bit | SOC Output |
---|---|
PINMMR35[0] | SOC1A_SEL |
PINMMR35[8] | SOC2A_SEL |
PINMMR35[16] | SOC3A_SEL |
PINMMR35[24] | SOC4A_SEL |
PINMMR36[0] | SOC5A_SEL |
PINMMR36[8] | SOC6A_SEL |
PINMMR36[16] | SOC7A_SEL |
The SOCA output from each ePWM module is connected to a "switch" shown in Figure 7-5.
The logic equations for the 4 outputs from the combinational logic shown in Figure 7-5 are:
ePWM_B = | SOC1B or SOC2B or SOC3B or SOC4B or SOC5B or SOC6B or SOC7B |
ePWM_A1 = | [ SOC1A and not(SOC1A_SEL) ] or [ SOC2A and not(SOC2A_SEL) ] or [ SOC3A and not(SOC3A_SEL) ] or |
[ SOC4A and not(SOC4A_SEL) ] or [ SOC5A and not(SOC5A_SEL) ] or [ SOC6A and not(SOC6A_SEL) ] or | |
[ SOC7A and not(SOC7A_SEL) ] | |
ePWM_A2 = | [ SOC1A and SOC1A_SEL ] or [ SOC2A and SOC2A_SEL ] or [ SOC3A and SOC3A_SEL ] or |
[ SOC4A and SOC4A_SEL ] or [ SOC5A and SOC5A_SEL ] or [ SOC6A and SOC6A_SEL ] or | |
[ SOC7A and SOC7A_SEL ] | |
ePWM_AB = | ePWM_B or ePWM_A2 |
Parameter | MIN | MAX | Unit | |
---|---|---|---|---|
ADREFHI | A-to-D high-voltage reference source | ADREFLO | VCCAD(1) | V |
ADREFLO | A-to-D low-voltage reference source | VSSAD(1) | ADREFHI | V |
VAI | Analog input voltage | ADREFLO | ADREFHI | V |
IAIK | Analog input clamp current(2)
(VAI < VSSAD – 0.3 or VAI > VCCAD + 0.3) |
- 2 | 2 | mA |
Parameter | Description/Conditions | MIN | Nom | MAX | Unit | ||
---|---|---|---|---|---|---|---|
Rmux | Analog input mux on-resistance | See Figure 7-6 | 250 | Ω | |||
Rsamp | ADC sample switch on-resistance | See Figure 7-6 | 250 | Ω | |||
Cmux | Input mux capacitance | See Figure 7-6 | 16 | pF | |||
Csamp | ADC sample capacitance | See Figure 7-6 | 13 | pF | |||
IAIL | Analog off-state input leakage current | VCCAD = 3.6V maximum | VSSAD ≤ VIN < VSSAD + 100mV | -300 | 200 | nA | |
VSSAD + 100mV ≤ VIN ≤ VCCAD - 200mV | -200 | 200 | nA | ||||
VCCAD - 200mV < VIN ≤ VCCAD | -200 | 500 | nA | ||||
IAIL | Analog off-state input leakage current | VCCAD = 5.5V maximum | VSSAD ≤ VIN < VSSAD + 300mV | -1000 | 250 | nA | |
VSSAD + 300mV ≤ VIN ≤ VCCAD - 300mV | -250 | 250 | nA | ||||
VCCAD - 300mV < VIN ≤ VCCAD | -250 | 1000 | nA | ||||
IAOSB1(1) | ADC1 Analog on-state input bias current | VCCAD = 3.6V maximum | VSSAD ≤ VIN < VSSAD + 100mV | -8 | 2 | µA | |
VSSAD + 100mV < VIN < VCCAD - 200mV | -4 | 2 | µA | ||||
VCCAD - 200mV < VIN < VCCAD | -4 | 12 | µA | ||||
IAOSB2(1) | ADC2 Analog on-state input bias current | VCCAD = 3.6V maximum | VSSAD ≤ VIN < VSSAD + 100mV | -7 | 2 | µA | |
VSSAD + 100mV ≤ VIN ≤ VCCAD - 200mV | -4 | 2 | µA | ||||
VCCAD - 200mV < VIN ≤ VCCAD | -4 | 10 | µA | ||||
IAOSB1(1) | ADC1 Analog on-state input bias current | VCCAD = 5.5V maximum | VSSAD ≤ VIN < VSSAD + 300mV | -10 | 3 | µA | |
VSSAD + 300mV ≤ VIN ≤ VCCAD - 300mV | -5 | 3 | µA | ||||
VCCAD - 300mV < VIN ≤ VCCAD | -5 | 14 | µA | ||||
IAOSB2(1) | ADC2 Analog on-state input bias current | VCCAD = 5.5V maximum | VSSAD ≤ VIN < VSSAD + 300mV | -8 | 3 | µA | |
VSSAD + 300mV ≤ VIN ≤ VCCAD - 300mV | -5 | 3 | µA | ||||
VCCAD - 300mV < VIN ≤ VCCAD | -5 | 12 | µA | ||||
IADREFHI | ADREFHI input current | ADREFHI = VCCAD, ADREFLO = VSSAD | 3 | mA | |||
ICCAD | Static supply current | Normal operating mode | 15 | mA | |||
ADC core in power down mode | 5 | µA |
Parameter | MIN | NOM | MAX | Unit | |
---|---|---|---|---|---|
tc(ADCLK)(2) | Cycle time, MibADC clock | 0.033 | µs | ||
td(SH)(3) | Delay time, sample and hold time | 0.2 | µs | ||
td(PU-ADV) | Delay time from ADC power on until first input can be sampled | 1 | µs | ||
12-bit mode | |||||
td©) | Delay time, conversion time | 0.4 | µs | ||
td(SHC)(1) | Delay time, total sample/hold and conversion time | 0.6 | µs | ||
10-bit mode | |||||
td©) | Delay time, conversion time | 0.33 | µs | ||
td(SHC)(1) | Delay time, total sample/hold and conversion time | 0.53 | µs |
Parameter | Description/Conditions | MIN | Type | MAX | Unit | ||
---|---|---|---|---|---|---|---|
CR | Conversion range over which specified accuracy is maintained | ADREFHI - ADREFLO | 3 | 5.5 | V | ||
ZSET | Zero Scale Offset | Difference between the first ideal transition (from code 000h to 001h) and the actual transition | 10-bit mode | 1 | LSB | ||
12-bit mode | 2 | LSB | |||||
FSET | Full Scale Offset | Difference between the range of the measured code transitions (from first to last) and the range of the ideal code transitions | 10-bit mode | 2 | LSB | ||
12-bit mode | 3 | LSB | |||||
EDNL | Differential nonlinearity error | Difference between the actual step width and the ideal value. (See Figure 7-7) | 10-bit mode | ± 1.5 | LSB | ||
12-bit mode | ± 2 | LSB | |||||
EINL | Integral nonlinearity error | Maximum deviation from the best straight line through the MibADC. MibADC transfer characteristics, excluding the quantization error. | 10-bit mode | ± 2 | LSB | ||
12-bit mode | ± 2 | LSB | |||||
ETOT | Total unadjusted error | Maximum value of the difference between an analog value and the ideal midstep value. | 10-bit mode | ± 2 | LSB | ||
12-bit mode | ± 4 | LSB |
The differential nonlinearity error shown in Figure 7-7 (sometimes referred to as differential linearity) is the difference between an actual step width and the ideal value of 1 LSB.
The integral nonlinearity error shown in Figure 7-8 (sometimes referred to as linearity error) is the deviation of the values on the actual transfer function from a straight line.
The absolute accuracy or total error of an MibADC as shown in Figure 7-9 is the maximum value of the difference between an analog value and the ideal midstep value.
The GPIO module on this device supports two ports, GIOA and GIOB. The I/O pins are bidirectional and bit-programmable. Both GIOA and GIOB support external interrupt capability.
The GPIO module has the following features:
For information on input and output timings see Section 5.11 and Section 5.12
The N2HET is an advanced intelligent timer that provides sophisticated timing functions for real-time applications. The timer is software-controlled, using a reduced instruction set, with a specialized timer micromachine and an attached I/O port. The N2HET can be used for pulse width modulated outputs, capture or compare inputs, or general-purpose I/O. It is especially well suited for applications requiring multiple sensor information and drive actuators with complex and accurate time pulses.
The N2HET module has the following features:
The timer RAM uses 4 RAM banks, where each bank has two port access capability. This means that one RAM address may be written while another address is read. The RAM words are 96-bits wide, which are split into three 32-bit fields (program, control, and data).
All of the N2HET channels have an enhanced pulse capture circuit. The N2HET instructions PCNT and WCAP use this circuit to achieve the input timing requirements shown in Figure 7-10 and Table 7-23 below.
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
1, 2 | Input signal period, PCNT or WCAP | (HRP) (LRP) tc(VCLK2) + 2 | 225 (HRP) (LRP) tc(VCLK2) - 2 | ns |
3 | Input signal high phase, PCNT or WCAP | 2 (HRP) tc(VCLK2) + 2 | 225 (HRP) (LRP) tc(VCLK2) - 2 | ns |
4 | Input signal low phase, PCNT or WCAP | 2 (HRP) tc(VCLK2) + 2 | 225 (HRP) (LRP) tc(VCLK2) - 2 | ns |
In some applications the N2HET resolutions must be synchronized. Some other applications require a single time base to be used for all PWM outputs and input timing captures.
The N2HET provides such a synchronization mechanism. The Clk_master/slave (HETGCR.16) configures the N2HET in master or slave mode (default is slave mode). A N2HET in master mode provides a signal to synchronize the prescalers of the slave N2HET. The slave N2HET synchronizes its loop resolution to the loop resolution signal sent by the master. The slave does not require this signal after it receives the first synchronization signal. However, anytime the slave receives the re-synchronization signal from the master, the slave must synchronize itself again..
To assure correctness of the high-end timer operation and output signals, the two N2HET modules can be used to monitor each other’s signals as shown in Figure 7-12. The direction of the monitoring is controlled by the I/O multiplexing control module.
N2HET1[31] is connected as a clock source for counter 1 in DCC1. This allows the application to measure the frequency of the pulse-width modulated (PWM) signal on N2HET1[31].
Similarly, N2HET2[0] is connected as a clock source for counter 1 in DCC2. This allows the application to measure the frequency of the pulse-width modulated (PWM) signal on N2HET2[0].
Both N2HET1[31] and N2HET2[0] can be configured to be internal-only channels. That is, the connection to the DCC module is made directly from the output of the N2HETx module (from the input of the output buffer).
For more information on DCC see Section 6.7.3.
Some applications require the N2HET outputs to be disabled under some fault condition. The N2HET module provides this capability through the "Pin Disable" input signal. This signal, when driven low, causes the N2HET outputs identified by a programmable register (HETPINDIS) to be tri-stated. For more details on the "N2HET Pin Disable" feature, see the device-specific Terminal Reference Manual.
GIOA[5] is connected to the "Pin Disable" input for N2HET1, and GIOB[2] is connected to the "Pin Disable" input for N2HET2.
A High End Timer Transfer Unit (HTU) can perform DMA type transactions to transfer N2HET data to or from main memory. A Memory Protection Unit (MPU) is built into the HTU.
Modules | Request Source | HTU1 Request |
---|---|---|
N2HET1 | HTUREQ[0] | HTU1 DCP[0] |
N2HET1 | HTUREQ[1] | HTU1 DCP[1] |
N2HET1 | HTUREQ[2] | HTU1 DCP[2] |
N2HET1 | HTUREQ[3] | HTU1 DCP[3] |
N2HET1 | HTUREQ[4] | HTU1 DCP[4] |
N2HET1 | HTUREQ[5] | HTU1 DCP[5] |
N2HET1 | HTUREQ[6] | HTU1 DCP[6] |
N2HET1 | HTUREQ[7] | HTU1 DCP[7] |
Modules | Request Source | HET TU2 Request |
---|---|---|
N2HET2 | HTUREQ[0] | HTU2 DCP[0] |
N2HET2 | HTUREQ[1] | HTU2 DCP[1] |
N2HET2 | HTUREQ[2] | HTU2 DCP[2] |
N2HET2 | HTUREQ[3] | HTU2 DCP[3] |
N2HET2 | HTUREQ[4] | HTU2 DCP[4] |
N2HET2 | HTUREQ[5] | HTU2 DCP[5] |
N2HET2 | HTUREQ[6] | HTU2 DCP[6] |
N2HET2 | HTUREQ[7] | HTU2 DCP[7] |
The DCAN supports the CAN 2.0B protocol standard and uses a serial, multimaster communication protocol that efficiently supports distributed real-time control with robust communication rates of up to 1 megabit per second (Mbps). The DCAN is ideal for applications operating in noisy and harsh environments (for example, automotive and industrial fields) that require reliable serial communication or multiplexed wiring.
Features of the DCAN module include:
For more information on the DCAN see the RM46x Technical Reference Manual (SPNU514).
Parameter | MIN | MAX | Unit | |
---|---|---|---|---|
td(CANnTX) | Delay time, transmit shift register to CANnTX pin(1) | 15 | ns | |
td(CANnRX) | Delay time, CANnRX pin to receive shift register | 5 | ns |
The SCI/LIN module can be programmed to work either as an SCI or as a LIN. The core of the module is an SCI. The SCI’s hardware features are augmented to achieve LIN compatibility.
The SCI module is a universal asynchronous receiver-transmitter that implements the standard nonreturn to zero format. The SCI can be used to communicate, for example, through an RS-232 port or over a K-line.
The LIN standard is based on the SCI (UART) serial data link format. The communication concept is single-master/multiple-slave with a message identification for multi-cast transmission between any network nodes.
The following are features of the LIN module:
The inter-integrated circuit (I2C) module is a multi-master communication module providing an interface between the RM4x microcontroller and devices compliant with Philips Semiconductor I2C-bus specification version 2.1 and connected by an I2C-bus. This module will support any slave or master I2C compatible device.
The I2C has the following features:
NOTE
This I2C module does not support:
Parameter | Standard Mode | Fast Mode | Unit | |||
---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | |||
tc(I2CCLK) | Cycle time, Internal Module clock for I2C, prescaled from VCLK | 75.2 | 149 | 75.2 | 149 | ns |
f(SCL) | SCL Clock frequency | 0 | 100 | 0 | 400 | kHz |
tc(SCL) | Cycle time, SCL | 10 | 2.5 | µs | ||
tsu(SCLH-SDAL) | Setup time, SCL high before SDA low (for a repeated START condition) | 4.7 | 0.6 | µs | ||
th(SCLL-SDAL) | Hold time, SCL low after SDA low (for a repeated START condition) | 4 | 0.6 | µs | ||
tw(SCLL) | Pulse duration, SCL low | 4.7 | 1.3 | µs | ||
tw(SCLH) | Pulse duration, SCL high | 4 | 0.6 | µs | ||
tsu(SDA-SCLH) | Setup time, SDA valid before SCL high | 250 | 100 | ns | ||
th(SDA-SCLL) | Hold time, SDA valid after SCL low (for I2C bus devices) | 0 | 3.45(2) | 0 | 0.9 | µs |
tw(SDAH) | Pulse duration, SDA high between STOP and START conditions | 4.7 | 1.3 | µs | ||
tsu(SCLH-SDAH) | Setup time, SCL high before SDA high (for STOP condition) | 4.0 | 0.6 | µs | ||
tw(SP) | Pulse duration, spike (must be suppressed) | 0 | 50 | ns | ||
Cb(3) | Capacitive load for each bus line | 400 | 400 | pF |
NOTE
The MibSPI is a high-speed synchronous serial input/output port that allows a serial bit stream of programmed length (2 to 16 bits) to be shifted in and out of the device at a programmed bit-transfer rate. Typical applications for the SPI include interfacing to external peripherals, such as I/Os, memories, display drivers, and analog-to-digital converters.
Both Standard and MibSPI modules have the following features:
MibSPIx/SPIx | I/Os |
---|---|
MibSPI1 | MIBSPI1SIMO[1:0], MIBSPI1SOMI[1:0], MIBSPI1CLK, MIBSPI1nCS[5:4,2:0], MIBSPI1nENA |
MibSPI3 | MIBSPI3SIMO[0], MIBSPI3SOMI[0], MIBSPI3CLK, MIBSPI3nCS[5:0], MIBSPI3nENA |
MibSPI5 | MIBSPI5SIMO[0], MIBSPI5SOMI[2:0], MIBSPI5CLK, MIBSPI5nCS[0], MIBSPI5nENA |
SPI4 | SPI4SIMO[0], SPI4SOMI[0], SPI4CLK, SPI4nCS[0], SPI4nENA |
MibSPIx/SPIx | I/Os |
---|---|
MibSPI1 | MIBSPI1SIMO[1:0], MIBSPI1SOMI[1:0], MIBSPI1CLK, MIBSPI1nCS[5:0], MIBSPI1nENA |
MibSPI3 | MIBSPI3SIMO[0], MIBSPI3SOMI[0], MIBSPI3CLK, MIBSPI3nCS[5:0], MIBSPI3nENA |
MibSPI5 | MIBSPI5SIMO[3:0], MIBSPI5SOMI[3:0], MIBSPI5CLK, MIBSPI5nCS[3:0], MIBSPI5nENA |
SPI2 | SPI2SIMO[0], SPI2SOMI[0], SPI2CLK, SPI2nCS[1:0], SPI2nENA |
SPI4 | SPI4SIMO[0], SPI4SOMI[0], SPI4CLK, SPI4nCS[0], SPI4nENA |
The Multibuffer RAM is comprised of 128 buffers. Each entry in the Multibuffer RAM consists of 4 parts: a 16-bit transmit field, a 16-bit receive field, a 16-bit control field and a 16-bit status field. The Multibuffer RAM can be partitioned into multiple transfer group with variable number of buffers each. Each MibSPIx module supports 8 transfer groups.
Each of the transfer groups can be configured individually. For each of the transfer groups a trigger event and a trigger source can be chosen. A trigger event can be for example a rising edge or a permanent low level at a selectable trigger source. For example, up to 15 trigger sources are available for use by each transfer group. These trigger options are listed in Table 7-30 and Section 7.11.3.2 for MibSPI1 and MibSPi3 respectively.
Event # | TGxCTRL TRIGSRC[3:0] | Trigger |
---|---|---|
Disabled | 0000 | No trigger source |
EVENT0 | 0001 | GIOA[0] |
EVENT1 | 0010 | GIOA[1] |
EVENT2 | 0011 | GIOA[2] |
EVENT3 | 0100 | GIOA[3] |
EVENT4 | 0101 | GIOA[4] |
EVENT5 | 0110 | GIOA[5] |
EVENT6 | 0111 | GIOA[6] |
EVENT7 | 1000 | GIOA[7] |
EVENT8 | 1001 | N2HET1[8] |
EVENT9 | 1010 | N2HET1[10] |
EVENT10 | 1011 | N2HET1[12] |
EVENT11 | 1100 | N2HET1[14] |
EVENT12 | 1101 | N2HET1[16] |
EVENT13 | 1110 | N2HET1[18] |
EVENT14 | 1111 | Internal Tick counter |
NOTE
For N2HET1 trigger sources, the connection to the MibSPI1 module trigger input is made from the input side of the output buffer (at the N2HET1 module boundary). This way, a trigger condition can be generated even if the N2HET1 signal is not selected to be output on the pad.
NOTE
For GIOx trigger sources, the connection to the MibSPI1 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by selecting the GIOx pin as an output pin and selecting the pin to be a GIOx pin, or by driving the GIOx pin from an external trigger source. If the mux control module is used to select different functionality instead of the GIOx signal, then care must be taken to disable GIOx from triggering MibSPI1 transfers; there is no multiplexing on the input connections.
Event # | TGxCTRL TRIGSRC[3:0] | Trigger |
---|---|---|
Disabled | 0000 | No trigger source |
EVENT0 | 0001 | GIOA[0] |
EVENT1 | 0010 | GIOA[1] |
EVENT2 | 0011 | GIOA[2] |
EVENT3 | 0100 | GIOA[3] |
EVENT4 | 0101 | GIOA[4] |
EVENT5 | 0110 | GIOA[5] |
EVENT6 | 0111 | GIOA[6] |
EVENT7 | 1000 | GIOA[7] |
EVENT8 | 1001 | N2HET1[8] |
EVENT9 | 1010 | N2HET1[10] |
EVENT10 | 1011 | N2HET1[12] |
EVENT11 | 1100 | N2HET1[14] |
EVENT12 | 1101 | N2HET1[16] |
EVENT13 | 1110 | N2HET1[18] |
EVENT14 | 1111 | Internal Tick counter |
NOTE
For N2HET1 trigger sources, the connection to the MibSPI3 module trigger input is made from the input side of the output buffer (at the N2HET1 module boundary). This way, a trigger condition can be generated even if the N2HET1 signal is not selected to be output on the pad.
NOTE
For GIOx trigger sources, the connection to the MibSPI3 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by selecting the GIOx pin as an output pin and selecting the pin to be a GIOx pin, or by driving the GIOx pin from an external trigger source. If the mux control module is used to select different functionality instead of the GIOx signal, then care must be taken to disable GIOx from triggering MibSPI3 transfers; there is no multiplexing on the input connections.
Event # | TGxCTRL TRIGSRC[3:0] | Trigger |
Disabled | 0000 | No trigger source |
EVENT0 | 0001 | GIOA[0] |
EVENT1 | 0010 | GIOA[1] |
EVENT2 | 0011 | GIOA[2] |
EVENT3 | 0100 | GIOA[3] |
EVENT4 | 0101 | GIOA[4] |
EVENT5 | 0110 | GIOA[5] |
EVENT6 | 0111 | GIOA[6] |
EVENT7 | 1000 | GIOA[7] |
EVENT8 | 1001 | N2HET1[8] |
EVENT9 | 1010 | N2HET1[10] |
EVENT10 | 1011 | N2HET1[12] |
EVENT11 | 1100 | N2HET1[14] |
EVENT12 | 1101 | N2HET1[16] |
EVENT13 | 1110 | N2HET1[18] |
EVENT14 | 1111 | Internal Tick counter |
NOTE
For N2HET1 trigger sources, the connection to the MibSPI5 module trigger input is made from the input side of the output buffer (at the N2HET1 module boundary). This way, a trigger condition can be generated even if the N2HET1 signal is not selected to be output on the pad.
NOTE
For GIOx trigger sources, the connection to the MibSPI5 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by selecting the GIOx pin as an output pin and selecting the pin to be a GIOx pin, or by driving the GIOx pin from an external trigger source. If the mux control module is used to select different functionality instead of the GIOx signal, then care must be taken to disable GIOx from triggering MibSPI5 transfers; there is no multiplexing on the input connections.
NO. | Parameter | MIN | MAX | Unit | ||
---|---|---|---|---|---|---|
1 | tc(SPC)M | Cycle time, SPICLK(4) | 40 | 256tc(VCLK) | ns | |
2(5) | tw(SPCH)M | Pulse duration, SPICLK high (clock polarity = 0) | 0.5tc(SPC)M – tr(SPC)M – 3 | 0.5tc(SPC)M + 3 | ns | |
tw(SPCL)M | Pulse duration, SPICLK low (clock polarity = 1) | 0.5tc(SPC)M – tf(SPC)M – 3 | 0.5tc(SPC)M + 3 | |||
3(5) | tw(SPCL)M | Pulse duration, SPICLK low (clock polarity = 0) | 0.5tc(SPC)M – tf(SPC)M – 3 | 0.5tc(SPC)M + 3 | ns | |
tw(SPCH)M | Pulse duration, SPICLK high (clock polarity = 1) | 0.5tc(SPC)M – tr(SPC)M – 3 | 0.5tc(SPC)M + 3 | |||
4(5) | td(SPCH-SIMO)M | Delay time, SPISIMO valid before SPICLK low (clock polarity = 0) | 0.5tc(SPC)M – 6 | ns | ||
td(SPCL-SIMO)M | Delay time, SPISIMO valid before SPICLK high (clock polarity = 1) | 0.5tc(SPC)M – 6 | ||||
5(5) | tv(SPCL-SIMO)M | Valid time, SPISIMO data valid after SPICLK low (clock polarity = 0) | 0.5tc(SPC)M – tf(SPC) – 4 | ns | ||
tv(SPCH-SIMO)M | Valid time, SPISIMO data valid after SPICLK high (clock polarity = 1) | 0.5tc(SPC)M – tr(SPC) – 4 | ||||
6(5) | tsu(SOMI-SPCL)M | Setup time, SPISOMI before SPICLK low (clock polarity = 0) | tf(SPC) + 2.2 | ns | ||
tsu(SOMI-SPCH)M | Setup time, SPISOMI before SPICLK high (clock polarity = 1) | tr(SPC) + 2.2 | ||||
7(5) | th(SPCL-SOMI)M | Hold time, SPISOMI data valid after SPICLK low (clock polarity = 0) | 10 | ns | ||
th(SPCH-SOMI)M | Hold time, SPISOMI data valid after SPICLK high (clock polarity = 1) | 10 | ||||
8(6) | tC2TDELAY | Setup time CS active until SPICLK high (clock polarity = 0) | CSHOLD = 0 | C2TDELAY*tc(VCLK) + 2*tc(VCLK) - tf(SPICS) + tr(SPC) – 7 | (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tr(SPC) + 5.5 | ns |
CSHOLD = 1 | C2TDELAY*tc(VCLK) + 3*tc(VCLK) - tf(SPICS) + tr(SPC) – 7 | (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tr(SPC) + 5.5 | ||||
Setup time CS active until SPICLK low (clock polarity = 1) | CSHOLD = 0 | C2TDELAY*tc(VCLK) + 2*tc(VCLK) - tf(SPICS) + tf(SPC) – 7 | (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tf(SPC) + 5.5 | ns | ||
CSHOLD = 1 | C2TDELAY*tc(VCLK) + 3*tc(VCLK) - tf(SPICS) + tf(SPC) – 7 | (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tf(SPC) + 5.5 | ||||
9(6) | tT2CDELAY | Hold time SPICLK low until CS inactive (clock polarity = 0) | 0.5*tc(SPC)M + T2CDELAY*tc(VCLK) + tc(VCLK) - tf(SPC) + tr(SPICS) - 7 | 0.5*tc(SPC)M + T2CDELAY*tc(VCLK) + tc(VCLK) - tf(SPC) + tr(SPICS) + 11 | ns | |
Hold time SPICLK high until CS inactive (clock polarity = 1) | 0.5*tc(SPC)M + T2CDELAY*tc(VCLK) + tc(VCLK) - tr(SPC) + tr(SPICS) - 7 | 0.5*tc(SPC)M + T2CDELAY*tc(VCLK) + tc(VCLK) - tr(SPC) + tr(SPICS) + 11 | ns | |||
10 | tSPIENA | SPIENAn Sample point | (C2TDELAY+1) * tc(VCLK) - tf(SPICS) – 29 | (C2TDELAY+1)*tc(VCLK) | ns | |
11 | tSPIENAW | SPIENAn Sample point from write to buffer | (C2TDELAY+2)*tc(VCLK) | ns |
NO. | Parameter | MIN | MAX | Unit | ||
---|---|---|---|---|---|---|
1 | tc(SPC)M | Cycle time, SPICLK (4) | 40 | 256tc(VCLK) | ns | |
2(5) | tw(SPCH)M | Pulse duration, SPICLK high (clock polarity = 0) | 0.5tc(SPC)M – tr(SPC)M – 3 | 0.5tc(SPC)M + 3 | ns | |
tw(SPCL)M | Pulse duration, SPICLK low (clock polarity = 1) | 0.5tc(SPC)M – tf(SPC)M – 3 | 0.5tc(SPC)M + 3 | |||
3(5) | tw(SPCL)M | Pulse duration, SPICLK low (clock polarity = 0) | 0.5tc(SPC)M – tf(SPC)M – 3 | 0.5tc(SPC)M + 3 | ns | |
tw(SPCH)M | Pulse duration, SPICLK high (clock polarity = 1) | 0.5tc(SPC)M – tr(SPC)M – 3 | 0.5tc(SPC)M + 3 | |||
4(5) | tv(SIMO-SPCH)M | Valid time, SPICLK high after SPISIMO data valid (clock polarity = 0) | 0.5tc(SPC)M – 6 | ns | ||
tv(SIMO-SPCL)M | Valid time, SPICLK low after SPISIMO data valid (clock polarity = 1) | 0.5tc(SPC)M – 6 | ||||
5(5) | tv(SPCH-SIMO)M | Valid time, SPISIMO data valid after SPICLK high (clock polarity = 0) | 0.5tc(SPC)M – tr(SPC) – 4 | ns | ||
tv(SPCL-SIMO)M | Valid time, SPISIMO data valid after SPICLK low (clock polarity = 1) | 0.5tc(SPC)M – tf(SPC) – 4 | ||||
6(5) | tsu(SOMI-SPCH)M | Setup time, SPISOMI before SPICLK high (clock polarity = 0) | tr(SPC) + 2.2 | ns | ||
tsu(SOMI-SPCL)M | Setup time, SPISOMI before SPICLK low (clock polarity = 1) | tf(SPC) + 2.2 | ||||
7(5) | tv(SPCH-SOMI)M | Valid time, SPISOMI data valid after SPICLK high (clock polarity = 0) | 10 | ns | ||
tv(SPCL-SOMI)M | Valid time, SPISOMI data valid after SPICLK low (clock polarity = 1) | 10 | ||||
8(6) | tC2TDELAY | Setup time CS active until SPICLK high (clock polarity = 0) | CSHOLD = 0 | 0.5*tc(SPC)M + (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tr(SPC) – 7 | 0.5*tc(SPC)M + (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tr(SPC) + 5.5 | ns |
CSHOLD = 1 | 0.5*tc(SPC)M + (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tr(SPC) – 7 | 0.5*tc(SPC)M + (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tr(SPC) + 5.5 | ||||
Setup time CS active until SPICLK low (clock polarity = 1) | CSHOLD = 0 | 0.5*tc(SPC)M + (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tf(SPC) – 7 | 0.5*tc(SPC)M + (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tf(SPC) + 5.5 | ns | ||
CSHOLD = 1 | 0.5*tc(SPC)M + (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tf(SPC) – 7 | 0.5*tc(SPC)M + (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tf(SPC) + 5.5 | ||||
9(6) | tT2CDELAY | Hold time SPICLK low until CS inactive (clock polarity = 0) | T2CDELAY*tc(VCLK) + tc(VCLK) - tf(SPC) + tr(SPICS) - 7 | T2CDELAY*tc(VCLK) + tc(VCLK) - tf(SPC) + tr(SPICS) + 11 | ns | |
Hold time SPICLK high until CS inactive (clock polarity = 1) | T2CDELAY*tc(VCLK) + tc(VCLK) - tr(SPC) + tr(SPICS) - 7 | T2CDELAY*tc(VCLK) + tc(VCLK) - tr(SPC) + tr(SPICS) + 11 | ns | |||
10 | tSPIENA | SPIENAn Sample Point | (C2TDELAY+1)* tc(VCLK) - tf(SPICS) – 29 | (C2TDELAY+1)*tc(VCLK) | ns | |
11 | tSPIENAW | SPIENAn Sample point from write to buffer | (C2TDELAY+2)*tc(VCLK) | ns |
NO. | Parameter | MIN | MAX | Unit | |
---|---|---|---|---|---|
1 | tc(SPC)S | Cycle time, SPICLK(5) | 40 | ns | |
2(6) | tw(SPCH)S | Pulse duration, SPICLK high (clock polarity = 0) | 14 | ns | |
tw(SPCL)S | Pulse duration, SPICLK low (clock polarity = 1) | 14 | |||
3(6) | tw(SPCL)S | Pulse duration, SPICLK low (clock polarity = 0) | 14 | ns | |
tw(SPCH)S | Pulse duration, SPICLK high (clock polarity = 1) | 14 | |||
4(6) | td(SPCH-SOMI)S | Delay time, SPISOMI valid after SPICLK high (clock polarity = 0) | trf(SOMI) + 20 | ns | |
td(SPCL-SOMI)S | Delay time, SPISOMI valid after SPICLK low (clock polarity = 1) | trf(SOMI) + 20 | |||
5(6) | th(SPCH-SOMI)S | Hold time, SPISOMI data valid after SPICLK high (clock polarity =0) | 2 | ns | |
th(SPCL-SOMI)S | Hold time, SPISOMI data valid after SPICLK low (clock polarity =1) | 2 | |||
6(6) | tsu(SIMO-SPCL)S | Setup time, SPISIMO before SPICLK low (clock polarity = 0) | 4 | ns | |
tsu(SIMO-SPCH)S | Setup time, SPISIMO before SPICLK high (clock polarity = 1) | 4 | |||
7(6) | th(SPCL-SIMO)S | Hold time, SPISIMO data valid after SPICLK low (clock polarity = 0) | 2 | ns | |
th(SPCH-SIMO)S | Hold time, SPISIMO data valid after S PICLK high (clock polarity = 1) | 2 | |||
8 | td(SPCL-SENAH)S | Delay time, SPIENAn high after last SPICLK low (clock polarity = 0) | 1.5tc(VCLK) | 2.5tc(VCLK)+tr(ENAn)+ 22 | ns |
td(SPCH-SENAH)S | Delay time, SPIENAn high after last SPICLK high (clock polarity = 1) | 1.5tc(VCLK) | 2.5tc(VCLK)+ tr(ENAn) + 22 | ||
9 | td(SCSL-SENAL)S | Delay time, SPIENAn low after SPICSn low (if new data has been written to the SPI buffer) | tf(ENAn) | tc(VCLK)+tf(ENAn)+27 | ns |
NO. | Parameter | MIN | MAX | Unit | |
---|---|---|---|---|---|
1 | tc(SPC)S | Cycle time, SPICLK(5) | 40 | ns | |
2(6) | tw(SPCH)S | Pulse duration, SPICLK high (clock polarity = 0) | 14 | ns | |
tw(SPCL)S | Pulse duration, SPICLK low (clock polarity = 1) | 14 | |||
3(6) | tw(SPCL)S | Pulse duration, SPICLK low (clock polarity = 0) | 14 | ns | |
tw(SPCH)S | Pulse duration, SPICLK high (clock polarity = 1) | 14 | |||
4(6) | td(SOMI-SPCL)S | Delay time, SPISOMI data valid after SPICLK low (clock polarity = 0) | trf(SOMI) + 20 | ns | |
td(SOMI-SPCH)S | Delay time, SPISOMI data valid after SPICLK high (clock polarity = 1) | trf(SOMI) + 20 | |||
5(6) | th(SPCL-SOMI)S | Hold time, SPISOMI data valid after SPICLK high (clock polarity =0) | 2 | ns | |
th(SPCH-SOMI)S | Hold time, SPISOMI data valid after SPICLK low (clock polarity =1) | 2 | |||
6(6) | tsu(SIMO-SPCH)S | Setup time, SPISIMO before SPICLK high (clock polarity = 0) | 4 | ns | |
tsu(SIMO-SPCL)S | Setup time, SPISIMO before SPICLK low (clock polarity = 1) | 4 | |||
7(6) | tv(SPCH-SIMO)S | High time, SPISIMO data valid after SPICLK high (clock polarity = 0) | 2 | ns | |
tv(SPCL-SIMO)S | High time, SPISIMO data valid after SPICLK low (clock polarity = 1) | 2 | |||
8 | td(SPCH-SENAH)S | Delay time, SPIENAn high after last SPICLK high (clock polarity = 0) | 1.5tc(VCLK) | 2.5tc(VCLK)+tr(ENAn) + 22 | ns |
td(SPCL-SENAH)S | Delay time, SPIENAn high after last SPICLK low (clock polarity = 1) | 1.5tc(VCLK) | 2.5tc(VCLK)+tr(ENAn) + 22 | ||
9 | td(SCSL-SENAL)S | Delay time, SPIENAn low after SPICSn low (if new data has been written to the SPI buffer) | tf(ENAn) | tc(VCLK)+tf(ENAn)+ 27 | ns |
10 | td(SCSL-SOMI)S | Delay time, SOMI valid after SPICSn low (if new data has been written to the SPI buffer) | tc(VCLK) | 2tc(VCLK)+trf(SOMI)+ 28 | ns |
The Ethernet Media Access Controller (EMAC) provides an efficient interface between the CPU and the network. The EMAC supports both 10Base-T and 100Base-TX, or 10 Mbits/second (Mbps) and 100 Mbps in either half- or full-duplex mode, with hardware flow control and quality of service (QoS) support.
The EMAC controls the flow of packet data from the RM4x device to the PHY. The MDIO module controls PHY configuration and status monitoring.
Both the EMAC and the MDIO modules interface to the RM4x device through a custom interface that allows efficient data transmission and reception. This custom interface is referred to as the EMAC control module, and is considered integral to the EMAC/MDIO peripheral. The control module is also used to multiplex and control interrupts.
NO. | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
1 | tsu(MIIRXD - MIIRXCLKH) | Setup time, MII_RXD[3:0] before MII_RX_CLK rising edge | 8 | ns | |
tsu(MIIRXDV - MIIRXCLKH) | Setup time, MII_RX_DV before MII_RX_CLK rising edge | 8 | ns | ||
tsu(MIIRXER - MIIRXCLKH) | Setup time, MII_RX_ER before MII_RX_CLK rising edge | 8 | ns | ||
2 | th(MIIRXCLKH - MIIRXD) | Hold time, MII_RXD[3:0] valid after MII_RX_CLK rising edge | 8 | ns | |
th(MIIRXCLKH - MIIRXDV) | Hold time, MII_RX_DV valid after MII_RX_CLK rising edge | 8 | ns | ||
th(MIIRXCLKH - MIIRXER) | Hold time, MII_RX_ER valid after MII_RX_CLK rising edge | 8 | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
1 | td(MIIRXCLKH - MIITXD) | Delay time, MII_TX_CLK rising edge to MII_TXD[3:0] valid | 5 | 25 | ns |
td(MIIRXCLKH - MIITXEN) | Delay time, MII_TX_CLK rising edge to MII_TXEN valid | 5 | 25 | ns |
NO. | MIN | NOM | MAX | UNIT | ||
---|---|---|---|---|---|---|
1 | tc(REFCLK) | Cycle time, RMII_REFCLK | 20 | ns | ||
2 | tw(REFCLKH) | Pulse width, RMII_REFCLK high | 7 | 13 | ns | |
3 | tw(REFCLKL) | Pulse width, RMII_REFCLK low | 7 | 13 | ns | |
6 | tsu(RXD-REFCLK) | Input setup time, RMII_RXD[1:0] valid before RMII_REFCLK high | 4 | ns | ||
7 | th(REFCLK-RXD) | Input hold time, RMII_RXD[1:0] valid after RMII_REFCLK high | 2 | ns | ||
8 | tsu(CRSDV-REFCLK) | Input setup time, RMII_CRS_DV valid before RMII_REFCLK high | 4 | ns | ||
9 | th(REFCLK-CRSDV) | Input hold time, RMII_CRS_DV valid after RMII_REFCLK high | 2 | ns | ||
10 | tsu(RXER-REFCLK) | Input setup time, RMII_RX_ER valid before RMII_REFCLK high | 4 | ns | ||
11 | th(REFCLK-RXER) | Input hold time, RMII_RX_ER valid after RMII_REFCLK high | 2 | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
4 | td(REFCLK-TXD) | Output delay time, RMII_REFCLK high to RMII_TXD[1:0] valid | 2 | ns | |
5 | td(REFCLK-TXEN) | Output delay time, RMII_REFCLK high to RMII_TXEN valid | 2 | ns |
NO. | Parameter | Value | Unit | ||
---|---|---|---|---|---|
MIN | MAX | ||||
1 | tc(MDCLK) | Cycle time, MDCLK | 400 | - | ns |
2 | tw(MDCLK) | Pulse duration, MDCLK high/low | 180 | - | ns |
3 | tt(MDCLK) | Transition time, MDCLK | - | 5 | ns |
4 | tsu(MDIO-MDCLKH) | Setup time, MDIO data input valid before MDCLK High | 33(1) | - | ns |
5 | th(MDCLKH-MDIO) | Hold time, MDIO data input valid after MDCLK High | 10 | - | ns |
NO. | Parameter | Value | Unit | ||
---|---|---|---|---|---|
MIN | MAX | ||||
1 | tc(MDCLK) | Cycle time, MDCLK | 400 | - | ns |
7 | td(MDCLKL-MDIO) | Delay time, MDCLK low to MDIO data output valid | -7 | 100 | ns |
This device provides several varieties of USB functionality, including:
NO. | Parameter | MIN | MAX | Unit | |
---|---|---|---|---|---|
FSU20 | td(VPL, VML) | Host time duration, USBx.VP and USBx.VM low together during transition(1) | 15 | ns | |
Device time duration, USBx.VP and USBx.VM low together during transition | 15 | ns | |||
FSU21 | td(VPH, VMH) | Host time duration, USBx.VP and USBx.VM high together during transition(1) | 15 | ns | |
Device time duration, USBx.VP and USBx.VM high together during transition | 15 | ns |
NO. | Parameter | MIN | MAX | Unit | |
---|---|---|---|---|---|
FSU15 | td(TXENL–TXDATV) | Host delay time USBx.TXEN active to USBx.TXDAT valid(2) | -2.3 | 2.1 | ns |
Device delay time USBx.TXEN active to USBx.TXDAT valid | -2.6 | 0.8 | ns | ||
FSU16 | td(TXENL–TXSE0V) | Host delay time USBx.TXEN active to USBx.TXSE0 valid(2) | -2.9 | 1.8 | ns |
Device delay time USBx.TXEN active to USBx.TXSE0 valid | -1.7 | 1.0 | ns | ||
FSU17 | ts(TXDAT–TXSE0) | Host skew between USBx.TXDAT and USBx.TXSE0 transition(2) | 0 | 1.7 | ns |
Device skew between USBx.TXDAT and USBx.TXSE0 transition | 0 | 2.1 | ns | ||
FSU18 | td(TXENH–TXDATI) | Host delay time USBx.TXEN inactive to USBx.TXDAT invalid(2) | -2.0 | 2.2 | ns |
Device delay time USBx.TXEN inactive to USBx.TXDAT invalid | -2.0 | 0.7 | ns | ||
FSU19 | td(TXENH–TXSE0I) | Host delay time USBx.TXEN inactive to USBx.TXSE0 invalid(2) | -2.6 | 1.9 | ns |
Device delay time USBx.TXEN inactive to USBx.TXSE0 invalid | -1.3 | 0.9 | ns |