Projekt
Hardware
Typenliste




UPROG2: Universeller Programmer für Linux

V1.43 (c) 2017-2023 Jörg Wolfram




1 Allgemeines

Gleich vornweg: Eine 1:1 Nachbauanleitung gibt es nicht, da ich meist die Bauteile nehme, die ich geade da habe oder von alten Projekten und Leiterplatten recyclen kann. Daher gibt es nicht immer explizit Typangaben, dafür aber Erlärungen im Text. Die Schaltung ist sicherlich nicht optimal und entspricht auch nicht ganz den Spezifikationen des eingesetzten ATMega. So läuft der Controller bei 3,3V und 20MHz und der zu programmierende Controller wird aus 4 parallelgeschalteten Portpins versorgt. Letzteres könnte man z.B. durch zwei externe Transistoren/FETs verbessern, bis jetzt funktioniert die Schaltung aber in mehreren Varianten einwandfrei.

2 USB und Versorgung

Bei der USB-Variante wird der Programmer aus der USB-Schnittstelle mit Spanung versorgt. Die Schottky-Diode am Massepin des 3,3V Spannunsreglers glicht die Flussspannung der Diode am Ausgang aus. Eine 200mA Polyfuse sorgt dafür, dass bei einem Kurzschluss nicht Schlimmeres passiert.


Der Typ des 3,3V Spannungsreglers ist unkritisch, Er sollte ab ca. 4,5V funktionieren und dabei 500mA bei 3,3V liefern. In meinem Programmer habe ich einen LM1117MPX-3.3 eingesetzt. Der FET sollte eine möglichst kleine Ugs haben (Logic-FET).

3 Die Zentraleinheit

Kern ist ein ATMega644, der mit 20MHz getaktet wird. Die notwendige Firmware muss vor der ersten Verwendung via ISP-Header auf den Chip geflasht werden. Spätere Updates erfolgen dann über USB.


Insgesamt sind drei LEDs verbaut, eine grüne für die Betriebsspannung, eine gelbe für den 5V-Betrieb und eine rote als Aktivitätsanzeige. Die Festlegung der Anzahl der Programmierpins resultiert übrigens aus der DSUB9-Verbindung von älteren Varianten.

4 Programmierspannungs-Erzeugung

Die Programmierspannung (hauptsächlich für PIC-Controller) besteht aus einem PWM-gesteuerten Aufwärtswandler sowie einem OPV zum Ein-/Ausschalten. Der FET sollte wieder eine möglichst kleine Ugs haben (Logic-FET).


Über den zweiten OPV wird die Programmierspannung gemessen und ggf. nachgeregelt.

5 Variante mit Bluetooth

Die Variante mit Bluetooth ist zur Zeit nicht dokumentiert, da sie nur als Lochrasteraufbau vorliegt. Als Bluetooth-Modul wird ein BTM112 oder BTM222 verwendet, die Power-Led habe ich dabei an den LINK-Anschluss des BT-Moduls angeschlossen. Dazu konnt noch ein LIPO-Akku nebst Step-Up auf 5V und Ladeelektronik, das könnte man aber durch eine kleine PowerBank ersetzen. DieBaudrate abe ich auf 230,4K festgelegt, außerdem muss PD4 für die Bluetooth-Variante auf Masse gelegt werden.

6 Device-Umschaltung

Die Device-Umschaltung (ab Version 1.30) ist nicht sonderlich kompliziert und auch nicht dargestellt, da ich sie "mal schnell" auf Lochraster aufgebaut habe. Die folgende Schaltung ist nur ein Beispiel:


Die lezten beiden Steuersignale gehen hier nur an Device 1. Die meisten Devices kommen mit den ersten 4 Steuersignalen (nach GND/VCC) aus, so dass das kein Problem ist.

created with latex2web.pl v0.64 © 2006-2018 Joerg Wolfram