English
Language : 

P89V660_0811 Datasheet, PDF (20/89 Pages) NXP Semiconductors – 8-bit 80C51 5 V low power 16 kB/32 kB/64 kB flash microcontroller with 512 B/1 kB/2 kB RAM, dual I2C-bus, SPI
NXP Semiconductors
P89V660/662/664
80C51 with 512 B/1 kB/2 kB RAM, dual I2C-bus, SPI
based on the oscillator frequency. The ISP feature requires that an initial character (an
uppercase U) be sent to the P89V660/662/664 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
P89V660/662/664 will accept up to 32 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 32 (decimal). ISP commands
are summarized in Table 11. As a record is received by the P89V660/662/664, 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 P89V660/662/664 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.
Table 11. ISP hex record formats
Record type Command/data function
00
Program User Code Memory
:nnaaaa00dd..ddcc
Where:
nn = number of bytes to program
aaaa = address
dd..dd = data bytes
cc = checksum
Example:
:09000000010203040506070809CA
01
End of File (EOF), no operation
:xxxxxx01cc
Where:
xxxxxx = required field but value is a ‘don’t care’
cc = checksum
Example:
:00000001FF
02
not used
P89V660_662_664_3
Product data sheet
Rev. 03 — 10 November 2008
© NXP B.V. 2008. All rights reserved.
20 of 89