EZ80F91MCU ZILOG [Zilog, Inc.], EZ80F91MCU Datasheet - Page 127

no-image

EZ80F91MCU

Manufacturer Part Number
EZ80F91MCU
Description
eZ80Acclaim-TM Flash Microcontrollers
Manufacturer
ZILOG [Zilog, Inc.]
Datasheet
PS019209-0504
the Flash address stored in the Flash Address registers (FLASH_PAGE,
FLASH_ROW, FLASH_COL).
A typical sequence that performs a single-byte I/O Write is shown below. Because
the Write is self-timed, Step 2 of the sequence can be repeated back-to-back
without requiring polling or interrupts.
1. Write the FLASH_PAGE, FLASH_ROW, and FLASH_COL registers with the
2. Write the data value to the FLASH_DATA register.
Multibyte I/O Write (Row Programming)
Multibyte I/O Write operations use the same I/O registers as single-byte Writes.
Multibyte I/O Writes allow the programming of a full row and are enabled by set-
ting the ROW_PGM bit of the Flash Program Control Register. For multibyte I/O
Writes, the CPU sets the address registers, enables row programming, and then
executes an I/O instruction (with repeat) to load the block of data into the
FLASH_DATA register. For each individual byte written to the FLASH_DATA reg-
ister during the block move, the Flash controller asserts the internal WAIT signal
to stall the CPU until the current byte is programmed. Each access to the
FLASH_DATA register causes an autoincrement of the Flash address stored in
the Flash Address registers (FLASH_PAGE, FLASH_ROW, FLASH_COL).
During row programming, the Flash controller continuously asserts the Flash
memory’s high voltage signal until all bytes are programmed (column address <
255). As a result, the row programs more quickly than if the high-voltage signal is
toggled for each byte. The per-byte programming time during row programming is
between 41 µs and 52µs. As such, programming 256 bytes of a row in this mode
takes no more than 13.4 ms, leaving 17.6 ms for CPU instruction overhead to fetch
the 256 bytes.
A typical sequence that performs a multibyte I/O Write is shown below.
1. Check the FLASH_IRQ register to ensure that any previous row program is
2. Write the FLASH_PAGE, FLASH_ROW, and FLASH_COL registers with the
3. Set the ROW_PGM bit in the FLASH_PGCTL register to enable row
4. Write the next data value to the FLASH_DATA register.
5. If the end of the row has not been reached, return to Step 4.
During row programming, software must monitor the row time-out error bit either
by enabling this interrupt or via polling. If a row time-out occurs, the Flash control-
address of the byte to be written.
completed.
address of the first byte to be written.
programming mode.
P R E L I M I N A R Y
Product Specification
eZ80F91 MCU
Flash Memory
108

Related parts for EZ80F91MCU