Wenn du mit ATmegas in TQFP-Gehäusen arbeitest, sind Boards mit Test-Sockeln, wie sie auf dem Bild oben zu sehen sind, ein wirklich unersetzliches Werkzeug.

Ich habe diese Sockel-Boards über AliExpress bestellt. Dabei handelt es sich um ein TQFP100-Sockel-Board namens ATmega-TQFP100 sowie um ein QFP64-Sockel-Board namens AVR-QFP64. Mit diesen Boards kannst du alle MCUs von MCUdudes MegaCore programmieren und debuggen. Die Boards haben JTAG- und ISP-Anschlüsse sowie einen RESET-Taster und werden über eine Mini-USB-Buchse mit Strom versorgt. Und sie kommen komplett ohne Manual.

Tja, wozu braucht man überhaupt ein Manual? Die meisten Dinge sind ziemlich selbsterklärend. Die Jumper-Einstellungen sind es allerdings nicht unbedingt. Also schauen wir uns mal die weniger offensichtlichen Dinge an.

Das QFP64-Board hat drei Programmier-/Debug-Anschlüsse, die klar mit JTAG, ISP6 und ISP10 beschriftet sind. Rechts davon befindet sich die USB-Buchse. Unterhalb des ISP10-Anschlusses befindet sich ein Jumper, mit dem man zwischen 5 V und 3,3 V Versorgungsspannung wählen kann (rote Ellipse). Die nicht ganz offensichtlichen Jumper befinden sich unterhalb des ISP6-Anschlusses und sind auf dem untenstehenden Bild mit einer blauen Ellipse markiert.

Diese Jumper dienen dazu, die Verbindung zu den richtigen ISP-Pins herzustellen. Deshalb musst du dich nur dann darum kümmern, wenn du die SPI-Programmierung verwenden willst. Die Beschriftung ist etwas verwirrend. Wenn man sich jedoch die Pinbelegungen der Chips dieser ATmega-Familie anschaut, wird alles klar. ATmega64, ATmega128, ATmega1281, ATmega2561, AT90CAN32, AT90CAN64 und AT90CAN128 verwenden Pin 2 und 3 für die SPI-Programmierung, während ATmega165, ATmega325, ATmega645, ATmega169, ATmega329 und ATmega649 die Pins 12 und 13 nutzen. Setze beide Jumper nach rechts, wenn du mit Chips aus der ersten Gruppe arbeitest, und nach links, wenn du mit Chips aus der zweiten Gruppe arbeitest.

Die Jumper-Einstellungen auf dem TQFP100-Board sind deutlich offensichtlicher. Die mit roten Ellipsen markierten Jumper dienen dazu, eine zusätzliche Vcc-/GND-Verbindung für die MCUs ATmega640, ATmega1280 und ATmega2560 herzustellen. Die Beschriftung auf dem Board gibt also klare Anweisungen (wenn man die MCUs ignoriert, die ohnehin nicht in den Sockel passen).

Ein kleines Rätsel ist der Anschluss, der mit einer grünen Ellipse markiert ist. Ich hatte gehofft, dass es vielleicht ein ISP6-Anschluss ist. Das ist aber nicht der Fall. Die sechs Pins sind mit den MCU-Pins 78, 79, 80, 83, 84 und 85 verbunden (von links nach rechts, von oben nach unten). Diese MCU-Pins haben keine besondere Funktion. Die mit einer blauen Ellipse markierten Pins sind die USB-Pins D+ und D-. Der magentafarbene Kreis kennzeichnet schließlich den Sockel für einen Quarz oder Resonator. Am überraschendsten ist allerdings, dass es keinen Jumper zum Umschalten der Versorgungsspannung gibt. Sie ist fest auf 3,3 V eingestellt, obwohl ein 5-V-Regler auf dem Board vorhanden ist.

Wenn man das alles verstanden hat, sind diese Boards wirklich unersetzlich. Das gilt besonders dann, wenn man mit einer großen Anzahl unterschiedlicher MCUs und Debuggern arbeiten muss – so wie ich es getan habe, als ich den GDB-Server PyAvrOCD, den ich entwickle, mit allen MegaCore-MCUs getestet habe.

Views: 2