Infineon »Xensiv« IoT-Sensorkit im Praxistest

Um Sensordaten in der Cloud zusammenzuführen braucht es mehrere Bausteine: die Sensoren, die Signalverarbeitung und eine Funkkommunikation. Infineon bietet dafür die »Xensiv Sensors Started Box IoT« an. Wie bewährt sie sich in der Praxis?

Das Sensorportfolio der Firma Infineon ist laut eigenen Angaben für die Bereiche Consumer, Industrial und Automotive bestimmt. Es ist auf Sensoren zum Messen von Druck, Magnetfeldern und akustischen Signalen ausgerichtet und umfasst auch 3D-Bild- und Radar-Sensoren. Für die Entwicklung eigener Sensorapplikationen, die zur Zeit häufig unter IoT-Anwendungen firmieren, ist stets ein Developerboard mit passender Programmier-Software hilfreich, um möglichst rasch und praxisnah die notwendige Sensorsignalverarbeitung verstehen und umsetzen zu können. Hierfür hat Infineon eine Lösung in Form der Xensiv Sensors Started Box IoT präsentiert (Bild 1), die beispielsweise bei den Distributoren Avnet, Arrow und Rutronik24 zu einem Preis von circa 190 € erhältlich ist.

Die Box enthält verschiedene Sensor-Boards mit Shield2Go-Formfaktor (S2Go). Die S2Go-Sensor-Boards lassen sich auf eines der beiden im Kit enthaltenen XMC 2Go-Mikrocontroller-Boards aufstecken, die mit einem Cortex-M0 (XMC1100) von arm mit 64 kByte Flash- und 16 kByte-RAM-Speicher bei 32 MHz arbeiten und zur Industrial-Controller-Familie XMC1000 von Infineon gehören (Bild 2).

Als Spannungsversorgung sind 3,3 V von einem externen (nicht mitgelieferten) Netzteil möglich oder 5 V über den Micro-USB-Anschluss. On-Board befinden sich ein J-Link Debugger (Segger) nach Arm-Standard (Serial Wire Debug) mit dem Chip XMC4200, der außerdem die interne UART-Verbindung auf USB umsetzt. Zusätzlich sind drei LEDs vorhanden und zwei für die Aufnahme von 8-poligen Header-Leisten vorgesehene Pin-Header (X1, X2). Diese führen die Signale für die üblichen seriellen Schnittstellen (wahlweise zwei aus SPI, UART, I2C, I2S, LIN nutzbar), des Timers (4 × 16 Bit), die des sechskanaligen A-D-Wandlers mit einer Auflösung von 12 Bit sowie Leitungen für die Auslösung eines externen Interrupts.

Die damit kompatiblen S2Go-Boards des Sensor-Kits sind:

  • IM69D130: Digitales MEMS-Mikrofon. Auf dem Board zwei IM69D. Messbereich 105 dB, Messgenauigkeit ±1 dB, Versorgungsspannung 1,62 bis 3,6 V, PCM-Interface (I2S).
  • TLV493D-A1B6: Dreidimensionaler magnetischer Hallsensor, für den ein Drehknopf und ein Joystick mitgeliefert werden. Auflösung 12 Bit, Versorgungsspannung 2,7 bis 3,6 V, I2C-Interface.
  • DPS310: Barometer mit Temperaturmessung. Messbereich 300 bis 1200 hPa, Messgenauigkeit ±1 hPa, Versorgungsspannung 1,2 bis 3,6 V, I2C- und SP-Interface.
  • TLI4970-D050T4: Amperemeter (Current Sense). Messbereich ±50 A, Auflösung 16 Bit, Versorgungsspannung 3,1 bis 3,6 V, SP-Interface.
  • OPTIGA Trust E: Krytographie-Chip. 3 kByte, Standards ECC-256 und SHA-256, Versorgungsspannung 1,62 bis 5,5 V, I2C-Interface.

Standardisierte Sensorboards

Die S2Go-Boards (Bild 3) haben einheitliche Signalbelegungen und Formfaktoren, die von Infineon definiert worden sind. Bisher ist Infineon der einzige Anbieter von Platinen in diesem Format.

Die S2Go-Sensorboards sind grundsätzlich zum Aufstecken auf eine Mikrocontrollerplatine (Träger-Board) ausgelegt. Davon werden drei unterschiedliche Typen mitgeliefert, die sich allesamt in der Arduino-IDE (Version 1.8.3) programmieren lassen.

Für die professionelle Software-Entwicklung und Programmierung der XMC-Mikrocontroller bietet Infineon die etablierte Dave-Tool-Chain zum kostenlosen Download [1] an. Dave enthält neben Bibliotheken und Beispielcode eine Entwicklungsumgebung auf Eclipse-Grundlage mit GNU-C-Compiler sowie den notwendigen Treibern für die verschiedenen XMC-Boards und den OnBoard-Segger-Debugger. Die Dave-Werkzeuge gestatten mithilfe eines Plug-in zur Codegenerierung zudem eine grafischorientierte Codeerstellung.

Der obere Teil der Kontakte eines S2Go-Boards (Bild 4) führt die Signale für die Kommunikation mit dem Träger-Board (I2C, SPI) und die Spannungsversorgung (3,5 V), während im unteren Teil die definierten Anschlüsse für GPIO, Analog, PWM sowie für die digitalen I/O-Pins (I2C, SPI, UART) lokalisiert sind.

Um einen einfachen Zugang zur Funktionalität der Sensormodule zu ermöglichen, gibt es außerdem die Möglichkeit, diese mit einem arduino-kompatiblen Träger-Board − dem XMC1110 Boot Kit − einzusetzen. Dieses Board arbeitet ebenfalls mit einem Cortex-M0 (XMC1100) von arm und verhält sich in funktions- und signaltechnischer Hinsicht im Prinzip wie ein Arduino Uno.

Damit das arduino-kompatible Board S2Go-Sensorboards aufnehmen kann, ist eine Adapterplatine notwendig, die als Shield2Go-Adapter oder auch »My IoT Adapter« bezeichnet wird und hierfür drei Slots (Bild 5) bietet. Neben der mechanischen Anpassung ist zudem eine Anpassung der Versorgungsspannung und der Pegel notwendig, weil die Arduino-Plattform (Uno) mit 5 V und die S2Go-Boards mit 3,3 V arbeiten. Die hierfür erforderliche Elektronik befindet sich auf der Unterseite der Adapterplatine.