SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
The asynchronous 1 configuration register (ASYNC_CS2_CFG) is the only register that is necessary to program for this asynchronous interface. The SS bit must be set to 1 to enable select strobe command and the ASIZE field can be set to 1 to select a 16-bit interface. The other fields in this register control the shaping of the EMIF signals, and the proper values can be determined by referring to the AC Characteristics in the Flash data sheet and the device data sheet. Table 25-31 and Table 25-32 show the pertinent AC Characteristics for reads and writes to the Flash device, and Figure 25-20 and Figure 25-21 show the associated timing waveforms. Finally, Figure 25-22 shows programming the ASYNC_CS2_CFG with the calculated values.
AC Characteristic | Device | Definition | Minimum | Maximum | Unit |
---|---|---|---|---|---|
tSU | EMIF | Setup time, read EM1D before EM1OE high | 15 | ns | |
tH | EMIF | Data hold time, read EM1D after EM1OE high | 0 | ns | |
tELQV | Flash | nCE to Output Delay | 90 | ns | |
tEHQZ | Flash | nCE High to Output in High Impedance | 55 | ns |
AC Characteristic | Device | Definition | Minimum | Maximum | Unit |
---|---|---|---|---|---|
tAVAV | Flash | Write Cycle Time | 90 | ns | |
tELEH | Flash | nCE Pulse Width Low | 50 | ns | |
tEHEL | Flash | nCE Pulse Width High (not shown in Figure 25-21) | 30 | ns |
The R_STROBE field must be set to meet the following equation:
R_STROBE >= (tELQV + tSU) × fEM1CLK - 1
R_STROBE >= (90ns + 15ns) × 200MHz - 1
R_STROBE >= 20
R_STROBE = 20
The R_HOLD field must be large enough to satisfy EMIF Data hold time, tH:
R_HOLD > = tH × fEM1CLK - 1
R_HOLD >= 0ns × 200MHz - 1
R_HOLD >= -1
The R_HOLD field must also combine with the TA field to satisfy the Flash nCE High to Output in High Impedance time, tEHQZ:
R_HOLD + TA >= tEHQZ × fEM1CLK - 2
R_HOLD + TA >= 55ns × 200MHz - 2
R_HOLD + TA >= 9
The largest value that can be programmed into the TA field is 3h, therefore the following values must be used:
R_HOLD = 6
TA = 3
For Writes, the W_STROBE field must be set to satisfy the Flash nCE Pulse Width constraint, tELEH:
W_STROBE >= tELEH × fEM1CLK - 1
W_STROBE >= 50ns × 200MHz - 1
W_STROBE >= 9
The W_SETUP and W_HOLD fields must combine to satisfy the Flash nCE Pulse Width High constraint, tEHEL:
W_SETUP + W_HOLD > = tEHEL × fEM1CLK - 2
W_SETUP + W_HOLD > = 30ns × 200MHz - 2
W_SETUP + W_HOLD > = 4
In addition, the entire Write access length must satisfy the Flash minimum Write Cycle Time, tAVAV:
W_SETUP + W_STROBE + W_HOLD >= tAVAV × fEM1CLK - 3
W_SETUP + W_STROBE + W_HOLD >= 90ns × 200MHz - 3
W_SETUP + W_STROBE + W_HOLD >= 15
Solving the above equations for the Write fields results in the following:
W_SETUP = 4
W_STROBE = 10
W_HOLD = 1
Adding a 5ns (1 cycle) margin to each of the periods (excluding TA that is already at the maximum) in this example produces the following recommended values:
W_SETUP = 5h
W_STROBE = Bh
W_HOLD = 2h
R_SETUP = 1h
R_STROBE = 15h
R_HOLD = 7h
TA = 3h
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
1 | 0 | 0101 | 00 |
SS | EW | W_SETUP | W_STROBE |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
1011 | 010 | 0 |
W_STROBE | W_HOLD | R_SETUP |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
001 | 001111 | 111 | 11 | 01 |
R_SETUP | R_STROBE | R_HOLD | TA | ASIZE |