Freelance Electronics Components Distributor
Closed Dec 25th-26th
800-300-1968
We Stock Hard to Find Parts

89V54RD

Part # 89V54RD
Description
Category IC
Availability In Stock
Qty 61
Manufacturer Available Qty
SST
  • Shipping Freelance Stock: 9
    Ships Immediately
Request For Quote
SST
Date Code: 0619
  • Shipping Freelance Stock: 5
    Ships Immediately
Request For Quote
SST
  • Shipping Freelance Stock: 20
    Ships Immediately
Request For Quote
Silicon Storage Technology
Date Code: 0619
  • Shipping Freelance Stock: 27
    Ships Immediately
Request For Quote



Technical Document


DISCLAIMER: The information provided herein is solely for informational purposes. Customers must be aware of the suitability of this product for their application, and consider that variable factors such as Manufacturer, Product Category, Date Codes, Pictures and Descriptions may differ from available inventory.

34
Data Sheet
FlashFlex51 MCU
SST89E52RD2/RD / SST89E54RD2/RD / SST89E58RD2/RD
SST89V52RD2/RD / SST89V54RD2/RD / SST89V58RD2/RD
©2006 Silicon Storage Technology, Inc. S71255-05-000 5/06
4.0 FLASH MEMORY PROGRAMMING
The device internal flash memory can be programmed or
erased using the In-Application Programming (IAP) mode.
4.1 Product Identification
The Read-ID command accesses the Signature Bytes that
identify the device and the manufacturer as SST. External
programmers primarily use these Signature Bytes in the
selection of programming algorithms.
4.2 In-Application Programming Mode
The device offers either 16/24/40 KByte of in-application
programmable flash memory. During in-application pro-
gramming, the CPU of the microcontroller enters IAP
mode. The two blocks of flash memory allow the CPU to
execute user code from one block, while the other is being
erased or reprogrammed concurrently. The CPU may also
fetch code from an external memory while all internal flash
is being reprogrammed. The mailbox registers (SFST,
SFCM, SFAL, SFAH, SFDT and SFCF) located in the spe-
cial function register (SFR), control and monitor the
device’s erase and program process.
Table 4-2 outline the commands and their associated mail-
box register settings.
4.2.1 In-Application Programming Mode Clock
Source
During IAP mode, both the CPU core and the flash control-
ler unit are driven off the external clock. However, an inter-
nal oscillator will provide timing references for Program and
Erase operations. The internal oscillator is only turned on
when required, and is turned off as soon as the flash oper-
ation is completed.
4.2.2 Memory Bank Selection for In-Application
Programming Mode
With the addressing range limited to 16 bit, only 64 KByte
of program address space is “visible” at any one time. The
bank selection (the configuration of EA# and SFCF[1:0]),
allows Block 1 memory to be overlaid on the lowest 8
KByte of Block 0 memory, making Block 1 reachable. The
same concept is employed to allow both Block 0 and Block
1 flash to be accessible to IAP operations. Code from a
block that is not visible may not be used as a source to pro-
gram another address. However, a block that is not “visible
may be programmed by code from the other block through
mailbox registers.
The device allows IAP code in one block of memory to pro-
gram the other block of memory, but may not program any
location in the same block. If an IAP operation originates
physically from Block 0, the target of this operation is implic-
itly defined to be in Block 1. If the IAP operation originates
physically from Block 1, then the target address is implicitly
defined to be in Block 0. If the IAP operation originates from
external program space, then, the target will depend on the
address and the state of bank selection.
4.2.3 IAP Enable Bit
The IAP enable bit, SFCF[6], enables in-application pro-
gramming mode. Until this bit is set, all flash programming
IAP commands will be ignored.
4.2.4 In-Application Programming Mode
Commands
All of the following commands can only be initiated in the
IAP mode. In all situations, writing the control byte to the
SFCM register will initiate all of the operations. All com-
mands will not be enabled if the security locks are enabled
on the selected memory block.
The Program command is for programming new data into
the memory array. The portion of the memory array to be
programmed should be in the erased state, FFH. If the
memory is not erased, it should first be erased with an
appropriate Erase command. Warning: Do not attempt to
write (program or erase) to a block that the code is cur-
rently fetching from. This will cause unpredictable pro-
gram behavior and may corrupt program data.
TABLE 4-1: Product Identification
Address Data
Manufacturer’s ID 30H BFH
Device ID
SST89E52RD2/RD 31H 9DH
SST89V52RD2/RD 31H 9CH
SST89E54RD2/RD 31H 9FH
SST89V54RD2/RD 31H 9EH
SST89E58RD2/RD 31H 9BH
SST89V58RD2/RD 31H 9AH
T4-1.2 1255
Data Sheet
FlashFlex51 MCU
SST89E52RD2/RD / SST89E54RD2/RD / SST89E58RD2/RD
SST89V52RD2/RD / SST89V54RD2/RD / SST89V58RD2/RD
35
©2006 Silicon Storage Technology, Inc. S71255-05-000 5/06
4.2.4.1 Chip-Erase
The Chip-Erase command erases all bytes in both memory
blocks. This command is only allowed when EA#=0 (exter-
nal memory execution). Additionally this command is not
permitted when the device is in level 4 locking. In all other
instances, this command ignores the Security Lock status
and will erase the security lock bits and re-map bits.
FIGURE 4-1: Chip-Erase
4.2.4.2 Block-Erase
The Block-Erase command erases all bytes in one of the
two memory blocks (Block 0 or Block 1). The selection of
the memory block to be erased is determined by the
(SFAH[7]) of the SuperFlash Address Register. For
SST89x5xRD2/RD, if SFAH[7] = 0b, the primary flash
memory Block 0 is selected. If SFAH[7:4] = EH, the sec-
ondary flash memory Block 1 is selected. The Block-Erase
command sequence for SST89x5xRD2/RD is as follows:
FIGURE 4-2: Block-Erase
4.2.4.3 Sector-Erase
The Sector-Erase command erases all of the bytes in a
sector. The sector size for the flash memory blocks is 128
Bytes. The selection of the sector to be erased is deter-
mined by the contents of SFAH and SFAL.
FIGURE 4-3: Sector-Erase
Set-Up
MOV SFDT, #55H
Interrupt scheme
MOV SFCM, #81H
Polling scheme
MOV SFCM, #01H
INT1 interrupt
indicates completion
SFST[2] indicates
operation completion
IAP Enable
ORL SFCF, #40H
1255 F08.0
Set-Up
MOV SFDT, #55H
IAP Enable
ORL SFCF, #40H
OR
Interrupt scheme
MOV SFCM, #8DH
Polling scheme
MOV SFCM, #0DH
Erase Block 1
MOV SFAH, #F0H
Erase Block 0
MOV SFAH, #00H
INT1 interrupt
indicates completion
SFST[2] indicates
operation completion
1255 F09.0
Program sector address
MOV SFAH, #sector_addressH
MOV SFAL, #sector_addressL
Interrupt scheme
MOV SFCM, #8BH
Polling scheme
MOV SFCM, #0BH
INT1 interrupt
indicates completion
SFST[2] indicates
operation completion
1255 F10.0
IAP Enable
ORL SFCF, #40H
36
Data Sheet
FlashFlex51 MCU
SST89E52RD2/RD / SST89E54RD2/RD / SST89E58RD2/RD
SST89V52RD2/RD / SST89V54RD2/RD / SST89V58RD2/RD
©2006 Silicon Storage Technology, Inc. S71255-05-000 5/06
4.2.4.4 Byte-Program
The Byte-Program command programs data into a single
byte. The address is determined by the contents of SFAH
and SFAL. The data byte is in SFDT.
FIGURE 4-4: Byte-Program
4.2.4.5 Byte-Verify
The Byte-Verify command allows the user to verify that the
device has correctly performed an Erase or Program com-
mand. Byte-Verify command returns the data byte in SFDT
if the command is successful. The user is required to check
that the previous flash operation has fully completed before
issuing a Byte-Verify. Byte-Verify command execution time
is short enough that there is no need to poll for command
completion and no interrupt is generated.
FIGURE 4-5: Byte-Verify
4.2.4.6 Prog-SB3, Prog-SB2, Prog-SB1
Prog-SB3, Prog-SB2, Prog-SB1 commands are used to
program the security bits (see Table 9-1). Completion of
any of these commands, the security options will be
updated immediately.
Security bits previously in un-programmed state can be
programmed by these commands. Prog-SB3, Prog-SB2
and Prog-SB1 commands should only reside in Block 1 or
external code memory.
FIGURE 4-6: Prog-SB3, Prog-SB2, Prog-SB1
Move data to SFDT
MOV SFDT, #data
Interrupt scheme
MOV SFCM, #8EH
Polling scheme
MOV SFCM, #0EH
INT1 interrupt
indicates completion
SFST[2] indicates
operation completion
Program byte address
MOV SFAH, #byte_addressH
MOV SFAL, #byte_addressL
1255 F11.0
IAP Enable
ORL SFCF, #40H
MOV SFCM, #0CH
SFDT register
contains data
Program byte address
MOV SFAH, #byte_addressH
MOV SFAL, #byte_addressL
1255 F12.0
IAP Enable
ORL SFCF, #40H
Set-Up
MOV SFDT, #0AAH
OR OR
INT1# Interrupt
indicates completion
Polling SFST[2]
indicates completion
Program SB2
MOV SFCM, #03H
or
MOV SFCM, #83H
Program SB1
MOV SFCM, #0FH
or
MOV SFCM, #8FH
Program SB3
MOV SFCM, #05H
or
MOV SFCM, #85H
1255 F13.0
IAP Enable
ORL SFCF, #40H
PREVIOUS56789101112131415161718NEXT