SPNS215C February 2014 – June 2016 RM57L843
PRODUCTION DATA.
Refer to the PDF data sheet for device specific package drawings
Figure 7-1 shows the connections between the seven ePWM modules (ePWM1–ePWM7) on the device.
Figure 7-2 shows the detailed input synchronization selection (asynchronous, double-synchronous, or double synchronous + filter width) for ePWMx.
Each ePWM module has a clock enable (ePWMxENCLK) which is controlled by its respective Peripheral Power Down bit in the PSPWRDWNCLRx register of the PCR2 module. To properly reset the peripherals, the peripherals must be released from reset by setting the PENA bit of the CLKCNTL register in the system module. In additional, the peripherals must be released from their power down state by clearing their respective bit in the PSPWRDWNCLRx register. By default after reset, the peripherals are in powerdown state.
ePWM MODULE INSTANCE | CONTROL REGISTER TO ENABLE CLOCK |
DEFAULT VALUE |
---|---|---|
ePWM1 | PSPWRDWNCLR3[16] | 1 |
ePWM2 | PSPWRDWNCLR3[17] | 1 |
ePWM3 | PSPWRDWNCLR3[18] | 1 |
ePWM4 | PSPWRDWNCLR3[19] | 1 |
ePWM5 | PSPWRDWNCLR3[12] | 1 |
ePWM6 | PSPWRDWNCLR3[13] | 1 |
ePWM7 | PSPWRDWNCLR3[14] | 1 |
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. For more information, see the ePWM module chapter of the device-specific TRM.
The connection between the NHET1_LOOP_SYNC and the SYNCI input of ePWM1 module is implemented as shown in Figure 7-3.
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 PINMMR166[1] 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 the ePWM1 module is also exported to the I/O Mux such that multiple devices can be synchronized together. The signal pulse must be stretched by 8 VCLK3 cycles before being exported on the IO Mux pin as the ePWMSYNCO signal.
The ePWMx modules have 6 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 the electrical and timing section of this document.
These 3 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 VCLK3, or double-synchronized and then filtered with a 6-cycle VCLK3-based counter before connecting to the ePWMx (see Figure 7-2). 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(1) |
---|---|---|---|
TZ1n | PINMMR172[18:16] = 001 | PINMMR172[18:16] = 010 | PINMMR172[18:16] = 100 |
TZ2n | PINMMR172[26:24] = 001 | PINMMR172[26:24] = 010 | PINMMR172[26:24] = 100 |
TZ3n | PINMMR173[2:0] = 001 | PINMMR173[2:0] = 010 | PINMMR173[2:0] = 100 |
This trip zone input is dedicated to eQEPx error indications. There are 2 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 requirements of the applicationapplication's requirements.
ePWMx | CONTROL FOR TZ4n = NOT(EQEP1ERR OR EQEP2ERR) |
CONTROL FOR TZ4n = NOT(EQEP1ERR) |
CONTROL FOR TZ4n = NOT(EQEP2ERR) |
---|---|---|---|
ePWM1 | PINMMR167[2:0] = 001 | PINMMR167[2:0] = 010 | PINMMR167[2:0] = 100 |
ePWM2 | PINMMR167[10:8] = 001 | PINMMR167[10:8] = 010 | PINMMR167[10:8] = 100 |
ePWM3 | PINMMR167[18:16] = 001 | PINMMR167[18:16] = 010 | PINMMR167[18:16] = 100 |
ePWM4 | PINMMR167[26:24] = 001 | PINMMR167[26:24] = 010 | PINMMR167[26:24] = 100 |
ePWM5 | PINMMR168[2:0] = 001 | PINMMR168[2:0] = 010 | PINMMR168[2:0] = 100 |
ePWM6 | PINMMR168[10:8] = 001 | PINMMR168[10:8] = 010 | PINMMR168[10:8] = 100 |
ePWM7 | PINMMR168[18:16] = 001 | PINMMR168[18:16] = 010 | PINMMR168[18:16] = 100 |
NOTE
The EQEPxERR signal is an active high signal coming out of EQEPx module. As listed in Table 7-3, the selected combination of the EQEPxERR signals must be inverted before connecting to the TZ4n input of the ePWMx modules.
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 applciation can use this trip zone input for each ePWMx module 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 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.
NOTE
There is a signal called DBGACK that the CPU drives when it enters debug mode. This signal must be inverted and used as the Debug Mode Entry signal for the trip zone input.
A special scheme is implemented 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.
TEST CONDITIONS | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
tw(SYNCIN) | Synchronization input pulse width | Asynchronous | 2 tc(VCLK3) | cycles | |
Synchronous | 2 tc(VCLK3) | cycles | |||
Synchronous with input filter | 2 tc(VCLK3) + filter width(1) | 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(VCLK3) | 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 |
TEST CONDITIONS | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
tw(TZ) | Pulse duration, TZn input low | Asynchronous | 2 * TBePWMx | cycles | |
Synchronous | 2 tc(VCLK3) | ||||
Synchronous with input filter | 2 tc(VCLK3) + filter width(1) |
Figure 7-4 shows how the eCAP modules are interconnected on this microcontroller.
Figure 7-5 shows the detailed input synchronization selection (asynchronous, double-synchronous, or double synchronous + filter width) for eCAPx.
Each of the eCAPx modules has a clock enable (ECAPxENCLK) which is controlled by its respective Peripheral Power Down bit in the PSPWRDWNCLRx register of the PCR2 module. To properly reset the peripherals, the peripherals must be released from reset by setting the PENA bit of the CLKCNTL register in the system module. In addition, the peripherals must be released from their power down state by clearing the respective bit in the PSPWRDWNCLRx register. By default, after reset, the peripherals are in the power down state.
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 eCAPx modules. For more information, see the eCAP module chapter of the device-specific TRM.
The input connection to each of the eCAPx modules can be selected between a double-VCLK3-synchronized input or a double-VCLK3-synchronized and filtered input, as listed in Table 7-8.
INPUT SIGNAL | CONTROL FOR DOUBLE-SYNCHRONIZED CONNECTION TO eCAPx |
CONTROL FOR DOUBLE-SYNCHRONIZED AND FILTERED CONNECTION TO eCAPx(1) |
---|---|---|
eCAP1 | PINMMR169[2:0] = 001 | PINMMR169[2:0] = 010 |
eCAP2 | PINMMR169[10:8] = 001 | PINMMR169[10:8] = 010 |
eCAP3 | PINMMR169[18:16] = 001 | PINMMR169[18:16] = 010 |
eCAP4 | PINMMR169[26:24] = 001 | PINMMR169[26:24] = 010 |
eCAP5 | PINMMR170[2:0] = 001 | PINMMR170[2:0] = 010 |
eCAP6 | PINMMR170[10:8] = 001 | PINMMR170[10:8] = 010 |
TEST CONDITIONS | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
tw(CAP) | Pulse width, capture input | Synchronous | 2 tc(VCLK3) | cycles | |
Synchronous with input filter | 2 tc(VCLK3) + filter width(1) | cycles |
PARAMETER | TEST CONDITIONS | MIN | MAX | UNIT | |
---|---|---|---|---|---|
tw(APWM) | Pulse duration, APWMx output high or low | 20 | ns |
Figure 7-6 shows the eQEP module interconnections on the device.
Figure 7-7 shows the detailed input synchronization selection (asynchronous, double-synchronous, or double synchronous + filter width) for eQEPx.
Each of the EQEPx modules has a clock enable (EQEPxENCLK) which is controlled by its respective Peripheral Power Down bit in the PSPWRDWNCLRx register of the PCR2 module. To properly reset the peripherals, the peripherals must be released from reset by setting the PENA bit of the CLKCNTL register in the system module. In addition, the peripherals must be released from their power down state by clearing the respective bit in the PSPWRDWNCLRx register. By default after reset, the peripherals are in power down state.
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 multiplexer. This multiplexer is defined in Table 7-3. As shown in Figure 7-6, the output of this selection multiplexer 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 connection to each of the eQEP modules can be selected between a double-VCLK3-synchronized input or a double-VCLK3-synchronized and filtered input, as listed in Table 7-12.
INPUT SIGNAL | CONTROL FOR DOUBLE-SYNCHRONIZED CONNECTION TO eQEPx |
CONTROL FOR DOUBLE-SYNCHRONIZED AND FILTERED CONNECTION(1) TO eQEPx |
---|---|---|
eQEP1A | PINMMR170[18:16] = 001 | PINMMR170[18:16] = 010 |
eQEP1B | PINMMR170[26:24] = 001 | PINMMR170[26:24] = 010 |
eQEP1I | PINMMR171[2:0] = 001 | PINMMR171[2:0] = 010 |
eQEP1S | PINMMR171[10:8] = 001 | PINMMR171[10:8] = 010 |
eQEP2A | PINMMR171[18:16] = 001 | PINMMR171[18:16] = 010 |
eQEP2B | PINMMR171[26:24] = 001 | PINMMR171[26:24] = 010 |
eQEP2I | PINMMR172[2:0] = 001 | PINMMR172[2:0] = 010 |
eQEP2S | PINMMR172[10:8] = 001 | PINMMR172[10:8] = 010 |
TEST CONDITIONS | MIN | MAX | UNIT | ||
---|---|---|---|---|---|
tw(QEPP) | QEP input period | Synchronous | 2 tc(VCLK3) | cycles | |
Synchronous with input filter | 2 tc(VCLK3) + filter width | ||||
tw(INDEXH) | QEP Index Input High Time | Synchronous | 2 tc(VCLK3) | cycles | |
Synchronous with input filter | 2 tc(VCLK3) + filter width | ||||
tw(INDEXL) | QEP Index Input Low Time | Synchronous | 2 tc(VCLK3) | cycles | |
Synchronous with input filter | 2 tc(VCLK3) + filter width | ||||
tw(STROBH) | QEP Strobe Input High Time | Synchronous | 2 tc(VCLK3) | cycles | |
Synchronous with input filter | 2 tc(VCLK3) + filter width | ||||
tw(STROBL) | QEP Strobe Input Low Time | Synchronous | 2 tc(VCLK3) | cycles | |
Synchronous with input filter | 2 tc(VCLK3) + filter width |
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
td(CNTR)xin | Delay time, external clock to counter increment | 4 tc(VCLK3) | cycles | |
td(PCS-OUT)QEP | Delay time, QEP input edge to position compare sync output | 6 tc(VCLK3) | cycles |
The MibADC has a separate power bus for its analog circuitry that enhances the Analog-to-Digital (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 FFFh [00 for VAI ≤ ADREFLO; FFF for VAI ≥ ADREFHI] |
The ADC module supports three conversion groups: Event Group, Group1, and Group2. Each of these three groups can be configured to be triggered by a hardware event. In that case, the application can select from among eight event sources to be the trigger for a group's conversions.
Table 7-16 lists the event sources that can trigger the conversions for the MibADC1 groups.
GROUP SOURCE SELECT BITS (G1SRC, G2SRC OR EVSRC) |
EVENT NO. | PINMMR161[0] | PINMMR161[1] | CONTROL FOR OPTION A |
CONTROL FOR OPTION B |
TRIGGER SOURCE |
---|---|---|---|---|---|---|
000 | 1 | x | x | — | — | AD1EVT |
001 | 2 | 1 | 0 | PINMMR161[8] = x | PINMMR161[9] = x | N2HET1[8] |
0 | 1 | PINMMR161[8] = 1 | PINMMR161[9] = 0 | N2HET2[5] | ||
0 | 1 | PINMMR161[8] = 0 | PINMMR161[9] = 1 | e_TPWM_B | ||
010 | 3 | 1 | 0 | — | — | N2HET1[10] |
0 | 1 | — | — | N2HET1[27] | ||
011 | 4 | 1 | 0 | PINMMR161[16] = x | PINMMR161[17] = x | RTI1 Comp0 |
0 | 1 | PINMMR161[16] = 1 | PINMMR161[17] = 0 | RTI1 Comp0 | ||
0 | 1 | PINMMR161[16] = 0 | PINMMR161[17] = 1 | e_TPWM_A1 | ||
100 | 5 | 1 | 0 | — | — | N2HET1[12] |
0 | 1 | — | — | N2HET1[17] | ||
101 | 6 | 1 | 0 | PINMMR161[24] = x | PINMMR161[25] = x | N2HET1[14] |
0 | 1 | PINMMR161[24] = 1 | PINMMR161[25] = 0 | N2HET1[19] | ||
0 | 1 | PINMMR161[24] = 0 | PINMMR161[25] = 1 | N2HET2[1] | ||
110 | 7 | 1 | 0 | PINMMR162[0] = x | PINMMR162[1] = x | GIOB[0] |
0 | 1 | PINMMR162[0] = 1 | PINMMR162[1] = 0 | N2HET1[11] | ||
0 | 1 | PINMMR162[0] = 0 | PINMMR162[1] = 1 | ePWM_A2 | ||
111 | 8 | 1 | 0 | PINMMR162[8] = x | PINMMR162[9] = x | GIOB[1] |
0 | 1 | PINMMR162[8] = 1 | PINMMR162[9] = 0 | N2HET2[13] | ||
0 | 1 | PINMMR162[8] = 0 | PINMMR162[9] = 1 | ePWM_AB |
NOTE
For ADEVT 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 ADEVT as an output function on to the pad (through the mux control), or by driving the ADEVT signal from an external trigger source as input. If the mux control module is used to select different functionality instead of the ADEVT signal, then care must be taken to disable ADEVT from triggering conversions; there is no multiplexing on the input connection.
If ePWM_B, ePWM_A2, 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 N2HETx trigger sources, the connection to the MibADC1 module trigger input is made from the input side of the output buffer (at the N2HETx module boundary). This way, a trigger condition can be generated even if the N2HETx signal is not selected to be output on the pad.
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.
Table 7-17 lists the event sources that can trigger the conversions for the MibADC2 groups.
GROUP SOURCE SELECT BITS (G1SRC, G2SRC, or EVSRC) |
EVENT NO. | PINMMR161[0] | PINMMR161[1] | CONTROL FOR OPTION A |
CONTROL FOR OPTION B |
TRIGGER SOURCE |
---|---|---|---|---|---|---|
000 | 1 | x | x | NA | NA | AD2EVT |
001 | 2 | 1 | 0 | PINMMR162[16] = x | PINMMR162[17] = x | N2HET1[8] |
0 | 1 | PINMMR162[16] = 1 | PINMMR162[17] = 0 | N2HET2[5] | ||
0 | 1 | PINMMR162[16] = 0 | PINMMR162[17] = 1 | e_TPWM_B | ||
010 | 3 | 1 | 0 | NA | NA | N2HET1[10] |
0 | 1 | NA | NA | N2HET1[27] | ||
011 | 4 | 1 | 0 | PINMMR162[24] = x | PINMMR162[25] = x | RTI1 Comp0 |
0 | 1 | PINMMR162[24] = 1 | PINMMR162[25] = 0 | RTI1 Comp0 | ||
0 | 1 | PINMMR162[24] = 0 | PINMMR162[25] = 1 | e_TPWM_A1 | ||
100 | 5 | 1 | 0 | NA | NA | N2HET1[12] |
0 | 1 | NA | NA | N2HET1[17] | ||
101 | 6 | 1 | 0 | PINMMR163[0] = x | PINMMR163[0] = x | N2HET1[14] |
0 | 1 | PINMMR163[0] = 1 | PINMMR163[0] = 0 | N2HET1[19] | ||
0 | 1 | PINMMR163[0] = 0 | PINMMR163[0] = 1 | N2HET2[1] | ||
110 | 7 | 1 | 0 | PINMMR163[8] = x | PINMMR163[8] = x | GIOB[0] |
0 | 1 | PINMMR163[8] = 1 | PINMMR163[8] = 0 | N2HET1[11] | ||
0 | 1 | PINMMR163[8] = 0 | PINMMR163[8] = 1 | ePWM_A2 | ||
111 | 8 | 1 | 0 | PINMMR163[16] = x | PINMMR163[16] = x | GIOB[1] |
0 | 1 | PINMMR163[16] = 1 | PINMMR163[16] = 0 | N2HET2[13] | ||
0 | 1 | PINMMR163[16] = 0 | PINMMR163[16] = 1 | ePWM_AB |
NOTE
For AD2EVT 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 AD2EVT as an output function on to the pad (through the mux control), or by driving the AD2EVT signal from an external trigger source as input. If the mux control module is used to select different functionality instead of the AD2EVT signal, then care must be taken to disable AD2EVT from triggering conversions; there is no multiplexing on the input connections.
If ePWM_B, ePWM_A2, 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 N2HETx trigger sources, the connection to the MibADC2 module trigger input is made from the input side of the output buffer (at the N2HETx module boundary). This way, a trigger condition can be generated even if the N2HETx signal is not selected to be output on the pad.
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-8, the ePWMxSOCA and ePWMxSOCB outputs from each ePWM module are used to generate four 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 |
---|---|
PINMMR164[0] | SOC1A_SEL |
PINMMR164[8] | SOC2A_SEL |
PINMMR164[16] | SOC3A_SEL |
PINMMR164[24] | SOC4A_SEL |
PINMMR165[0] | SOC5A_SEL |
PINMMR165[8] | SOC6A_SEL |
PINMMR165[16] | SOC7A_SEL |
The SOCA output from each ePWM module is connected to a "switch" shown in Figure 7-8. This switch is implemented by using the control registers in the PINMMR module. Figure 7-9 is an example of the implementation is shown for the switch on SOC1A. The switches on the other SOCA signals are implemented in the same way.
The logic equations for the four outputs from the combinational logic shown in Figure 7-8 are:
ePWM_B = | SOC1B or SOC2B or SOC3B or SOC4B or SOC5B or SOC6B or SOC7B | (1) |
ePWM_A1 = | [ SOC1A and not(SOC1A_SEL) ] or [ SOC2A and not(SOC2A_SEL) ] or [ SOC3A and not(SOC3A_SEL) ] or | (2) |
[ 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 | (3) |
[ 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 | (4) |
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 |
IAIC | Analog input clamp current(2) (VAI < VSSAD – 0.3 or VAI > VCCAD + 0.3) | –2 | 2 | mA |
PARAMETER | DESCRIPTION/CONDITIONS | MIN | MAX | UNIT | ||
---|---|---|---|---|---|---|
Rmux | Analog input mux on-resistance | See Figure 7-10 | 250 | Ω | ||
Rsamp | ADC sample switch on-resistance | See Figure 7-10 | 250 | Ω | ||
Cmux | Input mux capacitance | See Figure 7-10 | 16 | pF | ||
Csamp | ADC sample capacitance | See Figure 7-10 | 13 | pF | ||
IAIL | Analog off-state input leakage current | VCCAD = 3.6 V | VSSAD ≤ VIN < VSSAD + 100 mV | –300 | 200 | nA |
VSSAD + 100 mV ≤ VIN ≤ VCCAD - 200 mV | –200 | 200 | ||||
VCCAD - 200 mV < VIN ≤ VCCAD | –200 | 500 | ||||
IAIL | Analog off-state input leakage current | VCCAD = 5.25 V | VSSAD ≤ VIN < VSSAD + 300 mV | –1000 | 250 | nA |
VSSAD + 300 mV ≤ VIN ≤ VCCAD - 300 mV | –250 | 250 | ||||
VCCAD - 300 mV < VIN ≤ VCCAD | –250 | 1000 | ||||
IAOSB(1) | Analog on-state input bias current | VCCAD = 3.6 V | VSSAD ≤ VIN < VSSAD + 100 mV | –10 | 2 | µA |
VSSAD + 100 mV < VIN < VCCAD - 200 mV | –4 | 2 | ||||
VCCAD - 200 mV < VIN < VCCAD | –4 | 16 | ||||
IAOSB(1) | Analog on-state input bias current | VCCAD = 5.25 V | VSSAD ≤ VIN < VSSAD + 300 mV | –12 | 3 | µA |
VSSAD + 300 mV ≤ VIN ≤ VCCAD - 300 mV | –5 | 3 | ||||
VCCAD - 300 mV < VIN ≤ VCCAD | –5 | 18 |
PARAMETER | MIN | NOM | MAX | UNIT | |
---|---|---|---|---|---|
tc(ADCLK)(1) | Cycle time, MibADC clock | 0.033 | µs | ||
td(SH)(2) | Delay time, sample and hold time | 0.2 | µs | ||
12-BIT MODE | |||||
td(C) | Delay time, conversion time | 0.4 | µs | ||
td(SHC)(3) | Delay time, total sample/hold and conversion time | 0.6 | µs | ||
10-BIT MODE | |||||
td(C) | Delay time, conversion time | 0.33 | µs | ||
td(SHC)(3) | Delay time, total sample/hold and conversion time | 0.53 | µs |
PARAMETER | DESCRIPTION/CONDITIONS | MIN | MAX | UNIT | ||
---|---|---|---|---|---|---|
CR | Conversion range over which specified accuracy is maintained | ADREFHI - ADREFLO | 3 | 3.6 | 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-11) | 10-bit mode | –1 | 1.5 | LSB |
12-bit mode | –1 | 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 | 2 | LSB |
12-bit mode | –2 | 2 | LSB | |||
ETOT | Total unadjusted error (after calibration) | Maximum value of the difference between an analog value and the ideal midstep value. | 10-bit mode | –2 | 2 | LSB |
12-bit mode | –4 | 4 | LSB |
PARAMETER | DESCRIPTION/CONDITIONS | MIN | MAX | UNIT | ||
---|---|---|---|---|---|---|
CR | Conversion range over which specified accuracy is maintained | ADREFHI - ADREFLO | 3.6 | 5.25 | 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-11) | 10-bit mode | –1 | 1.5 | LSB |
12-bit mode | –1 | 3 | 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 | 2 | LSB |
12-bit mode | –4.5 | 2 | LSB | |||
ETOT | Total unadjusted error (after calibration) | Maximum value of the difference between an analog value and the ideal midstep value. | 10-bit mode | –2 | 2 | LSB |
12-bit mode | –6 | 5 | LSB |
The differential nonlinearity error shown in Figure 7-11 (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-12 (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-13 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.10.1 and Section 5.10.2.
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).
The N2HET instructions PCNT and WCAP impose some timing constraints on the input signals.
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
1 | Input signal period, PCNT or WCAP for rising edge to rising edge | (HRP) (LRP) tc(VCLK2) + 2 | 225 (HRP) (LRP) tc(VCLK2) - 2 | ns |
2 | Input signal period, PCNT or WCAP for falling edge to falling edge | (HRP) (LRP) tc(VCLK2) + 2 | 225 (HRP) (LRP) tc(VCLK2) - 2 | ns |
3 | Input signal high phase, PCNT or WCAP for rising edge to falling edge | 2 (HRP) tc(VCLK2) + 2 | 225 (HRP) (LRP) tc(VCLK2) - 2 | ns |
4 | Input signal low phase, PCNT or WCAP for falling edge to rising edge | 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 resynchronization 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-16. 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. Refer to the IOMM chapter in the device specific technical reference manual for more details on the "N2HET Pin Disable" feature.
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 (HET-TU) can perform DMA type transactions to transfer N2HET data to or from main memory. A Memory Protection Unit (MPU) is built into the HET-TU.
Modules | Request Source | HET TU1 Request |
---|---|---|
N2HET1 | HTUREQ[0] | HET TU1 DCP[0] |
N2HET1 | HTUREQ[1] | HET TU1 DCP[1] |
N2HET1 | HTUREQ[2] | HET TU1 DCP[2] |
N2HET1 | HTUREQ[3] | HET TU1 DCP[3] |
N2HET1 | HTUREQ[4] | HET TU1 DCP[4] |
N2HET1 | HTUREQ[5] | HET TU1 DCP[5] |
N2HET1 | HTUREQ[6] | HET TU1 DCP[6] |
N2HET1 | HTUREQ[7] | HET TU1 DCP[7] |
Modules | Request Source | HET TU2 Request |
---|---|---|
N2HET2 | HTUREQ[0] | HET TU2 DCP[0] |
N2HET2 | HTUREQ[1] | HET TU2 DCP[1] |
N2HET2 | HTUREQ[2] | HET TU2 DCP[2] |
N2HET2 | HTUREQ[3] | HET TU2 DCP[3] |
N2HET2 | HTUREQ[4] | HET TU2 DCP[4] |
N2HET2 | HTUREQ[5] | HET TU2 DCP[5] |
N2HET2 | HTUREQ[6] | HET TU2 DCP[6] |
N2HET2 | HTUREQ[7] | HET TU2 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 (e.g., 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 device specific technical reference manual.
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 multicast transmission between any network nodes.
The following are features of the LIN module:
The inter-integrated circuit (I2C) module is a multimaster 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:0], MIBSPI1nENA |
MibSPI3 | MIBSPI3SIMO, MIBSPI3SOMI, MIBSPI3CLK, MIBSPI3nCS[5:0], MIBSPI3nENA |
MibSPI5 | MIBSPI5SIMO[3:0], MIBSPI5SOMI[3:0], MIBSPI5CLK, MIBSPI5nCS[5:0], MIBSPI5nENA |
MibSPI2 | MIBSPI2SIMO,MIBSPI2SOMI,MIBSPI2CLK,MIBSPI2nCS[1:0],MIBSPI2nENA |
MibSPI4 | MIBSPI4SIMO,MIBSPI4SOMI,MIBSPI4CLK,MIBSPI4nCS[5:0],MIBSPI4nENA |
The Multibuffer RAM is comprised of 256 buffers for MibSPI1 and 128 buffers for all other MibSPI. 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 groups with a variable number of buffers each.
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 which can be used by each transfer group.
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 | Intern 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 plus 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 | Intern 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 plus 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 | H2ET1[8] |
EVENT9 | 1010 | N2HET1[10] |
EVENT10 | 1011 | N2HET1[12] |
EVENT11 | 1100 | N2HET1[14] |
EVENT12 | 1101 | N2HET1[16] |
EVENT13 | 1110 | N2HET1[18] |
EVENT14 | 1111 | Intern 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 plus 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 | Intern 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 plus 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 | Intern 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 + 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 | Dealy 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 device 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 device to the PHY. The MDIO module controls PHY configuration and status monitoring.
Both the EMAC and the MDIO modules interface to the 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.
Parameter | Description | MIN | MAX |
---|---|---|---|
tsu(GMIIMRXD) | Setup time, GMIIMRXD to GMIIMRCLK rising edge | 8ns | |
tsu(GMIIMRXDV) | Setup time, GMIIMRXDV to GMIIMRCLK rising edge | 8ns | |
tsu(GMIIMRXER) | Setup time, GMIIMRXER to GMIIMRCLK rising edge | 8ns | |
th(GMIIMRXD) | Hold time, GMIIMRXD valid after GMIIRCLK rising edge | 8ns | |
th(GMIIMRXDV) | Hold time, GMIIMRXDV valid after GMIIRCLK rising edge | 8ns | |
th(GMIIMRXER) | Hold time, GMIIMRXDV valid after GMIIRCLK rising edge | 8ns |
Parameter | Description | MIN | MAX |
---|---|---|---|
td(GMIIMTXD) | Delay time, GMIIMTCLK rising edge to GMIIMTXD | 5ns | 25ns |
td(GMIIMTXEN) | Delay time, GMIIMTCLK rising edge to GMIIMTXEN | 5ns | 25ns |
NO. | Parameter | Value | Unit | |||
---|---|---|---|---|---|---|
MIN | NOM | MAX | ||||
1 | tc(REFCLK) | Cycle time, RMII_REF_CLK | - | 20 | - | ns |
2 | tw(REFCLKH) | Pulse width, RMII_REF_CLK High | 7 | - | 13 | ns |
3 | tw(REFCLKL) | Pulse width, RMII_REF_CLK Low | 7 | - | 13 | ns |
6 | tsu(RXD-REFCLK) | Input setup time, RMII_RXD valid before RMII_REF_CLK High | 4 | - | - | ns |
7 | th(REFCLK-RXD) | Input hold time, RMII_RXD valid after RMII_REF_CLK High | 2 | - | - | ns |
8 | tsu(CRSDV-REFCLK) | Input setup time, RMII_CRSDV valid before RMII_REF_CLK High | 4 | - | - | ns |
9 | th(REFCLK-CRSDV) | Input hold time, RMII_CRSDV valid after RMII_REF_CLK High | 2 | - | - | ns |
10 | tsu(RXER-REFCLK) | Input setup time, RMII_RXER valid before RMII_REF_CLK High | 4 | - | - | ns |
11 | th(REFCLK-RXER) | Input hold time, RMII_RXER valid after RMII_REF_CLK High | 2 | - | - | ns |
4 | td(REFCLK-TXD) | Output delay time, RMII_REF_CLK High to RMII_TXD valid | 2 | - | 16 | ns |
5 | td(REFCLK-TXEN) | Output delay time, RMII_REF_CLK High to RMII_TX_EN valid | 2 | - | 16 | 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 | 12(1) | - | ns |
5 | th(MDCLKH-MDIO) | Hold time, MDIO data input valid after MDCLK High | 1 | - | 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 | 0 | 100 | ns |