STK 500 Pod
(latest update: August 6, 2009)
New design, untested, since I don't have a STK500 .... :-(
Concept:
The STK500 has a nice driver for the ISP-lines: acts as a level-shifter and is a pretty good line-driver.
But: if there is a heavy capacitive load (hexfet-gate f.i.) on these lines at the targetAVR, ISP may become a problem.
This Pod is supposed to solve that.
The genuine STK500 ISP-driver circuit:
(captured from Help-file of AVR Studio --- Copyright Atmel)
When MOSIT or SCKT go high, the 1k resistors R914 and R908 will drive the ISP-cable.
But when these signals go low, the transistors Q900 and Q902B will drive the line. And that impedance is much less than 1k.
Now imagine that there are a few nF's on these lines: f.i. because of hexfet-gates on the targetboard.
The rise-time of the signals will be
a few us's, and we can live with that if we reduce ISP-speed a bit, but
when these signals go low, the discharge-current is much higher and
(theoretically) only limited by PBM5 and PBM7: and those are AVR-pins.
And we know how oompf they are, and how fast the switch. Note: the
BC847's will not be the limiting factor.
And the worst is still to come: if you use a 6pin ISP-cable, there is only 1 groundlead. And that takes the beating. For a brief moment there will be a difference in potential between STK500-ground and Target-ground. And that results in ..... ISP-errors !
And lowering the ISP-speed will not help. Nasty huh ?
So: how to tackle this ?
One possible way is to build a pod with a buffer.
Schematics in ExpressSch-format If you don't use ExpressSch, see my Tools-page
Here the exported .png of sheet 1:
( right click, Open in new tab or page for full size)
Sheet 1 is the basic buffer. But when a long ribbon-cable is used between STK500 and Pod, another pnenomenon shows up: ringing.
For some more background on that, see my PPPD-page (English) or PPPD-page (Dutch)
Expanding that design a bit by adding some slew-rate limiters in cable and Pod tackles this ringing-problem.
Here the exported .png of sheet 2:
( right click, Open in new tab or page for full size)
To get the best results, use a 10p
ribboncable for the long tail. And connect it according to the 10p ISP
as shown on sheet 1 of the schematic. Make sure tyou use all the
ground-wires.
As I mentioned at the top of this
page: I don't have a STK500. If I would run into ISP-errors like
Theusch encountered, I'd go for the following configuration:
Sheet 3 of the schematic:
Tip: Our fellow freak Kasper did a simular design for JTAG-ing over several meters. Here the link http://n1.taur.dk/permanent/dragonhide.pdf