UM11029
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2017. All rights reserved.
User manual
Rev. 1.0 — 16 June 2017
45 of 515
NXP Semiconductors
UM11029
Chapter 5: LPC84x ISP and IAP
5.7 I2C and SPI ISP commands
The I2C/SPI ISP allows programming and reprogramming of the internal flash via a set of
commands on the I2C slave or SPI slave buses of the LPC84x. These need to be
connected to a host system that provides the I2C or SPI master connections to the
LPC84x.
5.7.1 Dual purpose of the ISP/ISP_IRQ pin
The ISP pin is a special function pin that is switches function state once I2C/SPI ISP mode
is entered and the host interface has been selected. Once the host interface has been
selected, the ISP pin becomes an output pin used for indicating to the host system that a
command can be serviced. During this phase, the pin is called ISP_IRQ. A low state on
this pin indicates to the host that the LPC84x needs servicing.
Notes on ISP input to ISP_IRQ output switching
After reset, ISP is set to an input. When the FAIM configuration is invalid and host
interface is not selected, on entry to the USART/I2C/SPI ISP mode from device reset, the
interface is in auto-detection mode and the pin remains an input. Once the host interface
sends the first probe command via I2C or SPI interface, and it is accepted by the LPC84x,
then the interface is detected, the ISP pin switches to an output high as ISP_IRQ.
When the FAIM configuration is valid and interface selection is either I2C or SPI ISP
mode, this pin switches to an output high immediately without a probe message.
When using the ‘Reinvoke ISP’ command, the host interface is selected as part of the IAP
command, the pin switches to an output high immediately without a probe message.
Care must be used that any external signal applied to the ISP pin to drive the ISP pin low
should be done with a pull-down resistor and not tied to ground, so the ISP_IRQ output
does not short directly to a low state when driving high. Host systems that drive this pin to
selectively enable I2C/SPI ISP mode should drive this pin via a resistor.
5.7.2 I2C/SPI ISP mode transaction protocol
This section explains the high-level protocol used with the I2C and SPI interfaces. A
typical transaction starts with the host sending a command packet, the LPC84x
processing the command packet, the LPC84x optionally asserting the ISP_IRQ line low
when processing is complete, and then the host system getting the response packet. The
LPC84x will hold the ISP_IRQ pin asserted (low) until the host system requests the
response packet. The process is shown in
. Not all commands may follow this
protocol – some commands may have no response or may not assert the ISP_IRQ pin.