Introduction
LPC^2 stands for Low Parts Count
LPC programmer.
It is a programming cable connected between a
PC parallel port and a PCB containing a LPC flash SST49LF020. The component
count is kept to a
minimum.
Note: This hardware is not compatible with CheapLPC nor Milk.exe. :(
Goto Rev. 1 hardware (Historical - for reference only)
Rev. 2 Schematic
Note
I personally prefer to have the female connector on the motherboard
and male connector on the daughter card. When the daughter
card is not in place, there are less chances of shorting out pins.
Unfortunately, most mod chips seems be built the other way.
Theory
LPC^2 uses the PC parallel port in SPP mode. The 5V <--> 3.3V conversion
is done with 1K ohms series resistors to keep the cost down and do without
funny schottky diodes. The excess voltage is shunted by diodes inside the
74HC244 to its 3.3V power rail. A 1K resistor is connected across the power
rail to help to dissipate this current. Signals Lclk & /Lframe are
buffered.
Worst case current: (5V-3.3V-0.6V)/1Kohms = 1.1mA.
On the LAD[3:0] lines, the 1K series resistor also handles the bi-directional data transfer. D3 to D6 is driven to LAD[3:0] and is buffered and fed back to the status lines (/Error,SelectIn,PaperEnd,Ack) on the parallel port. The LPC flash can override the logic level at LAD[3:0] when it is in output mode (by sinking current to ground).
Worst case current: 5V/1K = 5mA
A green LED is used as to reduce the voltage from 5V to about 3V for the programmer. This is not a real regulator and it will simply drops whatever voltages you have by 1.9V or so. The LPC flash operates between 3.0V to 3.6V.
I measured a 3.17V output on my LPC^2.2 for a 5.03V input. If the voltage is too low, use a red LED (~1.7V drop). Some people have suggested using 2 new AA batteries as a replacement for the +3.3V source. In this case, the 1K resistor and the LED can be removed.
Bill of material for programmer
| QTY | Part |
| 8 | 1K ohms resistors (1/4W) |
| 1 | 74HC244 Octal Buffer |
|
|
0.1uF capacitor |
|
|
47uF 10V capacitor (or higher) |
|
|
DB-25 connector, solder cup |
|
|
Green LED |
| 1 | 16-pin header/socket |
Photos
LPC^2.2 (Front)
LPC^2.2 (Back)
Links:
CheapLPC
The original LPC programmer
Cheapmod
LPC mod
History
| Version | Description | DOS | GUI |
| 0.0 | First release | Y | |
| 0.1 | LPC sync code to handle wait states on LPC bus | Y | |
| 0.2 | LPC^2 rev.2 hardware support | Y | |
| 0.3
- Exe
0.3 - Src |
Code restructured for both DOS & Win32 GUI
Win32 GUI - debug/delay/I/O port address not implemented (yet). |
Y | Y |
| 0.3a
- DOS
0.3a - GUI 0.3a - Src |
Win32 GUI - Separate task for LPC, delay implemented, abort operation.
DOS - Minor menu structure changes, <ESC> aborts operation |
Y | Y |
Executable
Please use userport.zip
to run the following in Win32. Setup to allow for 0x378-0x37F
I/O address access.