![](http://datasheet.mmic.net.cn/330000/MBM29F002B_datasheet_16438713/MBM29F002B_16.png)
16
MBM29F002T/002B/002ST/002SB
-70/-90/-12
Autoselect Command
Flash memories are intended for use in applications where the local CPU alters memory contents. As such,
manufacture and device codes must be accessible while the device resides in the target system. PROM
programmers typically access the signature codes by raising A
9
to a high voltage. However, multiplexing high
voltage onto the address lines is not generally desired system design practice.
The device contains an autoselect command operation to supplement traditional PROM programming
methodology. The operation is initiated by writing the autoselect command sequence into the command register.
Following the command write, a read cycle from address X000H retrieves the manufacture code of 04H. A read
cycle from address X001H returns the device code (MBM29F002T = B0H, MBM29F002B = 34H, MBM29F002ST
= DCH, MBM29F002SB = 5DH) (see Tables 3.1 and 3.2). All manufacturer and device codes will exhibit odd
parity with the MSB (DQ
7
) defined as the parity bit.
Sector state (protection or unprotection) will be informed address X002H.
Scanning the sector addresses (A
17
, A
16
, A
15
, A
14
, A
13
) while (A
10
, A
6
, A
1
, A
0
) = (0, 0, 1, 0) will produce a logical
“1” at device output DQ
0
for a protected sector.
To terminate the operation, it is necessary to write the read/reset command sequence into the register, and also
to write the autoselect command during the operation, execute it after writing read/reset command sequence.
Byte Programming
The device is programmed on a byte-by-byte basis. Programming is a four bus cycle operation. There are two
“unlock” write cycles. These are followed by the program set-up command and data write cycles. Addresses are
latched on the falling edge of CE or WE, whichever happens later and the data is latched on the rising edge of
CE or WE, whichever happens first. The rising edge of CE or WE (whichever happens first) begins programming.
Upon executing the Embedded Program
TM
Algorithm command sequence, the system is not required to provide
further controls or timings. The device will automatically provide adequate internally generated program pulses
and verify the programmed cell margin.
The automatic programming operation is completed when the data on DQ
7
is equivalent to data written to this
bit at which time the device returns to the read mode and addresses are no longer latched (see Table 7, Hardware
Sequence Flags). Therefore, the device requires that a valid address to the device be supplied by the system
at this particular instance of time. Hence, Data Polling must be performed at the memory location which is being
programmed.
Any commands written to the chip during this period will be ignored. If hardware reset occurs during the
programming operation, it is impossible to gurantee the data are being written.
Programming is allowed in any sequence and across sector boundaries. Beware that a data “0” cannot be
programmed back to a “1”. Attempting to do so will probably hang up the device (exceed timing limits), or perhaps
result in an apparent success according to the data polling algorithm but a read from reset/read mode will show
that the data is still “0”. Only erase operations can convert “0”s to “1”s.
Figure 14 illustrates the Embedded Programming Algorithm using typical command strings and bus operations.
Chip Erase
Chip erase is a six bus cycle operation. There are two “unlock” write cycles. These are followed by writing the
“set-up” command. Two more “unlock” write cycles are then followed by the chip erase command.
Chip erase does not require the user to program the device prior to erase. Upon executing the Embedded Erase
TM
Algorithm command sequence the device will automatically program and verify the entire memory for an all zero
data pattern prior to electrical erase. The system is not required to provide any controls or timings during these
operations.