So isolieren Sie Entwicklungstools von defekter Hardware

Von Jacob Beningo

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Das Anschließen eines Entwicklungstools, Laptops oder anderer Ressourcen an elektronische Hardware zum Testen und Debuggen ist riskant. Während Direktverbindungen über UART, SPI, I2C und andere Busse notwendig sind, um das Verhalten des Systems zu überwachen, kommt es nicht selten vor, dass die gerade entwickelte Hardware ausfällt. Diese kann dann unerwünschte Spannungs- und Stromwerte über diese Schnittstellen senden, die zu Schäden an diesen Tools und Laptops führen.

Dabei sind diese Tools oft teuer. Doch hinzu kommt noch, dass laut Murphys Gesetz die Hardware und damit die Tools immer im ungünstigsten Moment ausfallen. Das Ergebnis: Projektverzögerung und zusätzliche Aufwendungen für Expressversand, um schnell wieder arbeitsfähig zu sein.

In diesem Artikel wird erläutert, wie Entwickler ihre Investition in Tools schützen können: mit Schnittstellen, die auf preiswerten Isolierung-ICs basieren – einbaufähig in weniger als 30 Minuten. Er befasst sich auch damit, wie diese Isolatoren ausgewählt werden können, und bietet verschiedene Tipps und Tricks, um sicherzustellen, dass bei Hardware-Ausfällen nicht auch noch die Entwicklungstools und Laptops beschädigt werden.

Überlegungen zur Auswahl eines Isolators

Ein Isolator teilt einen Kreis in zwei Kreise, getrennt durch eine Isolierungsbarriere. Die Kreise auf jeder Seite der Barriere werden separat mit Strom versorgt und geerdet. Die Barriere wirkt wie ein Filter, der hohe Spannungen und Transienten blockiert und nur die zu übertragenden digitalen Informationen oder Daten über einen Kopplungsmechanismus von einer Seite auf die andere gelangen lässt. Der Kopplungsmechanismus ist in der Regel kapazitiv, magnetisch oder optisch.

In vielen Fällen wird der Leser feststellen, dass für jede Schnittstelle, für deren Schutz er sich interessiert, mehr als nur eine Option zur Verfügung steht. Zum Beispiel werden die I2C-Isolatoren oft in sowohl kapazitiven als auch magnetischen Varianten angeboten. Bevor wir uns für eine der Technologien entscheiden, müssen wir uns darüber im Klaren sein, in welcher Umgebung wir arbeiten.

Bei der kapazitiven Kopplung wird ein sich veränderndes elektrisches Feld verwendet, um Daten über die Isolationsbarriere hinweg zu übertragen. Das macht sie zu einer großartigen Option bei Anwendungen, bei denen starke Magnetfelder auftreten können. Durch die kapazitive Kopplung lässt sich tendenziell auch ein geringerer Platzbedarf auf der Platine und ein energieeffizienterer Betrieb erzielen – zwei gute Gründe für diese Variante bei vielen Anwendungen. Es ist jedoch zu beachten, dass die kapazitive Kopplung manchmal zu Rauschproblemen aufgrund des gemeinsamen Signalwegs führt.

Bei der magnetischen Kopplung werden sich verändernde Magnetfelder verwendet, um Daten über die Isolationsbarriere hinweg zu übertragen. Das macht sie zu einer großartigen Option bei Anwendungen, bei denen starke elektrische Felder auftreten können. Bei der magnetischen Kopplung kommen häufig kleine Transformatoren zum Einsatz, was zur Rauschunterdrückung beiträgt und eine hocheffiziente Energieübertragung über die Barriere ermöglicht.

Bei der optischen Kopplung werden optische Impulse verwendet, um Licht über eine nicht leitfähige Barriere hinweg zu übertragen. Das macht sie zur perfekten Option für verrauschte Elektrik und magnetische Umgebungen. Im Gegensatz zu magnetisch und kapazitiv gekoppelten Signalen werden bei der optischen Kopplung stationäre Signale über die Barriere hinweg übertragen. Die Nachteile bei Verwendung optischer Koppler sind, dass sie einer Geschwindigkeitsbegrenzung unterliegen können und ihr Betrieb mehr Leistung erfordert.

Vor dem Hintergrund dieser unterschiedlichen Technologien und ihrer Merkmale besteht der nächste Schritt darin, die verschiedenen Busprotokolle zu untersuchen und nacheinander zu erkunden, wie sich die Entwicklungstools an den verschiedenen Schnittstellen isolieren lassen.

Auswahl eines I2C-Isolators

Eine tolle Möglichkeit für Entwickler, Treiber für Geräte außerhalb des Microcontrollers zu entwickeln, ist der Einsatz eines Busspionage-Tools in einer beliebigen Ausführung. Diese Tools ermöglichen dem Entwickler die Überwachung des Busverkehrs. Ein hochwertiges und damit auch teureres Tool erlaubt es dem Entwickler zudem, Nachrichten auf den Bus zu injizieren.

Eine kleine Anekdote: Ich hatte einmal ein I2C/SPI-Kombitool, das ich an den I2C-Bus eines Kunden angeschlossen hatte. Seine Hardware fiel aus und legte 42 Volt an den I2C-Bus an, wodurch seine Hardware zerstört wurde – und mein Entwicklungstool gleich mit. Hätte ich einen I2C-Isolator zum Schutz meiner Tools verwendet, wären mir die Zusatzkosten für ein neues Tool und außerdem noch die Expressliefergebühren erspart geblieben.

Es gibt mehrere Merkmale, die man bei der Auswahl eines I2C-Isolators berücksichtigen sollte. Zunächst: Die Spannungsisolation sollte mindestens 2500 V(eff) betragen. Dieses Isolationsniveau schützt vor 90 % oder mehr aller Pannen bei der Entwicklung von Embedded-Lösungen. Zweitens: Die Datenrate des Isolators sollte geprüft werden. Standard-I2C arbeitet mit 100 Kilobit pro Sekunde (Kbit/s) und 400 Kbit/s. High-Speed-I2C arbeitet mit 1000 Kbit/s. Das Tool oder die Anwendung bestimmt, welcher Isolator und welche Isolatortechnologie am besten ausgewählt werden sollte.

Es gibt unterschiedliche Allzweck-I2C-Isolatoren, die gut für den Schutz von Entwicklungstools geeignet sind. Als Allzweck-Isolator ist der ADUM3211ARZ-RL7 von Analog Devices eine gute Option (Abbildung 1).

Schaltbild des magnetisch gekoppelten 2-kanaligen Allzweck-Isolators ADUM3211 von Analog Devices

Abbildung 1: Der ADUM3211 ist ein magnetisch gekoppelter 2-kanaliger Allzweck-Isolator, der mit bis zu 1000 Kbit/s arbeiten kann. (Bildquelle: Analog Devices)

Der ADUM3211 nutzt die magnetische Kopplung zum Übertragen von Daten über die Barriere hinweg – mit Datenraten bis zu 1000 Kbit/s. Dieser Isolator ist damit für High-Speed-I2C geeignet, enthält aber keine bidirektionale Barriere. Das bedeutet, dass das Entwicklungstool den Bus überwachen kann, aber es ist nicht in der Lage, auf ihn zu schreiben, was jedoch für die meisten Anwendungen absolut ausreichend ist.

Zum Schutz von Entwicklungstools, die sowohl den Bus überwachen als auch Daten auf ihn injizieren müssen, ist der I2C-Isolator ISO1541DR von Texas Instruments eine hervorragende Wahl (Abbildung 2). Der ISO1541 nutzt die kapazitive Kopplung in einem SOIC-8-Gehäuse zur bidirektionalen Datenübertragung mit bis zu 1000 kbit/s. Der Isolator enthält zwei getrennte Isolationskanäle: einen für das Datensignal (SDA) und einen für das Taktsignal (SCL).

Schaltbild des I2C-Isolators ISO1541DR von Texas Instruments

Abbildung 2: Der I2C-Isolator ISO1541DR von Texas Instruments enthält zwei bidirektionale Isolationskanäle, die auf bis zu 1000 Kbit/s ausgelegt sind. (Bildquelle: Texas Instruments)

Beachten Sie, dass beide Bausteine aus Abbildung 1 und Abbildung 2 voraussetzen, dass die Toolseite ihre Seite des Isolators mit Strom und die Zielseite ihre eigene Seite versorgt. Oft wird diese Versorgung aus der jeweiligen Quelle vergessen, was dann dazu führt, dass die Kommunikation über die Barriere hinweg nicht klappt. Daher sollte beim Setup unbedingt darauf geachtet werden, dass beide Seiten mit Strom versorgt werden.

Auswahl eines SPI-Isolators

Der Schutz des SPI-Busses kann sich ein bisschen verzwickter gestalten als der des I2C-Busses. Der I2C-Bus enthält lediglich zwei Übertragungsleitungen, egal wie viele Geräte an den Bus angeschlossen sind. Im Gegensatz dazu enthält der SPI-Bus drei Datenleitungen: für „Master out“, „Master in“ und das Taktsignal. Zusätzlich zu diesen drei Leitungen wird für jedes an den SPI-Bus angeschlossene Gerät noch eine „Slave Select“-Leitung benötigt. Es ist daher unbedingt erforderlich, dass jeder SPI-Isolator auch mehrere isolierte Leitungen für die Slave-Select-Leitungen enthält.

Es gibt verschiedene Optionen, die sich gut zum Schutz eines SPI-Entwicklungstools eignen. Da wäre zunächst der SPI-Isolator ADUM3154 von Analog Devices. Der ADUM3154 nutzt die magnetische Kopplung zur Datenübertragung über die Isolationsbarriere hinweg, mit Datenraten bis zu 17 Megabit pro Sekunde (Mbit/s). Damit deckt er nicht nur die maximale Baudrate für die meisten Mikrocontroller-SPI-Peripheriegeräte von 4 Mbit/s ab, sondern auch Datenraten, die für Controller für Speicherschnittstellen üblich sind. Der ADUM3154 unterstützt zudem bis zu vier isolierte Slave Selects (Abbildung 3).

Schaltbild des 4-Kanal-SPI-Isolators ADUM3154 von Analog Devices

Abbildung 3: Der ADUM3154 ist ein 4-Kanal-SPI-Isolator von Analog Devices mit Datenraten bis zu 17 Mbit/s. (Bildquelle: Analog Devices)

Für Fälle, wo selbst 17 Mbit/s nicht schnell genug sind, bietet Analog Devices außerdem den ADUM3151BRSZ-RL7 (Abbildung 4).

Schaltbild des 7-Kanal-SPI-Isolators ADUM3151 von Analog Devices

Abbildung 4: Der ADUM3151 ist ein 7-Kanal-SPI-Isolator von Analog Devices mit Datenraten bis zu 34 Mbit/s. (Bildquelle: Analog Devices)

Der ADUM3151 nutzt ebenfalls die magnetische Kopplung, bietet jedoch Datenraten bis zu 34 Mbit/s. Er bietet zudem vier Kanäle, die als Slave Selects verwendet werden können.

Auswahl eines SWD-Isolators (Serial Wire Debug)

Die teuersten Entwicklungstools, die ein Entwickler von Embedded Software nutzt, verfügen in der Regel über eine Debug-Sonde. Eine gute Debug-Sonde kann gut und gerne mehrere Tausend Euro kosten. Daher sollte man keine unnötigen Risiken eingehen, auch wenn die Wahrscheinlichkeit, dass bei den Programmierungsleitungen etwas schief geht, relativ gering ist.

Ein Entwickler könnte zwar eine eigene Isolationslösung zum Schutz aller SWD-Leitungen entwickeln, aber das wäre doch sehr zeitaufwendig und teuer. Stattdessen besteht eine einfache Lösung im Einsatz des J-Link SWD-Isolators von SEGGER Microcontroller Systems (Abbildung 5).

Bild des J-Link SWD-Isolators von SEGGER Microcontroller Systems

Abbildung 5: Der J-Link SWD-Isolator von SEGGER Microcontroller Systems bietet 1000 Volt Isolierung zwischen einem Debug-Programmierer und dem Zielsystem. (Bildquelle: SEGGER Microcontroller Systems)

Das J-Link SWD bietet 1000 VDC Isolierung zwischen dem Emulator und der Zielhardware.

Auswahl und Aufbau eines UART-Isolators

Viele Entwickler meinen vielleicht, die Isolierung eines kleinen UART sei reine Verschwendung von Zeit und Geld. Denn schließlich könnte ein so preisgünstiges Tool wie die USB-zu-Seriell-Breakout-Karte BOB-12731 von SparkFun Electronics problemlos ersetzt werden, wenn damit etwas passiert. Doch falls wirklich mal etwas passiert, können auf der anderen Seite schnell Kosten von mehreren Tausend Dollar bei der Computertechnik entstehen. Daher lohnt sich der zusätzliche Aufwand an Zeit und Geld durchaus.

Die Zusammenstellung einer UART-Schutzschaltung ist eine einfache Angelegenheit, und ähnliche Schritte können befolgt werden, um auch andere Busschnittstellen zu schützen. Zunächst muss ein Isolator ausgewählt werden. Hier ist der oben erwähnte ADUM3211 eine gute Wahl, weil er zwei High-Speed-Isolationskanäle bietet, die in beide Richtungen arbeiten. Damit eignet er sich perfekt für die Tx/Rx-Leitungen eines UART, die oft direkt nebeneinander liegen.

Sobald der Isolator ausgewählt ist, kann sich der Entwickler eine Breakout-Karte besorgen, zum Beispiel die LCQT-SOIC8-8 von Aries Electronics (Abbildung 6). Sie verfügt bereits über Steckleisten und kann problemlos auf den BOB-12731 gelötet werden.

Bild der LCQT-SOIC8-8 von Aries Electronics

Abbildung 6: Die LCQT-SOIC8-8 von Aries Electronics ist eine Breakout-Karte für einen SOIC-8-Chip, die bereits über Jumper verfügt, mit denen sich schnell eine Verbindung mit einem Zielgerät aufbauen lässt. (Bildquelle: Aries Electronics)

Beim Löten des Isolators auf die Karte und dann an den UART-Adapter muss unbedingt auf die korrekte Anordnung der Spannungs- und Massepins geachtet werden. Bei fehlerhafter Anordnung wird der Isolator nicht mit Strom versorgt. Es muss auch auf die richtige Richtung des Isolatorkanals geachtet werden. Wenn die Breakout-Platte oder der Isolator nicht richtig angeordnet sind, kann eine maßgeschneiderte Platine erforderlich werden (Abbildung 7).

Bild einer UART-Isolatorschaltung

Abbildung 7: Eine zusammengebaute UART-Isolatorschaltung, die mit dem USB-zu-UART-Wandler verbunden ist, ermöglicht eine maßgeschneiderte isolierte Kommunikation mit dem Zielgerät. (Bildquelle: Beningo Embedded Group)

Nach dem Zusammenbau liefert der USB-zu-UART-Wandler den Strom für die Toolseite des Isolators, während das Zielgerät die Stromversorgung der Zielseite übernimmt. Das Ergebnis: ein isoliertes bidirektionales UART-Tool, das vor bis zu 2500 Volt geschützt ist.

Tipps und Tricks für die Isolation von Entwicklungstools

Es gibt zahlreiche Techniken und Isolationsschnittstellen, die zum Schutz von Entwicklungstools verwendet werden können. Hier einige Tipps und Tricks zum Schutz dieser Investitionen:

  • Studieren Sie das Datenblatt, und vergewissern Sie sich, dass die Spezifikation der Spannungsisolation Ihren Anforderungen entspricht.
  • Machen Sie sich mit den verschiedenen Isolationsmechanismen vertraut, und achten Sie darauf, die richtige Technologie für die jeweilige Anwendung auszuwählen.
  • Isolieren Sie alle Busse oder Schnittstellen mit direkter Rückverbindung zum USB-Anschluss an einem Laptop: sie sind potenziell schädliche Massewege.
  • Setzen Sie zur Einsparung von Entwicklungszeit und -kosten vorhandene Entwicklungskits für den ausgewählten Isolator ein, oder nutzen Sie Breakout-Platten.
  • Schützen Sie einen professionellen Debugger durch Verwendung eines SWD-Isolators.

Fazit

Viele Entwickler von Embedded-Lösungen denken gar nicht darüber nach, wenn sie ein teures Entwicklungstool an ein Stück Hardware anschließen, das getestet werden soll. Normalerweise gibt es dabei auch keine Probleme. Doch es können Situationen auftreten, in denen etwas Unerwartetes passiert und die Entwicklungswerkzeuge Spannungen und Strömen jenseits ihrer Spezifikationen ausgesetzt und beschädigt werden. Um sich den Ärger zu ersparen, den Sie dann hätten, um in der Endphase eines Projekts schnell wieder arbeitsfähig zu sein, sollten Sie lieber einige wenige Stunden in die ordnungsgemäße Isolierung Ihrer Entwicklungstools investieren. Dazu stehen Ihnen heute zahlreiche Isolierungslösungen zur Verfügung. Letztlich ein kleiner Aufwand, der Ihnen jedoch einen effizienteren und weniger kostspieligen Entwicklungsprozess sichert.

 
DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo ist ein Berater für eingebettete Software, der derzeit mit Kunden in mehr als einem Dutzend Ländern zusammenarbeitet, um ihr Unternehmen durch die Verbesserung von Produktqualität, Kosten und Markteinführungszeit dramatisch zu transformieren. Er hat mehr als 200 Artikel über Entwicklungstechniken für eingebettete Software veröffentlicht, ist ein gefragter Redner und technischer Trainer und verfügt über drei Abschlüsse, darunter einen Masters of Engineering der University of Michigan. Bei Interesse können Sie ihn unter jacob@beningo.com kontaktieren oder besuchen Sie seine Website www.beningo.com und melden Sie sich für seinen monatlichen Embedded Bytes Newsletter an.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey