Atmel-ICE-Adapter

Aus Hobbyelektronik.org
Version vom 7. Mai 2019, 22:34 Uhr von Chris (Diskussion | Beiträge) (Dateiname für Download korrigiert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Über die Zeit haben sich doch ein paar AVR-Programmer angesammelt: der AVR-Doper, ein AVR-Dragon (mit dem ich gar nicht grün wurde), ein Diamex ALL-AVR und schlussendlich ein Atmel ICE.

Bis zum ICE war die Verwendung aller Programmer gleich: Stiftwanne auf dem Programmer, Leitung dran und gut. Beim Doper und ALL-AVR konnte man zugleich auch noch das Target versorgen - super!

Problem

Beim ICE ist der Anschluss eher fummelig - ein filigranes Flachbandkabel im 1,27 mm-Rastermaß, am Ende ist ein 6-poliger 2,54 mm-Stecker. Für 1,27 mm liegt ein kleines Adapter-Board bei, das in anderer Hinsicht (IMHO) verdammt gefährlich ist: es gibt eine 10-polige Buchsenleiste an der AVR steht, allerdings mit JTAG dahinter.

Zumindest ich war so blöd und habe damit versucht über SPI zu programmieren. Das Target blieb aus Gründen dunkel, kaputt gegangen ist glücklicherweise nichts. Die Buchse ist nämlich nur für JTAG, nicht für SPI.

Der JTAGICE in der Arbeit erlitt nach 4 Jahren einen Leitungsbruch, bei dem eindrähtigen Flachbandkabel eigentlich auch kein Wunder. Warum Atmel/Microchip sich für diese winzigen Konnektoren entschieden hat, bleibt mir ein Rätsel, der Footprint eines (bzw. zweier) ".1 inch Header" wäre kaum größer. Wenn man mal schaut, wie man an diese Konnektoren kommt und wieviel sie kosten, sollte man sich festhalten. Mit ziemlich viel Geduld und Popelei ließ sich die Buchsenleiste neu verpressen, nochmal möchte ich das allerdings nicht machen.

Idee

Deshalb sollte eine Lösung zumindest für meine Probleme her:

  • Buchsenleisten für 6er und 10er SPI-Interface
  • Möglichst wenig Stress auf das Mini-Flachbandkabel
  • Versorgung des Targets möglich

Lösung

Atmel-ICE mit aufgeklebtem Adapter

Eine kleine Leiterkarte, die auf den Programmer geklebt werden kann, eine (leider eher unpraktische) eigene Versorgung hat und die gewünschten Buchsenleisten.

Für die Spannung kann zwischen "Feedthrough" vom USB und dem kleinen einstellbaren Linearregler, der bis zu 150 mA kann. Eine LED mit zeigt an, ob das Target versorgt wird (ok, macht der ICE im Prinzip auch):

Um die Pinbelegung der Wannenstecker nicht nachschlagen zu müssen, ist sie in Kurzform aufgedruckt (auf Layer _tsilk und _bsilk).

die BOM ist überschaubar:

Menge Referenz Wert Package Reichelt Bestellcode
1 SV5 MA05-2_127_SMD SL 2X10G SMD1,27
1 SV2 ML10 WSL 10G
1 SV1 ML6 WSL 6G
2 C4, C5 100n C0603 KEM X7R0603 100N
1 R17 10k S64Y 64Y-10K
1 C7 1u C0805 X7R-G0805 1,0/16
2 R2, R9 3k3 R0603 RND 0603 1 3,3k
1 R1 470 R0603 RND 0603 1 470
1 C6 4u7 10V C0603 KEM X5R0603 4,7U
1 T1 BC848 SOT23 BC 848A SMD
1 Q1 BSS138 SOT23 BSS 138 SMD
1 X1 MIUSB-F5M-BB-UHS MIUSB-F5M-BB-U_HANDSOLDER MIC USB BBU
1 IC3 TPS76301 SOT23-DBV TPS 76301 DBVR
1 LED1 red CHIP-LED0603 OSO LSQ971

Da die Pinbelegung des AVR-Ports des Atmel-ICE der des JTAGICE3 m. W. entspricht, dürfte der Adapter kompatibel sein. Habe es aber noch nicht getestet, daher ohne Garantie.

Fehler/Verbesserungspotenzial

  • Durch das falsche Symbol im Schaltplan (noch vorhanden) liegt der high-active Enable auf Masse. Ist im Schaltplan korrigiert, für die Leiterkarte braucht's ein Skalpell und Fädeldraht.
  • Besserer Footprint für die USB-Buchse
  • Statt des Jumpers wäre ein Ein-Aus-Ein-Schalter (z. B. "SS 25139 NH" von Reichelt) besser
  • Wenn schon USB-Buchse, dann mit Funktion:
    • Messung von Spannung und Strom des Targets (warum nicht auch mit Display?)
    • Reset per Kommando
    • UART-Interface
  • Buchse für JTAG (ist wirklich nur aus Platzgründen rausgeflogen)

Leiterkarten

Es gibt noch unbestückte Leiterkarten. Wer eine will, kann sich gerne bei mir melden.

Download

Datei:Atmelice-adapter.zip enthält:

  • Designdaten im EAGLE-Format