Archiv der Kategorie: Automatisierungstechnik

Sensoren abhängig vom A/D-Wandler auswählen – oder umgekehrt?

Dieser Tipp zeigt einen Vorschlag, wie man 24-Bit-A/D-Wandler dazu verwenden kann, um Verstärkerstufen zu eliminieren und damit auch deren Offset-, Drift- und Rauschbeiträge. Die Lösung ist einfach, die Gesamtleistung höher und die Kosten geringer.

Steht man vor der Aufgabe, ein A/D-Wandler-System zu entwickeln, wird man vermutlich als Erstes prüfen, welche Auflösung benötigt wird, und dann nach einem A/D-Wandler suchen, der diese Auflösung bietet. Um die geforderte Genauigkeit zu erreichen, ergänzt man anschließend das System um die nötigen Verstärkerstufen, so dass der interessierende analoge Bereich den Dynamikbereich des A/D-Wandlers abdeckt.

Bild 1: a) Bei diesem 12-Bit-SAR-ADC ist ein Sensor über einen Verstärker an den Wandler angeschlossen. In b) ist ein Sensor direkt an einen 24-Bit-Delta-Sigma-ADC angeschlossen.
Bild 1: a) Bei diesem 12-Bit-SAR-ADC ist ein Sensor über einen Verstärker an den Wandler angeschlossen. In b) ist ein Sensor direkt an einen 24-Bit-Delta-Sigma-ADC angeschlossen.

Aber es gibt eine Alternative. So kann man einen 24-Bit-Wandler verwenden, um Verstärkerstufen überflüssig zu machen und damit auch deren Offset-, Drift- und Rauschbeiträge zu beseitigen, die in einem System mit 12 bis 16 Bit Auflösung anfallen. Der 24-Bit-Wandler ermöglicht somit eine einfachere Lösung. Zudem ist die erreichbare Gesamtleistung höher, und das bei gleichen oder sogar niedrigeren Kosten.

Unter dem Strich würde dabei eine Schaltung entstehen, in der nur ein Teil des Dynamikbereichs des 24-Bit-A/D-Wandlers genutzt wird. Man würde einfach auf einige Bits verzichten! Trotzdem würde man noch immer die Auflösung und Genauigkeit des ursprünglichen 12- oder 16-Bit-Systems erreichen oder sogar übertreffen. Der 24-Bit-Wandler bewirkt gegenüber einem 12-Bit-A/D-Wandler eine unmittelbare Verbesserung der Systemverstärkung um 4096 und bietet zusätzlich die Funktion eines Verstärkers mit programmierbarer Verstärkung (Programmable Gain Amplifier, PGA). Der interne PGA im Delta-Sigma-Wandler kann die Verstärkung um einen weiteren Faktor von 64 bis 128 (produktspezifischer Wert) erhöhen.

Der erste Schritt bei der Schaltungsentwicklung besteht oft darin, den Sensor auszuwählen, der in der Schaltung zum Einsatz kommen soll, und sich dann dessen Ausgangssignalbereich anzusehen. Diesen Bereich passt man dann an den Eingangssignalbereich des A/D-Wandlers an. Bei diesem Ansatz wird für die Anpassung des Sensorsignals an den ADC-Eingangssignalbereich eine Analogverstärkerstufe benötigt. Man kann natürlich auch blindlings einen A/D-Wandler aussuchen, dessen Eingangssignalbereich genau dem Ausgangssignalbereich des Sensors entspricht. Bei beiden Strategien ist jedoch Vorsicht geboten. Da die tatsächliche Systemauflösung und -genauigkeit die entscheidenden Spezifikationen sind, sollte man sich ausführlicher mit dem vom System beigesteuerten Rauschen befassen.

Beispielsweise entspricht bei einem 12-Bit-System mit einem Bereich von 5 V und einem analogen Verstärkungsfaktor von 250 V/V das System-LSB (Least Significant Bit) einem Wert von 5 V / 250 / 212 oder 4,88 mV. Bild 1a veranschaulicht ein solches System.

Im zweiten Fall wird das Sensorsignal einem 24-Bit-Wandler ohne Verstärkung zugeführt (Bild 1b). Dies ist möglich, weil der LSB-Betrag des 24-Bit-Systems einer analogen Verstärkung von 4096 entspricht. Verfolgt man diese Schaltungsstrategie, kann man die Effekte einer analogen Potentialverschiebung eliminieren, wenn man die Differenzeingänge des A/D-Wandlers verwendet. Auf diese Weise kann man eine Spannung an den ADC-Minuseingang und zugleich das Ausgangssignal des Sensors an den ADC-Pluseingang anlegen. Der 24-Bit-A/D-Wandler ist zwar über seinen gesamten Eingangsspannungsbereich hinweg funktionsfähig, aber das Sensorausgangssignal bewirkt nur die Ausgabe eines Teils der ADC-Ausgangscodes. Die gezielte Auswahl dieses ADC-Teilbereichs hat zur Folge, dass nur der optimale Abschnitt des Signalbereichs genutzt wird. Setzt man einen 24-Bit-ADC mit einer effektiven Auflösung von 23 Bit ein, so ist dies dasselbe, als hätte man 2048 einzelne 12-Bit-Wandler über den Dynamikbereich des Wandlers verteilt.

Von Bonnie C. Baker, Texas Instruments

Universelles analoges Eingangsboard für SPS/DCS

In diesem Schaltungstipp stellen wir ein universelles analoges Eingangsboard mit vier- oder sechspoligen Anschlussblöcken vor, das für den Anschluss an SPSen und DCS-Module geeignet ist. Die Evaluierungssoftware wurde mit LabView entwickelt und arbeitet unter Windows XP, Vista und XP.

Die Schaltung in Bild 1 verfügt über zwei isolierte, universell verwendbare 16-Bit-Analogeingänge, die geeignet für den Anschluss an speicherprogrammierbare Steuerungen (SPS) und DCS-Module (Distributed Control System) sind. Beide Kanäle lassen sich per Software programmieren und unterstützen mehrere Spannungs- (0 bis 5 V; 0 bis 10 V; ±5 V; ±10 V) und Strombereiche (0 bis 20 mA; 4 bis 20 mA; ±20 mA) sowie verschiedene Thermoelemente (Typ K, J, T, S) und Widerstandsthermometer (RTD; PT100, PT1000).

Das Demonstrationsboard enthält zwei differenzielle, komplett isolierte und universell einsetzbare Eingangskanäle. Einer davon ist mit einem vierpoligen Anschlussblock (CH2), der andere mit einem sechspoligen Anschlussblock (CH1) ausgestattet. Beim vierpoligen Anschlussblock (CH2) teilen sich Spannungs-, Strom-, Thermoelement- und Widerstandsthermometer-Eingänge die gleichen vier Anschlüsse. Dadurch lässt sich die Anzahl der erforderlichen Anschlusspins minimieren. Beim sechspoligen Anschlussblock (CH1) nutzen die Spannungs- und Stromeingänge einen Satz mit drei Anschlüssen. Thermoelement- und RTD-Eingänge teilen sich ein weiteres Set mit drei Anschlüssen. Damit sind zwar mehr Anschlüsse erforderlich, doch reduzieren sich die Anzahl der Bauteile sowie die Bauteilkosten.

A/D-Wandler mit integriertem Instrumentenverstärker  

Der rauscharme 16 Bit A/D-Wandler AD7795 mit auf dem Chip integriertem Instrumentenverstärker und Referenz wird für die Datenwandlung verwendet. Durch die Ausstattung mit Instrumentenverstärker und Stromquellen repräsentiert der Sigma/Delta-Wandler eine Komplettlösung für Widerstandsthermometer- und Thermoelementmessungen.

Für die Spannungs- und Stromeingänge wird der Instrumentenverstärker AD8226 mit einer Gleichtaktunterdrückung >90 dB verwendet, um eine hohe Eingangsimpedanz zu erzielen und Gleichtaktinterferenzen zu unterdrücken. Die Spannungs- und Stromsignale werden mit einem Präzisionswiderstandsteiler auf den Bereich des A/D-Wandlers skaliert.

Der ADR441 ist eine extrem rauscharme Low-Dropout XFET-Spannungsreferenz mit 2,5 V und dient als Referenz für den A/D-Wandler. Für den vierpoligen Anschlussblock (CH2) wird der Latchup-feste Schalter ADG442 mit geringem Durchlasswiderstand (R ON ) verwendet, um zwischen Spannungs-, Strom-, Thermoelement- und RTD-Eingangsmodus umzuschalten.

Digital- und Versorgungsspannungs-Isolation  

Die Digital- und Versorgungsspannungs-Isolation wird mit dem ADuM3471 erreicht. Der ADuM3471 ist ein PWM-Controller und Transformatortreiber mit vierkanaligem Isolator, der zur Erzeugung einer isolierten Versorgungsspannung von ±15 V- mit einem externen Transformator dient. Auch der dreikanalige Digitalisolator ADuM1311 kommt bei der Schaltung mit vierpoligem Anschlussblock zum Einsatz. Er isoliert die Steuerleitungen für die Schalter ADG442.

Der 36 V Abwärts-DC/DC-Regler ADP2441 besitzt eine große Eingangsspannungstoleranz. Er eignet sich damit für in der Industrie übliche Versorgungsspannungen von 24 V. Das Bauteil akzeptiert bis zu 36 V und ermöglicht so einen zuverlässigen Transientenschutz am Versorgungseingang. Der ADP2441 erzeugt aus der Eingangsspannung jene 5 V, die den ADuM3471 sowie alle anderen Schaltungen auf der Controller-Seite versorgen. Die 24-V-Versorgung ist durch diskreten standardmäßigen Überspannungsschutz zusätzlich gesichert.

Zusatzfunktionen für Sicherheit und Zuverlässigkeit  

Der ADP2441 bietet eine Reihe von Zusatzfunktionen für Sicherheit und Zuverlässigkeit. Dazu gehören UVLO (Undervoltage Lockout), Precision Enable, Power-Good-Anschluss und interne Strombegrenzung. Der Baustein erreicht in der Konfiguration für 24 V am Eingang und 5 V am Ausgang einen Wirkungsgrad bis zu 90%.

Den ausführlichen Tipp finden Sie im Internet.

Der Autor: Songtao Mu arbeitet als Segment System Application Engineer bei Analog Devices in Wilmington, USA.

Isolierter analoger Ausgangskanal mit HART-Anschluss

 

 

 

In diesem Schaltungstipp stellen wir Ihnen einen komplett isolierten, einkanaligen Spannungs- und 4/20-mA-Stromausgang mit HART-Konnektivität vor.

 Bild 1: Blockschaltung (vereinfachte Darstellung; nicht alle Verbindungen und Entkopplung sind eingezeichnet) des isolierten Ausgangskanals für SPS/DCS-Steuermodule. Bild 1: Blockschaltung (vereinfachte Darstellung; nicht alle Verbindungen und Entkopplung sind eingezeichnet) des isolierten Ausgangskanals für SPS/DCS-Steuermodule.

Die Schaltung in Bild 1 zeigt einen vollständigen, komplett isolierten analogen Ausgangskanal, der sich für SPSen und verteilte Steuerungssystemmodule (DSC) eignet. Die Stromausgänge sind HART1-kompatibel (4/20 mA), die Ausgangsspannungen unipolar oder bipolar. Die Schaltung ist als flexibler Funktionsblock für SPS/DCS-Ausgangsmodule mit galvanischer Trennung zwischen den Kanälen oder für andere Industrieanwendungen, die einen komplett isolierten Analogausgang benötigen, gedacht.

Der 16 Bit D/A-Wandler AD5422 lässt sich per Software konfigurieren und stellt alle erforderlichen Strom- und Spannungsausgänge zur Verfügung (±5 V; ±10 V; 0/+5 V; 0/+10 V; +4/20 mA; 0/20 mA). Ein Überlastschutz von 10% ist an allen Spannungsbereichen gegeben. Das Bauteil enthält einen internen LDO am Anschluss DVcc zur Versorgung der Niedervoltschaltung.

Die 5-V-Präzisionsreferenz ADR02 ermöglicht eine Eingangsspannung bis 36 V. Sie weist eine maximale Genauigkeit von 0,05% sowie eine maximale Temperaturdrift von 3 ppm/°C auf. Das entspricht einem Fehler von etwa 0,02% über den industriellen Temperaturbereich.

Das HART-konforme IC-Modem AD5700-1 wird in Verbindung mit dem D/A-Wandler AD5422 verwendet, um eine komplette HART-konforme 4/20mA-Lösung zu bilden. Das Modem enthält einen Präzisionsoszillator, der für zusätzliche Platzersparnis sorgt – speziell in Anwendungen mit isolierten Kanälen. Der Ausgang des HART-Modems wird durch C1 und C2 gedämpft und über den Anschluss CAP2 in den AD5422 AC eingekoppelt.

SPS/DCS-Lösungen müssen vom lokalen Systemcontroller isoliert sein, um diesen vor Masseschleifen und externen Ereignissen zu schützen. Bei herkömmlichen Lösungen kommen diskrete ICs sowohl für Spannung wie auch für digitale Isolation zum Einsatz. Wenn eine mehrkanalige Isolation benötigt wird, sind die Kosten und der Platzbedarf von diskreten Power-Lösungen ein großer Nachteil.

Die Schaltung nutzt den vierkanaligen Digitalisolator mit integrierter Leistungsregelung für eine isolierte Leistung bis zu 2 W. Ein externer Transformator wird zur Leistungsübertragung über die Isolationsstrecke verwendet. Diese wird mit einer Brücke (D1 bis D4) gleichgerichtet. Die Regelung erfolgt von der 15-V-Versorgung über das Widerstandsteilernetzwerk (R1 und R2). Die negative Versorgung wird nur „lose“ geregelt.

Der ADP2441, ein 36 V Abwärts-DC/DC-Wandler akzeptiert eine Versorgungsspannung von 24 V mit einem Eingangsspannungsbereich von 4,5 bis 36 V. Er regelt die Versorgungsspannung auf 5 V herunter, mit der alle Controller-seitigen Schaltungen gespeist werden. Das Bauteil verfügt über eine Reihe von Sicherheits-/Zuverlässigkeitsfunktionen wie UVLO (Undervoltage Lockout), eine Präzisions-enable Funktion, einen „Power Good“-Anschluss und eine Überstromschutzschaltung.

Der AD5422 enthält Schutzdioden, die ihn vor Beschädigung bei normalem Gebrauch schützen. In der industriellen Steuerungsumgebung erfolgt der Schutz vor Transienten mit Überspannungsableitern, Strombegrenzungswiderständen und Dioden. Die Leistungsfähigkeit wurde bei 25°C evaluiert und lag innerhalb der erwarteten Grenzen: –0,05% TUE (Total Unadjusted Error) und –4 LSB INL im 4/20mA-Bereich.

Den ausführlichen Tipp finden Sie im Internet.

Der Autor: Derrick Hartmann arbeitet als Applikationsingenieur in der DAC-Gruppe bei Analog Devices in Limerick / Irland.

Interface – Happy or Sad Face?

 Happy Face
Happy Face

Gebräuchliche IC-Schnittstellen sind u.a. SPI, I2C und GPIO. Notwendige Voraussetzung für ein erfolg­reiches Design ist eine funktionierende Schnittstelle zwischen den Peripherie-ICs und dem Mikrocontroller oder der CPU. Doch weil diese Schnittstellen landläufig als simpel oder gar primitiv gelten, schenkt man ihnen oft zu wenig Beachtung. Die Zeit und Arbeit, die man dadurch in der Frühphase eines Projekts einspart, kann einen Entwicklungsingenieur glücklich machen… zumindest für den Augenblick. Diese Situation erinnert an den fröhlich dreinblickenden „Smiley“ :-) , der einem heutzutage auf Schritt und Tritt begegnet [1] und der hier als Metapher dient.

Vergessen Sie niemals Murphys Gesetz

Das „traurige“ Gesicht befällt den Entwicklungsingenieur in der Regel erst in der Spätphase des Projekts, wenn ihm Murphys Gesetz [2] – nachdem „alles, was schief gehen kann, auch schief gehen wird und zwar dann, wenn man es am wenigsten gebrauchen kann“ – betrifft. Dieser Artikel berichtet eine Episode, wie sie gar nicht so selten vorkommt. Es ist die Geschichte darüber, wie eine nicht funktionierende Schnittstelle aus einem fröhlichen Gesicht ein trauriges :cry: machen kann.

 Funktionsweise des SPI-Busses

Der von Motorola entwickelte Serial Peripheral Interface Bus, oder SPI (ausgesprochen wie das englische Wort für Spion, „spy“) ist ein synchroner, serieller Vollduplex-Datenbus [3]. Die daran angeschlossenen Geräte kommunizieren im Master/Slave-Modus, wobei der Master den Daten-Frame initiiert. Am Bus können mehrere Slaves hängen, die über Chip-Select-Leitungen adressiert werden. Gelegentlich wird SPI auch „serieller Dreidraht-Bus“ genannt (wenn nur Daten vom Master zum Slave und nicht in umge­kehrter Richtung übertragen werden) oder „serieller Vierdraht-Bus“ [4]. Zur Vermeidung von Erdschleifen lässt sich eine SPI-Schnittstelle (Datenübertragung ausschließlich vom Master zum Slave) auf einfache Weise galvanisch trennen. Die galvanische Trennung kann durch Optokoppler, Kondensatoren oder Übertrager erfolgen.

 Bild 1: Blockschaltbild eines SPI-Slaves (Schieberegister mit seriellem Eingang und parallelem Ausgang).
Bild 1: Blockschaltbild eines SPI-Slaves (Schieberegister mit seriellem Eingang und parallelem Ausgang).

Der erste Fehler, den einige Entwickler machen, ist anzunehmen, ein SPI-Bus sei intelligent. Dem ist nicht so. Bild 1 zeigt, wie ein SPI-Slave funktioniert; der Datenempfänger ist nichts anderes als ein simples Schieberegister mit einem seriellen Eingang und einem parallelen Ausgang.

Man kann nicht deutlich genug darauf hinweisen, dass ein SPI-Bus „dumm“ ist und nicht einmal eine einfache Fehlerprüfung durchführt. Es handelt sich im Wesentlichen um eine Kette aus Registern, in die Daten seriell eingeschrieben werden.

Wenn die Chip-Select-Leitung gesetzt wird, wird das Register ausgelesen und ein paralleles Datenwort an den Chip übergeben. Die SPI-Bits an sich haben keine Bedeutung im Sinne eines Protokolls. Eine Nachricht muss nicht einmal aus einer bestimmten Anzahl von Bits bestehen; es werden immer so viele Bits übertragen, wie der jeweilige Slave benötigt. Die Situation wird aus der Sicht des Entwicklers noch dadurch verkompliziert, dass mehrere Slave-Geräte unterschiedlicher Art und von unterschiedlichen Herstellern in einer Daisy-Chain-Konfiguration betrieben werden können. Natürlich müssen alle diese Geräte die gleiche Taktfrequenz und die gleichen Datenbeziehungen (einen der vier zur Auswahl stehenden „Modes“ [3]) verwenden.

Stellen Sie sich jetzt drei Slave-Chips in einer Daisy-Chain-Konfiguration vor. Chip 1 „sieht“ zunächst eine Reihe von Befehlen „vorbeiziehen“, die für Chip 3 bestimmt sind, danach eine Reihe von Befehlen, die für Chip 2 bestimmt sind. Die Chip-Select-Leitung eines Chips wird erst dann gesetzt, wenn der für diesen Chip bestimmte Befehl in das Register eingeschrieben wurde. Dann, und nur dann, hat ein Befehl für einen der Chips – nämlich für den per Chip-Select adressierten – eine Bedeutung.

Bei komplexen Systemen mit stark ausgelasteten SPI-Bussen kann es vorkommen, dass infolge eines Prozessor-Interrupts unvollständige SPI-Befehle gesendet werden; dies hat fatale Folgen. Man stelle sich vor, dass die ersten paar Bits eines Befehls in die ersten Zellen des SPI-Schieberegisters geschrieben werden und dann, bevor die Bits sich an der richtigen Registerposition befinden, die Chip-Select-Leitung gesetzt wird. Der (unsinnige) Inhalt des Schieberegisters wird dann als paralleles Datenwort an den Chip übergeben. Um zu vermeiden, dass unvollständige SPI-Befehle gesendet werden, ist es unbedingt erfor­derlich, Prozessor-Interrupts während der Ausgabe von SPI-Befehlen zu maskieren.

Wir wollen die ordnungsgemäße Arbeitsweise einer SPI-Schnittstelle am Beispiel eines 12-Bit-D/A­-Wandlers MAX5312 von Maxim Integrated illustrieren.

 Tabelle 1: Serielles Datenformat
Tabelle 1: Serielles Datenformat

Wie aus den Tabellen 1 und 2 ersichtlich ist, wird das höchstwertige Bit (MSB, Most Significant Bit) als erstes und das niedrigstwertige Bit (LSB, Least Significant Bit) als letztes in das Schieberegister eingeschrieben. Die ersten vier Bits sind Befehlsbits, die übrigen Bits sind Datenbits.

 Bild 2: Beispiel für eine SPI-Schnittstelle (aus dem Datenblatt des MAX5312).
Bild 2: Beispiel für eine SPI-Schnittstelle (aus dem Datenblatt des MAX5312).

Wie Bild 2 zeigt, wird der 4-Bit-Befehl als erstes gesendet. Mit 4 Bit lassen sich insgesamt 16 Befehle codieren, wovon jedoch nur sechs „gelistet“ sind und verwendet werden sollen. Es wird davor gewarnt, nicht gelistete Befehle zu verwenden.

Auf nicht gelistete Befehle kann ein Slave-Chip reagieren oder auch nicht. Auf jeden Fall kann man nicht sicher sein, dass etwas Gutes dabei herauskommt.

 Tabelle 2: Programmierbefehle für eine serielle Schnittstelle
Tabelle 2: Programmierbefehle für eine serielle Schnittstelle

Ganz im Gegenteil – wahrscheinlich kommt etwas Verhängnisvolles dabei heraus. Deshalb sollte man die Verwendung nicht gelisteter Befehle vermeiden[5].

Der MAX5312 besitzt außerdem Schmitt-Trigger-Eingänge um die Störsignalanfälligkeit zu minimieren.

Fehlerbild: „Mein SPI-Bus spielt gelegentlich verrückt“

Es kommt vor, dass ein Anwender besorgt feststellt, dass in seinem System unerklärliche Dinge geschehen, insbesondere unerwartete Reaktionen auf SPI-Befehle. Oft werden Störsignale als Ursache vermutet. Doch das ist eher unwahrscheinlich aus folgendem Grund:

Während Übertragungspausen müsste ein Störer das Signal CS (Chip Select) auf Low ziehen und gleichzeitig die Takt- und Datenleitung in den 30 bis 70% Pegelbereich bringen, was unwahrscheinlich ist. Während einer Datenübertragung reicht eine kurzzeitige Störung einer der Leitungen. Die Erfahrung zeigt jedoch, dass in solchen Fällen die Datenübertragung überhaupt nicht funktioniert oder die Daten werden völlig verstümmelt, der DAC-Ausgang würde also wilde Sprünge vollführen.

Es ist eine alte Weisheit ist, dass man bei der Diagnose eines Fehlers zuerst nach der wahrscheinlichsten Erklärung suchen sollte. In unserem Beispiel ist es viel wahrscheinlicher, dass die „unerklärlichen Vorgänge“ durch einen unvollständigen SPI-Befehl verursacht wurden.

Aber wie kommt es dazu, dass ein Befehl unvollständig übertragen wird? Während der Systementwicklung arbeitet man in der Regel mit einem kleinen System oder einer Untermenge des endgültigen, komplexen Systems. Das bedeutet, dass der Prozessor nur schwach ausgelastet ist und deshalb nur selten die Ausgabe eines SPI-Befehls durch einen Interrupt unterbrochen wird. Wenn das System wächst und der Prozessor immer mehr Befehle an immer mehr Geräte sendet, nimmt die Wahrscheinlichkeit dafür zu, dass ein SPI-Befehl durch einen Interrupt unterbrochen wird.
Deshalb müssen Interrupts während der SPI-Übertragung unbedingt maskiert werden.

Wie können sich Störsignale auf ICs auswirken?

Starke Störsignale können eine digitale Datenübertragung zum Erliegen bringen [6, 7]. Deshalb sollten die stärksten potenziellen Störquellen, beispielsweise Überspannungen infolge eines Blitzeinschlags, auf der Systemebene angegangen werden; nicht systemrelevante Probleme hingegen können auf der Chip-Ebene gelöst werden.

Ein typisches Beispiel für ein systemrelevantes Problem, mit dem ein gewöhnliches IC nicht fertig wird, ist eine instabile Betriebsspannung. Eine 3-V-Betriebsspannung, die zwischen 1 und 5 V schwankt, verursacht Fehler, die kein IC der Welt korrigieren kann. Zugegeben, das ist ein Extrembeispiel – aber so etwas kommt gar nicht so selten vor.

Täglich erleben wir Netzspannungstransienten, verursacht durch große Motoren, Lichtbogenschweißgeräte oder Überspannungen infolge von Blitzeinschlägen oder abrupten Laständerungen im Netz. Ausgedehnte Stromnetze müssen auf den veränderlichen Strombedarf durch Zuschalten oder Abtrennen von Kraftwerksressourcen reagieren. Diese Schaltvorgänge können Spannungsänderungen hervorrufen, die sich durch das ganze Stromnetz hindurch fortpflanzen können. Weitere potenzielle Quellen starker Störsignale sind hochfrequente Störstrahlung (RFI, Radio Frequency Interference), elektromagnetische Störeinstreuungen (EMI, ElectroMagnetic Interference) und elektrostatische Entladungen (ESD, ElectroStatic Discharge). In vielen Gegenden gibt es während des Sommers fast täglich Gewitter und im Winter elektrostatische Entladungen wegen der trockenen Luft. Alle diese potenziellen Quellen starker Störsignale müssen bei der Systementwicklung berücksichtigt und mit geeigneten Gegenmaßnahmen – beispielsweise Schutzerdung, Abschirmungen und Über­spannungsschutzbauteile – angegangen werden.

Typische Gegenmaßnahmen gegen die kleineren Probleme, die auf der Chip-Ebene behandelt werden müssen, sind: sternförmige Leiterbahnführung für Stromversorgungs- und Masseschienen; separate Layer für die Stromversorgungs- und Masseschienen von „sauberen“ (analogen) und „schmutzigen“ (digitalen) Spannungen [6]; Betriebsspannungsentkopplung durch Serienwiderstände, Induktivitäten, Ferritperlen und Parallelkapazitäten7.

Die genannten Störsignalquellen können Fehlfunktionen hervorrufen und müssen daher verhindert bzw. entschärft werden. Es sind zahlreiche Schutzbauteile verfügbar, die es ermöglichen, Störsignale von Versorgungsleitungen, Datenleitungen und Schnittstellen fern zu halten. Ein extremen Fällen muss man eventuell einen Watch-dog-Timer vorsehen, der den Systemprozessor gegebenenfalls neu startet.

I2C – nur einer von Dutzenden Schnittstellenstandards

Es gibt eine Unmenge Schnittstellenstandards, um nur einige zu nennen: RS-232, RS-422/RS-485, USB, Ethernet IEEE 802 mit unzähligen Suffixen, IO-Link, LIN bus, 1-Wire, I²C, SMBus, SPI, MICROWIRE/

MICROWIRE PLUS, M-Bus (EN1434), CAN (ISO11898)… Viele dieser Bezeichnungen sind Marken oder eingetragene Marken ihrer Schöpfer. Angesichts der Vielzahl und Vielfalt von Systemen, Protokollen, Standards und Substandards haben Entwickler die Qual der Wahl [8].

I2C (Inter-Integrated Circuit) ist ein serieller, mit unsymmetrischer Übertragungstechnik arbeitender Kommunikationsbus für den Anschluss von langsamen Peripheriegeräten an Fernsehapparate, Consumer-Produkte, Mobiltelefone oder sonstige elektronische Geräte. Die Technologie eignet sich gut für Kurzstreckenkommunikation innerhalb eines Gerätes oder einer Leiterplatte, wenn keine galvanische Trennung erforderlich ist. Sie wurde zudem für Anwendungen in verkabelten Systemen erweitert.

Wie die meisten Systeme hat auch die I2C-Schnittstelle ihre spezifischen Vor- und Nachteile. Eine grund­legende Beschränkung ist darin zu sehen, dass sie Pullup-Widerstände verwendet und dadurch für eine maximale Lastkapazität von 400 pF ausgelegt ist. Man würde sich außerdem eine geringere Leistungsaufnahme wünschen, insbesondere bei batteriebetriebenen Geräten.

Eine geringere Leistungsaufnahme würde allerdings mit niedrigerer Busgeschwindigkeit einhergehen. Einige Anwendungen erfordern jedoch eine schnellere Datenübertragung. Die Taktfrequenzen typischer I2C-Implementierungen betragen zwischen 100 kHz und 3,4 MHz; SPI hingegen erlaubt Taktfrequenzen bis zu einigen zig Megahertz. I2C, auch als „serieller Zweidraht-Bus“ [9] bezeichnet, ist eine ideale Lösung für langsamere Systeme. I2C arbeitet mit bidirektionaler Signalübertragung – für die Übertragung der Daten vom Master zum Slave wird die gleiche Leitung verwendet wie für die Übertragung der Bestätigung vom Slave zum Master. Ein I2C-System kann mehrere Master enthalten, und da der Takt von dem jeweils aktiven Master geliefert wird, kann auch das Taktsignal bidirektional sein. Diese bidirektionale Kommunikation erschwert die galvanische Trennung, weshalb I2C normalerweise nur in kleinen Bereichen eines Systems eingesetzt wird.

Es gibt am Markt eine Unmenge von ICs mit den unterschiedlichsten Schnittstellen. Bei der Entwicklung eines Systems sollte man die ICs zuerst nach ihrer Funktion auswählen – beispielsweise A/D-Wandler, D/A-Wandler, Temperatursensor, Digitalpotentiometer usw. – und sich dann für eine der verfügbaren Schnittstellen entscheiden.

GPIO – unkompliziert und einfach zu implementieren

GPIO (General-Purpose Input Output) ist eine Parallelschnittstelle, die es einem Mikroprozessor ermöglicht, einfache Geräte über ein paar Leitungen zu steuern. GPIO benutzt einfache Standard-Mikroprozessoranschlüsse als Parallelschnittstelle. Es gibt heute zahlreiche ICs mit Parallelschnittstelle, darunter auch A/D-Wandler und D/A-Wandler.

Fazit: Der Teufel steckt im Detail

Beim Umgang mit den oft unterschätzten IC-Schnittstellen sollte man den Details die nötige Aufmerk­samkeit schenken, insbesondere dann, wenn man nicht genau weiß, wie wichtig sie sind. Nicht ohne Grund heißt es: Der Teufel steckt im Detail ;-) .

Literatur

[1] „Smileys“ sind im Unicode vieler Schrift­systeme enthal­ten. In Unicode finden sich über 50 Gesichter,

darunter fröhliche und traurige, Tier-, Sonnen-, Mond-, Uhrengesichter und vieles mehr. Beispiel­e

siehe unter http://unicode.org/.

[2] Ausführliche Informationen über Murphys Gesetz finden Sie unter

http://en.wikipedia.org/wiki/Murphy%27s_law.

[3] Eine gute Einführung in SPI und I2C finden Sie unter http://www.byteparadigm.com/kb/article/AA-00255/22/Introduction-to-SPI-and-IC-protocols.html.

[4] Siehe Maxim Applikationsbericht 802, „Interfacing SPI Peripherals to the MAX7651 Processor“ unter www.maxim-ic.com/AN802.

[5] Siehe Maxim Applikationsbericht 4429, „Murphy’s Law and the Risks of Designing ‘Off Data Sheet’“ über ESD, RFI und die Länge von gedruckten Leiterbahnen unter www.maxim-ic.com/AN4429.

[6] Siehe Maxim Applikationsbericht 4345, „Well Grounded, Digital Is Analog“ über Masseebenen und Sterntopologien unter www.maxim-ic.com/AN4345.

[7] Siehe Maxim Applikationsbericht 4992, „Reduce the Chances of Human Error: Part 1, Power and Ground“ über Betriebsspannungsentkopplung, Eigenresonanz von Kondensatoren, Tiefpassfilter, Rauschen auf der Betriebsspannung und sternförmige Masse-Topologien unter www.maxim-ic.com/AN4992.

[8] Tutorials und Einführung in die Grundlagen von I2C: http://www.i2c-bus.org/;

  1. I2C Manual: http://www.nxp.com/documents/application_note/AN10216.pdf;
  2. Die I2C-bus-Spezi­fi­ka­tion: http://www.nxp.com/documents/other/39340011.pdf;
  3. Der I2C-bus und seine Anwen­dung: http://www.i2c-bus.org/fileadmin/ftp/i2c_bus_specification_1995.pdf;
  4. Was geschieht, wenn man die Pull-up-Wider­stände eines I2C-bus ändert? http://www.dsscircuits.com/articles/effects-of-varying-i2c-pull-up-resistors.html.

[9] Siehe Maxim Applikationsbericht 4024, “SPI/I²C Bus Lines Control Multiple Peripherals“ unter www.maxim-ic.com/AN4024; Applikationsbericht 3967, „Selecting a Serial Bus“ unter www.maxim-ic.com/AN3967; und Applikationsbericht 3438, „Serial Digital Data Networks“ unter www.maxim-ic.com/AN3438.

Von Bill Laumeister, Maxim Integrated.