SST89E58RRDA [SST]
FlashFlex MCU; FlashFlex MCU型号: | SST89E58RRDA |
厂家: | SILICON STORAGE TECHNOLOGY, INC |
描述: | FlashFlex MCU |
文件: | 总91页 (文件大小:756K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
Not recommended for new designs. Contact Microchip
Sales for microcontroller design options.
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
The SST89E54RD2A/RDA and SST89E58RD2A/RDA are members of the Flash-
Flex family of 8-bit microcontroller products designed and manufactured with SST
patented and proprietary SuperFlash CMOS semiconductor process technology.
The split-gate cell design and thick-oxide tunneling injector offer significant cost
and reliability benefits for SST customers. The devices use the 8051 instruction
set and are pin-for-pin compatible with standard 8051 microcontroller devices.
Features
• 8-bit 8051-Compatible Microcontroller (MCU) with
Embedded SuperFlash Memory
• Programmable Counter Array (PCA)
• Four 8-bit I/O Ports (32 I/O Pins) and
One 4-bit Port
– Fully Software Compatible
– Development Toolset Compatible
– Pin-For-Pin Package Compatible
• Second DPTR register
• Low EMI Mode (Inhibit ALE)
• SPI Serial Interface
• SST89E5xRD2A Operation
– 0 to 40 MHz at 5V
• 1 KByte Internal RAM
• Standard 12 Clocks per cycle, the device has an
option to double the speed to 6 clocks per cycle.
• Dual Block SuperFlash EEPROM
– 16/32 KByte primary block +
8 KByte secondary block
• TTL- and CMOS-Compatible Logic Levels
• Brown-out Detection
(128-Byte sector size for both blocks)
– Individual Block Security Lock with SoftLock
– Concurrent Operation during
In-Application Programming (IAP)
– Memory Overlay for Interrupt Support during IAP
• Low Power Modes
– Power-down Mode with External Interrupt Wake-up
• Support External Address Range up to 64 KByte
of Program and Data Memory
– Idle Mode
• Temperature Ranges:
• Three High-Current Drive Ports (16 mA each)
• Three 16-bit Timers/Counters
– Commercial (0°C to +70°C)
• Packages Available
– 44-lead PLCC
• Full-Duplex, Enhanced UART
– 40-pin PDIP (Port 4 feature not available)
– 44-lead TQFP
– Framing Error Detection
– Automatic Address Recognition
• All non-Pb (lead-free) devices are RoHS compliant
• Ten Interrupt Sources at 4 Priority Levels
– Four External Interrupt Inputs
• Programmable Watchdog Timer (WDT)
www.microchip.com
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Product Description
The SST89E54RD2A/RDA and SST89E58RD2A/RDA are members of the FlashFlex family of 8-bit
microcontroller products designed and manufactured with SST patented and proprietary SuperFlash
CMOS semiconductor process technology. The split-gate cell design and thick-oxide tunneling injector
offer significant cost and reliability benefits for SST customers. The devices use the 8051 instruction
set and are pin-for-pin compatible with standard 8051 microcontroller devices.
The devices come with 24/40 KByte of on-chip flash EEPROM program memory which is partitioned
into 2 independent program memory blocks. The primary Block 0 occupies 16/32 KByte of internal pro-
gram memory space and the secondary Block 1 occupies 8 KByte of internal program memory space.
The 8-KByte secondary block can be mapped to the lowest location of the 16/32 KByte address space;
it can also be hidden from the program counter and used as an independent EEPROM-like data mem-
ory.
In addition to the 24/40 KByte of EEPROM program memory on-chip and 1024 x8 bits of on-chip RAM,
the devices can address up to 64 KByte of external program memory and up to 64 KByte of external
RAM.
The flash memory blocks can be programmed via a standard 87C5x OTP EPROM programmer fitted
with a special adapter and the firmware for SST devices. During power-on reset, the devices can be
configured as either a slave to an external host for source code storage or a master to an external host
for an in-application programming (IAP) operation. The devices are designed to be programmed in-
system and in-application on the printed circuit board for maximum flexibility. The devices are pre-pro-
grammed with an example of the bootstrap loader in the memory, demonstrating the initial user pro-
gram code loading or subsequent user code updating via the IAP operation. The sample bootstrap
loader is available for the user’s reference and convenience only; SST does not guarantee its function-
ality or usefulness. Chip-Erase or Block-Erase operations will erase the pre-programmed sample code.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
2
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Functional Blocks
8051
CPU Core
ALU,
ACC,
B-Register,
Instruction Register,
Program Counter,
Timing and Control
Interrupt
Oscillator
10 Interrupts
Control
Flash Control Unit
Watchdog Timer
SuperFlash
EEPROM
Primary
RAM
1K x8
Block
16K/32K x8
8
8
8
I/O
I/O
I/O
I/O Port 0
Secondary
Block
8K x8
Security
Lock
I/O Port 1
I/O Port 2
I/O Port 3
8
4
Timer 0 (16-bit)
Timer 1 (16-bit)
Timer 2 (16-bit)
PCA
I/O
I/O
I/O Port 4
SPI
Enhanced
UART
1339 B1.0
Figure 1: Functional Block Diagram
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
3
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Pin Assignments
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
V
DD
(T2) P1.0
(T2 EX) P1.1
(ECI) P1.2
1
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
P0.3 (AD3)
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA#
2
3
(CEX0) P1.3
(CEX1 / SS#) P1.4
(CEX2 / MOSI) P1.5
(CEX3 / MISO) P1.6
(CEX4 / SCK) P1.7
RST
4
5
6
7
40-pin PDIP
Top View
8
9
(RXD) P3.0
10
11
12
13
14
15
16
17
18
19
20
ALE/PROG#
PSEN#
(TXD) P3.1
(INT0#) P3.2
(INT1#) P3.3
(T0) P3.4
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
P2.4 (A12)
P2.3 (A11)
P2.2 (A10)
P2.1 (A9)
P2.0 (A8)
(T1) P3.5
(WR#) P3.6
(RD#) P3.7
XTAL2
XTAL1
V
SS
1339 40-pdip PI P1.0
Figure 2: Pin Assignments for 40-pin PDIP
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
4
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
44 43 42 41 40 39 38 37 36 35 34
(CEX2 / MOSI) P1.5
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA#
1
33
32
31
30
29
28
27
26
25
24
23
(CEX3 / MISO) P1.6
(CEX4 / SCK) P1.7
RST
2
3
4
(RXD) P3.0
INT2#/P4.3
(TXD) P3.1
(INT0#) P3.2
(INT1#) P3.3
(T0) P3.4
5
44-lead TQFP
Top View
P4.1
6
ALE/PROG#
PSEN#
7
8
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
9
10
11
(T1) P3.5
12 13 14 15 16 17 18 19 20 21 22
1339 44-tqfp TQJ P2.0
Figure 3: Pin Assignments for 44-lead TQFP
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
5
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
6
5
4
3
2
1
44 43 42 41 40
39
7
(CEX2 / MOSI) P1.5
(CEX3 / MISO) P1.6
(CEX4 / SCK) P1.7
RST
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA#
8
38
37
36
35
34
33
32
31
30
29
9
10
11
12
13
14
15
16
17
(RXD) P3.0
44-lead PLCC
Top View
INT2#/P4.3
P4.1
(TXD) P3.1
ALE/PROG#
PSEN#
(INT0#) P3.2
(INT1#) P3.3
(T0) P3.4
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
(T1) P3.5
18 19 20 21 22 23 24 25 26 27 28
1339 44-plcc NJ P3.0
Figure 4: Pin Assignments for 44-lead PLCC
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
6
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Pin Descriptions
Table 1: Pin Descriptions (1 of 3)
Symbol
Type1
Name and Functions
P0[7:0]
I/O
Port 0: Port 0 is an 8-bit open drain bi-directional I/O port. As an output port
each pin can sink several LS TTL inputs. Port 0 pins float that have ‘1’s written
to them, and in this state can be used as high-impedance inputs. In this appli-
cation, it uses strong internal pull-ups when transitioning to VOH. Port 0 also
receives the code bytes during the external host mode programming, and out-
puts the code bytes during the external host mode verification. External pull-
ups are required during program verification.
P1[7:0]
I/O with internal Port 1: Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1
pull-ups
output buffers can drive LS TTL inputs. Port 1 pins are pulled high by the inter-
nal pull-ups when “1”s are written to them and can be used as inputs in this
state. As inputs, Port 1 pins that are externally pulled low will source current
because of the internal pull-ups. P1[5, 6, 7] have high current drive of 16 mA.
Port 1 also receives the low-order address bytes during the external host
mode programming and verification.
P1[0]
P1[1]
P1[2]
I/O
T2: External count input to Timer/Counter 2 or Clock-out from Timer/Counter 2
T2EX: Timer/Counter 2 capture/reload trigger and direction control
I
I
ECI: PCA Timer/Counter External Input:
This signal is the external clock input for the PCA timer/counter.
P1[3]
P1[4]
P1[5]
P1[6]
P1[7]
P2[7:0]
I/O
I/O
I/O
I/O
I/O
CEX0: Compare/Capture Module External I/O
Each compare/capture module connects to a Port 1 pin for external I/O. When
not used by the PCA, this pin can handle standard I/O.
SS#: Master Input or Slave Output for SPI.
OR
CEX1: Compare/Capture Module External I/O
MOSI: Master Output line, Slave Input line for SPI
OR
CEX2: Compare/Capture Module External I/O
MISO: Master Input line, Slave Output line for SPI
OR
CEX3: Compare/Capture Module External I/O
SCK: Master clock output, slave clock input line for SPI
OR
CEX4: Compare/Capture Module External I/O
I/O with internal Port 2: Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. Port 2
pull-up
pins are pulled high by the internal pull-ups when “1”s are written to them and
can be used as inputs in this state. As inputs, Port 2 pins that are externally
pulled low will source current because of the internal pull-ups. Port 2 sends the
high-order address byte during fetches from external Program memory and
during accesses to external Data Memory that use 16-bit address
(MOVX@DPTR). In this application, it uses strong internal pull-ups when tran-
sitioning to VOH. Port 2 also receives some control signals and high-order
address bits during the external host mode programming and verification.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
7
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 1: Pin Descriptions (Continued) (2 of 3)
Symbol
Type1
Name and Functions
P3[7:0]
I/O with internal Port 3: Port 3 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 3
pull-up
output buffers can drive LS TTL inputs. Port 3 pins are pulled high by the inter-
nal pull-ups when “1”s are written to them and can be used as inputs in this
state. As inputs, Port 3 pins that are externally pulled low will source current
because of the internal pull-ups. Port 3 also receives some control signals and
high-order address bits during the external host mode programming and verifi-
cation.
P3[0]
P3[1]
P3[2]
P3[3]
P3[4]
P3[5]
P3[6]
P3[7]
PSEN#
I
O
I
RXD: Universal Asynchronous Receiver/Transmitter (UART) - Receive input
TXD: UART - Transmit output
INT0#: External Interrupt 0 Input
I
INT1#: External Interrupt 1 Input
I
T0: External count input to Timer/Counter 0
T1: External count input to Timer/Counter 1
WR#: External Data Memory Write strobe
RD#: External Data Memory Read strobe
I
O
O
I/O
Program Store Enable: PSEN# is the Read strobe to External Program
Store. When the device is executing from Internal Program Memory, PSEN# is
inactive (VOH). When the device is executing code from External Program
Memory, PSEN# is activated twice each machine cycle, except when access
to External Data Memory while one PSEN# activation is skipped in each
machine cycle. A forced high-to-low input transition on the PSEN# pin while
the RST input is continually held high for more than 20 machine cycles will
cause the device to enter External Host mode for programming.
RST
EA#
I
Reset: While the oscillator is running, a high logic state on this pin for two
machine cycles will reset the device. After a reset, if the PSEN# pin is driven
by a high-to-low input transition while the RST input pin is held high, the device
will enter the External Host mode, otherwise the device will enter the Normal
operation mode.
I
External Access Enable: EA# must be driven to VIL in order to enable the
device to fetch code from the External Program Memory. EA# must be driven
to VIH for internal program execution. However, Security lock level 4 will disable
EA#, and program execution is only possible from internal program memory.
ALE/PROG#
P4[3:0]4
I/O
Address Latch Enable: ALE is the output signal for latching the low byte of
the address during an access to external memory. This pin is also the pro-
gramming pulse input (PROG#) for flash programming. Normally the ALE2 is
emitted at a constant rate of 1/6 the crystal frequency3 and can be used for
external timing and clocking. One ALE pulse is skipped during each access to
external data memory. However, if AO is set to 1, ALE is disabled.
I/O with internal Port 4: Port 4 is an 4-bit bi-directional I/O port with internal pull-ups. The port 4
pull-ups
output buffers can drive LS TTL inputs. Port 4 pins are pulled high by the inter-
nal pull-ups when ‘1’s are written to them and can be used as inputs in this
state. As inputs, port 4 pins that are externally pulled low will source current
because of the internal pull-ups.
P4[0]
I/O
I/O
I/O
I/O
Bit 0 of port 4
P4[1]
Bit 1 of port 4
P4[2] / INT3#
P4[3] / INT2#
Bit 2 of port 4 / INT3# External interrupt 3 input
Bit 3 of port 4 / INT2# External interrupt 2 input
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
8
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 1: Pin Descriptions (Continued) (3 of 3)
Symbol
Type1
Name and Functions
XTAL1
I
Crystal 1: Input to the inverting oscillator amplifier and input to the internal
clock generator circuits.
XTAL2
VDD
O
I
Crystal 2: Output from the inverting oscillator amplifier
Power Supply
Ground
VSS
I
T0-0.0 25114
1. I = Input; O = Output
2.ALE loading issue: When ALE pin experiences higher loading (>30pf) during the reset, the MCU may accidentally enter
into modes other than normal working mode. The solution is to add a pull-up resistor of 3-50 K to VDD, e.g. for ALE pin.
3. For 6 clock mode, ALE is emitted at 1/3 of crystal frequency.
4. Port 4 is not present on the PDIP package.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
9
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Memory Organization
The device has separate address spaces for program and data memory.
Program Flash Memory
There are two internal flash memory blocks in the device. The primary flash memory block (Block 0)
has 16/32 KByte. The secondary flash memory block (Block 1) has 8 KByte. Since the total program
address space is limited to 64 KByte, the SFCF[1:0] bit are used to control program bank selection.
Please refer to Figures 5 and 6 for the program memory configuration. Program bank selection is
described in the next section.
The 16K/32K x8 primary SuperFlash block is organized as 128/256 sectors, each sector consists of
128 Bytes.
The 8K x8 secondary SuperFlash block is organized as 64 sectors, each sector consists also of 128
Bytes.
For both blocks, the 7 least significant program address bits select the byte within the sector. The
remainder of the program address bits select the sector within the block.
EA# = 1
EA# = 1
EA# = 1
SFCF[1:0] = 00
SFCF[1:0] = 01
SFCF[1:0] = 10, 11
EA# = 0
FFFFH
FFFFH
FFFFH
FFFFH
8 KByte
Block 1
8 KByte
Block 1
E000H
DFFFH
E000H
DFFFH
Not
Accessible
Not
Not
Accessible
Accessible
External
64 KByte
4000H
3FFFH
4000H
3FFFH
4000H
3FFFH
8 KByte
Block 0
2000H
1FFFH
16 KByte
Block 0
16 KByte
Block 0
8 KByte
Block 1
0000H
0000H
0000H
0000H
1339 F02.0
Figure 5: Program Memory Organization for 16 KByte SST89E54RDxA
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
10
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
EA# = 1
EA# = 1
EA# = 1
SFCF[1:0] = 00
SFCF[1:0] = 01
SFCF[1:0] = 10, 11
EA# = 0
FFFFH
FFFFH
FFFFH
FFFFH
8 KByte
Block 1
8 KByte
Block 1
E000H
DFFFH
E000H
DFFFH
External
32 KByte
External
24 KByte
External
24 KByte
External
64 KByte
8000H
7FFFH
8000H
7FFFH
8000H
7FFFH
24 KByte
Block 0
32 KByte
Block 0
32 KByte
Block 0
2000H
1FFFH
8 KByte
Block 1
0000H
0000H
0000H
0000H
1339 F03.0
Figure 6: Program Memory Organization for 32 KByte SST89E58RDxA
Program Memory Block Switching
The program memory block switching feature of the device allows either Block 1 or the lowest 8 KByte
of Block 0 to be used for the lowest 8 KByte of the program address space. SFCF[1:0] controls pro-
gram memory block switching.
Table 2: SFCF Values for Program Memory Block Switching
SFCF[1:0] Program Memory Block Switching
10, 11
Block 1 is not visible to the PC;
Block 1 is reachable only via in-application programming from E000H - FFFFH.
01
Both Block 0 and Block 1 are visible to the PC.
Block 0 is occupied from 0000H - 7FFFH. Block 1 is occupied from E000H - FFFFH.
00
Block 1 is overlaid onto the low 8K of the program address space; occupying address locations
0000H - 1FFFH.
When the PC falls within 0000H - 1FFFH, the instruction will be fetched from Block 1 instead of
Block 0.
Outside of 0000H - 1FFFH, Block 0 is used. Locations 0000H - 1FFFH of Block 0 are reachable
through in-application programming.
T0-0.0 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
11
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Reset Configuration of Program Memory Block Switching
Program memory block switching is initialized after reset according to the state of the Start-up Config-
uration bit SC0 and/or SC1. The SC0 and SC1 bits are programmed via an external host mode com-
mand or an IAP Mode command. See Table 13.
Once out of reset, the SFCF[0] bit can be changed dynamically by the program for desired effects.
Changing SFCF[0] will not change the SC0 bit.
Caution must be taken when dynamically changing the SFCF[0] bit. Since this will cause different
physical memory to be mapped to the logical program address space. The user must avoid executing
block switching instructions within the address range 0000H to 1FFFH.
Table 3: SFCF Values Under Different Reset Conditions
State of SFCF[1:0] after:
Power-on or External
Reset
WDT Reset or Brown-out
Reset
SC11
U (1)
U (1)
P (0)
P (0)
SC01
U (1)
P (0)
U (1)
P (0)
Software Reset
00 (default)
x0
x1
10
11
10
11
10
11
01
10
11
T0-0.0 25114
1. P = Programmed (Bit logic state = 0),
U = Unprogrammed (Bit logic state = 1)
Data RAM Memory
The data RAM has 1024 bytes of internal memory. The RAM can be addressed up to 64KB for external
data memory.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
12
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Expanded Data RAM Addressing
The SST89E/V5xRDxA both have the capability of 1K of RAM. See Figure 7.
The device has four sections of internal data memory:
1. The lower 128 Bytes of RAM (00H to 7FH) are directly and indirectly addressable.
2. The higher 128 Bytes of RAM (80H to FFH) are indirectly addressable.
3. The special function registers (80H to FFH) are directly addressable only.
4. The expanded RAM of 768 Bytes (00H to 2FFH) is indirectly addressable by the move
external instruction (MOVX) and clearing the EXTRAM bit. (See “Auxiliary Register
(AUXR)” in Section , “Special Function Registers”)
Since the upper 128 bytes occupy the same addresses as the SFRs, the RAM must be accessed indi-
rectly. The RAM and SFRs space are physically separate even though they have the same addresses.
When instructions access addresses in the upper 128 bytes (above 7FH), the MCU determines
whether to access the SFRs or RAM by the type of instruction given. If it is indirect, then RAM is
accessed. If it is direct, then an SFR is accessed. See the examples below.
Indirect Access:
MOV@R0, #data; R0 contains 90H
Register R0 points to 90H which is located in the upper address range. Data in “#data” is written to
RAM location 90H rather than port 1.
Direct Access:
MOV90H, #data; write data to P1
Data in “#data” is written to port 1. Instructions that write directly to the address write to the SFRs.
To access the expanded RAM, the EXTRAM bit must be cleared and MOVX instructions must be used.
The extra 768 bytes of memory is physically located on the chip and logically occupies the first 768
bytes of external memory (addresses 000H to 2FFH).
When EXTRAM = 0, the expanded RAM is indirectly addressed using the MOVX instruction in combi-
nation with any of the registers R0, R1 of the selected bank or DPTR. Accessing the expanded RAM
does not affect ports P0, P3.6 (WR#), P3.7 (RD#), or P2. With EXTRAM = 0, the expanded RAM can
be accessed as in the following example.
Expanded RAM Access (Indirect Addressing only):
MOVX@DPTR, A; DPTR contains 0A0H
DPTR points to 0A0H and data in “A” is written to address 0A0H of the expanded RAM rather than
external memory. Access to external memory higher than 2FFH using the MOVX instruction will
access external memory (0300H to FFFFH) and will perform in the same way as the standard 8051,
with P0 and P2 as data/address bus, and P3.6 and P3.7 as write and read timing signals.
When EXTRAM = 1, MOVX @Ri and MOVX @DPTR will be similar to the standard 8051. Using
MOVX @Ri provides an 8-bit address with multiplexed data on Port 0. Other output port pins can be
used to output higher order address bits. This provides external paging capabilities. Using MOVX
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
13
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
@DPTR generates a 16-bit address. This allows external addressing up the 64K. Port 2 provides the
high-order eight address bits (DPH), and Port 0 multiplexes the low order eight address bits (DPL) with
data. Both MOVX @Ri and MOVX @DPTR generates the necessary read and write signals (P3.6 -
WR# and P3.7 - RD#) for external memory use. Table 4 shows external data memory RD#, WR# oper-
ation with EXTRAM bit.
The stack pointer (SP) can be located anywhere within the 256 bytes of internal RAM (lower 128 bytes
and upper 128 bytes). The stack pointer may not be located in any part of the expanded RAM.
Table 4: External Data Memory RD#, WR# with EXTRAM bit
MOVX @DPTR, A or MOVX A, @DPTR
MOVX @Ri, A or MOVX A, @Ri
ADDR = Any
AUXR
ADDR < 0300H
RD# / WR# not asserted
RD# / WR# asserted
ADDR >= 0300H
RD# / WR# asserted
RD# / WR# asserted
EXTRAM = 0
EXTRAM = 1
RD# / WR# not asserted1
RD# / WR# asserted
T0-0.0 25114
1. Access limited to ERAM address within 0 to 0FFH; cannot access 100H to 02FFH.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
14
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
2FFH
FFH
FFH
80H
Expanded
RAM
768 Bytes
(Indirect Addressing)
(Direct Addressing)
Special
Function
Registers
(SFRs)
Upper 128 Bytes
Internal RAM
80H
7FH
Lower 128 Bytes
Internal RAM
(Indirect Direct
Addressing)
(Indirect Addressing)
00H
000H
FFFFH
FFFFH
(Indirect Addressing)
(Indirect Addressing)
External
Data
Memory
External
Data
Memory
0300H
2FFH
Expanded RAM
000H
0000H
EXTRAM = 0
EXTRAM = 1
1339 F05.0
Figure 7: Internal and External Data Memory Structure
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
15
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Dual Data Pointers
The device has two 16-bit data pointers. The DPTR Select (DPS) bit in AUXR1 determines which of
the two data pointers is accessed. When DPS=0, DPTR0 is selected; when DPS=1, DPTR1 is
selected. Quickly switching between the two data pointers can be accomplished by a single INC
instruction on AUXR1. (See Figure 8)
AUXR1 / bit0
DPS
DPTR1
DPTR0
DPS = 0 → DPTR0
DPS = 1 → DPTR1
DPL
82H
DPH
83H
External Data Memory
1339 F06.0
Figure 8: Dual Data Pointer Organization
Special Function Registers
Most of the unique features of the FlashFlex microcontroller family are controlled by bits in special
function registers (SFRs) located in the SFR memory map shown in Table 5. Individual descriptions of
each SFR are provided and reset values indicated in Tables 6 to 10.
Table 5: FlashFlex SFR Memory Map
8 BYTES
F8H
F0H
E8H
E0H
D8H
D0H
C8H
C0H
B8H
B0H
A8H
A0H
98H
90H
88H
80H
IP11
B1
IEA1
CH
CL
CCAP0H CCAP1H CCAP2H CCAP3H CCAP4H
CCAP0L CCAP1L CCAP2L CCAP3L CCAP4L
FFH
F7H
EFH
E7H
DFH
D7H
CFH
C7H
BFH
B7H
AFH
A7H
9FH
97H
8FH
IP1H
ACC1
CCON1
PSW1
CMOD
CCAPM0 CCAPM1 CCAPM2 CCAPM3 CCAPM4
SPCR
T2CON1 T2MOD RCAP2L RCAP2H
WDTC1
IP1
P31
IE1
P21
SCON1
P11
TCON1
P01
TL2
TH2
SADEN
SFCF
SFCM
SPSR
SFAL
SFAH
SFDT
P4
SFST
IPH
SADDR
XICON
AUXR1
SBUF
TMOD
SP
TL0
TL1
TH0
TH1
AUXR
SPDR
DPL
DPH
WDTD
PCON
87H
T0-0.0 25114
1. Bit addressable SFRs
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
16
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 6: CPU related SFRs
Direct
Addres
s
Bit Address, Symbol, or Alternative Port Function
MSB
Symb
ol
ACC1 Accumulator
B1
B Register
PSW1 Program Status
Word
Reset
Value
Description
LSB
E0H
F0H
D0H
ACC[7:0]
B[7:0]
00H
00H
00H
CY
AC
F0 RS1 RS0
OV
F1
P
SP
Stack Pointer
81H
82H
SP[7:0]
07H
00H
DPL
Data Pointer
Low
DPL[7:0]
DPH
Data Pointer
High
83H
DPH[7:0]
00H
IE1
IEA1
Interrupt Enable
A8H
E8H
EA
-
EC
-
ET2 ES
ET1
EX1
-
ET0
-
EX0
-
00H
Interrupt
Enable A
-
-
EBO
xxxx0xxxb
IP1
Interrupt Priority
Reg
B8H
B7H
F8H
F7H
87H
-
-
-
-
PPC
PT2 PS
PT1
PX1
PT0
PT0H
PX2
PX3
PD
PX0 x0000000b
PX0H x0000000b
IPH
IP11
IP1H
Interrupt Priority
Reg High
PPCH PT2H PSH PT1H PX1H
Interrupt Priority
Reg A
-
-
-
-
-
-
PBO PX3
PBOH PX3H
-
-
xxxx0xxxb
xxxx0xxxb
Interrupt Priority
Reg A High
PCON Power Control
SMOD SMOD BOF PO GF1 GF0
IDL 00010000b
1
0
F
AUXR Auxiliary Reg
AUXR1 Auxiliary Reg 1
XICON2 External
Interrupt Control
8EH
A2H
AEH
-
-
-
-
-
-
-
GF2
0
-
0
EXTRAM
AO
xxxxxxx00b
-
-
-
DPS xxxx00x0b
X
EX3
IE3 IT3
EX2
IE2
IT2
00H
T0-0.0 25114
1. Bit Addressable SFRs
2. X = Don’t care
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
17
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 7: Flash Memory Programming SFRs
Bit Address, Symbol, or Alternative Port Function
Direct
Symbol Description Address MSB
Reset
Value
LSB
SFCF
SuperFlash
Configuration
B1H
B2H
B3H
B4H
B5H
B6H
-
IAPEN
-
-
-
-
SWR BSEL x0xxxx00b
SFCM SuperFlash
Command
FIE
FCM[6:0]
00H
SFAL
SFAH
SFDT
SFST
SuperFlash
Address Low
SuperFlash Low Order Byte Address Register - A7 to A0 (SFAL)
00H
00H
00H
SuperFlash
Address High
SuperFlash High Order Byte Address Register - A15 to A8
(SFAH)
SuperFlash
Data
SuperFlash Data Register
SuperFlash
Status
SB1_i SB2_i SB3_i
-
EDC_i FLASH_BUSY
-
-
000x00xxb
T0-0.0 25114
Table 8: Watchdog Timer SFRs
Bit Address, Symbol, or Alternative Port Function
Address MSB LSB
Direct
Reset
Value
Symbol Description
WDTC1 Watchdog Timer
C0H
-
-
-
WDOUT WDRE WDTS WDT SWDT xxx00x00b
Control
WDTD Watchdog Timer
Data/Reload
85H
Watchdog Timer Data/Reload
00H
T0-0.0 25114
1. Bit Addressable SFRs
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
18
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 9: Timer/Counters SFRs
Bit Address, Symbol, or Alternative Port Function
Direct
Reset
Value
Symbol Description
Address MSB
LSB
TMOD Timer/Counter
Mode Control
89H
Timer 1
Timer 0
00H
GATE C/T#
TF1 TR1
M1
M0
GATE C/T# M1
M0
IT0
TCON1 Timer/Counter
Control
88H
TF0
TR0
IE1
IT1
IE0
00H
TH0
TL0
TH1
TL1
Timer 0 MSB
Timer 0 LSB
Timer 1 MSB
Timer 1 LSB
8CH
8AH
8DH
8BH
TH0[7:0]
TL0[7:0]
TH1[7:0]
TL1[7:0]
00H
00H
00H
00H
00H
T2CON1 Timer / Counter 2 C8H
Control
TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2# CP/RL2#
T2MOD2 Timer2
Mode Control
C9H
X
-
-
-
-
-
T2OE DCEN xxxxxx00b
TH2
TL2
Timer 2 MSB
Timer 2 LSB
CDH
CCH
CBH
TH2[7:0]
TL2[7:0]
00H
00H
00H
RCAP2H Timer 2
Capture MSB
RCAP2L Timer 2
Capture LSB
RCAP2H[7:0]
CAH
RCAP2L[7:0]
00H
T0-0.0 25114
1. Bit Addressable SFRs
2. X = Don’t care
Table 10:Interface SFRs
Bit Address, Symbol, or Alternative Port Function
Address MSB LSB
Direct
RESET
Value
Symbol Description
SBUF Serial Data Buffer
SCON1 Serial Port Control
SADDR Slave Address
99H
98H
A9H
B9H
SBUF[7:0]
SM0/FE SM1 SM2 REN TB8 RB8
SADDR[7:0]
Indeterminate
00H
TI
RI
00H
SADEN Slave Address
Mask
SADEN[7:0]
00H
SPCR SPI Control
Register
D5H
AAH
SPIE
SPE DORD MSTR CPOL CPHA SPR1 SPR0
04H
00H
SPSR SPI Status
Register
SPIF WCOL
SPDR SPI Data Register
86H
80H
90H
A0H
B0H
A5H
SPDR[7:0]
P0[7:0]
00H
FFH
FFH
FFH
FFH
P01
P11
P21
P31
P42
Port 0
Port 1
Port 2
Port 3
Port 4
-
-
-
-
-
-
T2EX T2
P2[7:0]
RD#
1
WR#
1
T1
1
T0
1
INT1# INT0# TXD RXD
P4.3 P4.2 P4.1 P4.0
FFH
T0-0.0 25114
1. Bit Addressable SFRs
2. P4 is similar to P1 and P3 ports
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
19
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 11:PCA SFRs
Bit Address, Symbol, or Alternative Port Function
Direct
RESET
Value
Symbol Description
Address MSB
LSB
PCA Timer/Counter
CH
CL
F9H
E9H
CH[7:0]
CL[7:0]
00H
00H
CCON1
D8H
CF
CR
-
-
CCF4 CCF3 CCF2 CCF1 CCF0 00x00000b
PCA Timer/Counter
Control Register
PCA Timer/Counter
Mode Register
CMOD
D9H
CIDL WDTE
-
-
CPS1 CPS0 ECF 00xxx000b
CCAP0H PCA Module 0
FAH
EAH
CCAP0H[7:0]
CCAP0L[7:0]
00H
00H
Compare/Capture
CCAP0L
Registers
CCAP1H PCA Module 1
FBH
EBH
CCAP1H[7:0]
CCAP1L[7:0]
00H
00H
Compare/Capture
CCAP1L
Registers
CCAP2H PCA Module 2
FCH
ECH
CCAP2H[7:0]
CCAP2L[7:0]
00H
00H
Compare/Capture
CCAP2L
Registers
CCAP3H PCA Module 3
FDH
EDH
CCAP3H[7:0]
CCAP3L[7:0]
00H
00H
Compare/Capture
CCAP3L
Registers
CCAP4H PCA Module 4
FEH
EEH
CCAP4H[7:0]
CCAP4L[7:0]
00H
00H
Compare/Capture
CCAP4L
Registers
CCAPM0 PCA
DAH
DBH
DCH
DDH
DEH
-
-
-
-
-
ECOM0 CAPP0 CAPN0 MAT0 TOG0 PWM0 ECCF0 x0000000b
ECOM1 CAPP1 CAPN1 MAT1 TOG1 PWM1 ECCF1 x0000000b
ECOM2 CAPP2 CAPN2 MAT2 TOG2 PWM2 ECCF2 x0000000b
ECOM3 CAPP3 CAPN3 MAT3 TOG3 PWM3 ECCF3 x0000000b
Compare/Capture
CCAPM1
Module Mode
CCAPM2
Registers
CCAPM3
CCAPM4
ECOM4 CAPP4 CAPN4 MAT4 TOG4 PWM4 ECCF4 x0000000b
T0-0.0 25114
1. Bit Addressable SFRs
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
20
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
SuperFlash Configuration Register (SFCF)
Location
7
6
5
4
3
2
1
0
Reset Value
B1H
-
IAPEN
-
-
-
-
SWR
BSEL
x0xxxx00b
Symbol
Function
IAPEN
Enable IAP operation
0: IAP commands are disabled
1: IAP commands are enabled
SWR
BSEL
Software Reset
See Section , “Software Reset”
Program memory block switching bit
See Figures 5 and 6 and Table 3
SuperFlash Command Register (SFCM)
Location
7
6
5
4
3
2
1
0
Reset Value
B2H
FIE
FCM6
FCM5
FCM4
FCM3
FCM2
FCM1
FCM0
00H
Symbol
Function
FIE
Flash Interrupt Enable.
0: INT1# is not reassigned.
1: INT1# is re-assigned to signal IAP operation completion.
External INT1# interrupts are ignored.
FCM[6:0]
Flash operation command
000_0001bChip-Erase
000_1011bSector-Erase
000_1101bBlock-Erase
000_1100bByte-Verify1
000_1110bByte-Program
000_1111bProg-SB1
000_0011bProg-SB2
000_0101bProg-SB3
000_1001bProg-SC0
000_1001bProg-SC1
000_1000bEnable-Clock-Double
All other combinations are not implemented, and reserved for future use.
1. Byte-Verify has a single machine cycle latency and will not generate any INT1# interrupt regardless of
FIE.
SuperFlash Address Registers (SFAL)
Location
7
6
5
4
3
2
1
0
Reset Value
B3H
SuperFlash Low Order Byte Address Register
00H
Symbol
Function
SFAL
Mailbox register for interfacing with flash memory block. (Low order address
register).
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
21
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
SuperFlash Address Registers (SFAH)
Location
7
6
5
4
3
2
1
0
Reset Value
B4H
SuperFlash High Order Byte Address Register
00H
Symbol
Function
SFAH
Mailbox register for interfacing with flash memory block. (High order address
register).
SuperFlash Data Register (SFDT)
Location
7
6
5
4
3
2
1
0
Reset Value
B5H
SuperFlash Data Register
00H
Symbol
Function
SFDT
Mailbox register for interfacing with flash memory block. (Data register).
SuperFlash Status Register (SFST) (Read Only Register)
Location
7
6
5
4
3
2
1
0
Reset Value
FLASH_BU
SY
B6H
SB1_i
SB2_i
SB3_i
-
EDC_i
-
-
xxxxx0xxb
Symbol
SB1_i
SB2_i
SB3_i
Function
Security Bit 1 status (inverse of SB1 bit)
Security Bit 2 status (inverse of SB2 bit)
Security Bit 3 status (inverse of SB3 bit)
Please refer to Table 25 for security lock options.
EDC_i
Double Clock Status
0: 12 clocks per machine cycle
1: 6 clocks per machine cycle
FLASH_BUSY Flash operation completion polling bit.
0: Device has fully completed the last IAP command.
1: Device is busy with flash operation.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
22
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Interrupt Enable (IE)
Location
7
6
5
4
3
2
1
0
Reset Value
A8H
EA
EC
ET2
ES
ET1
EX1
ET0
EX0
00H
Symbol
Function
EA
Global Interrupt Enable.
0 = Disable
1 = Enable
EC
PCA Interrupt Enable.
Timer 2 Interrupt Enable.
Serial Interrupt Enable.
Timer 1 Interrupt Enable.
ET2
ES
ET1
EX1
ET0
EX0
External 1 Interrupt Enable.
Timer 0 Interrupt Enable.
External 0 Interrupt Enable.
Interrupt Enable A (IEA)
Location
7
6
5
4
3
2
1
0
Reset Value
E8H
-
-
-
-
EBO
-
-
-
xxxx0xxxb
Symbol
Function
EBO
Brown-out Interrupt Enable.
1 = Enable the interrupt
0 = Disable the interrupt
Interrupt Priority (IP)
Location
7
6
5
4
3
2
1
0
Reset Value
B8H
-
PPC
PT2
PS
PT1
PX1
PT0
PX0
x0000000b
Symbol
PPC
PT2
Function
PCA interrupt priority bit
Timer 2 interrupt priority bit
Serial Port interrupt priority bit
Timer 1 interrupt priority bit
External interrupt 1 priority bit
Timer 0 interrupt priority bit
External interrupt 0 priority bit
PS
PT1
PX1
PT0
PX0
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
23
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Interrupt Priority High (IPH)
Location
7
6
5
4
3
2
1
0
Reset Value
B7H
-
PPCH
PT2H
PSH
PT1H
PX1H
PT0H
PX0H
x0000000b
Symbol
PPCH
PT2H
PSH
Function
PCA interrupt priority bit high
Timer 2 interrupt priority bit high
Serial Port interrupt priority bit high
Timer 1 interrupt priority bit high
External interrupt 1 priority bit high
Timer 0 interrupt priority bit high
External interrupt 0 priority bit high
PT1H
PX1H
PT0H
PX0H
Interrupt Priority 1 (IP1)
Location
7
6
5
4
3
2
1
0
Reset Value
F8H
1
-
-
1
PBO
PX3
PX2
1
1xx10001b
Symbol
PBO
Function
Brown-out interrupt priority bit
External Interrupt 2 priority bit
External Interrupt 3 priority bit
PX2
PX3
Interrupt Priority 1 High (IP1H)
Location
7
6
5
4
3
2
1
0
Reset Value
F7H
1
-
-
1
PBOH
PX3H
PX2H
1
1xx10001b
Symbol
PBOH
PX2H
Function
Brown-out Interrupt priority bit high
External Interrupt 2 priority bit high
External Interrupt 3 priority bit high
PX3H
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
24
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Auxiliary Register (AUXR)
Location
7
6
5
4
3
2
1
0
Reset Value
8EH
-
-
-
-
-
-
EXTRA
M
AO
xxxxxx00b
Symbol
Function
EXTRAM
Internal/External RAM access
0: Internal Expanded RAM access within range of 00H to 2FFH using MOVX @Ri /
@DPTR. Beyond 300H, the MCU always accesses external data memory.
For details, refer to Section , “Expanded Data RAM Addressing” .
1: External data memory access.
AO
Disable/Enable ALE
0: ALE is emitted at a constant rate of 1/3 the oscillator frequency in 6 clock mode, 1/
6 fOSC in 12 clock mode.
1: ALE is active only during a MOVX or MOVC instruction.
Auxiliary Register 1 (AUXR1)
Location
7
6
5
4
3
2
1
0
Reset Value
A2H
-
-
-
-
GF2
0
-
DPS
xxxx00x0b
Symbol
GF2
Function
General purpose user-defined flag.
DPS
DPTR registers select bit.
0: DPTR0 is selected.
1: DPTR1 is selected.
Watchdog Timer Control Register (WDTC)
Location
7
6
5
4
3
2
1
0
Reset Value
C0H
-
-
-
WDOUT WDRE
WDTS
WDT
SWDT xxx00000b
Symbol
Function
WDOUT
Watchdog output enable.
0: Watchdog reset will not be exported on Reset pin.
1: Watchdog reset if enabled by WDRE, will assert Reset pin for 32 clocks.
WDRE
WDTS
Watchdog timer reset enable.
0: Disable watchdog timer reset.
1: Enable watchdog timer reset.
Watchdog timer reset flag.
0: External hardware reset or power-on reset clears the flag.
Flag can also be cleared by writing a 1.
Flag survives if chip reset happened because of watchdog timer overflow.
1: Hardware sets the flag on watchdog overflow.
WDT
Watchdog timer refresh.
0: Hardware resets the bit when refresh is done.
1: Software sets the bit to force a watchdog timer refresh.
SWDT
Start watchdog timer.
0: Stop WDT.
1: Start WDT.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
25
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Watchdog Timer Data/Reload Register (WDTD)
Location
7
6
5
4
3
2
1
0
Reset Value
85H
Watchdog Timer Data/Reload
00H
Symbol
Function
WDTD
Initial/Reload value in Watchdog Timer. New value won’t be effective until WDT is
set.
PCA Timer/Counter Control Register1 (CCON)
Location
7
6
5
4
3
2
1
0
Reset Value
D8H
CF
CR
-
CCF4
CCF3
CCF2
CCF1
CCF0
00x00000b
1. Bit addressable
Symbol
Function
CF
PCA Counter Overflow Flag
Set by hardware when the counter rolls over. CF flags an interrupt if bit ECF in
CMOD is set. CF may be set by either hardware or software, but can only cleared by
software.
CR
PCA Counter Run control bit
Set by software to turn the PCA counter on. Must be cleared by software to turn the
PCA counter off.
-
Not implemented, reserved for future use.
Note: User should not write ‘1’s to reserved bits. The value read from a reserved bit is indeterminate.
CCF4
CCF3
CCF2
CCF1
CCF0
PCA Module 4 interrupt flag. Set by hardware when a match or capture occurs.
Must be cleared by software.
PCA Module 3 interrupt flag. Set by hardware when a match or capture occurs.
Must be cleared by software.
PCA Module 2 interrupt flag. Set by hardware when a match or capture occurs.
Must be cleared by software.
PCA Module 1 interrupt flag. Set by hardware when a match or capture occurs.
Must be cleared by software.
PCA Module 0 interrupt flag. Set by hardware when a match or capture occurs.
Must be cleared by software.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
26
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
PCA Timer/Counter Mode Register1 (CMOD)
Location
7
6
5
4
3
2
1
0
Reset Value
D9H
CIDL
WDTE
-
-
-
CPS1
CPS0
ECF
00xxx000b
1. Not bit addressable
Symbol
Function
CIDL
Counter Idle Control:
0: Programs the PCA Counter to continue functioning during idle mode
1: Programs the PCA Counter to be gated off during idle
WDTE
-
Watchdog Timer Enable:
0: Disables Watchdog Timer function on PCA module 4
1: Enables Watchdog Timer function on PCA module 4
Not implemented, reserved for future use.
Note: User should not write ‘1’s to reserved bits. The value read from a reserved bit is indeterminate.
CPS1
CPS0
PCA Count Pulse Select bit 1
PCA Count Pulse Select bit 2
Selected
CPS1 CPS0 PCA Input1
Internal clock, fOSC/6 in 6 clock mode (fOSC/12 in 12 clock mode)
Internal clock, fOSC/2 in 6 clock mode (fOSC/4 in 12 clock mode)
Timer 0 overflow
0
0
1
1
0
1
0
1
0
1
2
3
External clock at ECI/P1.2 pin
(max. rate = fOSC/4 in 6 clock mode, fOSC/8 in 12 clock mode)
1. fOSC = oscillator frequency
ECF
PCA Enable Counter Overflow interrupt:
0: Disables the CF bit in CCON
1: Enables CF bit in CCON to generate an interrupt
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
27
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
PCA Compare/Capture Module Mode Register1 (CCAPMn)
Location
DAH
7
-
-
-
-
-
6
5
4
3
2
1
0
Reset Value
ECOM0 CAPP0
ECOM1 CAPP1
ECOM2 CAPP2
ECOM3 CAPP3
ECOM4 CAPP4
CAPN0
CAPN1
CAPN2
CAPN3
CAPN4
MAT0
MAT1
MAT2
MAT3
MAT4
TOG0
TOG1
TOG2
TOG3
TOG4
PWM0
PWM1
PWM2
PWM3
PWM4
ECCF0 00xxx000b
ECCF1 00xxx000b
ECCF2 00xxx000b
ECCF3 00xxx000b
ECCF4 00xxx000b
DBH
DCH
DDH
DEH
1. Not bit addressable
Symbol
Function
-
Not implemented, reserved for future use.
Note: User should not write ‘1’s to reserved bits. The value read from a reserved bit is indeterminate.
ECOMn
CAPPn
CAPNn
MATn
Enable Comparator
0: Disables the comparator function
1: Enables the comparator function
Capture Positive
0: Disables positive edge capture on CEX[4:0]
1: Enables positive edge capture on CEX[4:0]
Capture Negative
0: Disables negative edge capture on CEX[4:0]
1: Enables negative edge capture on CEX[4:0]
Match: Set ECOM[4:0] and MAT[4:0] to implement the software timer mode
0: Disables software timer mode
1: A match of the PCA counter with this module’s compare/capture register causes
the CCFn bit in CCON to be set, flagging an interrupt.
TOGn
Toggle
0: Disables toggle function
1: A match of the PCA counter with this module’s compare/capture register causes
the the CEXn pin to toggle.
PWMn
ECCFn
Pulse Width Modulation mode
0: Disables PWM mode
1: Enables CEXn pin to be used as a pulse width modulated output
Enable CCF Interrupt
0: Disables compare/capture flag CCF[4:0] in the CCON register to generate an
interrupt request.
1: Enables compare/capture flag CCF[4:0] in the CCON register to generate an
interrupt request.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
28
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
SPI Control Register (SPCR)
Location
7
6
5
4
3
2
1
0
Reset Value
D5H
SPIE
SPE
DORD
MSTR
CPOL
CPHA
SPR1
SPR0
00H
Symbol
SPIE
Function
If both SPIE and ES are set to one, SPI interrupts are enabled.
SPE
SPI enable bit.
0: Disables SPI.
1: Enables SPI and connects SS#, MOSI, MISO, and SCK to pins P1.4, P1.5, P1.6,
P1.7.
DORD
MSTR
CPOL
CPHA
Data Transmission Order.
0: MSB first in data transmission.
1: LSB first in data transmission.
Master/Slave select.
0: Selects Slave mode.
1: Selects Master mode.
Clock Polarity
0: SCK is low when idle (Active High).
1: SCK is high when idle (Active Low).
Clock Phase control bit. The CPHA bit with the CPOL bit control the clock and data
relationship between master and slave. See Figures 21 and 22.
0: Shift triggered on the leading edge of the clock.
1: Shift triggered on the trailing edge of the clock.
SPR1, SPR0
SPI Clock Rate Select bits. These two bits control the SCK rate of the device
configured as master. SPR1 and SPR0 have no effect on the slave. The relationship
between SCK and the oscillator frequency, fOSC, is as follows:
SPR1
SPR0
SCK = fOSC divided by
0
0
1
1
0
1
0
1
4
16
64
128
SPI Status Register (SPSR)
Location
7
6
5
4
3
2
1
0
Reset Value
AAH
SPIF
WCOL
-
-
-
-
-
-
00xxxxxxb
Symbol
Function
SPI Interrupt Flag.
SPIF
Upon completion of data transfer, this bit is set to 1.
If SPIE =1 and ES =1, an interrupt is then generated.
This bit is cleared by software.
WCOL
Write Collision Flag.
Set if the SPI data register is written to during data transfer.
This bit is cleared by software.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
29
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
SPI Data Register (SPDR)
Location
7
6
6
5
4
3
2
1
0
Reset Value
86H
SPDR[7:0]
00H
Power Control Register (PCON)
Location
7
5
4
3
2
1
0
Reset Value
87H
SMOD1 SMOD0
BOF
POF
GF1
GF0
PD
IDL
00010000b
Symbol
Function
SMOD1
Double Baud rate bit. If SMOD1 = 1, Timer 1 is used to generate the baud rate, and
the serial port is used in modes 1, 2, and 3.
SMOD0
BOF
FE/SM0 Selection bit.
0: SCON[7] = SM0
1: SCON[7] = FE,
Brown-out detection status bit, this bit will not be affected by any other reset. BOF
should be cleared by software. Power-on reset will also clear the BOF bit.
0: No brown-out.
1: Brown-out occurred
POF
Power-on reset status bit, this bit will not be affected by any other reset. POF should
be cleared by software.
0: No Power-on reset.
1: Power-on reset occurred
GF1
GF0
PD
General-purpose flag bit.
General-purpose flag bit.
Power-down bit, this bit is cleared by hardware after exiting from power-down mode.
0: Power-down mode is not activated.
1: Activates Power-down mode.
IDL
Idle mode bit, this bit is cleared by hardware after exiting from idle mode.
0: Idle mode is not activated.
1: Activates idle mode.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
30
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Serial Port Control Register (SCON)
Location
7
6
5
4
3
2
1
0
Reset Value
98H
SM0/FE
SM1
SM2
REN
TB8
RB8
TI
RI
00000000b
Symbol
Function
FE
Set SMOD0 = 1 to access FE bit.
0: No framing error
1: Framing Error. Set by receiver when an invalid stop bit is detected. This bit needs
to be cleared by software.
SM0
SM1
SMOD0 = 0 to access SM0 bit.
Serial Port Mode Bit 0
Serial Port Mode Bit 1
SM0
0
SM1
0
Mode
0
Description
Shift Register fOSC/6 (6 clock mode) or
OSC/12 (12 clock mode)
Variable
OSC/32 or fOSC/16 (6 clock mode)
or
Baud Rate1
f
0
1
1
0
1
2
8-bit UART
9-bit UART
f
f
OSC/64 or fOSC/32 (12 clock mode)
1
1
3
9-bit UART
Variable
1. fOSC = oscillator frequency
SM2
REN
Enables the Automatic Address Recognition feature in Modes 2 or 3. If SM2 = 1 then
RI will not be set unless the received 9th data bit (RB8) is 1, indicating an address,
and the received byte is a given or broadcast address. In Mode 1, if SM2 = 1 then RI
will not be activated unless a valid stop bit was received. In Mode 0, SM2 should be
0.
Enables serial reception.
0: to disable reception.
1: to enable reception.
TB8
RB8
TI
The 9th data bit that will be transmitted in Modes 2 and 3. Set or clear by software as
desired.
In Modes 2 and 3, the 9th data bit that was received. In Mode 1, if SM2 = 0, RB8 is
the stop bit that was received. In Mode 0, RB8 is not used.
Transmit interrupt flag. Set by hardware at the end of the 8th bit time in Mode 0, or at
the beginning of the stop bit in the other modes, in any serial transmission, Must be
cleared by software.
RI
Receive interrupt flag. Set by hardware at the end of the8th bit time in Mode 0, or
halfway through the stop bit time in the other modes, in any serial reception (except
see SM2). Must be cleared by software.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
31
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Timer/Counter 2 Control Register (T2CON)
Location
7
6
5
4
3
2
1
0
Reset Value
C8H
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
C/T2#
CP/
00H
RL2#
Symbol
Function
TF2
Timer 2 overflow flag set by a Timer 2 overflow and must be cleared by software.
TF2 will not be set when either RCLK or TCLK = 1.
EXF2
Timer 2 external flag set when either a capture or reload is caused by a negative
transition on T2EX and EXEN2 = 1. When Timer 2 interrupt is enabled, EXF2 = 1 will
cause the CPU to vector to the Timer 2 interrupt routine. EXF2 must be cleared by
software. EXF2 does not cause an interrupt in up/down counter mode (DCEN = 1).
RCLK
TCLK
Receive clock flag. When set, causes the serial port to use Timer 2 overflow pulses
for its receive clock in modes 1 and 3. RCLK = 0 causes Timer 1 overflow to be used
for the receive clock.
Transmit clock flag. When set, causes the serial port to use Timer 2 overflow pulses
for its transmit clock in modes 1 and 3. TCLK = 0 causes Timer 1 overflow to be used
for the transmit clock.
EXEN2
Timer 2 external enable flag. When set, allows a capture or reload to occur as a
result of a negative transition on T2EX if Timer 2 is not being used to clock the serial
port. EXEN2 = 0 causes Timer 2 to ignore events at T2EX.
TR2
Start/stop control for Timer 2. A logic 1 starts the timer.
C/T2#
Timer or counter select (Timer 2)
0: Internal timer (OSC/6 in 6 clock mode, OSC/12 in 12 clock mode)
1: External event counter (falling edge triggered)
CP/RL2#
Capture/Reload flag. When set, captures will occur on negative transitions at T2EX if
EXEN2 = 1. When cleared, auto-reloads will occur either with Timer 2 overflows or
negative transitions at T2EX when EXEN2 = 1. When either RCLK = 1 or TCLK = 1,
this bit is ignored and the timer is forced to auto-reload on Timer 2 overflow.
Timer/Counter 2 Mode Control (T2MOD)
Location
7
6
5
4
3
2
1
0
Reset Value
C9H
X
-
-
-
-
-
T2OE
DCEN
xxxxxx00b
Symbol
Function
X
-
Don’t Care
Not implemented, reserved for future use.
Note: User should not write ‘1’s to reserved bits. The value read from a reserved bit is indeterminate.
T2OE
DCEN
Timer 2 Output Enable bit.
Down Count Enable bit. When set, this allows Timer 2 to be configured as an up/
down counter.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
32
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
External Interrupt Control (XICON)
Location
7
6
5
4
3
2
1
0
Reset Value
AEH
X
EX3
IE3
IT3
0
EX2
IE2
IT2
00H
Symbol
X
Function
Don’t Care
EX2
External Interrupt 2
Enable bit if set
IE2
Interrupt Enable
If IT2=1, IE2 is set/cleared automatically by hardware when interrupt is detected/
serviced.
IT2
External Interrupt 2 is falling-edge/low-level triggered when this bit is cleared by
software.
EX3
IE3
External Interrupt 3
Enable bit if set
Interrupt Enable
If IT3=1, IE3 is set/cleared automatically by hardware when interrupt is detected/
serviced.
IT3
External Interrupt3 is falling-edge/low-level triggered when this bit is cleared by
software.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
33
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Flash Memory Programming
The device internal flash memory can be programmed or erased using the In-Application Programming
(IAP) mode.
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 algo-
rithms.
Table 12:Product Identification
Address
Data
Manufacturer’s ID
Device ID
30H
BFH
SST89E54RD2A/RDA
SST89E58RD2A/RDA
31H
31H
9FH
9BH
T0-0.2 25114
In-Application Programming Mode
The device offers either 24/40 KByte of in-application programmable flash memory. During in-applica-
tion programming, 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
special function register (SFR), control and monitor the device’s erase and program process.
Table 13 outline the commands and their associated mailbox register settings.
In-Application Programming Mode Clock Source
During IAP mode, both the CPU core and the flash controller unit are driven off the external clock.
However, an internal 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 operation is
completed.
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 program 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 program 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 tar-
get of this operation is implicitly defined to be in Block 1. If the IAP operation originates physically from
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
34
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
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 selec-
tion.
IAP Enable Bit
The IAP enable bit, SFCF[6], enables in-application programming mode. Until this bit is set, all flash
programming IAP commands will be ignored.
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 commands 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 mem-
ory 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 currently fetching from. This will cause unpredictable program
behavior and may corrupt program data.
Chip-Erase
The Chip-Erase command erases all bytes in both memory blocks. This command is only allowed
when EA#=0 (external 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.
IAP Enable
ORL SFCF, #40H
Set-Up
MOV SFDT, #55H
Polling scheme
Interrupt scheme
MOV SFCM, #01H
MOV SFCM, #81H
SFST[2] indicates
INT1 interrupt
operation completion
indicates completion
1339 F08.0
Figure 9: Chip-Erase
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
35
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
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 SST89E5xRD2A/RDA, if SFAH[7] = 0b, the primary flash memory Block 0 is selected. If
SFAH[7:4] = EH, the secondary flash memory Block 1 is selected. The Block-Erase command
sequence for SST89E5xRD2A/RDA is as follows:
IAP Enable
ORL SFCF, #40H
Erase Block 0
MOV SFAH, #00H
Erase Block 1
MOV SFAH, #F0H
OR
Set-Up
MOV SFDT, #55H
Polling scheme
Interrupt scheme
MOV SFCM, #0DH
MOV SFCM, #8DH
SFST[2] indicates
INT1 interrupt
operation completion
indicates completion
1339 F09.0
Figure 10:Block-Erase
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
36
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
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 determined by the contents of SFAH
and SFAL.
IAP Enable
ORL SFCF, #40H
Program sector address
MOV SFAH, #sector_addressH
MOV SFAL, #sector_addressL
Polling scheme
Interrupt scheme
MOV SFCM, #0BH
MOV SFCM, #8BH
SFST[2] indicates
INT1 interrupt
operation completion
indicates completion
1339 F10.0
Figure 11:Sector-Erase
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
37
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Byte-Program
The Byte-Program command programs data into a single byte. The address is determined by the con-
tents of SFAH and SFAL. The data byte is in SFDT.
IAP Enable
ORL SFCF, #40H
Program byte address
MOV SFAH, #byte_addressH
MOV SFAL, #byte_addressL
Move data to SFDT
MOV SFDT, #data
Polling scheme
Interrupt scheme
MOV SFCM, #0EH
MOV SFCM, #8EH
SFST[2] indicates
INT1 interrupt
operation completion
indicates completion
1339 F11.0
Figure 12:Byte-Program
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
38
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Byte-Verify
The Byte-Verify command allows the user to verify that the device has correctly performed an Erase or
Program command. 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 com-
mand completion and no interrupt is generated.
IAP Enable
ORL SFCF, #40H
Program byte address
MOV SFAH, #byte_addressH
MOV SFAL, #byte_addressL
MOV SFCM, #0CH
SFDT register
contains data
1339 F12.0
Figure 13:Byte-Verify
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
39
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Prog-SB3, Prog-SB2, Prog-SB1
Prog-SB3, Prog-SB2, Prog-SB1 commands are used to program the security bits (see Table 24). Com-
pletion 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.
IAP Enable
ORL SFCF, #40H
Set-Up
MOV SFDT, #0AAH
Program SB1
MOV SFCM, #0FH
or
Program SB2
MOV SFCM, #03H
or
Program SB3
MOV SFCM, #05H
or
OR
OR
MOV SFCM, #8FH
MOV SFCM, #85H
MOV SFCM, #83H
Polling SFST[2]
INT1# Interrupt
indicates completion
indicates completion
1339 F13.0
Figure 14:Prog-SB3, Prog-SB2, Prog-SB1
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
40
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Prog-SC0, Prog-SC1
Prog-SC0 command is used to program the SC0 bit. This command only changes the SC0 bit and has
no effect on BSEL bit until after a reset cycle.
SC0 bit previously in un-programmed state can be programmed by this command. The Prog-SC0 com-
mand should reside only in Block 1 or external code memory.
Prog-SC1 command is used to program the SC1 bit. This command only changes the SC1 bit and has
no effect on SFCF[1] bit until after a reset cycle.
SC1 bit previously in un-programmed state can be programmed by this command. The Prog-SC1 com-
mand should reside only in Block 1 or external code memory.
IAP Enable
ORL SFCF, #40H
Set-up Program SC0
MOV SFAH, #5AH
MOV SFDT, #0AAH
Set-up Program SC1
MOV SFAH, #0AAH
MOV SFDT, #0AAH
Program SC0 or SC1 -
Polling scheme
Program SC0 or SC1 -
Interrupt scheme
MOV SFCM, #09H
MOV SFCM, #89H
Polling SFST[2]
INT1# Interrupt
indicates completion
indicates completion
1339 F14.0
Figure 15:Prog-SC0 and Prog-SC1
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
41
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Enable-Clock-Double
Enable-Clock-Double command is used to make the MCU run at 6 clocks per machine cycle. The stan-
dard (default) is 12 clocks per machine cycle (i.e. clock double command disabled).
IAP Enable
ORL SFCF, #40H
Set-up Enable-Clock-Double
MOV SFAH, #55H
MOV SFDT, #0AAH
Program
Program
Enable-Clock-Double
Polling scheme
MOV SFCM, #08H
Enable-Clock-Double
Interrupt scheme
MOV SFCM, #88H
Polling SFST[2]
INT1# Interrupt
indicates completion
indicates completion
1339 F15.0
Figure 16:Enable-Clock-Double
Polling
A command that uses the polling method to detect flash operation completion should poll on the
FLASH_BUSY bit (SFST[2]). When FLASH_BUSY de-asserts (logic 0), the device is ready for the next
operation.
MOVC instruction may also be used for verification of the Programming and Erase operation of the
flash memory. MOVC instruction will fail if it is directed at a flash block that is still busy.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
42
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Interrupt Termination
If interrupt termination is selected, (SFCM[7] is set), then an interrupt (INT1) will be generated to indi-
cate flash operation completion. Under this condition, the INT1 becomes an internal interrupt source.
The INT1# pin can now be used as a general purpose port pin and it cannot be the source of External
Interrupt 1 during in-application programming.
In order to use an interrupt to signal flash operation termination. EX1 and EA bits of IE register must be
set. The IT1 bit of TCON register must also be set for edge trigger detection.
Table 13:IAP Commands
Operation
SFCM [6:0]1
SFDT [7:0]
55H
SFAH [7:0]
SFAL [7:0]
Chip-Erase2
Block-Erase
Sector-Erase
Byte-Program
Byte-Verify (Read)7
Prog-SB18
Prog-SB28
Prog-SB38
Prog-SC08
Prog-SC18
01H
X3
AH4
AH
AH
AH
X
X
0DH
55H
X
0BH
X
DI6
AL5
AL
AL
X
0EH
0CH
DO6
AAH
AAH
AAH
AAH
AAH
AAH
0FH
03H
X
X
05H
X
X
09H
5AH
AAH
55H
X
09H
X
Enable-Clock-Double8
08H
X
T0-0.0 25114
1. Interrupt/Polling enable for flash operation completion
SFCM[7] =1: Interrupt enable for flash operation completion
0: polling enable for flash operation completion
2. Chip-Erase only functions in IAP mode when EA#=0 (external memory execution) and device is not in level 4 locking.
3. X can be VIL or VIH, but no other value.
4. AH = Address high order byte
5. AL = Address low order byte
6. DI = Data Input, DO = Data Output, all other values are in hex.
7. SFAH[7:5] = 111b selects Block 1, SFAH[7] = 0b selects Block 0
8. Instruction must be located in Block 1 or external code memory.
Note: DISIAPL pin in PLCC or TQFP will also disable IAP commands if it is externally pulled low when reset.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
43
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Timers/Counters
Timers
The device has three 16-bit registers that can be used as either timers or event counters. The three
timers/counters are denoted Timer 0 (T0), Timer 1 (T1), and Timer 2 (T2). Each is designated a pair of
8-bit registers in the SFRs. The pair consists of a most significant (high) byte and least significant (low)
byte. The respective registers are TL0, TH0, TL1, TH1, TL2, and TH2.
Timer Set-up
Refer to Table 9 for TMOD, TCON, and T2CON registers regarding timers T0, T1, and T2. The follow-
ing tables provide TMOD values to be used to set up Timers T0, T1, and T2.
Except for the baud rate generator mode, the values given for T2CON do not include the setting of the
TR2 bit. Therefore, bit TR2 must be set separately to turn the timer on.
Table 14:Timer/Counter 0
TMOD
Mode
Function
13-bit Timer
Internal Control1
External Control2
0
1
2
3
0
1
2
3
00H
01H
02H
03H
04H
05H
06H
07H
08H
09H
0AH
0BH
0CH
0DH
0EH
16-bit Timer
Used as Timer
Used as Counter
8-bit Auto-Reload
Two 8-bit Timers
13-bit Timer
16-bit Timer
8-bit Auto-Reload
Two 8-bit Timers
0FH
T0-0.0 25114
1. The Timer is turned ON/OFF by setting/clearing bit TR0 in the software.
2. The Timer is turned ON/OFF by the 1 to 0 transition on INT0# (P3.2) when TR0 = 1 (hardware control).
Table 15:Timer/Counter 1
TMOD
Mode
Function
13-bit Timer
Internal Control1
External Control2
0
1
2
3
0
1
2
3
00H
10H
20H
30H
40H
50H
60H
-
80H
90H
A0H
B0H
C0H
D0H
E0H
16-bit Timer
Used as Timer
Used as Counter
8-bit Auto-Reload
Does not run
13-bit Timer
16-bit Timer
8-bit Auto-Reload
Not available
-
T0-0.0 25114
1. The Timer is turned ON/OFF by setting/clearing bit TR1 in the software.
2. The Timer is turned ON/OFF by the 1 to 0 transition on INT1# (P3.3) when TR1 = 1 (hardware control).
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
44
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 16:Timer/Counter 2
T2CON
Mode
Internal Control1
External Control2
16-bit Auto-Reload
16-bit Capture
00H
01H
34H
08H
09H
36H
Used as Timer
Baud rate generator receive and transmit
same baud rate
Receive only
Transmit only
24H
14H
02H
03H
26H
16H
0AH
0BH
16-bit Auto-Reload
16-bit Capture
Used as Counter
T0-0.0 25114
1. Capture/Reload occurs only on timer/counter overflow.
2. Capture/Reload occurs on timer/counter overflow and a 1 to 0 transition on T2EX (P1.1) pin except when Timer 2 is
used in the baud rate generating mode.
Programmable Clock-Out
A 50% duty cycle clock can be programmed to come out on P1.0. This pin, besides being a regular I/O
pin, has two alternate functions. It can be programmed:
1. to input the external clock for Timer/Counter 2, or
2. to output a 50% duty cycle clock ranging from 122 Hz to 8 MHz at a 16 MHz operating fre-
quency (61 Hz to 4 MHz in 12 clock mode).
To configure Timer/Counter 2 as a clock generator, bit
C/#T2 (in T2CON) must be cleared and bit T20E in T2MOD must be set. Bit TR2 (T2CON.2) also must
be set to start the timer.
The Clock-Out frequency depends on the oscillator frequency and the reload value of Timer 2 capture
registers (RCAP2H, RCAP2L) as shown in this equation:
Oscillator Frequency
n x (65536 - RCAP2H, RCAP2L)
n =2 (in 6 clock mode)
4 (in 12 clock mode)
Where (RCAP2H, RCAP2L) = the contents of RCAP2H and RCAP2L taken as a 16-bit unsigned inte-
ger.
In the Clock-Out mode, Timer 2 roll-overs will not generate an interrupt. This is similar to when it is
used as a baud-rate generator. It is possible to use Timer 2 as a baud-rate generator and a clock gen-
erator simultaneously. Note, however, that the baud-rate and the Clock-Out frequency will not be the
same.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
45
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Serial I/O
Full-Duplex, Enhanced UART
The device serial I/O port is a full-duplex port that allows data to be transmitted and received simulta-
neously in hardware by the transmit and receive registers, respectively, while the software is perform-
ing other tasks. The transmit and receive registers are both located in the Serial Data Buffer (SBUF)
special function register. Writing to the SBUF register loads the transmit register, and reading from the
SBUF register obtains the contents of the receive register.
The UART has four modes of operation which are selected by the Serial Port Mode Specifier (SM0 and
SM1) bits of the Serial Port Control (SCON) special function register. In all four modes, transmission is
initiated by any instruction that uses the SBUF register as a destination register. Reception is initiated
in mode 0 when the Receive Interrupt (RI) flag bit of the Serial Port Control (SCON) SFR is cleared
and the Reception Enable/ Disable (REN) bit of the SCON register is set. Reception is initiated in the
other modes by the incoming start bit if the REN bit of the SCON register is set.
Framing Error Detection
Framing Error Detection is a feature, which allows the receiving controller to check for valid stop bits in
modes 1, 2, or 3. Missing stops bits can be caused by noise in serial lines or from simultaneous trans-
mission by two CPUs.
Framing Error Detection is selected by going to the PCON register and changing SMOD0 = 1 (see Fig-
ure 17). If a stop bit is missing, the Framing Error bit (FE) will be set. Software may examine the FE bit
after each reception to check for data errors. After the FE bit has been set, it can only be cleared by
software. Valid stop bits do not clear FE. When FE is enabled, RI rises on the stop bit, instead of the
last data bit (see Figure 18 and Figure 19).
SCON
SM2
SM0/FE SM1
REN
TB8
RB8
TI
RI
(98H)
Set FE bit if stop bit is 0 (framing error) (SMOD0 = 1)
SM0 to UART mode control (SMOD0 = 0)
PCON
SMOD1 SMOD0 BOF
POF
GF1
GF0
PD
IDL
(87H)
To UART framing error control
1339 F16.0
Figure 17:Framing Error Block Diagram
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
46
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
RXD
RI
D0
D1
D2
D3
D4
D5
D6
D7
Start
bit
Stop
bit
Data byte
SMOD0=X
FE
SMOD0=1
1339 F17.0
Figure 18:UART Timings in Mode 1
RXD
D0
D1
D2
D3
D4
D5
D6
D7
D8
Ninth
bit
Start
bit
Stop
bit
Data byte
RI
SMOD0=0
RI
SMOD0=1
FE
SMOD0=1
1339 F18.0
Figure 19:UART Timings in Modes 2 and 3
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
47
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Automatic Address Recognition
Automatic Address Recognition helps to reduce the MCU time and power required to talk to multiple
serial devices. Each device is hooked together sharing the same serial link with its own address. In this
configuration, a device is only interrupted when it receives its own address, thus eliminating the soft-
ware overhead to compare addresses.
This same feature helps to save power because it can be used in conjunction with idle mode to reduce
the system’s overall power consumption. Since there may be multiple slaves hooked up serial to one
master, only one slave would have to be interrupted from idle mode to respond to the master’s trans-
mission. Automatic Address Recognition (AAR) allows the other slaves to remain in idle mode while
only one is interrupted. By limiting the number of interruptions, the total current draw on the system is
reduced.
There are two ways to communicate with slaves: a group of them at once, or all of them at once. To
communicate with a group of slaves, the master sends out an address called the given address. To
communicate with all the slaves, the master sends out an address called the “broadcast” address.
AAR can be configured as mode 2 or 3 (9-bit modes) and setting the SM2 bit in SCON. Each slave has
its own SM2 bit set waiting for an address byte (9th bit = 1). The Receive Interrupt (RI) flag will only be
set when the received byte matches either the given address or the broadcast address. Next, the slave
then clears its SM2 bit to enable reception of the data bytes (9th bit = 0) from the master. When the 9th
bit = 1, the master is sending an address. When the 9th bit = 0, the master is sending actual data.
If mode 1 is used, the stop bit takes the place of the 9th bit. Bit RI is set only when the received com-
mand frame address matches the device’s address and is terminated by a valid stop bit. Note that
mode 0 cannot be used. Setting SM2 bit in the SCON register in mode 0 will have no effect.
Each slave’s individual address is specified by SFR SADDR. SFR SADEN is a mask byte that defines
“don’t care” bits to form the given address when combined with SADDR. See the example below:
Slave 1
SADDR
SADEN
GIVEN
=
=
=
1111 0001
1111 1010
1111 0X0X
Slave 2
SADDR
SADEN
GIVEN
=
=
=
1111 0011
1111 1001
1111 0XX1
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
48
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Using the Given Address to Select Slaves
Any bits masked off by a 0 from SADEN become a “don’t care” bit for the given address. Any bit
masked off by a 1, becomes ANDED with SADDR. The “don’t cares” provide flexibility in the user-
defined addresses to address more slaves when using the given address.
Shown in the example above, Slave 1 has been given an address of 1111 0001 (SADDR). The SADEN
byte has been used to mask off bits to a given address to allow more combinations of selecting Slave 1
and Slave 2. In this case for the given addresses, the last bit (LSB) of Slave 1 is a “don’t care” and the
last bit of Slave 2 is a 1. To communicate with Slave 1 and Slave 2, the master would need to send an
address with the last bit equal to 1 (e.g. 1111 0001) since Slave 1’s last bit is a don’t care and Slave 2’s
last bit has to be a 1. To communicate with Slave 1 alone, the master would send an address with the
last bit equal to 0 (e.g. 1111 0000), since Slave 2’s last bit is a 1. See the table below for other possible
combinations.
Select Slave 1 Only
Slave 1
Given Address
Possible Addresses
1111 0X0X
1111 0000
1111 0100
Select Slave 2 Only
Slave 2
Given Address
Possible Addresses
1111 0XX1
1111 0111
1111 0011
Select Slaves 1 and 2
Possible Addresses
Slaves 1 and 2
1111 0001
1111 0101
If the user added a third slave such as the example below:
Slave 3
SADDR = 1111 1001
SADEN
GIVEN
=
=
1111 0101
1111 X0X1
The user could use the possible addresses above to select slave 3 only. Another combination could be
to select slave 2 and 3 only as shown below.
Select Slaves 2 and 3 Only
Slaves 2 and 3
Possible Addresses
1111 0011
More than one slave may have the same SADDR address as well, and a given address could be used
to modify the address so that it is unique.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
49
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Using the Broadcast Address to Select Slaves
Using the broadcast address, the master can communicate with all the slaves at once. It is formed by
performing a logical OR of SADDR and SADEN with ‘0’s in the result treated as “don’t cares”.
Slave 1
1111 0001
+1111 1010 = SADEN
1111 1X11 Broadcast
= SADDR
=
“Don’t cares” allow for a wider range in defining the broadcast address, but in most cases, the broad-
cast address will be FFH.
On reset, SADDR and SADEN are “0”. This produces an given address of all “don’t cares” as well as a
broadcast address of all “don’t cares.” This effectively disables Automatic Addressing mode and allows
the microcontroller to function as a standard 8051, which does not make use of this feature.
Serial Peripheral Interface
SPI Features
•
•
•
•
•
•
•
Master or slave operation
10 MHz bit frequency (max)
LSB first or MSB first data transfer
Four programmable bit rates
End of transmission (SPIF)
Write collision flag protection (WCOL)
Wake up from idle mode (slave mode only)
SPI Description
The serial peripheral interface (SPI) allows high-speed synchronous data transfer between the
SST89E/V5xRDxA and peripheral devices or between several SST89E/V5xRDxA devices.
Figure 20 shows the correspondence between master and slave SPI devices. The SCK pin is the clock
output and input for the master and slave modes, respectively. The SPI clock generator will start follow-
ing a write to the master devices SPI data register. The written data is then shifted out of the MOSI pin
on the master device into the MOSI pin of the slave device. Following a complete transmission of one
byte of data, the SPI clock generator is stopped and the SPIF flag is set. An SPI interrupt request will
be generated if the SPI Interrupt Enable bit (SPIE) and the Serial Port Interrupt Enable bit (ES) are
both set.
An external master drives the Slave Select input pin, SS#/P1[4], low to select the SPI module as a
slave. If SS#/P1[4] has not been driven low, then the slave SPI unit is not active and the MOSI/P1[5]
port can also be used as an input port pin.
CPHA and CPOL control the phase and polarity of the SPI clock. Figures 21 and 22 show the four pos-
sible combinations of these two bits.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
50
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
MSB Master LSB
8-bit Shift Register
MSB Slave LSB
8-bit Shift Register
MISO MISO
MOSI MOSI
SCK
SS#
V
SCK
SS#
SPI
Clock Generator
V
DD
SS
1339 F19.0
Figure 20:SPI Master-slave Interconnection
SPI Transfer Formats
SCK Cycle #
(for reference)
1
2
3
4
5
6
7
8
SCK (CPOL=0)
SCK (CPOL=1)
MOSI
(from Master)
MSB
6
5
4
3
3
2
1
LSB
LSB
MISO
(from Slave)
MSB
6
4
2
1
5
SS# (to Slave)
1339 F20.0
Figure 21:SPI Transfer Format with CPHA = 0
SCK Cycle #
(for reference)
1
2
3
4
5
6
7
8
SCK (CPOL=0)
SCK (CPOL=1)
MOSI
MSB
MSB
6
5
4
3
2
1
LSB
(from Master)
MISO
(from Slave)
6
5
4
3
2
1
LSB
SS# (to Slave)
1339 F21.0
Figure 22:SPI Transfer Format with CPHA = 1
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
51
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Watchdog Timer
The device offers a programmable Watchdog Timer (WDT) for fail safe protection against software
deadlock and automatic recovery.
To protect the system against software deadlock, the user software must refresh the WDT within a
user-defined time period. If the software fails to do this periodical refresh, an internal hardware reset
will be initiated if enabled (WDRE= 1). The software can be designed such that the WDT times out if
the program does not work properly.
The WDT in the device uses the system clock (XTAL1) as its time base. So strictly speaking, it is a
watchdog counter rather than a watchdog timer. The WDT register will increment every 344,064 crystal
clocks. The upper 8-bits of the time base register (WDTD) are used as the reload register of the WDT.
The WDTS flag bit is set by WDT overflow and is not changed by WDT reset. User software can clear
WDTS by writing “1” to it.
Figure 23 provides a block diagram of the WDT. Two SFRs (WDTC and WDTD) control watchdog timer
operation. During idle mode, WDT operation is temporarily suspended, and resumes upon an interrupt
exit from idle.
The time-out period of the WDT is calculated as follows:
Period = (255 - WDTD) * 344064 * 1/fCLK (XTAL1)
where WDTD is the value loaded into the WDTD register and fOSC is the oscillator frequency.
344064
WDT Reset
clks
CLK (XTAL1)
Internal Reset
Counter
WDT Upper Byte
Ext. RST
WDTC
WDTD
1339 F22.0
Figure 23:Block Diagram of Programmable Watchdog Timer
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
52
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Programmable Counter Array
The Programmable Counter Array (PCA) present on the SST89E/V5xRD2A/RDA is a special 16-bit
timer that has five 16-bit capture/compare modules. Each of the modules can be programmed to oper-
ate in one of four modes: rising and/or falling edge capture, software timer, high-speed output, or pulse
width modulator. The 5th module can be programmed as a Watchdog Timer in addition to the other
four modes. Each module has a pin associated with it in port 1. Module 0 is connected to P1.3 (CEX0),
module 1 to P1[4] (CEX1), module 2 to P1[5] (CEX2), module 3 to P1[6] (CEX3), and module 4 to
P1[7] (CEX4). PCA configuration is shown in Figure 24.
PCA Overview
PCA provides more timing capabilities with less CPU intervention than the standard timer/counter. Its
advantages include reduced software overhead and improved accuracy.
The PCA consists of a dedicated timer/counter which serves as the time base for an array of five com-
pare/capture modules. Figure 24 shows a block diagram of the PCA. External events associated with
modules are shared with corresponding Port 1 pins. Modules not using the port pins can still be used
for standard I/O.
Each of the five modules can be programmed in any of the following modes:
•
•
•
•
•
Rising and/or falling edge capture
Software timer
High speed output
Watchdog Timer (Module 4 only)
Pulse Width Modulator (PWM)
PCA Timer/Counter
The PCA timer is a free-running 16-bit timer consisting of registers CH and CL (the high and low bytes
of the count values). The PCA timer is common time base for all five modules and can be programmed
to run at: 1/6 the oscillator frequency, 1/2 the oscillator frequency, Timer 0 overflow, or the input on the
ECI pin (P1.2). The timer/counter source is determined from the CPS1 and CPS0 bits in the CMOD
SFR as follows (see “PCA Timer/Counter Mode Register (CMOD)” on page 27):
Table 17:PCA Timer/Counter Source
CPS1
CPS0
12 Clock Mode
fOSC /12
6 Clock Mode
fOSC /6
0
0
1
1
0
1
0
1
fOSC /4
fOSC /2
Timer 0 overflow
Timer 0 overflow
External clock at ECI pin
(maximum rate = fOSC /8)
External clock at ECI pin
(maximum rate = fOSC /4)
T0-0.0 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
53
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
16 Bits Each
Module 0
P1.3/CEX0
P1.4/CEX1
P1.5/CEX2
P1.6/CEX3
Module 1
Module 2
Module 3
Module 4
16 Bits
PCA Timer/Counter
P1.7/CEX4
1339 F23.0
Figure 24:PCA Timer/Counter and Compare/Capture Modules
The table below summarizes various clock inputs at two common frequencies.
Table 18:PCA Timer/Counter Inputs
Clock Increments
PCA Timer/Counter Mode
Mode 0: fOSC/12
12 MHz
1 µsec
16 MHz
0.75 µsec
250 nsec
Mode 1:
330 nsec
Mode 2: Timer 0 Overflows1
Timer 0 programmed in:
8-bit mode
256 µsec
65 msec
192 µsec
49 µsec
16-bit mode
8-bit auto-reload
1 to 255 µsec
0.66 µsec
0.75 to 191 µsec
0.50 µsec
Mode 3: External Input MAX
T0-0.0 25114
1. In Mode 2, the overflow interrupt for Timer 0 does not need to be enabled.
The four possible CMOD timer modes with and without the overflow interrupt enabled are shown
below. This list assumes that PCA will be left running during idle mode.
Table 19:CMOD Values
CMOD Value
PCA Count Pulse Selected
Internal clock, fOSC/12
Internal clock, fOSC/4
Timer 0 overflow
Without Interrupt Enabled
With Interrupt Enabled
00H
02H
04H
06H
01H
03H
05H
07H
External clock at P1.2
T0-0.0 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
54
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
The CCON register is associated with all PCA timer functions. It contains run control bits and flags for
the PCA timer (CF) and all modules. To run the PCA the CR bit (CCON.6) must be set by software.
Clearing the bit, will turn off PCA. When the PCA counter overflows, the CF (CCON.7) will be set, and
an interrupt will be generated if the ECF bit in the CMOD register is set. The CF bit can only be cleared
by software. Each module has its own timer interrupt or capture interrupt flag (CCF0 for module 0,
CCF4 for module 4, etc.). They are set when either a match or capture occurs. These flags can only be
cleared by software. (See “PCA Timer/Counter Control Register (CCON)” on page 26.)
Compare/Capture Modules
Each PCA module has an associated SFR with it. These registers are: CCAPM0 for module 0,
CCAPM1 for module 1, etc. Refer to “PCA Compare/Capture Module Mode Register (CCAPMn)” on
page 28 for details. The registers each contain 7 bits which are used to control the mode each module
will operate in. The ECCF bit (CCAPMn.0 where n = 0, 1, 2, 3, or 4 depending on module) will enable
the CCF flag in the CCON SFR to generate an interrupt when a match or compare occurs. PWM
(CCAPMn.1) enables the pulse width modulation mode. The TOG bit (CCAPMn.2) when set, causes
the CEX output associated with the module to toggle when there is a match between the PCA counter
and the module’s capture/compare register. When there is a match between the PCA counter and the
module’s capture/compare register, the MATn (CCAPMn.3) and the CCFn bit in the CCON register to
be set.
Bits CAPN (CCAPMn.4) and CAPP (CCAPMn.5) determine whether the capture input will be active on a pos-
itive edge or negative edge. The CAPN bit enables the negative edge that a capture input will be active on,
and the CAPP bit enables the positive edge. When both bits are set, both edges will be enabled and a capture
will occur for either transition. The last bit in the register ECOM (CCAPMn.6) when set, enables the compara-
tor function. Table 21 shows the CCAPMn settings for the various PCA functions.
There are two additional register associated with each of the PCA modules: CCAPnH and CCAPnL.
They are registers that hold the 16-bit count value when a capture occurs or a compare occurs. When
a module is used in PWM mode, these registers are used to control the duty cycle of the output. See
Figure 24.
Table 20:PCA High and Low Register Compare/Capture Modules
Bit Address, Symbol, or Alternative Port Function
Direct
RESET
Value
Symbol Description
Address MSB
LSB
CCAP0H PCA Module 0
FAH
EAH
CCAP0H[7:0]
CCAP0L[7:0]
00H
00H
Compare/Cap-
CCAP0L
ture Registers
CCAP1H PCA Module 1
FBH
EBH
CCAP1H[7:0]
CCAP1L[7:0]
00H
00H
Compare/Cap-
CCAP1L
ture Registers
CCAP2H PCA Module 2
FCH
ECH
CCAP2H[7:0]
CCAP2L[7:0]
00H
00H
Compare/Cap-
CCAP2L
ture Registers
CCAP3H PCA Module 3
FDH
EDH
CCAP3H[7:0]
CCAP3L[7:0]
00H
00H
Compare/Cap-
CCAP3L
ture Registers
CCAP4H PCA Module 4
FEH
EEH
CCAP4H[7:0]
CCAP4L[7:0]
00H
00H
Compare/Cap-
CCAP4L
ture Registers
T0-0.0 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
55
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 21:PCA Module Modes
Without Interrupt enabled
1
-
ECOMy2 CAPPy2 CAPNy2 MATy2 TOGy2 PWMy2 ECCFy2 Module Code
-
0
0
0
1
0
0
0
0
0
0
0
0
0
0
No Operation
-
-
-
16-bit capture on positive-edge trigger at
CEX[4:0]
0
0
0
1
1
1
0
0
0
0
0
0
0
0
16-bit capture on negative-edge trigger at
CEX[4:0]
16-bit capture on positive/negative-edge
trigger at CEX[4:0]
-
-
-
-
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
Compare: software timer
Compare: high-speed output
Compare: 8-bit PWM
1
0
0 or 13
Compare: PCA WDT (CCAPM4 only)4
T0-0.0 25114
1. User should not write ‘1’s to reserved bits. The value read from a reserved bit is indeterminate.
2. y = 0, 1, 2, 3, 4
3. A 0 disables toggle function. A 1 enables toggle function on CEX[4:0] pin.
4. For PCA WDT mode, also set the WDTE bit in the CMOD register to enable the reset output signal.
Table 22:PCA Module Modes
With Interrupt enabled
1
-
ECOMy2 CAPPy2 CAPNy2 MATy2 TOGy2 PWMy2 ECCFy2 Module Code
-
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
16-bit capture on positive-edge trigger at
CEX[4:0]
-
-
16-bit capture on negative-edge trigger at
CEX[4:0]
16-bit capture on positive/negative-edge
trigger at CEX[4:0]
-
-
-
-
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
X3
X5
Compare: software timer
Compare: high-speed output
Compare: 8-bit PWM
1
0
0 or 14
Compare: PCA WDT (CCAPM4 only)6
T0-0.0 25114
1. User should not write ‘1’s to reserved bits. The value read from a reserved bit is indeterminate.
2. y = 0, 1, 2, 3, 4
3. No PCA interrupt is needed to generate the PWM.
4. A 0 disables toggle function. A 1 enables toggle function on CEX[4:0] pin.
5. Enabling an interrupt for the Watchdog Timer would defeat the purpose of the Watchdog Timer.
6. For PCA WDT mode, also set the WDTE bit in the CMOD register to enable the reset output signal.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
56
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Capture Mode
Capture mode is used to capture the PCA timer/counter value into a module’s capture registers
(CCAPnH and CCAPnL). The capture will occur on a positive edge, negative edge, or both on the cor-
responding module’s pin. To use one of the PCA modules in the capture mode, either one or both the
CCAPM bits CAPN and CAPP for that module must be set. When a valid transition occurs on the CEX
pin corresponding to the module used, the PCA hardware loads the 16-bit value of the PCA counter
register (CH and CL) into the module’s capture registers (CCAPnL and CCAPnH). If the CCFn bit for
the module in the CCON SFR and the ECCFn bit in the CCAPMn SFR are set, then an interrupt will be
generated. In the interrupt service routine, the 16-bit capture value must be saved in RAM before the
next event capture occurs. If a subsequent capture occurred, the original capture values would be lost.
After flag event flag has been set by hardware, the user must clear the flag in software. (See Figure 25)
CF
CR
CCF4 CCF3 CCF2 CCF1 CCF0
CCON
PCA Interrupt
PCA Timer/Counter
CH
CL
Capture
CEXn
CCAPnH
CCAPnL
CCAPMn
n=0 to 4
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn
0
0
0
0
1339 F24.0
Figure 25:PCA Capture Mode
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
57
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
16-Bit Software Timer Mode
The 16-bit software timer mode is used to trigger interrupt routines, which must occur at periodic inter-
vals. It is setup by setting both the ECOM and MAT bits in the module’s CCAPMn register. The PCA
timer will be compared to the module’s capture registers (CCAPnL and CCAPnH) and when a match
occurs, an interrupt will occur, if the CCFn (CCON SFR) and the ECCFn (CCAPMn SFR) bits for the
module are both set.
If necessary, a new 16-bit compare value can be loaded into CCAPnH and CCAPnL during the inter-
rupt routine. The user should be aware that the hardware temporarily disables the comparator function
while these registers are being updated so that an invalid match will not occur. Thus, it is recom-
mended that the user write to the low byte first (CCAPnL) to disable the comparator, then write to the
high byte (CCAPnH) to re-enable it. If any updates to the registers are done, the user may want to hold
off any interrupts from occurring by clearing the EA bit. (See Figure 26)
CF
CR
CCF4 CCF3 CCF2 CCF1 CCF0
CCON
Write to
CCAPnL Reset
PCA Interrupt
Write to
CCAPnH
CCAPnH
CCAPnL
1
0
Enable
Match
16-bit Comparator
CH
CL
PCA Timer/Counter
CCAPMn
n=0 to 4
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn
0
0
0
0
1339 F25.0
Figure 26:PCA Compare Mode (Software Timer)
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
58
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
High Speed Output Mode
The high speed output mode is used to toggle a port pin when a match occurs between the PCA timer
and the preloaded value in the compare registers. In this mode, the CEX output pin (on port 1) associ-
ated with the PCA module will toggle every time there is a match between the PCA counter (CH and
CL) and the capture registers (CCAPnH and CCAPnL). To activate this mode, the user must set TOG,
MAT, and ECOM bits in the module’s CCAPMn SFR.
High speed output mode is much more accurate than toggling pins since the toggle occurs before
branching to an interrupt. In this case, interrupt latency will not affect the accuracy of the output. When
using high speed output, using an interrupt is optional. Only if the user wishes to change the time for
the next toggle is it necessary to update the compare registers. Otherwise, the next toggle will occur
when the PCA timer rolls over and matches the last compare value. (See Figure 27)
CF
CR
CCF4 CCF3 CCF2 CCF1 CCF0
CCON
Reset
PCA Interrupt
CCAPnH
CCAPnL
1
0
Enable
Match
16-bit Comparator
Toggle
CEXn
CH
CL
PCA Timer/Counter
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn
0
0
0
1339 F26.0
Figure 27:PCA High Speed Output Mode
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
59
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Pulse Width Modulator
The Pulse Width Modulator (PWM) mode is used to generate 8-bit PWMs by comparing the low byte of
the PCA timer (CL) with the low byte of the compare register (CCAPnL). When CL < CCAPnL the out-
put is low. When CL CCAPnL the output is high. To activate this mode, the user must set the PWM
and ECOM bits in the module’s CCAPMn SFR. (See Figure 28 and Table 23)
In PWM mode, the frequency of the output depends on the source for the PCA timer. Since there is
only one set of CH and CL registers, all modules share the PCA timer and frequency. Duty cycle of the
output is controlled by the value loaded into the high byte (CCAPnH). Since writes to the CCAPnH reg-
ister are asynchronous, a new value written to the high byte will not be shifted into CCAPnL for com-
parison until the next period of the output (when CL rolls over from 255 to 00).
To calculate values for CCAPnH for any duty cycle, use the following equation:
CCAPnH = 256(1 - Duty Cycle)
where CCAPnH is an 8-bit integer and Duty Cycle is a fraction.
CCAPnH
CCAPnL
0
CL < CCAPnL
Enable
8-bit Comparator
CEXn
CL >= CCAPnL
1
CL
Overflow
PCA Timer/Counter
CCAPMn
n=0 to 4
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn
0
0
0
0
0
1339 F27.0
Figure 28:PCA Pulse Width Modulator Mode
Table 23:Pulse Width Modulator Frequencies
PWM Frequency
PCA Timer Mode
1/12 Oscillator Frequency
1/4 Oscillator Frequency
Timer 0 Overflow:
8-bit
12 MHz
16 MHz
5.2 KHz
15.6 KHz
3.9 KHz
11.8 KHz
15.5 Hz
0.06 Hz
20.3 Hz
0.08 Hz
16-bit
8-bit Auto-Reload
External Input (Max)
3.9 KHz to 15.3 Hz
5.9 KHz
5.2 KHz to 20.3 Hz
7.8 KHz
T0-0.0 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
60
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Watchdog Timer
The Watchdog Timer mode is used to improve reliability in the system without increasing chip count
(See Figure 29). Watchdog Timers are useful for systems that are susceptible to noise, power glitches,
or electrostatic discharge. It can also be used to prevent a software deadlock. If during the execution of
the user’s code, there is a deadlock, the Watchdog Timer will time out and an internal reset will occur.
Only module 4 can be programmed as a Watchdog Timer (but still can be programmed to other modes
if the Watchdog Timer is not used).
To use the Watchdog Timer, the user pre-loads a 16-bit value in the compare register. Just like the
other compare modes, this 16-bit value is compared to the PCA timer value. If a match is allowed to
occur, an internal reset will be generated. This will not cause the RST pin to be driven high.
In order to hold off the reset, the user has three options:
1. periodically change the compare value so it will never match the PCA timer,
2. periodically change the PCA timer value so it will never match the compare values, or
3. disable the watchdog timer by clearing the WDTE bit before a match occurs and then re-enable it.
The first two options are more reliable because the Watchdog Timer is never disabled as in option #3.
If the program counter ever goes astray, a match will eventually occur and cause an internal reset. The
second option is also not recommended if other PCA modules are being used. Remember, the PCA
timer is the time base for all modules; changing the time base for other modules would not be a good
idea. Thus, in most application the first solution is the best option.
Use the code below to initialize the Watchdog Timer. Module 4 can be configured in either compare
mode, and the WDTE bit in CMOD must also be set. The user’s software then must periodically
change (CCAP4H, CCAP4L) to keep a match from occurring with the PCA timer (CH, CL). This code is
given in the Watchdog routine below.
;==============================================
Init_Watchdog:
MOVCCAPM4, #4CH; Module 4 in compare mode
MOVCCAP4L, #0FFH; Write to low byte first
MOVCCAP4H, #0FFH; Before PCA timer counts up
; to FFFF Hex, these compare
; values must be changed.
ORLCMOD, #40H; Set the WDTE bit to enable the
; watchdog timer without
; changing the other bits in
; CMOD
;==============================================
;Main program goes here, but call WATCHDOG periodically.
;==============================================
WATCHDOG:
CLR EA; Hold off interrupts
MOVCCAP4L, #00; Next compare value is within
MOVCCAP4H, CH; 65,535 counts of the
; current PCA
SETBEA; timer value
RET
;==============================================
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
61
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
This routine should not be part of an interrupt service routine. If the program counter goes astray and
gets stuck in an infinite loop, interrupts will still be serviced and the watchdog will keep getting reset.
Thus, the purpose of the watchdog would be defeated. Instead, call this subroutine from the main pro-
gram of the PCA timer.
CIDL WDTE
CPS1 CPS0
ECF
CMOD
Write to
CCAP4L Reset
Write to
CCAP4H
Module 4
Match
CCAP4H
CCAP4L
1
0
Enable
16-bit Comparator
Reset
CH
CL
PCA Timer/Counter
CCAPM4
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn
0
0
1
X
0
X
1339 F28.0
Figure 29:PCA Watchdog Timer (Module 4 only)
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
62
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Security Lock
The security lock protects against software piracy and prevents the contents of the flash from being
read by unauthorized parties. It also protects against code corruption resulting from accidental erasing
and programming to the internal flash memory. There are two different types of security locks in the
device security lock system: hard lock and SoftLock.
Hard Lock
When hard lock is activated, MOVC or IAP instructions executed from an unlocked or soft locked pro-
gram address space, are disabled from reading code bytes in hard locked memory blocks (See Table
25). Hard lock can either lock both flash memory blocks or just lock the 8 KByte flash memory block
(Block 1). All external host and IAP commands except for Chip-Erase are ignored for memory blocks
that are hard locked.
SoftLock
SoftLock allows flash contents to be altered under a secure environment. This lock option allows the
user to update program code in the soft locked memory block through in-application programming
mode under a predetermined secure environment. For example, if Block 1 (8K) memory block is locked
(hard locked or soft locked), and Block 0 memory block is soft locked, code residing in Block 1 can pro-
gram Block 0. The following IAP mode commands issued through the command mailbox register,
SFCM, executed from a Locked (hard locked or soft locked) block, can be operated on a soft locked
block: Block-Erase, Sector-Erase, Byte-Program and Byte-Verify.
In external host mode, SoftLock behaves the same as a hard lock.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
63
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Security Lock Status
The three bits that indicate the device security lock status are located in SFST[7:5]. As shown in Figure
30 and Table 24, the three security lock bits control the lock status of the primary and secondary blocks
of memory. There are four distinct levels of security lock status. In the first level, none of the security
lock bits are programmed and both blocks are unlocked. In the second level, although both blocks are
now locked and cannot be programmed, they are available for read operation via Byte-Verify. In the
third level, three different options are available: Block 1 hard lock / Block 0 SoftLock, SoftLock on both
blocks, and hard lock on both blocks. Locking both blocks is the same as Level 2, Block 1 except read
operation isn’t available. The fourth level of security is the most secure level. It doesn’t allow read/pro-
gram of internal memory or boot from external memory. For details on how to program the security lock
bits refer to the external host mode and in-application programming sections.
UUU/NN
Level 1
PUU/SS
Level 2
UPU/SS
UUP/LS
Level 3
UPP/LL
PPU/LS
PUP/LL
UPP/LL
Level 4
PPP/LL
1339 F29.0
Note: P = Programmed (Bit logic state = 0), U = Unprogrammed (Bit logic state = 1), N = Not Locked, L = Hard locked,
S = Soft locked
Figure 30:Security Lock Levels
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
64
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 24:Security Lock Options
Security Lock Bits1,2
Security Status of:
Level SFST[7:5]
SB1
SB21
SB31
Block 1
Block 0
Security Type
1
000
U
U
U
Unlock
Unlock
No Security Features are
Enabled.
2
100
P
U
U
SoftLock
SoftLock
MOVC instructions executed from
external program memory are
disabled from fetching code bytes
from internal memory, EA# is
sampled and latched on Reset,
and further programming of the
flash is disabled.
3
4
011
101
U
P
P
U
P
P
Hard Lock Hard Lock Level 2 plus Verify disabled, both
blocks locked.
010
U
P
U
SoftLock
SoftLock
Level 2 plus Verify disabled. Code
in Block 1 may program Block 0
and vice versa.
110
001
P
U
P
U
U
P
Hard Lock SoftLock
Level 2 plus Verify disabled. Code
in Block 1 may program Block 0.
111
P
P
P
Hard Lock Hard Lock Same as Level 3 hard lock/hard
lock, but MCU will start code exe-
cution from the internal memory
regardless of EA#.
T0-0.0 25114
1. P = Programmed (Bit logic state = 0), U = Unprogrammed (Bit logic state = 1).
2. SFST[7:5] = Security Lock Status Bits (SB1_i, SB2_i, SB3_i)
Read Operation Under Lock Condition
The status of security bits SB1, SB2, and SB3 can be read when the read command is disabled by
security lock. There are three ways to read the status.
1. External host mode: Read-back = 00H (locked)
2. IAP command: Read-back = previous SFDT data
3. MOVC: Read-back = FFH (blank)
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
65
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 25:Security Lock Access Table
Byte-Verify Allowed
External Host3 IAP
MOVC Allowed
Source
Target
Level
SFST[7:5]
Address1
Address2
5xRDx
Y
Block 0/1
External
Block 0/1
External
Block 0/1
External
Block 0/1
External
Block 0
Block 1
External
Block 0
Block 1
External
Block 0/1
External
Block 0
Block 1
External
Block 0
Block 1
External
Block 0/1
External
Block 0
Block 1
External
Block 0
Block 1
External
Block 0/1
External
Block 0
Block 1
External
Block 0
Block 1
External
Block 0/1
External
N
N/A
N
N
N/A
N
Block 0/1
Y
111b
4
(hard lock on both blocks)
N
Y
External
Block 0/1
External
N/A
N
N/A
N
Y
N/A
N
N/A
N
Y
011b/101b
(hard lock on both blocks)
N
Y
N/A
N
N/A
N
Y
Block 0
N
N
N
Y
N/A
N
N/A
Y
001b/110b
(Block 0 = SoftLock,
Block 1 = hard lock)
Y
Block 1
External
Block 0
N
N
Y
N/A
N
N/A
N
Y
3
N
Y
N/A
N
N/A
N
Y
N
Y
Y
N/A
N
N/A
Y
Y
Y
010b
(SoftLock on both blocks)
Block 1
External
Block 0
N
N
Y
N/A
N
N/A
N
Y
N
Y
N/A
Y
N/A
N
Y
Y
Y
Y
N/A
Y
N/A
Y
Y
Y
100b
2
(SoftLock on both blocks)
Block 1
External
Block 0
Y
N
Y
N/A
Y
N/A
N
Y
N
Y
N/A
Y
N/A
N
Y
Y
Y
Y
N/A
Y
N/A
Y
Y
Y
000b
(unlock)
1
Block 1
Y
N
Y
N/A
Y
N/A
Y
Y
Y
External
N/A
N/A
Y
T0-0.0 25114
1. Location of MOVC or IAP instruction
2. Target address is the location of the byte being read
3. External host Byte-Verify access does not depend on a source address.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
66
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Reset
A system reset initializes the MCU and begins program execution at program memory location 0000H.
The reset input for the device is the RST pin. In order to reset the device, a logic level high must be
applied to the RST pin for at least two machine cycles (24 clocks), after the oscillator becomes stable.
ALE, PSEN# are weakly pulled high during reset. During reset, ALE and PSEN# output a high level in
order to perform a proper reset. This level must not be affected by external element. A system reset will
not affect the 1 KByte of on-chip RAM while the device is running, however, the contents of the on-chip
RAM during power up are indeterminate. Following reset, all Special Function Registers (SFR) return
to their reset values outlined in Tables 6 to 10.
Power-on Reset
At initial power up, the port pins will be in a random state until the oscillator has started and the internal
reset algorithm has weakly pulled all pins high. Powering up the device without a valid reset could
cause the MCU to start executing instructions from an indeterminate location. Such undefined
states may inadvertently corrupt the code in the flash.
When power is applied to the device, the RST pin must be held high long enough for the oscillator to start up
(usually several milliseconds for a low frequency crystal), in addition to two machine cycles for a valid power-
on reset. An example of a method to extend the RST signal is to implement a RC circuit by connecting the
RST pin to VDD through a 10 µF capacitor and to VSS through an 8.2K resistor as shown in Figure 31. Note
that if an RC circuit is being used, provisions should be made to ensure the VDD rise time does not exceed 1
millisecond and the oscillator start-up time does not exceed 10 milliseconds.
For a low frequency oscillator with slow start-up time the reset signal must be extended in order to
account for the slow start-up time. This method maintains the necessary relationship between VDD and
RST to avoid programming at an indeterminate location, which may cause corruption in the code of the
flash. The power-on detection is designed to work as power up initially, before the voltage reaches the
brown-out detection level. The POF flag in the PCON register is set to indicate an initial power up con-
dition. The POF flag will remain active until cleared by software. Please see Section , “Power Control
Register (PCON)” on page 30 for detailed information.
For more information on system level design techniques, please review the FlashFlex MCU: Oscilla-
tor Circuit Design Considerations application note.
V
DD
+
-
10µF
8.2K
V
DD
RST
SST89E/V5xRDxA
C
2
XTAL2
XTAL1
C
1
1339 F30.0
Figure 31:Power-on Reset Circuit
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
67
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Software Reset
The software reset is executed by changing SFCF[1] (SWR) from “0” to “1”. A software reset will reset
the program counter to address 0000H. All SFR registers will be set to their reset values, except
SFCF[1] (SWR), WDTC[2] (WDTS), and RAM data will not be altered.
Brown-out Detection Reset
The device includes a brown-out detection circuit to protect the system from severed supplied voltage
VDD fluctuations. SST89E5xRD2A/RDA internal brown-out detection threshold is 3.85V. For brown-out
voltage parameters, please refer to Tables 35 and 36.
When VDD drops below this voltage threshold, the brown-out detector triggers the circuit to generate a
brown-out interrupt but the CPU still runs until the supplied voltage returns to the brown-out detection
voltage VBOD. The default operation for a brown-out detection is to cause a processor reset.
VDD must stay below VBOD at least four oscillator clock periods before the brown-out detection circuit
will respond.
Brown-out interrupt can be enabled by setting the EBO bit in IEA register (address E8H, bit 3). If EBO
bit is set and a brown-out condition occurs, a brown-out interrupt will be generated to execute the pro-
gram at location 004BH. It is required that the EBO bit be cleared by software after the brown-out inter-
rupt is serviced. Clearing EBO bit when the brown-out condition is active will properly reset the device.
If brown-out interrupt is not enabled, a brown-out condition will reset the program to resume execution
at location 0000H.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
68
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Interrupts
Interrupt Priority and Polling Sequence
The device supports eight interrupt sources under a four level priority scheme. Table 26 summarizes
the polling sequence of the supported interrupts. Note that the SPI serial interface and the UART share
the same interrupt vector. (See Figure 32)
Table 26:Interrupt Polling Sequence
Interrupt
Flag
Vector
Address
Interrupt
Enable
Interrupt
Priority
Service
Priority
Wake-Up
Power-down
Description
Ext. Int0
Brown-out
T0
IE0
-
0003H
004BH
000BH
0013H
001BH
0033H
003BH
0043H
0023H
002BH
EX0
EBO
ET0
EX1
ET1
EC
PX0/H
PBO/H
PT0/H
PX1/H
PT1/H
PPCH
PX2/H
PX3/H
PS/H
1(highest)
yes
no
no
yes
no
no
no
no
no
2
3
TF0
Ext. Int1
T1
IE1
4
TF1
5
PCA
CF/CCFn
IE2
6
Ext. Int. 2
Ext. Int. 3
UART/SPI
T2
EX2
EX3
ES
7
IE3
8
TI/RI/SPIF
TF2, EXF2
9
ET2
PT2/H
10
no
T0-0.0 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
69
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
HIGHEST PRIORITY
INTERRUPT
IP/IPH/IPA/IPAH
REGISTERS
IE I EA
REGISTERS
0
1
INT0#
BOF
TF0
IT0
IE0
INTERRUPT
POLLING
SEQUENCE
0
1
INT1#
TF1
IT1
IE1
ECF
CF
CCFn
ECCFn
0
1
INT2#
IT2
IE2
0
1
INT3#
IT3
IE3
RI
TI
SPIF
SPIE
TF2
EXF2
GLOBAL
DISABLE
INDIVIDUAL
ENABLES
LOWEST PRIORITY
INTERRUPT
1339 F31.0
Figure 32:Interrupt Structure
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
70
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Power-Saving Modes
The device provides two power saving modes of operation for applications where power consumption
is critical. The two modes are idle and power-down, see Table 27.
Idle Mode
Idle mode is entered setting the IDL bit in the PCON register. In idle mode, the program counter (PC) is
stopped. The system clock continues to run and all interrupts and peripherals remain active. The on-
chip RAM and the special function registers hold their data during this mode.
The device exits idle mode through either a system interrupt or a hardware reset. Exiting idle mode via sys-
tem interrupt, the start of the interrupt clears the IDL bit and exits idle mode. After exit the Interrupt Service
Routine, the interrupted program resumes execution beginning at the instruction immediately following the
instruction which invoked the idle mode. A hardware reset starts the device similar to a power-on reset.
Power-down Mode
The power-down mode is entered by setting the PD bit in the PCON register. In the power-down mode,
the clock is stopped and external interrupts are active for level sensitive interrupts only. SRAM contents
are retained during power-down, the minimum VDD level is 2.0V.
The device exits power-down mode through either an enabled external level sensitive interrupt or a hard-
ware reset. The start of the interrupt clears the PD bit and exits power-down. Holding the external interrupt
pin low restarts the oscillator, the signal must hold low at least 1024 clock cycles before bringing back high
to complete the exit. Upon interrupt signal being restored to logic VIH, the first instruction of the interrupt ser-
vice routine will execute. A hardware reset starts the device similar to power-on reset.
To exit properly out of power-down, the reset or external interrupt should not be executed before the
VDD line is restored to its normal operating voltage. Be sure to hold VDD voltage long enough at its nor-
mal operating level for the oscillator to restart and stabilize (normally less than 10 ms).
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
71
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 27:Power Saving Modes
Mode
Initiated by
State of MCU
CLK is running.
Exited by
Idle Mode
Software
Enabled interrupt or hardware reset.
(Set IDL bit in PCON) Interrupts, serial port and tim- Start of interrupt clears IDL bit and exits
MOV PCON, #01H;
ers/counters are active. Pro- idle mode, after the ISR RETI instruc-
gram Counter is stopped. ALE tion, program resumes execution begin-
and PSEN# signals at a HIGH ning at the instruction following the one
level during Idle. All registers that invoked idle mode. A user could
remain unchanged.
consider placing two or three NOP
instructions after the instruction that
invokes idle mode to eliminate any
problems. A hardware reset restarts the
device similar to a power-on reset.
Power-down
Mode
Software
CLK is stopped. On-chip
Enabled external level sensitive inter-
(Set PD bit in PCON) SRAM and SFR data is main- rupt or hardware reset. Start of interrupt
MOV PCON, #02H; tained. ALE and PSEN# sig- clears PD bit and exits power-down
nals at a LOW level during mode, after the ISR RETI instruction
power -down. External Inter- program resumes execution beginning
rupts are only active for level at the instruction following the one that
sensitive interrupts, if
enabled.
invoked power-down mode. A user
could consider placing two or three
NOP instructions after the instruction
that invokes power-down mode to elimi-
nate any problems. A hardware reset
restarts the device similar to a power-
on reset.
T0-0.0 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
72
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
System Clock and Clock Options
Clock Input Options and Recommended Capacitor Values for Oscillator
Shown in Figure 33 are the input and output of an internal inverting amplifier (XTAL1, XTAL2), which
can be configured for use as an on-chip oscillator.
When driving the device from an external clock source, XTAL2 should be left disconnected and XTAL1
should be driven.
At start-up, the external oscillator may encounter a higher capacitive load at XTAL1 due to interaction
between the amplifier and its feedback capacitance. However, the capacitance will not exceed 15 pF
once the external signal meets the VIL and VIH specifications.
Crystal manufacturer, supply voltage, and other factors may cause circuit performance to differ from
one application to another. C1 and C2 should be adjusted appropriately for each design. Table 28,
shows the typical values for C1 and C2 vs. crystal type for various frequencies
Table 28:Recommended Values for C1 and C2 by Crystal Type
Crystal
Quartz
C1 = C2
20-30pF
40-50pF
Ceramic
T0-0.0 25114
More specific information about on-chip oscillator design can be found in the FlashFlex Oscillator Cir-
cuit Design Considerations application note.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
73
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Clock Doubling Option
By default, the device runs at 12 clocks per machine cycle (x1 mode). The device has a clock doubling
option to speed up to 6 clocks per machine cycle. Please refer to Table 29 for detail.
Clock double mode can be enabled either via the external host mode or the IAP mode. Please refer to
Table 13 for the IAP mode enabling commands (When set, the EDC# bit in SFST register will indicate
6 clock mode.).
The clock double mode is only for doubling the internal system clock and the internal flash
memory, i.e. EA#=1. To access the external memory and the peripheral devices, careful consideration
must be taken. Also note that the crystal output (XTAL2) will not be doubled.
XTAL2
C
C
NC
XTAL2
XTAL1
2
External
Oscillator
Signal
1
XTAL1
V
V
SS
SS
External Clock Drive
Using the On-Chip Oscillator
1339 F32.0
Figure 33:Oscillator Characteristics
Table 29:Clock Doubling Features
Standard Mode (x1)
Clock Double Mode (x2)
Clocks per
Machine
Cycle
Max. External Clock
Frequency
Clocks per
Machine
Cycle
Max. External Clock
Frequency
Device
(MHz)
(MHz)
SST89E5xRD2A/RDA
12
40
6
20
T0-0.0 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
74
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Electrical Specification
Absolute Maximum Stress Ratings (Applied conditions greater than those listed under “Absolute
Maximum Stress Ratings” may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these conditions or conditions greater than those defined in the
operational sections of this data sheet is not implied. Exposure to absolute maximum stress rating con-
ditions may affect device reliability.)
Ambient Temperature Under Bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -55°C to +125°C
Storage Temperature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -65°C to +150°C
Voltage on EA# Pin to VSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to +14.0V
D.C. Voltage on Any Pin to Ground Potential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to VDD+0.5V
Transient Voltage (<20ns) on Any Other Pin to VSS . . . . . . . . . . . . . . . . . . . . . . . . -1.0V to VDD+1.0V
Maximum IOL per I/O Pins P1.5, P1.6, P1.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20mA
Maximum IOL per I/O for All Other Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15mA
Package Power Dissipation Capability (TA = 25°C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5W
Through Hole Lead Soldering Temperature (10 Seconds) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300°C
Surface Mount Solder Reflow Temperature1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 260°C for 10 seconds
Output Short Circuit Current2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 mA
1. Excluding certain with-Pb 32-PLCC units, all packages are 260°C capable in both non-Pb and with-Pb solder versions.
Certain with-Pb 32-PLCC package types are capable of 240°C for 10 seconds; please consult the factory for the latest
information.
2. Outputs shorted for no more than one second. No more than one output shorted at a time.
(Based on package heat transfer limitations, not device power consumption.
Note: This specification contains preliminary information on new products in production.
Specifications are subject to change without notice.
Table 30:Operating Range
Symbol
Description
Min.
0
Max
+70
5.5
40
Unit
°C
TA
Ambient Temperature Under Bias
Standard
VDD
fOSC
Supply Voltage
SST89E5xRD2A/RDA
Oscillator Frequency
SST89E5xRD2A/RDA
Oscillator Frequency for IAP
SST89E5xRD2A/RDA
4.5
0
V
MHz
0.25
40
MHz
T0-0.0 25114
Table 31:Reliability Characteristics
Symbol
Parameter
Endurance
Data Retention
Latch Up
Minimum Specification
Units Test Method
1
NEND
10,000
100
Cycles JEDEC Standard A117
Years JEDEC Standard A103
1
TDR
1
ILTH
100 + IDD
mA
JEDEC Standard 78
T0-0.0 25114
1. This parameter is measured only for initial qualification and after a design or process change that could affect this
parameter.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
75
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 32:AC Conditions of Test1
Input Rise/Fall Time
Output Load
10ns
CL = 100 pF
T32.1 25114
1. See Figures 40 and 42
Table 33:Recommended System Power-up Timings
Symbol
Parameter
Minimum
100
Units
1
TPU-READ
Power-up to Read Operation
Power-up to Write Operation
µs
1
TPU-WRITE
100
µs
T0-0.2 25114
1. This parameter is measured only for initial qualification and after a design or process change that could affect this
parameter
Table 34:Pin Impedance (VDD=3.3V, TA=25 °C, f=1 Mhz, other pins open)
Parameter Description
Test Condition
VI/O = 0V
Maximum
15 pF
1
CI/O
I/O Pin Capacitance
1
CIN
Input Capacitance
Pin Inductance
VIN = 0V
12 pF
2
LPIN
20 nH
T0-0.4 25114
1. This parameter is measured only for initial qualification and after a design or process change that could affect this
parameter.
2. Refer to PCI spec.
DC Electrical Characteristics
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
76
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 35:DC Electrical Characteristics for SST89E5xRD2A/RDA
TA = -40°C to +85°C; VDD = 4.5-5.5V; VSS = 0V
Symbol Parameter
Test Conditions
Min
Max
Units
VIL
Input Low Voltage
4.5 < VDD < 5.5
-0.5
0.2VDD
0.1
-
V
VIH
Input High Voltage
4.5 < VDD < 5.5
0.2VDD
0.9
+
VDD + 0.5
VDD + 0.5
V
V
VIH1
VOL
Input High Voltage (XTAL1, RST)
4.5 < VDD < 5.5
VDD = 4.5V
0.7VDD
Output Low Voltage (Ports 1.5, 1.6, 1.7)
IOL = 16mA
VDD = 4.5V
1.0
V
VOL
Output Low Voltage (Ports 1, 2, 3)1
IOL = 100µA2
IOL = 1.6mA2
IOL = 3.5mA2
VDD = 4.5V
0.3
0.45
1.0
V
V
V
VOL1
Output Low Voltage (Port 0, ALE, PSEN#)1,3
IOL = 200µA2
IOL = 3.2mA2
VDD = 4.5V
0.3
V
V
0.45
VOH
Output High Voltage (Ports 1, 2, 3, ALE,
PSEN#)4
IOH = -10µA
IOH = -30µA
IOH = -60µA
VDD = 4.5V
IOH = -200µA
IOH = -3.2mA
VDD - 0.3
VDD - 0.7
VDD - 1.5
V
V
V
VOH1
Output High Voltage (Port 0 in External Bus
Mode)4
VDD - 0.3
VDD - 0.7
3.85
V
V
VBOD
IIL
Brown-out Detection Voltage
4.15
-75
V
Logical 0 Input Current (Ports 1, 2, 3)
VIN = 0.4V
VIN = 2V
µA
µA
ITL
Logical 1-to-0 Transition Current (Ports 1, 2,
3)5
-650
ILI
Input Leakage Current (Port 0)
0.45 < VIN < VDD
0.3
-
10
µA
RRST
CIO
RST Pull-down Resistor
Pin Capacitance6
Power Supply Current
IAP Mode
40
225
15
K
@ 1 MHz, 25°C
pF
IDD
@ 40 MHz
88
50
mA
mA
Active Mode
@ 40 MHz
Idle Mode
@ 40 MHz
42
80
90
mA
µA
Power-down Mode
TA = 0°C to +70°C
TA = -40°C to +85°C
µA
T0-0.2 25114
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
77
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
1. Under steady state (non-transient) conditions, IOL must be externally limited as follows:
Maximum IOL per port pin:
15mA
Maximum IOL per 8-bit port:26mA
Maximum IOL total for all outputs:71mA
If IOL exceeds the test condition, VOL may exceed the related specification.
Pins are not guaranteed to sink current greater than the listed test conditions.
2. Capacitive loading on Ports 0 and 2 may cause spurious noise to be superimposed on the VOLs of ALE and Ports 1 and
3. The noise due to external bus capacitance discharging into the Port 0 and 2 pins when the pins make 1-to-0 transi-
tions during bus operations. In the worst cases (capacitive loading > 100pF), the noise pulse on the ALE pin may
exceed 0.8V. In such cases, it may be desirable to qualify ALE with a Schmitt Trigger, or use an address latch with a
Schmitt Trigger STROBE input.
3. Load capacitance for Port 0, ALE and PSEN#= 100pF, load capacitance for all other outputs = 80pF.
4. Capacitive loading on Ports 0 and 2 may cause the VOH on ALE and PSEN# to momentarily fall below the VDD - 0.7
specification when the address bits are stabilizing.
5. Pins of Ports 1, 2, and 3 source a transition current when they are being externally driven from 1 to 0. The transition cur-
rent reaches its maximum value when VIN is approximately 2V.
6. Pin capacitance is characterized but not tested. EA# is 25pF (max).
50
Maximum Active I
DD
40
30
20
10
0
Maximum Idle I
DD
Typical Active I
DD
Typical Idle I
DD
5
10
15
20
25
30
35
40
Internal Clock Frequency (MHz)
1339 F34.0
Figure 34:IDD vs. Frequency for 5V SST89E5xRD2A/RDA
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
78
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
AC Electrical Characteristics
AC Characteristics:
(Over Operating Conditions: Load Capacitance for Port 0, ALE#, and PSEN# = 100pF;
Load Capacitance for All Other Outputs = 80pF)
Table 36:AC Electrical Characteristics (1 of 2)
TA = -40°C to +85°C, VDD = 4.5-5.5V@40MHz, VSS = 0V
Oscillator
40 MHz (x1 Mode)
20 MHz (x2 Mode)
Variable
Symbol
Parameter
Min
0
Max
40
Min
Max
40
Units
MHz
MHz
ns
0
1/TCLCL
x1 Mode Oscillator Frequency
0
20
0
20
1/2TCLCL x2 Mode Oscillator Frequency
35
2TCLCL - 15
TLHLL
TAVLL
ALE Pulse Width
TCLCL - 25 (3V)
TCLCL - 15 (5V)
TCLCL - 25 (3V)
TCLCL - 15 (5V)
ns
Address Valid to ALE Low
10
10
ns
ns
TLLAX
TLLIV
TLLPL
Address Hold After ALE Low
ALE Low to Valid Instr In
ALE Low to PSEN# Low
ns
4TCLCL - 65 (3V)
4TCLCL - 45 (5V)
ns
55
ns
TCLCL - 25 (3V)
TCLCL - 15 (5V)
ns
10
60
ns
3TCLCL - 25 (3V)
3TCLCL - 15 (5V)
ns
TPLPH
TPLIV
PSEN# Pulse Width
3TCLCL - 55 (3V)
3TCLCL - 50 (5V)
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
PSEN# Low to Valid Instr In
25
10
0
TPXIX
TPXIZ
Input Instr Hold After PSEN#
Input Instr Float After PSEN#
TCLCL - 5 (3V)
TCLCL - 15 (5V)
17
TCLCL - 8
TPXAV
TAVIV
PSEN# to Address valid
Address to Valid Instr In
5TCLCL - 80 (3V)
5TCLCL - 60 (5V)
10
65
10
TPLAZ
TRLRH
PSEN# Low to Address Float
RD# Pulse Width
6TCLCL - 40 (3V)
6TCLCL - 30 (5V)
120
120
6TCLCL - 40 (3V)
6TCLCL - 30 (5V)
ns
TWLWH
TRLDV
Write Pulse Width (WE#)
RD# Low to Valid Data In
5TCLCL - 90 (3V)
5TCLCL - 50 (5V)
ns
ns
ns
ns
ns
ns
ns
ns
ns
75
0
0
TRHDX
TRHDZ
Data Hold After RD#
Data Float After RD#
2TCLCL - 25 (3V)
2TCLCL - 12 (5V)
8TCLCL - 90 (3V)
8TCLCL - 50 (5V)
9TCLCL - 90 (3V)
9TCLCL - 75 (5V)
38
TLLDV
TAVDV
ALE Low to Valid Data In
Address to Valid Data In
150
150
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
79
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 36:AC Electrical Characteristics (Continued) (2 of 2)
TA = -40°C to +85°C, VDD = 4.5-5.5V@40MHz, VSS = 0V
Oscillator
40 MHz (x1 Mode)
20 MHz (x2 Mode)
Variable
Symbol
Parameter
Min
Max
Min
Max
Units
3TCLCL - 25 (3V)
3TCLCL - 15 (5V)
3TCLCL + 25 (3V)
3TCLCL + 15 (5V)
ns
TLLWL
ALE Low to RD# or WR# Low
60
90
4TCLCL - 75 (3V)
4TCLCL - 30 (5V)
TCLCL - 27 (3V)
TCLCL - 20 (5V)
7TCLCL - 70 (3V)
7TCLCL - 50 (5V)
TCLCL - 20
ns
ns
ns
ns
ns
ns
ns
TAVWL
Address to RD# or WR# Low
Data Hold After WR#
70
5
TWHQX
TQVWH
TQVWX
Data Valid to WR# High
125
5
Data Valid to WR# High to Low
Transition
RD# Low to Address Float
0
0
ns
ns
TRLAZ
RD# to WR# High to ALE High
TCLCL - 25 (3V)
TCLCL - 15 (5V)
TCLCL + 25 (3V)
TCLCL + 15 (5V)
TWHLH
10
40
ns
T0-0.0 25114
Explanation of Symbols
Each timing symbol has 5 characters. The first character is always a ‘T’ (stands for time). The other
characters, depending on their positions, stand for the name of a signal or the logical status of that sig-
nal. The following is a list of all the characters and what they stand for.
A: Address
Q: Output data
C: Clock
R: RD# signal
D: Input data
T: Time
H: Logic level HIGH
I: Instruction (program memory contents)
L: Logic level LOW or ALE
P: PSEN#
V: Valid
W: WR# signal
X: No longer a valid logic level
Z: High Impedance (Float)
For example:
TAVLL = Time from Address Valid to ALE Low
TLLPL = Time from ALE Low to PSEN# Low
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
80
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
T
LHLL
ALE
T
PLPH
T
T
AVLL
LLIV
T
T
LLPL
PLIV
PSEN#
T
PXAV
T
PXIZ
T
PLAZ
T
LLAX
T
PXIX
INSTR IN
A0 - A7
PORT 0
PORT 2
A0 - A7
T
AVIV
A8 - A15
A8 - A15
1339 F35.0
Figure 35:External Program Memory Read Cycle
T
LHLL
ALE
T
WHLH
PSEN#
T
RLRH
T
LLDV
T
LLWL
RD#
T
RLDV
T
T
RHDZ
RLAZ
T
T
LLAX
AVLL
T
RHDX
A0-A7 FROM PCL
A0-A7 FROM RI or DPL
DATA IN
INSTR IN
PORT 0
PORT 2
T
AVWL
T
AVDV
A8-A15 FROM PCH
P2[7:0] or A8-A15 FROM DPH
1339 F36.0
Figure 36:External Data Memory Read Cycle
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
81
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
T
LHLL
ALE
T
WHLH
PSEN#
WR#
T
T
LLWL
WLWH
T
QVWX
T
WHQX
T
T
LLAX
T
AVLL
QVWH
DATA OUT
A0-A7 FROM PCL
A0-A7 FROM RI or DPL
INSTR IN
PORT 0
PORT 2
T
AVWL
A8-A15 FROM PCH
P2[7:0] or A8-A15 FROM DPH
1339 F37.0
Figure 37:External Data Memory Write Cycle
Oscillator
Variable
40MHz
Symbol
1/TCLCL
TCLCL
Parameter
Min
Max
Min
Max
Units
MHz
ns
Oscillator Frequency
0
40
25
TCHCX
TCLCX
TCLCH
TCHCL
High Time
Low Time
Rise Time
Fall Time
8.75
8.75
0.35TCLCL
0.35TCLCL
0.65TCLCL
0.65TCLCL
ns
ns
10
10
ns
ns
T0-0.0 25114
V
DD - 0.5
0.7 V
DD
0.2 V
- 0.1
0.45 V
DD
T
T
CLCX
CHCX
T
T
CLCH
CHCL
T
CLCL
1339 F38.0
Figure 38:External Clock Drive Waveform
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
82
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Table 37:Serial Port Timing
Oscillator
Variable
40MHz
Min Max
0.3
Symbol Parameter
Min
12TCLCL
Max
Units
µs
TXLXL
TQVXH
TXHQX
Serial Port Clock Cycle Time
Output Data Setup to Clock Rising Edge
Output Data Hold After Clock Rising Edge
117
10TCLCL - 133
2TCLCL - 117
2TCLCL - 50
0
ns
ns
0
ns
TXHDX
TXHDV
Input Data Hold After Clock Rising Edge
Clock Rising Edge to Input Data Valid
0
ns
117
10TCLCL - 133
ns
T0-0.0 25114
0
1
2
3
4
5
6
7
8
INSTRUCTION
ALE
T
XLXL
CLOCK
T
XHQX
T
QVXH
0
1
2
3
4
5
6
7
OUTPUT DATA
T
XHDX
SET TI
T
XHDV
WRITE TO SBUF
INPUT DATA
VALID
VALID
VALID
VALID
VALID
VALID
VALID
VALID
SET RI
CLEAR RI
1339 F39.0
Figure 39:Shift Register Mode Timing Waveforms
V
IHT
V
HT
V
LT
V
ILT
AC Inputs during testing are driven at V
(V
-0.5V) for Logic “1” and
IHT DD
V
(0.45V) for a Logic “0”. Measurement reference points for inputs and
ILT
outputs are at V (0.2V + 0.9) and V (0.2V - 0.1)
HT
DD
LT
DD
Note: V - V
Test
Test
HIGH Test
LOW Test
HT HIGH
V
V
V
- V
-V
LT
LOW
IHT INPUT
- V
ILT INPUT
1339 F40.0
Figure 40:AC Testing Input/Output Test Waveform
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
83
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
V
+0.1V
-0.1V
LOAD
V
V
-0.1V
OH
Timing Reference
Points
V
LOAD
V
+0.1V
OL
LOAD
For timing purposes, a port pin is no longer floating when a 100 mV
change from load voltage occurs, and begins to float when a 100 mV
change from the loaded V /V level occurs. I /I
=
20mA.
OH OL
OL OH
1339 F41.0
Figure 41:Float Waveform
TO TESTER
TO DUT
C
L
1339 F42.0
Figure 42:A Test Load Example
V
DD
I
DD
V
V
DD
P0
DD
V
DD
RST
EA#
SST89E5xRDxA
XTAL2
XTAL1
(NC)
CLOCK
SIGNAL
V
SS
All other pins disconnected
1339 F43.0
Figure 43:IDD Test Condition, Active Mode
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
84
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
V
DD
I
DD
V
V
DD
P0
DD
RST
EA#
SST89E5xRDxA
XTAL2
XTAL1
(NC)
CLOCK
SIGNAL
V
SS
All other pins disconnected
1339 F45.0
Figure 44:IDD Test Condition, Idle Mode
V
DD
I
DD
V
V
DD
P0
DD
RST
EA#
SST89E5xRDxA
XTAL2
XTAL1
(NC)
V
SS
All other pins disconnected
1339 F44.0
Figure 45:IDD Test Condition, Power-down Mode
Table 38:Flash Memory Programming/Verification Parameters1
Parameter2
Max
150
100
30
Units
ms
ms
ms
µs
Chip-Erase Time
Block-Erase Time
Sector-Erase Time
Byte-Program Time3
Re-map or Security bit Program Time
50
80
µs
T0-0.0 25114
1. For IAP operations, the program execution overhead must be added to the above timing parameters.
2. Program and Erase times will scale inversely proportional to programming clock frequency.
3. Each byte must be erased before programming.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
85
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Product Ordering Information
SST 89
E
54RD2A
-
40
-
C
-
TQJE
-
XX
X
XXXXXX
-
XX
-
X
XXXX
Package Attribute
E1 = non-Pb
Package Modifier
I = 40 pins
J = 44 pins
Package Type
P = PDIP
N = PLCC
TQ = TQFP
Operation Temperature
C = Commercial = 0°C to +70°C
Operating Frequency
40 = 0-40MHz
Feature Attribute
2 = Port 4 present
Feature Set and Flash Memory Size
54RD = C52 feature set + 16(32) KByte
58RD = C52 feature set + 32(40) KByte
Note: Number in parenthesis includes an addi-
tional 8 KByte flash which can be enabled.
Voltage Range
E = 4.5-5.5V
Product Series
89 = C51 Core
1. Environmental suffix “E” denotes non-Pb solder.
SST non-Pb solder devices are “RoHS Compli-
ant”.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
86
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Valid Combinations
Valid combinations for SST89E54RD2A
SST89E54RD2A-40-C-NJE
SST89E54RD2A-40-C-TQJE
Valid combinations for SST89E58RD2A
SST89E58RD2A-40-C-NJE
SST89E58RD2A-40-C-TQJE
Valid combinations for SST89E54RDA
SST89E54RDA-40-C-PIE
Valid combinations for SST89E58RDA
SST89E58RDA-40-C-PIE
Note:Valid combinations are those products in mass production or will be in mass production. Consult your SST
sales representative to confirm availability of valid combinations and to determine availability of new combi-
nations.
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
87
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Packaging Diagrams
40
C
L
.600
.625
1
Pin #1 Identifier
.530
.557
2.020
2.070
.065
.075
12°
4 places
Base
Plane
.220 Max.
Seating
Plane
.015 Min.
0°
15°
.008
.012
.100
.200
.063
.090
.045
.055
.015
.022
.100 BSC
.600 BSC
Note:
1. Complies with JEDEC publication 95 MS-011 AC dimensions (except as noted), although some dimensions may be more stringent.
JEDEC min is .115; SST min is lessstringent
2. All linear dimensions are in inches (min/max).
=
40-pdip-PI-7
3. Dimensions do not include mold flash. Maximum allowable mold flash is .010 inches.
Figure 46:40-Pin Plastic Dual In-line Pins (PDIP)
SST Package Code: PI
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
88
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
TOP VIEW
SIDE VIEW
BOTTOM VIEW
.685
.695
.646
.656
Optional
Pin #1 Identifier
.147
.158
.020 R.
MAX.
.042
.048
.025
.045
.042
.056
R.
x45°
1
44
.042
.048
.013
.021
.685
.695
.646
.656
.500 .590
REF. .630
.026
.032
.050
BSC.
.020 Min.
.100
.112
.050
BSC.
.026
.032
.165
.180
44.PLCC.NJ-ILL.6
1. Complies with JEDEC publication 95 MS-018 AC dimensions (except as noted), although some dimensions may be more stringent.
JEDEC min is .650; SST min is lessstringent
Note:
=
2. All linear dimensions are in inches (min/max).
3. Dimensions do not include mold flash. Maximum allowable mold flash is .008 inches.
4. Coplanarity: 4 mils.
Figure 47:44-Lead Plastic Lead Chip Carrier (PLCC)
SST Package Code: NJ
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
89
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
44
34
Pin #1
Identifier
1
33
.30
.45
10.00 0.10
.80 BSC
12.00 0.25
11
23
.09
.20
12
22
10.00 0.10
12.00 0.25
.95
1.05
1.2
max.
0°- 7°
.45
.75
.05
.15
1.00 ref
Note:
1. Complies with JEDEC publication 95 MS-026 ACB dimensions, although some dimensions may be more stringent.
2. All linear dimensions are in millimeters (min/max).
3. Coplanarity: 0.1 ( 0.05) mm.
44-tqfp-TQJ-7
4. Package body dimensions do not include mold flash. Maximum allowable mold flash is .25mm.
1mm
Figure 48:44-Lead Thin Quad Flat Pack (TQFP)
SST Package Code: TQJ
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
90
FlashFlex MCU
SST89E54RD2A/RDA / SST89E58RD2A/RDA
A Microchip Technology Company
Not Recommended for New Designs
Revision
Description
Date
00
01
02
Dec 2006
Jan 2007
Feb 2008
•
•
•
Initial Release
Changed FlashFlex51 to FlashFlex globally
Removed all 3V parts (89V58RD2A/RDA and 89V54RD2A/RDA) glob-
ally
•
•
•
•
•
Removed WQFN/ QIF package information globally
Remove all I-grade part information globally
Applied new document format
Released document under letter revision system
Updated Spec number from S71339 to DS25114
A
Dec 2011
ISBN:978-1-61341-895-6
© 2011 Silicon Storage Technology, Inc–a Microchip Technology Company. All rights reserved.
SST, Silicon Storage Technology, the SST logo, SuperFlash, MTP, and FlashFlex are registered trademarks of Silicon Storage Tech-
nology, Inc. MPF, SQI, Serial Quad I/O, and Z-Scale are trademarks of Silicon Storage Technology, Inc. All other trademarks and
registered trademarks mentioned herein are the property of their respective owners.
Specifications are subject to change without notice. Refer to www.microchip.com for the most recent documentation. For the most current
package drawings, please see the Packaging Specification located at http://www.microchip.com/packaging.
Memory sizes denote raw storage capacity; actual usable capacity may be less.
SST makes no warranty for the use of its products other than those expressly contained in the Standard Terms and Conditions of
Sale.
For sales office locations and information, please see www.microchip.com.
Silicon Storage Technology, Inc.
A Microchip Technology Company
www.microchip.com
©2011 Silicon Storage Technology, Inc.
DS25114A
12/11
91
相关型号:
SST89V516RD2-33-C-NJE
8-BIT, FLASH, 33 MHz, MICROCONTROLLER, PQCC44, ROHS COMPLIANT, PLASTIC, MS-018AC, LCC-44
MICROCHIP
©2020 ICPDF网 联系我们和版权申明