Reliable Custom Design Click here to contact AirBorn
 
--AirBorn Electronics-- US SITE · AUS SITE
ABOUT US
Company Detail
Enquiry Form
Sitemap
WHAT WE MAKE
Our Design method
Spec'ing your job
Hardware design
Firmware design
Examples: Circuits
Subject Overview     Next Subject     Exit Site
Example projects
OUR CIRCUITS
Mechatronic controller
Programmable oscillator
RS485 firepanel int
IRDA Interface
Nursecall indicator
Serial to Parallel
Navy SMD Trainer
Danfoss tester
89C2051 project
Weighscale
Light Key Tone Gen
Index - Main Library
OUR DESIGN STEPS
Design step-by-step
Circuit diagrams
PCB Layout
PCB Etching
Prototyping
Firmware design
Documentation
Manufacturing
Economies of scale
Test Procedures
ECOs - changes
SPECIFY YOUR WORK
Overview
Specification Intro.
Writing a Spec
Tech Ingredients
Example Specs
Engineer employment
R&D Economics
Design Inspiration
REFERENCE
Autotrax PCB CAD
Autotrax resources
Autotrax utilities
Protel VESA drivers
Products - 1990s
Our PicoBus IO Std
RS232 RS485 FR4 Autotrax CAD Library P89LPC932 Program Header
Using a Multimeter
FURTHER INFO
Complete site index
Offsite Links (15000+)
Google search
 
--AirBorn Electronics-- CONTACT or ENQUIRY
©2010 AirBorn
apollo

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.

Program Header PCB layouts
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

Subject Overview Subject Continue