Intelligenz am IoT-Edge mit Analog-Smart-MCUs

Mehr Intelligenz am IoT-Edge mit selbstkalibrierenden Analog-Smart-Mikrocontrollern

Beigetragen von Digi-Keys nordamerikanischen Redakteuren

image

Dieser Artikel zeigt Entwicklern, wie sie analoge Präzisions-Mikrocontroller von Analog Devices als intelligente ADC-Peripheriegeräte einsetzen können. Es wird erklärt, wie die Eigenschaften dieser analogen Mikrocontroller sie für den Einsatz als Ein-Chip-Datenerfassungssysteme geeignet machen, die einfach an den IIoT-Endpunkt-Mikrocontroller angeschlossen werden und Edge-Processing-Funktionen wie ADC-Datenpunktverarbeitung und Selbstkalibrierung ohne Leistungseinfluß auf den Haupt-Endpunkt-Mikrocontroller durchführen können.

Da Internet of Things (IoT)-Anwendungen immer komplexer werden, werden die Entwickler von Industrial Internet of Things (IIoT)-Endpunkten aufgefordert, komplexere Berechnungen am Rande zu ermöglichen. Edge-Computing auf Sensordaten des Endpunkts ist ein praktischer Weg, um Engpässe im Netzwerk zum IIoT-Hub zu reduzieren. Dadurch wird der Netzwerkverkehr reduziert und gleichzeitig die Rechenlast auf dem Haupt-Hub-Prozessor verringert. Allerdings hat der Ansatz auch seine Nachteile.

Eine häufige IIoT-Edge-Anwendung ist beispielsweise die Verarbeitung von periodischen Analog-Digital-Wandler (ADC)-Sensordaten. Bei hochpräzisen Analogdaten kann die mathematische Verarbeitung, Interpretation und Interpolation von Hunderten von ADC-Datenpunkten den Edge-Host-Prozessor erheblich belasten, was die Leistung des gesamten Netzwerks beeinträchtigen kann. Außerdem kann es bei hochgenauen ADCs erforderlich sein, eine Selbstkalibrierung in der Firmware des Host-Mikrocontrollers des IoT-Endpunkts durchzuführen, was die gesamte Edge-Verarbeitung verzögern kann, bis die Kalibrierung abgeschlossen ist.

WARUM ANALOGE SENSORDATEN AM RANDE VERARBEITEN?

Da IIoT-Systeme immer komplexer werden, werden auch die Daten, die sie verarbeiten müssen, immer komplexer. Bei industriellen Steuerungsanwendungen gehen Ventile und einige Motoren von Open-Loop- zu Closed-Loop-Systemen über, bei denen analoge Präzisionssensoren winzige Ventil- oder Motorpositionen erkennen müssen. Bei Prozeßsteuerungsanwendungen hat die verstärkte Verarbeitung zu schnelleren Produktionslinien und einer feineren Steuerung von Temperatur, Druck und Aktoren im System geführt.

Bei der Prozeßsteuerung ist die Geschwindigkeit der Linie (des Prozesses) hauptsächlich von zwei Faktoren abhängig:

  1. der mechanischen Leistungsfähigkeit der Maschinen und Anlagen auf dem Boden, und
  2. der Effizienz der IIoT-Netzwerke, die die Sensoren und Aktoren in den Maschinen und Systemen steuern.

In einigen Fällen können kleine Prozeßverbesserungen zu einer erhöhten Produktion führen, aber diese Verbesserungen können durch Engpässe im IIoT-Netzwerk behindert werden.

Diese Engpässe können reduziert werden, indem mehr Verarbeitung am Edge durchgeführt wird.

Die Edge-Verarbeitung am IIoT-Endpunkt ist besonders für die Verarbeitung analoger Signale von Vorteil.

Die Verarbeitung analoger Daten kann in den frühen Phasen der IIoT-Entwicklung einfach sein, aber die Skalierbarkeit ist ein Problem:

Spätere Verbesserungen können zu einer erhöhten Komplexität der Berechnungen führen.

Das Senden aller analogen Rohdaten über das Netzwerk erhöht den Netzwerkverkehr und die Verarbeitung all dieser Daten am Netzwerk-Hub-Prozessor nimmt wertvolle Rechenzeit in Anspruch.

Aus diesem Grund ist die Verarbeitung der analogen Daten am Rand eine praktische Möglichkeit, das Netzwerk effizienter zu gestalten.

VERWENDUNG VON SMART ADCS ZUR VERARBEITUNG ANALOGER DATEN AM NETZRAND

Die Edge-Verarbeitung von Hunderten von Abtastwerten von ADC-Daten kann den Haupt-Mikrocontroller im IIoT-Endpunkt leicht überfordern.

Für komplexe analoge Sensoren ist es eine kluge Designentscheidung, einen externen ADC einzusetzen, der auch über eigene Verarbeitungsfunktionen verfügt.

Dies entlastet nicht nur den IIoT-Endpunkt-Mikrocontroller erheblich, sondern erleichtert auch die Selbstkalibrierung des ADCs.

Für die leistungsstarke Erfassung und Verarbeitung von ADC-Daten bietet Analog Devices eine Reihe von analogen Präzisions-Mikrocontrollern an.

Der analoge Präzisions-Mikrocontroller ADUCM360BCPZ128-R7 verwendet einen Arm® Cortex®-M3 zur Steuerung von zwei 24-Bit-Sigma-Delta-ADCs (Abbildung 1).

image

Der ADuCM360 von Analog Devices ist ein komplettes Low-Power-Datenerfassungssystem auf einem Chip mit einem Arm Cortex-M3-Kern, zwei 24-Bit-Sigma-Delta-ADCs mit 4 kSPS und einem 12-Bit-DAC.
Abbildung 1 (Bildquelle: Analog Devices)

Die ADCs sind in der Lage, analoge Sensordaten mit 4 kilo-Samples Pro Sekunde (kSPS) zu erfassen. Der ADUCM360BCPZ128 verfügt außerdem über einen 12-Bit-Digital-Analog-Wandler (DAC) zur Erzeugung genauer Spannungen für die Selbstkalibrierung. Der Mikrocontroller kann mit Spannungen von 1,8 bis 3,6 Volt betrieben werden und enthält einen internen 32 Kilohertz (kHz)-Oszillator und einen internen 16 Megahertz (MHz)-Oszillator, was die Anzahl der Komponenten in platzbeschränkten Systemen reduziert.

Der ADuCM360 verfügt über 128 Kilobyte (kBytes) Flash-Speicher und 8 kBytes SRAM. Ein wesentlicher Vorteil des ADuCM360 ist, daß die Flash-Speicherplätze direkt beschrieben werden können, ähnlich wie beim Schreiben in SRAM. Dies erlaubt dem Firmware-Entwickler, Blöcke des Flash-Speichers einfach als Programmspeicher und auch als EEPROM zu partitionieren.

In einem Datenerfassungssystem können so die in EEPROM partitionierten Blöcke zur Speicherung von ADC-Kalibrierungsdaten verwendet werden.

Der Flash unterstützt direktes 32-Bit-Löschen und -Schreiben (16-Bit- und 8-Bit-Löschen und -Schreiben werden nicht unterstützt). Die Fähigkeit, 32 Bits auf einmal zu schreiben, spart in batteriebetriebenen Anwendungen erheblich Strom, da Flash-Schreib- und Löschvorgänge viel Strom verbrauchen.

Dies ist ein signifikanter Stromsparvorteil gegenüber Flash-Mikrocontrollern, die nur einen Block oder eine Seite auf einmal schreiben und löschen können.

Der Flash-Speicher unterstützt auch konventionelle Flash-Löschbefehle, wie z.B. das Löschen von Seiten und das Massenlöschen des gesamten Flash-Speicher-Arrays. Mit diesen Fähigkeiten können Entwickler einfach Subroutinen schreiben, die die Firmware auf der Grundlage von Befehlen aktualisieren können, die über die serielle Schnittstelle vom Host-Mikrocontroller im IIoT-Endpunkt gesendet werden. Dies ist wichtig: Wenn der ADuCM360 nicht in der Lage wäre, seine Firmware einfach über einen seriellen Port zu aktualisieren, würde dies seine Flexibilität in einem Datenerfassungssystem stark einschränken, da die Fähigkeit, die den ADC steuernde Firmware zu aktualisieren, genauso wichtig ist wie der ADC selbst.

EIN EFFIZIENTES EIN-CHIP-DATENERFASSUNGSSYSTEM

Die beiden 24-Bit-ADCs sind mit einem Eingangsmultiplexer verbunden, der insgesamt 11 einkanalige oder sechs differentielle Eingänge unterstützt. Es gibt vier interne Kanäle, die sowohl den internen Temperatursensor als auch den Ausgang des 12-Bit-DACs überwachen können, sowie eine interne Lowdrift-Bandgap-Referenz. Diese können verwendet werden, um eine Selbstkalibrierung der ADCs durchzuführen. Der DAC kann so programmiert werden, daß er eine Reihe von Spannungen ausgibt, die von jedem der ADCs gelesen werden können. Die ADCs können auch die interne Bandgap-Referenzspannung abtasten. Die Firmware kann diese Meßwerte verarbeiten, sodaß die ADCs über die Temperatur kalibriert werden können und die Kalibrierungskonstanten im EEPROM gespeichert werden können.

Bei Verwendung als Single-Chip-Datenerfassungssystem können die ADCs so programmiert werden, daß sie kontinuierlich analoge Daten mit einer Geschwindigkeit von bis zu 4 kSPS erfassen. Ein 11-kanaliger DMA-Controller (Direct Memory Access) kann diese Daten in das SRAM übertragen. Die Firmware kann dann die im EEPROM gespeicherten Kalibrierungskonstanten anwenden, um die Daten zu modifizieren und ggF. für die Temperatur zu korrigieren.

Die Firmware kann dann die Daten entsprechend den Anforderungen der Anwendung verarbeiten, während der DMA weitere ADC-Daten in das SRAM überträgt.

Sobald die Datenverarbeitung der gespeicherten ADC-Daten abgeschlossen ist, kann das Ergebnis entweder an die serielle Schnittstelle gesendet werden, um an den IIoT-Endpunkt-Mikrocontroller übertragen zu werden, oder wenn mehrere Datenabtastungen übertragen werden müssen, kann der DMA die Daten im Pulk an die serielle Schnittstelle übertragen. Auf diese Weise kann ein effizientes Datenerfassungssystem einen ADC-Datensatz abtasten und per DMA an den SRAM übertragen, einen zweiten ADC-Datensatz verarbeiten und einen dritten ADC-Datensatz per DMA an die serielle Schnittstelle übertragen – Alles zur gleichen Zeit.

Die analogen Eingangssignale können mit einem Programmable Gain Amplifier (PGA) verstärkt werden, der auf Potenzen von 2 eingestellt werden kann und Verstärkungs-Werte von 2, 4, 8, 16, 32, 64 und 128 unterstützt.

Dies ermöglicht die Verstärkung von sehr kleinen Spannungen für eine genauere ADC-Abtastung.

Zu den zusätzlichen Funktionen gehören eine 16-Bit Puls-Weiten-Modulation (PWM) mit sechs Kanälen, 19 GPIOs (General Purpose I/Os), zwei 16-Bit-Allzweck-Timer, ein 32-Bit-Wakeup-/Watchdog-Timer und ein externes Interrupt-System. Es ist jedoch wichtig, daß sich die Applikations-Firmware auf den Hauptzweck der ADC-Erfassung und Datenverarbeitung konzentriert. Die Beauftragung des ADuCM360 mit zusätzlichen Funktionen, die nichts mit seinem Hauptzweck der Analogdatenerfassung zu tun haben, kann leicht dazu führen, daß sich Funktionen einschleichen, die den Hauptzweck beeinträchtigen und zudem Firmware-Updates erschweren.

ULTRA-LOW-POWER-FUNKTIONEN UND EIGENSCHAFTEN

Trotz der High-End-Analog-Funktionen des ADuCM360 ist er unter Hochleistungsbedingungen zu einem geringen Stromverbrauch fähig. Im normalen Betriebsmodus zieht der Cortex-M3-Kern nur 290 Mikroampere (μA)/MHz. Bei einem Systemtakt von 0,5 MHz, beiden ADCs, die Abtastungen vornehmen, allen laufenden Timern und einer PGA-Verstärkung von 4 zieht der Mikrocontroller bei Zugriff über die SPI-Schnittstelle nur 1 Milliampere (mA). Dies ist bei ausgeschalteten Eingangspuffern der Fall, da die Pufferspannungsspeicherung die Leistungsaufnahme erhöht. Im Ruhezustand, in dem nur der Wake-up-Timer läuft, zieht der Mikrocontroller nur 4 μA. Damit ist der ADUCM361 für batteriebetriebene IIoT-Endpunkte geeignet. Für weniger komplexe Anwendungen, die nicht die Geschwindigkeit von zwei ADCs benötigen, bietet Analog Devices den ADUCM360BCPZ128-R7 an, der mit dem ADuCM360 identisch ist, aber nur einen 24-Bit-Sigma-Delta-ADC hat (Abbildung 2).

image

Der ADuCM361 ist ein komplettes Datenerfassungssystem auf einem Chip, ähnlich dem ADuCM360, außer daß er nur einen 24-Bit-Sigma-Delta-ADC hat. Dies spart Kosten und Strom in Anwendungen, die nicht die Leistung von zwei gleichzeitig laufenden ADCs benötigen.
Abbildung 2 (Bildquelle: Analog Devices)

In Anwendungen, die nicht die hohe Leistung von zwei gleichzeitig laufenden 24-Bit-ADCs benötigen, senkt der ADUCM361 die Systemkosten und den Stromverbrauch der Karte.

Der einzelne ADC ist außerdem an einen Eingangsmultiplexer angeschlossen, der insgesamt 11 einkanalige oder sechs differentielle Eingänge unterstützt. Außerdem kann er sich mit Hilfe des 12-Bit-DACs, der internen Bandgap-Referenz und des Temperatursensors selbst kalibrieren.

Der ADUCM361 ist pinkompatibel mit dem ADuCM360. Dadurch kann ein einlagiges Leiterplatten-Layout für beide Produkte verwendet werden.

Dies vereinfacht die Produktentwicklung und die Stückliste (BOM), da ein IIoT-Endpunkthersteller eine Leiterplatte für zwei oder mehr Produkte verwenden kann.

DATENERFASSUNGSSYSTEM-ENTWICKLUNG

Für die Produktentwicklung bietet Analog Devices Inc. das Evaluierungskit EVAL-ADUCM360QSPZ an (Abbildung 3). Das Evaluation-Board kann mit analogen Sensoren oder externen Spannungsquellen für die Firmware-Entwicklung der analogen Mikrocontroller ADuCM360 und ADUCM361 verbunden werden.

image

Der Zugriff auf das Evaluation-Kit erfolgt über einen Host-Computer mit Windows über einen USB-Anschluß. Dadurch kann der Onboard-befindliche ADuCM360 mit Ziel-Firmware zum Testen und Debuggen programmiert werden.

Das EVAL-ADUCM360QSPZ hat alle Pins des ADuCM360 auf der Platine verfügbar, einschließlich der seriellen I/O, sodaß das Eval-Board über I²C, SPI oder UART mit einem Host-Mikrocontroller für Echtzeit-Debugging verbunden werden kann.

Der Host-Windows-Computer kann die ADC-Daten aufzeichnen und auch die Genauigkeit der Selbstkalibrierungsroutinen debuggen.

SCHLUSSFOLGERUNG

Viele IIoT-Endpunkte, die für analoge High-End-Anwendungen wie z.B. die Prozeßsteuerung verwendet werden, müssen mehr Flankenverarbeitung für analoge Sensordaten durchführen, die mit ADCs erfaßt wurden.

Die Menge der ADC-Daten und die Komplexität der Flankenverarbeitung können den IIoT-Endpunkt-Hauptmikrocontroller überfordern.

Der Haupt-Mikrocontroller des Endpunkts kann stattdessen über einen seriellen Port mit einem analogen Mikrocontroller verbunden werden, der ein eigenständiges Datenerfassungssystem ist. Dies erhöht die Leistung des Endpunkts und reduziert den Netzwerkverkehr, was zu einem effizienteren IIoT-Netzwerk führt.