beautypg.com

15 parallel programming concerns, 16 rpc program mode operation, 15 p – Maxim Integrated Secure Microcontroller User Manual

Page 153: Arallel, Rogramming, Oncerns, 16 rpc, Rogram, Peration

background image

Secure Microcontroller User’s Guide

153 of 187

16.15 Parallel Programming Concerns

Maxim highly recommends using the highly reliable and easy to use serial load mode for programming
the DS5000. If parallel programming must be used, several incompatibilities have been discovered in
conventional device programmers. The following is a summary of these incompatibilities:

1) The DS5000 is a fully CMOS device, and was designed to be pin-compatible with the 80C51/87C51

as opposed to the 8051/8751. As a result there is a subtle difference between these two devices
concerning the oscillator input pins, XTAL1 and XTAL2. On the CMOS devices, XTAL1 is the pin
which is driven in the external drive configuration. On NMOS devices, XTAL2 is driven for the
external clock configuration. This difference has no effect when a crystal is tied to the pins for an
external time base. However, many programmers use the external drive configuration to maintain the
ability to program multiple types of devices in a single 40-pin socket. For this reason, the DS5000
will not operate correctly in a 8751-compatible socket which uses the external clock mode.

2) The 87C51 data sheet specifies a “fast” programming algorithm for on-chip EPROM memory. This

algorithm is identical to the 8751 Program mode specification except for the number and duration of
ALE low pulses during a “Program Byte” state. There are 25 pulses specified, each with a low time of
90 to 110 µs following by a minimum high time of 10 µs. Since the Parallel Load mode is partially
implemented using internal ROM firmware, the 87C51 fast programming algorithm is incompatible
with the DS5000. Programming systems that implement this algorithm are not correctly program a
DS5000.

3) Also since the Parallel Program mode is partially firmware based, a minimum recovery time is

required between back-to-back Program Byte strobes and between a Program Byte strobe followed by
a Verify strobe.

4) Many programming systems apply V

CC

voltage during programming and remove it when

programming is completed. The DS5000’s Power-On Reset time spec (t

POR

) requires a delay between

the application of V

CC

and the start of programming. Since there is no similar specification on the

8751/87C51, some programming systems may not meet the t

POR

requirement and Program strobe

pulses may not be recognized by the DS5000.

5) The DS5000 is compatible with either the 21V V

PP

of the 8751 or the 12V V

PP

of the 87C51.

However, some programming systems sample the current that is drawn during programming on the
V

CC

pin and/or on the V

PP

pin. An 8751 is specified to draw a maximum of 30 mA of I

PP

current

during programming, while an 87C51 is specified for a maximum of 50 mA. A DS5000 will draw a
maximum of only 15 mA of I

PP

current during programming. As a result, these programming systems

may erroneously report that the device is incorrectly installed in the socket.

6) Any activity on the P3.0 pin (serial port RXD) will mimic serial load mode, causing the device to

immediately exit or fail to enter parallel load mode.


Because of the limitations cited above, Maxim recommends that the Serial Bootstrap Loader be used for
initial program loading of the DS5000.

16.16

RPC Program Mode Operation

The DS5001FP and DS5002FP series incorporate the RPC (8042) slave interface, a high speed parallel
programming mode with many of the benefits of the Serial Loader. Like the Serial mode, it is primarily
intended as an in-system technique but can be used in a fixture. When the

PROG

pin is pulled to a logic 0,

the Bootstrap ROM will begin looking for an ASCII carriage return. This can be received via the serial
port or the RPC port. The RPC port is accessed as shown in the section on Parallel I/O. If the RPC buffer