SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
Once the Flash bank and pump are in the active power state, a read or fetch access can be classified as a Flash access (access to an address location in Flash) or an OTP memory access (access to an address location in OTP memory). Once the CPU throws an access to a Flash memory address, data is returned after RWAIT+1 number of SYSCLK cycles. For a USER-OTP access, data is returned after 11 SYSCLK cycles.
RWAIT defines the number of random access wait-states and is configurable using the RWAIT bit-field in the FRDCNTL register. At reset, the RWAIT bit-field defaults to a worst-case wait-state count (15), and therefore needs to be initialized for the appropriate number of wait states to improve performance, based on the CPU clock rate and the access time of the Flash. The Flash supports 0-wait accesses when the RWAIT bits are set to zero. This assumes that the CPU speed is low enough to accommodate the access time.
For a given system clock frequency, RWAIT has to be configured using the formula:
RWAIT = ceiling[(SYSCLK/FCLK)-1] |
where SYSCLK is the system operating frequency
FCLK is Flash clock frequency. FCLK must be ≤ FCLKmax, allowed maximum Flash clock frequency at RWAIT=0.
If RWAIT results in a fractional value when calculated using the above formula, RWAIT has to be rounded up to the nearest integer.