
DS89C430/DS89C440/DS89C450 Ultra-High-Speed Flash Microcontrollers 
28 of 48 
Figure 7. External Program Memory Access (Nonpage Mode, CD1:CD0 = 10) 
Internal Memory Cycles 
  C1
C2
C3
C4         C1      C2      C3     C4
XTAL1 
ALE
Port 0
Port 2
PSEN 
External Memory Cycle 
External Memory Cycle
MSB Add                            MSB Add      
LSB Add                Data          LSB Add             Data      
External Data Memory Interface in Nonpage Mode Operation 
Just like the program memory cycle, the external data memory cycle is four times slower than the internal data 
memory cycle in nonpage mode. A basic internal memory cycle contains one system clock and a basic external 
memory cycle contains four system clocks for nonpage mode operation. 
The DS89C430 allows software to adjust the speed of external data memory access by stretching the memory bus 
cycle. CKCON (8Eh) provides an application-selectable stretch value for this purpose. Software can change the 
stretch value dynamically by changing the setting of CKCON.2–CKCON.0. 
Table 6
 shows the data memory cycle 
stretch values and their effect on the external MOVX memory bus cycle and the control signal pulse width in terms 
of the number of oscillator clocks. A stretch machine cycle always contains four system clocks. 
Table 6. Data Memory Cycle Stretch Values 
RD
/
, CD1,  
CD0 = 100 
0.5 
1 
2 
3 
4 
5 
6 
7 
WR
 PULSE WIDTH (IN NUMBER OF OSCILLATOR CLOCKS) 
4X/
2X
, CD1,  
CD0 = 000 
1 
2 
4 
6 
8 
10 
12 
14 
MD2:MD0 
STRETCH 
CYCLES 
4X/
2X
4X/
CD0 = X10 
2 
4 
8 
12 
16 
20 
24 
28 
2X
, CD1,  
4X/
CD0 = X11 
2048 
4096 
8192 
12,288 
16,384 
20,480 
24,576 
28,672 
2X
, CD1, 
000 
001 
010 
011 
100 
101 
110 
111 
0 
1 
2 
3 
7 
8 
9 
10 
As 
Table 6 
shows, the stretch feature supports eight stretched external data memory access cycles, which can be 
categorized into three timing groups. When the stretch value is cleared to 000b, there is no stretch on external data 
memory access and a MOVX instruction is completed in two basic memory cycles. When the stretch value is set to 
1, 2, or 3, the external data memory access is extended by 1, 2, or 3 stretch machine cycles, respectively. Note 
that the first stretch value does not result in adding four system clocks to the 
RD
/
WR
 control signals. This is 
because the first stretch uses one system clock to create additional setup time and one system clock to create 
additional address hold time. When using very slow RAM and peripherals, a larger stretch value (4–7) can be 
selected. In this stretch category, one stretch machine cycle (4 system clocks) is used to stretch the ALE pulse 
width, one stretch machine cycle is used to create additional setup, one stretch machine cycle is used to create 
additional hold time, and one stretch machine cycle is added to the 
RD
 or 
WR
 strobes.