Höhere Intelligenz am IoT-Netzwerkrand mit selbstkalibrierenden intelligenten analogen Mikrocontrollern
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2020-07-01
Da die Anwendungen des Internet der Dinge (Internet of Things, IoT) immer komplexer werden, werden die Entwickler von Endpunkten für das industrielle Internet der Dinge (Industrial Internet of Things, IIoT) aufgefordert, komplexere Berechnungen am Rand unterzubringen. Edge-Computing von Endpunktsensordaten ist eine praktische Methode, um Netzwerkengpässe zum IIoT-Hub zu reduzieren. Dadurch wird der Netzwerkverkehr reduziert und gleichzeitig die Rechenlast am Haupt-Hub-Prozessor verringert. Der Ansatz hat jedoch seine Nachteile.
Eine übliche IIoT-Randanwendung ist zum Beispiel die Verarbeitung von periodischen Sensordaten des Analog/Digital-Wandlers (ADC). Bei hochpräzisen analogen Daten kann die mathematische Verarbeitung, Interpretation und Interpolation von Hunderten von ADC-Datenpunkten den Edge-Host-Prozessor erheblich belasten, was sich möglicherweise auf die Leistung des gesamten Netzwerks auswirkt. Darüber hinaus kann es bei hochgenauen ADCs erforderlich sein, eine Selbstkalibrierung in der Firmware des Host-Mikrocontrollers des IoT-Endpunkts durchzuführen, wodurch die gesamte Kantenverarbeitung verzögert werden kann, bis die Kalibrierung abgeschlossen ist.
Dieser Artikel zeigt Entwicklern, wie sie analoge Präzisions-Mikrocontroller von Analog Devices als intelligente ADC-Peripheriegeräte verwenden können. Es wird erläutert, wie die Eigenschaften dieser analogen Mikrocontroller sie für den Einsatz als Ein-Chip-Datenerfassungssysteme geeignet machen, die leicht mit dem IIoT-Endpunkt-Mikrocontroller verbunden werden können und Kantenverarbeitungsfunktionen wie ADC-Datenpunktverarbeitung und Selbstkalibrierung ohne Leistungseinfluss auf den Hauptendpunkt-Mikrocontroller ausführen können.
Warum analoge Sensordaten am Netzwerkrand verarbeiten?
Mit der zunehmenden Komplexität von IIoT-Systemen werden auch die Daten, die sie verarbeiten müssen, immer komplexer. Für industrielle Steuerungsanwendungen bewegen sich Ventile und einige Motoren von Steuer- zu Regelsystemen, bei denen analoge Präzisionssensoren winzige Ventil- oder Motorpositionen erfassen müssen. Bei Prozesssteuerungsanwendungen hat die verstärkte Verarbeitung zu schnelleren Produktionslinien und einer feineren Steuerung von Temperatur, Druck und Stellgliedern im System geführt.
Bei der Prozesssteuerung hängt die Geschwindigkeit der Linie (des Prozesses) hauptsächlich von zwei Faktoren ab: von der mechanischen Fähigkeit der Maschinen und Systeme auf dem Boden und von der Effizienz der IIoT-Netzwerke, die die Sensoren und Aktoren in den Maschinen und Systemen steuern. In einigen Fällen können kleine Prozessverbesserungen zu einer Produktionssteigerung führen, aber diese Verbesserungen können durch Engpässe im IIoT-Netz behindert werden. Diese Engpässe können durch mehr Verarbeitung am Rand reduziert werden.
Die Kantenverarbeitung am IIoT-Endpunkt ist besonders vorteilhaft für die Verarbeitung analoger Signale. Die Verarbeitung analoger Daten kann in den frühen Phasen der IIoT-Entwicklung einfach sein, aber Skalierbarkeit ist ein Thema: 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 aller dieser Daten am Netzwerk-Hub-Prozessor nimmt wertvolle Rechenzeit in Anspruch. Aus diesem Grund ist die Verarbeitung der analogen Daten am Rand ein praktischer Weg, um das Netzwerk effizienter zu machen.
Verwenden Sie intelligente ADCs, um analoge Daten am Rand zu verarbeiten
Die Kantenverarbeitung von Hunderten von Samples von ADC-Daten kann den Hauptmikrocontroller im IIoT-Endpunkt leicht überfordern. Bei komplexen analogen Sensoren ist es eine kluge Designentscheidung, einen externen ADC zu haben, der auch über eigene Verarbeitungskapazitäten verfügt. Dies entlastet nicht nur den IIoT-Endpunkt-Mikrocontroller erheblich, sondern erleichtert auch die Selbstkalibrierung des ADC.
Für die hochleistungsfähige Erfassung und Verarbeitung von ADC-Daten verfügt Analog Devices über eine Reihe von analogen Präzisions-Mikrocontrollern. Der analoge Präzisions-Mikrocontroller ADuCM360BCPZ128-R7 verwendet einen Arm® Cortex®-M3 zur Steuerung von zwei 24-Bit-Sigma-Delta-ADCs (Abbildung 1). Die ADCs sind in der Lage, 4 Kilo-Samples pro Sekunde (kSPS) von analogen Sensordaten zu erfassen. Der ADuCM360 verfügt außerdem über einen 12-Bit-Digital/Analog-Wandler (DAC) zur Erzeugung genauer Spannungen für die Selbstkalibrierung. Der Mikrocontroller kann mit einer Spannung von 1,8 bis 3,6 Volt betrieben werden und enthält einen internen Oszillator mit 32 Kilohertz (kHz) und einen internen Oszillator mit 16 Megahertz (MHz), wodurch die Anzahl der Komponenten in platzkritischen Systemen reduziert wird.
Abbildung 1: Das Analog Devices ADuCM360 ist ein vollständiges Datenerfassungssystem mit geringem Stromverbrauch auf einem Chip mit einem Arm Cortex-M3-Kern, zwei 24-Bit-Sigma-Delta-ADCs mit 4 kSPS und einem 12-Bit-DAC. (Bildquelle: Analog Devices)
Der ADuCM360 verfügt über 128 Kilobyte (Kbytes) Flash-Speicher und 8 Kbytes SRAM. Ein wesentlicher Vorteil des ADuCM360 ist, dass 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 ermöglicht dies die Verwendung von EEPROM-Partitionsblöcken zur Speicherung von ADC-Kalibrierungsdaten.
Der Flash unterstützt direkte 32-Bit-Lösch- und Schreibvorgänge (16-Bit- und 8-Bit-Lösch- und Schreibvorgänge werden nicht unterstützt). Die Fähigkeit, 32 Bit gleichzeitig zu schreiben, spart bei batteriebetriebenen Anwendungen erheblich Strom, da Flash-Schreib- und Löschvorgänge viel Strom verbrauchen. Dies ist ein bedeutender Vorteil bei geringem Stromverbrauch gegenüber Flash-Mikrocontrollern, die jeweils nur einen Block oder eine Seite auf einmal schreiben und löschen können.
Der Flash-Speicher unterstützt auch herkömmliche Flash-Löschbefehle wie Seitenlöschung und Massenlöschung des gesamten Flash-Speicher-Arrays. Mit diesen Fähigkeiten können Entwickler problemlos Unterprogramme 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 eine serielle Schnittstelle zu aktualisieren, würde dies seine Flexibilität in einem Datenerfassungssystem stark einschränken, da die Fähigkeit zur Aktualisierung der Firmware, die den ADC steuert, genauso wichtig ist wie der ADC selbst.
Ein effizientes Ein-Chip-Datenerfassungssystem
Beide 24-Bit-ADCs sind an einen Eingangsmultiplexer angeschlossen, der insgesamt 11 Einkanal- oder sechs Differenzeingänge unterstützt. Es gibt vier interne Kanäle, die sowohl den internen Temperatursensor als auch die Ausgabe des 12-Bit-DACs überwachen können, sowie eine interne Bandgap-Referenz mit geringer Drift. Diese können verwendet werden, um eine Selbstkalibrierung der ADCs durchzuführen. Der DAC kann so programmiert werden, dass 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 Messwerte verarbeiten, so dass die ADCs über die Temperatur kalibriert und die Kalibrierungskonstanten im EEPROM gespeichert werden können.
Bei Verwendung als Ein-Chip-Datenerfassungssystem können die ADCs so programmiert werden, dass sie kontinuierliche Abtastungen von analogen Daten mit einer Geschwindigkeit von bis zu 4 kSPS vornehmen. Ein 11-Kanal-DMA-Controller (Direct Memory Access) kann diese Daten an SRAM übertragen. Die Firmware kann dann die im EEPROM gespeicherten Kalibrierungskonstanten anwenden, um die Daten zu modifizieren und gegebenenfalls die Temperatur zu korrigieren. Die Firmware kann dann die Daten so verarbeiten, wie sie von der Anwendung benötigt werden, während der DMA zusätzliche ADC-Daten in den 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 Datenproben übertragen werden müssen, kann der DMA die Daten massenweise an die serielle Schnittstelle übertragen. Auf diese Weise kann ein effizientes Datenerfassungssystem einen Satz ADC-Daten abtasten und per DMA einen Satz ADC-Daten an SRAM übertragen, einen zweiten Satz ADC-Daten verarbeiten und per DMA einen dritten Satz ADC-Daten an die serielle Schnittstelle übertragen, alles zur gleichen Zeit.
Die analogen Eingangssignale können mit einem Verstärker mit programmierbarer Verstärkung (PGA) verstärkt werden, der auf 2er-Potenzen eingestellt werden kann und Verstärkungswerte 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 Merkmalen gehören eine 16-Bit-Sechskanal-Pulsbreitenmodulation (PWM), 19 Allzweck-I/Os (GPIOs), zwei 16-Bit-Universaltimer, ein 32-Bit-Wakeup-/Watchdog-Timer und ein externes Interrupt-System. Es ist jedoch wichtig, dass die Anwendungs-Firmware auf die Unterstützung ihres Hauptzwecks der ADC-Erfassung und Datenverarbeitung ausgerichtet bleibt. Wenn der ADuCM360 zusätzliche Funktionen ausführen soll, die nicht mit seinem Hauptzweck, der analogen Datenerfassung, in Zusammenhang stehen, kann dies leicht zu einem Feature-Creeping führen, das diesen Zweck behindert und gleichzeitig Firmware-Updates erschwert.
Merkmale und Eigenschaften bei extrem niedrigem Energieverbrauch
Trotz der analogen High-End-Features des ADuCM360 ist er immer noch in der Lage, unter Hochleistungsbedingungen einen niedrigen Stromverbrauch zu erzielen. Im normalen Betriebsmodus zieht der Cortex-M3-Kern nur 290 Mikroampere (µA)/MHz. Mit einem Systemtakt von 0,5 MHz, wobei beide ADCs Abtastwerte nehmen, alle Timer laufen und die PGA-Verstärkung 4 beträgt, nimmt der Mikrocontroller beim Zugriff über die SPI-Schnittstelle nur 1 Milliampere (mA) auf. Dies geschieht bei ausgeschalteten Eingangspuffern, da der Pufferspannungsspeicher zur Leistungsaufnahme beiträgt. Im Hibernate-Modus, in dem nur der Wake-up-Timer läuft, zieht der Mikrocontroller lediglich 4 µA. Damit ist der ADuCM361 für batteriebetriebene IIoT-Endpunkte geeignet.
Für weniger komplexe Anwendungen, die nicht die Geschwindigkeit von zwei ADCs erfordern, bietet Analog Devices den ADUCM361BCPZ128-R7 an, der mit dem ADuCM360 identisch ist, außer dass er nur einen Sigma-Delta-24-Bit-ADC besitzt (Abbildung 2).
Abbildung 2: Der ADuCM361 ist ein vollständiges Datenerfassungssystem auf einem Chip, ähnlich dem ADuCM360, außer dass er einen 24-Bit-Sigma-Delta-ADC besitzt. Dies spart Kosten und Strom bei Anwendungen, die nicht die Leistung von zwei gleichzeitig laufenden ADCs erfordern. (Bildquelle: Analog Devices)
In Anwendungen, die nicht die hohe Leistung von zwei gleichzeitig laufenden 24-Bit-ADCs erfordern, 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. Er kann sich auch mit dem 12-Bit-DAC, der internen Bandgap-Referenz und dem Temperatursensor selbst kalibrieren.
Der ADuCM361 ist pinkompatibel mit dem ADuCM360. Dadurch kann ein einziges Leiterplattenlayout für beide Produkte verwendet werden. Dies vereinfacht die Produktentwicklung und die Stückliste (BOM), da ein Hersteller von IIoT-Endpunkten eine Leiterplatte für zwei oder mehr Produkte verwenden kann.
Entwicklung eines Datenerfassungssystems
Für die Produktentwicklung stellt Analog Devices das EVAL-ADuCM360QSPZEvaluierungskit zur Verfügung (Abbildung 3). Das Evaluation-Board kann an analoge Sensoren oder externe Spannungsquellen für die Firmware-Entwicklung der analogen Mikrocontroller ADuCM360 und ADuCM361 angeschlossen werden.
<Abbildung 3: Das Evaluierungskit EVAL-ADuCM360QSPZ von Analog Devices ermöglicht die Evaluierung der analogen Mikrocontroller ADuCM360 und ADuCM361. Er kann direkt an externe analoge Sensoren angeschlossen und über eine USB-Verbindung verwaltet werden. (Bildquelle: Analog Devices)
Der Zugriff auf das Evaluationskit erfolgt von einem Host-Computer unter Windows über einen USB-Port. Dadurch kann der On-Board-ADuCM360 zu Test- und Debugging-Zwecken mit Zielfirmware programmiert werden. Beim EVAL-ADuCM360QSPZ sind alle Pins des ADuCM360 auf der Platine verfügbar, einschließlich der seriellen E/A, so dass die Eval-Platine über I2C, SPI oder UART mit einem Host-Mikrocontroller für Echtzeit-Debugging verbunden werden kann. Der Windows-Host-Computer kann die ADC-Daten protokollieren und auch die Genauigkeit der Selbstkalibrierungsroutinen debuggen.
Fazit
Viele IIoT-Endpunkte, die für analoge High-End-Anwendungen wie die Prozesssteuerung verwendet werden, müssen bei analogen Sensordaten, die mit ADCs erfasst wurden, mehr Kantenverarbeitung durchführen. Die Menge der ADC-Daten und die Komplexität der Kantenverarbeitung können den Hauptmikrocontroller des IIoT-Endpunkts überfordern. Der Hauptendpunkt-Mikrocontroller kann stattdessen über eine serielle Schnittstelle mit einem analogen Mikrocontroller verbunden werden, der ein eigenständiges Datenerfassungssystem darstellt. Dadurch wird die Leistung des Endpunkts erhöht und der Netzwerkverkehr reduziert, was zu einem effizienteren IIoT-Netzwerk führt.

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.