XA 16-bit microcontroller family
64K Flash/2K RAM, watchdog, 2 UARTs
2001 Jun 27
VDD SUPPLY OR +12V ±5%
FOR USE WITH WINISP
Figure 4. In-System Programming with a Minimum of Pins
In-System Programming (ISP)
In-System Programming (ISP) is performed without removing the
microcontroller from the system. The In-System Programming (ISP)
facility consists of a series of internal hardware resources coupled
with internal firmware to facilitate remote programming of the
XA-G49 through the serial port. This firmware is provided by Philips
and embedded within each XA-G49 device.
The Philips In-System Programming (ISP) 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: TxD, RxD, VSS, VDD, and VPP (see
Figure 4). Only a small connector needs to be available to interface
your application to an external circuit in order to use this feature.
The VPP supply should be adequately decoupled and VPP not
allowed to exceed datasheet limits.
75 ma typical
90 ma typical
ISP increases IDD by less than 1mA.
ISP software is available on the Philips web site
1. With your browser, open this page:
2. Enter winzip.zip into the Search box at the top of the Philips
3. Click on Microcontrollers Software support.
4. Download disk1.zip and disk2.zip.
5. Create a directory on your hard drive named WINISP.
6. Unzip the two disk files into this new directory WINISP.
Using In-System Programming (ISP)
ISP mode is entered by holding PSEN low, asserting, un-asserting
RESET, then releasing PSEN. When ISP mode is entered, the
default loader first disables the watchdog timer to prevent a
watchdog reset from occurring during programming.
The ISP feature allows for a wide range of baud rates to be used in
the 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 (a lowercase f) be sent to
the XA-G49 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 specific Intel Hex-type records. Intel Hex records
consist of ASCII characters used to represent hexadecimal values
and are summarized below:
In the Intel Hex record, the “NN” represents the number of data
bytes in the record. The XA-G49 will accept up to 16 (10H) 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 16 (decimal). ISP
commands are summarized in Table 1.
As a record is received by the XA-G49, 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 XA-G49 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 (displaying the
contents of the internal program memory is an exception).
In the case of a Data Record (record type 00), an additional check is
made. A “.” character will NOT be sent unless the record checksum
matched the calculated checksum and all of the bytes in the record
were successfully programmed. For a data record, an “X” indicates
that the checksum failed to match, and an “R” character indicates
that one of the bytes did not properly program.
The ISP facility was designed so that specific crystal frequencies
were not required in order to generate baud rates or time the