You are on page 1of 2

To PIC or not to PIC

That remains the


question. The
Microchip PIC line
of processors is
widely available in
all kinds of
varieties. For every
application, there is
a PIC. This is a
great strength but
also a weak point.
For every OTHER
application you
need to learn yet
another PIC chip.

Still, the PIC's are


good processors
and there are a lot
of cheap
programmers
available for it.

One of these programmers is the JDM programmer, designed by Jens D Madsen. Please visit his website
at www.jdm.homepage.dk and read all about the hardware and the associated software. On the right, you
see his original design and the original circuit drawing.

Among the members of the WISclub, the JDM programmer is a returning topic. So after todays revisit of
the JDM hardware I felt forced to dig into the design and see if I can understand it or not.

An older design
To the left is the circuit of the
first generation JDM hardware.
It is easier to understand since
the main capacitor (for the Vpp
generation) is coupled without
a separate transistor. But in
essence, the circuits are
comparable at least.
If TxD goes -9 Volt, C1 and
C2 are charged to 9 Volts. Due
to D2, C2 does not charge
higher than 5.1 Volts. When
TxD goes positive to +9 Volts,
the already present 9 Volts
stored in C1 are pushed up
another 9 Volts so that C1 now
holds 18 Volts. But D1 brings it down to 13 Volts.

The JDM hardware redrawn with EAGLE


I took the liberty to redraw the above circuit with the PADS software. In the drawing above, you see the
result. I think this is somewhat easier to read than the original drawing. What happens in the JDM
programmer is the following:

a. Bringing RTS positive charges C2 to 5 Volts and C1 to approximately 13 Volts.


b. By bringing RTS negative, the voltages on the capacitors are increased.
c. The PIC ground level is floating at 5.1 Volts below RS 232 signal ground
d. When TXD goes positive, it opens up Q1, so the 13 Volts goes to the Vpp pin of the PIC (/MCLR).
e. By manipulating RTS and DTR (for RB6 and RB7), data is pumped in and out of the PIC.
f. The situation around RB7 is rather complex. The rule seems to be: CTS = DTR unless RB7 is
ZERO.
Or, in Modula-2: IF RB7=High THEN CTS:=DTR ELSE CTS:=RB7 END;

The RCD design by Feng San

You might also like