Philips UM10109 Microscope & Magnifier User Manual


 
© Koninklijke Philips Electronics N.V. 2005. All rights reserved.
User manual Rev. 02 — 23 May 2005 115 of 133
Philips Semiconductors
UM10109
P89LPC932A1 User manual
18.10 In-system programming (ISP)
In-System Programming is performed without removing the microcontroller from the
system. The In-System Programming facility consists of a series of internal hardware
resources coupled with internal firmware to facilitate remote programming of the
P89LPC932A1 through the serial port. This firmware is provided by Philips and embedded
within each P89LPC932A1 device. The Philips In-System Programming facility has made
in-circuit programming in an embedded application possible with a minimum of additional
expense in components and circuit board area. The ISP function uses five pins (V
DD
, V
SS
,
TxD, RxD, and RST
). Only a small connector needs to be available to interface your
application to an external circuit in order to use this feature.
18.11 Using the In-system programming (ISP)
The ISP feature allows for a wide range of baud rates to be used in your application,
independent of the oscillator frequency. It is also adaptable to a wide range of oscillator
frequencies. This is accomplished by measuring the bit-time of a single bit in a received
character. This information is then used to program the baud rate in terms of timer counts
based on the oscillator frequency. The ISP feature requires that an initial character (an
uppercase U) be sent to the P89LPC932A1 to establish the baud rate. The ISP firmware
provides auto-echo of received characters. Once baud rate initialization has been
performed, the ISP firmware will only accept Intel Hex-type records. Intel Hex records
consist of ASCII characters used to represent hexadecimal values and are summarized
below:
:NNAAAARRDD..DDCC<crlf>
In the Intel Hex record, the ‘NN’ represents the number of data bytes in the record. The
P89LPC932A1 will accept up to 64 (40H) data bytes. The ‘AAAA’ string represents the
address of the first byte in the record. If there are zero bytes in the record, this field is often
set to 0000. The ‘RR’ string indicates the record type. A record type of ‘00’ is a data
record. A record type of ‘01’ indicates the end-of-file mark. In this application, additional
record types will be added to indicate either commands or data for the ISP facility. The
maximum number of data bytes in a record is limited to 64 (decimal). ISP commands are
summarized in Table 9 7
. As a record is received by the P89LPC932A1, the information in
the record is stored internally and a checksum calculation is performed. The operation
indicated by the record type is not performed until the entire record has been received.
Should an error occur in the checksum, the P89LPC932A1 will send an ‘X’ out the serial
port indicating a checksum error. If the checksum calculation is found to match the
checksum in the record, then the command will be executed. In most cases, successful
reception of the record will be indicated by transmitting a ‘.’ character out the serial port.