Table 7-128 PRUSS PRU Timing Requirements
– Shift In Mode see Figure 7-109
NO. |
PARAMETER |
DESCRIPTION |
MIN |
MAX |
UNIT |
PRSI1 |
tw(DATAINH) |
Pulse duration, DATAIN
high |
2P(1) + 2 |
|
ns |
PRSI2 |
tw(DATAINL) |
Pulse duration, DATAIN
low |
2P(1) + 2 |
|
ns |
(1) P = Internal
shift in clock period in ns, defined by PRUn_GPI_DIV0 and PRUn_GPI_DIV1 bit
fields in the GPCFGn_REG register, where PRUn represents the respective PRU0 or
PRU1 instance.
Table 7-129 PRUSS PRU Switching
Characteristics – Shift Out Mode see Figure 7-110
NO. |
PARAMETER |
DESCRIPTION |
MIN |
MAX |
UNIT |
PRSO1 |
tc(CLOCKOUT) |
Cycle time, CLOCKOUT |
10 |
|
ns |
PRSO2L |
tw(CLOCKOUTL) |
Pulse duration, CLOCKOUT
low |
0.475P(1)Z(2) - 0.3 |
|
ns |
PRSO2H |
tw(CLOCKOUTH) |
Pulse duration, CLOCKOUT
high |
0.475P(1)Y(3) - 0.3 |
|
ns |
PRSO3 |
td(CLOCKOUT-DATAOUT) |
Delay time, CLOCKOUT to DATAOUT
valid |
0 |
3 |
ns |
(1) P =
Software programmable shift out clock period in ns, defined by PRUn_GPO_DIV0 and
PRUn_GPO_DIV1 bit fields in the GPCFGn_REG register, where PRUn represents the
respective PRU0 or PRU1 instance.
(2) The Z
parameter is defined as follows, where PRUn represents the respective PRU0 or
PRU1 instance.
- If PRUn_GPI_DIV0 and
PRUn_GPI_DIV1 are INTEGERS -or- if PRUn_GPI_DIV0 is a NON-INTEGER and
PRUn_GPI_DIV1 is an EVEN INTEGER then, Z equals (PRUn_GPI_DIV0 *
PRUn_GPI_DIV1).
- If PRUn_GPI_DIV0 is a
NON-INTEGER and PRUn_GPI_DIV1 is an ODD INTEGER then, Z equals
(PRUn_GPI_DIV0 * PRUn_GPI_DIV1 + 0.5).
- If PRUn_GPI_DIV0 is an
INTEGER and PRUn_GPI_DIV1 is a NON-INTEGER then, Z equals (PRUn_GPI_DIV0
* PRUn_GPI_DIV1 + 0.5 * PRUn_GPI_DIV0).
- If PRUn_GPI_DIV0 and
PRUn_GPI_DIV1 are NON-INTEGERS then, Z equals (PRUn_GPI_DIV0 *
PRUn_GPI_DIV1 + 0.25 * PRUn_GPI_DIV0).
(3) The Y
parameter is defined as follows, where PRUn represents the respective PRU0 or
PRU1 instance.
- If PRUn_GPI_DIV0 and
PRUn_GPI_DIV1 are INTEGERS -or- if PRUn_GPI_DIV0 is a NON-INTEGER and
PRUn_GPI_DIV1 is an EVEN INTEGER then, Y equals (PRUn_GPI_DIV0 *
PRUn_GPI_DIV1).
- If PRUn_GPI_DIV0 is a
NON-INTEGER and PRUn_GPI_DIV1 is an ODD INTEGER then, Y equals
(PRUn_GPI_DIV0 * PRUn_GPI_DIV1 - 0.5).
- If PRUn_GPI_DIV0 is an
INTEGER and PRUn_GPI_DIV1 is a NON-INTEGER then, Y equals (PRUn_GPI_DIV0
* PRUn_GPI_DIV1 - 0.5 * PRUn_GPI_DIV0).
- If PRUn_GPI_DIV0 and
PRUn_GPI_DIV1 are NON-INTEGERS then, Y1 equals (PRUn_GPI_DIV0 *
PRUn_GPI_DIV1 - 0.25 * PRUn_GPI_DIV0) and Y2 equals (PRUn_GPI_DIV0 *
PRUn_GPI_DIV1 + 0.25 * PRUn_GPI_DIV0), where Y1 is the first high pulse
and Y2 is the second high pulse.