Programming header connector wiring
In years gone by, the microprocessors in electronic products
were pre-programmed (as a seperate manufacturing step) before
being assembled into the product. If a program update was ever
required, usually the microprocessor had to be removed from the
equipment and reprogrammed, or more likely replaced altogether.
In system programming (ISP) involves programming the firmware
into the microprocessors after the hardware has already been
assembled, usually as part of manufacturing test - thus removing
one step in the manufacturing process. By using FLASH microprocessors,
the operation can be repeated as often as required for updating the code.
The Philips P89LPC932 microprocessor (and the other members of
the LPC900 family) require only 5 pins for programming
LPC932 Pin
|
Pin Name
|
IDC14 Pin
|
SIP5 Pin
|
RST, P1.5, 6
|
RESET
|
1
|
1
|
VDD, pin 21
|
+3.0V
|
11
|
2
|
VSS, pin 7
|
GROUND
|
2 & 13
|
3
|
TxD, P1.0, 18
|
Serial Transmit
|
12
|
4
|
RxD, P1.1, 17
|
Serial Receive
|
14
|
5
|
We show 2 alternative programming connectors -
a 14 pin dual row IDC header (of which only 5 or 6 pins need to
be present) and a 5 pin single-in-line pin header.
The 5 pin SIP header is the common, expected solution.
However, the P89LPC932 is so small that it is dwarfed by
the "small 5 pin connector" needed to program it, - see
IC4 and CN1 in the diagram below. Even if the polarising
connector body is left off, and only the pins are inserted,
the 5 pins are longer than the microprocessor, and wiring
the connector interferes with the PCB Layout conections
to other microprocessor pins.
It is more space efficient to use a 14 pin IDC connector
(with only 6 pins present) and put the microprocessor
where the missing pins would be. This connector also
allows an easier PCB layout, as can be seen in the
examples below. While it is intended that you would use
the middle layout (CN2/IC2) where the microprocessor and
14 pin IDC connector are in line, the layout also works with the
connector across the microprocessor, and for PLCC devices.
Parts cost:
6x gold pins, 1x 1k resistor
|
PCB cost (56mm2)
|
Assembly cost
|
Total (3000+ volume)
|
3c
|
4c
|
12c
|
$US 0.19
|
The three signals (and VDD) on the program header must be
driven by the programming hardware - in conjunction with some
download software such as
FlashMagic.
The design of the target PCB circuitry should be such that it does not drive
conflicting levels into these signals while the programmer circuitry is
downloading.
RxD requires special attention - ensure that you do not drive a
signal into this pin conflicting with the programmer. Typically this
will involve the addition of one resistor. For example,
if a 75176 Transceiver chip was driving the RxD line into the CPU,
its typ IOH=30ma which will exceed the capability of
the programmers driver device - a resistor of value 1k between
CPU RxD and 75176 Rx pin would prevent the conflict. The program
header would connect direct to the CPU RxD pin, the 75176 would
be isolated by the 1k resistor.
The P89LPC9xx RST line is needed to coax the CPU into ISP download
mode if it has been previously programmed. The programmer will briefly
pulse this line three times after power up to enter ISP mode (see the
P89LPC932 Data sheet "ISP Entry Waveform"). Again, ensure that you do
not drive a signal into this pin conflicting with the programmer. This also
requires that the programmer be able to control VDD to the P89LPC9xx
chip, - so that it can switch VDD followed by pulsing the RST line.
With the pinout suggested, an ISP program header can be designed into
a new product for a cost of less than twenty cents, and an increase in pcb
area of about 56mm2. Protel Cad Library part may be
downloaded here.
This page had a Maintenance update: 21 April 2013
Overview
Continue