MMR-70 Hack: ISP-Programmmer für den Palm

Der folgende Artikel beschäftigt sich mit dem Bau eines ISP-Programmers für den Einsatz von pAVRasm auf meinem m505. Für die mobile Entwicklung habe ich das ganze mit einem kleinen Steckbrett gekoppelt. Damit kann auch gleich die passende Schaltung unterwegs entstehen.
ISP Programmer für den Palm
Die einfachste und günstigste Methode sich einen ISP-Programmer für den Palm zu basteln ist der Umbau eines Sony Ericsson FM Transmitters. Dieses Stück Hardware war ein kleines AVR-basiertes FM-Sendemodul für Handys. Die Kommunikation ging dabei über die RS232 Schnittstelle. Diese Module bekommt man in der Bucht teilweise schon für unter einen Euro. Oft günstiger als der Controller selbst. Für unser Vorhaben brauchen wir außer einer neuen Firmware nur ein paar wenige Änderungen an der Hardware, denn es ist bereits alles drauf was wir so brauchen.
MMR-70 Transmitter Board
Die neue Firmware
Als Grundlage für den Programmer dient die Software des AVR-Prog von Klaus Leidinger. Der Code wurde lediglich an den ATMega32L des MMR-70 angepasst. Programmiert wird der MMR-70 per ISP. An den Fuses muss nichts verändert werden sie bleiben (LOW: 0xEF HIGH: 0xDF).
Die Anschlussbelegung zum Brennen der Software ist folgende:
VCC TP11 (3V-5V)
GND TP1
RESET TP2
SCK TP10
MISO TP3
MOSI TP7
Hardwareseitige Anpassungen
Der Transmitter bringt eine Besonderheit mit die wir anpassen müssen. TX und RX sind üblicherweise bei SonyEricsson zu einer Eindraht-RS232 zusammengefasst. Dies lässt sich jedoch einfach beheben indem wir die Schottkydiode (roter Kreis im Bild) auslöten und umdrehen. TX und RX sind jetzt getrennt. TP14 ist nun der RX-Anschluss und der freie Pol unserer in der Luft hängenden Diode ist unser TX. Zum Anschluss an den Palm (Palm Universal Connector) verbinden wir nun die serielle Schnittstelle beider Geräte wie folgt:
RX (TP14) -> TxD Pin 11
TX (Schottkydiode) -> RxD Pin 10
GND TP1 -> GND Pin 7 bzw. Pin 1
VCC TP11 (3V-5V) -> Pin 9 (+3.2 V, 100 mA max.)
Mit der Verwendung des Vout Anschlusses (Pin 9) am Palm Connector sparen wir uns eine externe Stromversorgung für den Programmer als auch für den später zu programmierenden Controller. Doch Vorsicht eine zu hohe Belastung könnte dem Palm schaden.
Für meine Lösung habe ich mir aus einer Ladestation die Connector-Buchse ausgelötet. Ein Einbau des Programmers in die Ladeschale wäre auch denkbar. Es ist noch genug Platz im Gehäuse vorhanden. Ich zog eine mobile Lösung vor.
Das war es schon. Der neue Programmer ist fertig und wartet auf seinen ersten Einsatz. Der zu programmierende Controller wird folgendermaßen angeschlossen:
VCC TP11
GND TP1
RESET TP5
SCK TP10
MISO TP3
MOSI TP7
Links und Referenzen:
Download: