Ich kann jetzt auch gerade keine passende Schaltung finden. www.avrfreaks.net ist auch gerade außer Gefecht.

Wenn man schon 2-State Treiber hat, kann man die Funktion auch nutzen. Wenn nicht vom Programm unterstützt, dann per Schalter von Hand. Dann braucht man das Kabel nicht abzuziehen. Ein häufiges Umstecken ist nur ein unnötiges ESD-Risiko - gerade am ISP Port hat man oft keinen extra ESD Schutz.

Zwischen µC und dem PC braucht man in der Regel nur 1 etwas längeres Kabel, wenn überhaupt. Das wäre in der Regel das LPT kabel bis zum Porgrammer. Für die Verbindung Programmer zur Zielschaltung kann man bei unter 40 cm bleiben und kommt dann ohne extra Treiber aus.

Meine Wahl wäre folgendes: Einen 74HC244 mit der Spannung vom µC zu betreiben. Zum LPT Port kommt dann die Pegelwandlung: Vom LPT zum HC244 entweder mit Shottkydiode und Pullup (ggf. auch nur mit einem Widerstand von z.B. 1-2 K). Für das CLK Signal wäre ein RC Filter und etwas Hysterese angebracht. Die Hysterese kann man durch Rückkopplung vom Ausgang zum Eingang des HC244 erhalten, so wie bei einer Bus-hold Schaltung. Am Ausgang des HC244 wäre für die CLK Leitung noch eine extra Last (ca. 50-100pF) und ein Widerstand von vielleicht 50 Ohm vor dem Kabel sinnvoll. Das sollte für eine passende Anstiegszeit von etwa 10-20 ns sorgen und Reflexionen am Kabel nicht zu groß werden lassen.

Das MISO Signal geht auch erstmal durch den HC244 und dann kommt eine Pegelwandlung per Transistor in Basisschaltung mit Pullup von 5 V. Die 5 V kann man eventuell direkt vom LPT holen, einfach von einem sonst nicht genutztem PIN. Das ist nicht ideal, spart einem aber die extra Versorgung. Wie man das mit den Enable Leitungen macht müsste man noch mal sehen, ggf. wäre ein HC367 oder HC125 die bessere Wahl. So wie ich es sehe braucht man für CLK, MOSI, Reset und CLK je 1 Treiber mit Enable, und für CLK und MISO einen der immer aktiv ist. Da sollte der HC244 oder der etwas kleinere HC367 gerade reichen. Wenn man ein 2. IC dazu nimmt, dann eher ein HC14 als Schmidtrigger für CLK und ggf. MISO.

Noch brauchbarer Link für LPT Programmer:
http://elm-chan.org/works/avrx/report_e.html

p.s. Bisher hatte ich mit dem dort gezeigten
Programmer (STK200 bufferd mit dem 74HC125) keine Problem, geht aber nicht für 2 V.