English
Language : 

Z8F1680SH020SG Datasheet, PDF (316/412 Pages) Zilog, Inc. – High-Performance 8-Bit Microcontrollers
Z8 Encore! XP® F1680 Series
Product Specification
291
Bits
Field
Default
Value
22.2.1. Byte Write
To write a byte to the NVDS array, the user code must first push the address, then the data
byte onto the stack. The user code issues a CALL instruction to the address of the Byte
Write routine (0x43FD). At the return from the subroutine, the write status byte resides in
working register R0. The bit fields of this status byte are defined in Table 159. Also, the
user code should pop the address and data bytes off the stack.
The write routine uses 16 bytes of stack space in addition to the two bytes of address and
data pushed by the user code. Sufficient memory must be available for this stack usage.
Because of the flash memory architecture, NVDS writes exhibit a nonuniform execution
time. In general, a write takes 136 µs (assuming a 20 MHz system clock). For every 200
writes, however, a maintenance operation is necessary. In this rare occurrence, the write
takes up to 58 ms to complete. Slower system clock speeds result in proportionally higher
execution times.
NVDS byte writes to invalid addresses (those exceeding the NVDS array size) have no
effect. Illegal write operations have a 7 µs execution time.
Table 159. Write Status Byte
7
6
5
4
3
2
1
0
Reserved
FE
IGADDR WE
0
0
0
0
0
0
0
0
Bit
Description
[7:3]
Reserved; must be 0.
[2]
Flash Error
FE
If Flash error is detected, this bit is set to 1.
[1]
IGADDR
Illegal Address
When NVDS byte writes to invalid addresses (those exceeding the NVDS array size) occur,
this bit is set to 1.
Note: When the NVDS array size is 256 bytes, there is no address exceeding the size; therefore the 
IGADDR bit cannot be used.
[0]
Write Error
WE
A failure occurs during writing data into Flash. When writing data into a certain address, a read
back operation is performed. If the read back value is not the same as the value written, this bit
is set to 1.
22.2.2. Byte Read
To read a byte from the NVDS array, user code must first push the address onto the stack.
User code issues a CALL instruction to the address of the byte-read routine (0x4000). At
PS025015-1212
PRELIMINARY
Nonvolatile Data Storage