Entwerfen zuverlässiger und sicherer mobiler Roboter mit den Fehlerkorrektur-Funktionen von MCX
Vollständig autonome mobile Roboter waren früher Science-Fiction, doch durch jüngste Fortschritte in den Bereichen Verarbeitung, Sensorik und Steuerung sind sie der Realität nähergekommen. Eine große Herausforderung für diese Technologie ist jedoch die Fähigkeit von Robotern, sich selbst zu korrigieren, wenn ein Fehler in ihren Verarbeitungsprozessen auftritt. Dieser Artikel untersucht, wie MCX-Mikrocontroller (MCUs) von NXP fortschrittliche Fehlerkorrektur-Funktionen bieten, die mobile Roboter sicherer und zuverlässiger machen.
Mobile Roboter werden zunehmend in einer Vielzahl von Anwendungen eingesetzt, von der industriellen Automatisierung bis hin zur Servicerobotik. Die Gewährleistung ihres zuverlässigen und sicheren Betriebs ist entscheidend, da diese Roboter komplexere Aufgaben übernehmen und in unkontrollierten Umgebungen arbeiten.
NXPs neues MCX-Portfolio von Mikrocontrollern hilft, diese Herausforderungen zu bewältigen. Basierend auf dem leistungsstarken Arm® Cortex®-M33-Kern integrieren MCX-MCUs fortschrittliche Fehlererkennungs- und Fehlerkorrekturfunktionen, wodurch sie sich hervorragend für die Entwicklung mobiler Roboter eignen, die hohe Zuverlässigkeits- und Sicherheitsstandards erfordern.
Häufige Zuverlässigkeits- und Sicherheitsbedenken bei mobilen Robotern
Mobile Roboter sind stark von ihrer bordeigenen Elektronik abhängig, um ihre Umgebung wahrzunehmen, Entscheidungen zu treffen und ihre Aktionen zu steuern. Allerdings können ihre Betriebsbedingungen aufgrund verschiedener Faktoren wie extremer Temperaturen, Vibrationen und elektromagnetischer Interferenzen herausfordernd sein. Diese Belastungen können im Laufe der Zeit Bitfehler und Korruption im Speicher des Roboters verursachen. Daher müssen wir die langfristige Zuverlässigkeit der Elektronik berücksichtigen, da von mobilen Robotern erwartet wird, dass sie eine lange Betriebsdauer haben.
Industrielle AMRs
Abbildung 1
Speicherfehler können zu verschiedenen Zuverlässigkeits- und Sicherheitsproblemen bei mobilen Robotern führen. Ein Bit-Flip in der Steuerungs-Firmware des Roboters könnte dazu führen, dass er falsche Anweisungen ausführt, was zu unvorhergesehenem Verhalten führen kann. Beschädigte Sensordaten könnten falsch interpretiert werden, wodurch der Roboter falsche Entscheidungen treffen könnte. Fehlerhafte Motorsteuerungsausgaben könnten unerwartete Bewegungen verursachen oder möglicherweise den Roboter oder seine Umgebung beschädigen.
In sicherheitskritischen Anwendungen, wie beispielsweise mobilen Robotern, die in der Nähe von Menschen arbeiten, könnten die Folgen solcher Fehlfunktionen erheblich sein. Mobile Roboter benötigen robuste Schutzmaßnahmen gegen Speicherfehler, um eine zuverlässige und sichere Betriebsweise zu gewährleisten.
MCX-Fehlerkorrekturfunktionen für Flash und RAM
Die Mikrocontroller-Serie NXP MCX A umfasst mehrere zentrale Funktionen zur Erkennung und Korrektur von Speicherfehlern. Der MCX A integriert bis zu 128 KB Flash-Speicher mit Fehlerkorrektur-Codierung (ECC-Fähigkeiten). Die MCX N-Serie verfügt über bis zu 2 MB Flash-Speicher mit ECC. Jedes 128-Bit-Wort des Flash-Speichers enthält zusätzliche 9 Bits ECC-Daten.
ECC ist eine Technik, um redundante Bits zusammen mit jedem Datenwort zu speichern. Diese redundanten Bits helfen dabei, die Datenintegrität zu überprüfen, indem die ECC-Bits neu generiert und bei jedem Lesevorgang mit den gespeicherten ECC-Bits verglichen werden. Wenn die neu generierten und die gespeicherten ECC-Bits nicht übereinstimmen, bedeutet dies, dass ein Fehler vorliegt, den ECC möglicherweise korrigieren kann. ECC kann auch feststellen, welches Bit bei einem Einzelbit-Fehler fehlerhaft ist. Allerdings kann es nur Doppelbit-Fehler erkennen, aber nicht korrigieren.
Beispiel für einen mobilen Roboter
Abbildung 1
Wenn der Mikrocontroller einen ECC-Fehler erkennt, kann das Systemsteuerungsmodul (SYSCON) entweder einen Busfehler erzeugen oder einen Interrupt verwenden, um den Fehler zu behandeln. Die flexible Fehlerbehandlung ermöglicht es Entwicklern, die Fehlerbehandlung individuell anzupassen, um sie optimal an ihre Anwendungen anzupassen.
Das MCX A bietet außerdem 32 KB On-Chip-SRAM, wobei ein 8 KB Block (RAMA0) ECC zur Einzelfehlerkorrektur und Doppelfehlererkennung integriert. Die MCX-N-Serie stellt bis zu 416 KB RAM zur Verfügung, wenn sie als ECC konfiguriert ist, von denen 32 KB im VBAT-Modus beibehalten werden können. Dieses Feature schützt kritische Laufzeitdaten, wie Sensor-Eingaben und Zustandsvariablen von Algorithmen. Der Mikrocontroller implementiert ein Fehlermeldemodul (ERM), um eine umfassende Berichterstattung und Kontrolle über Fehler zu ermöglichen. Das ERM erfasst und protokolliert Fehlerevents aus der ECC-Logik, wodurch Einblicke in die Gesundheit des Speichersubsystems gegeben werden. Entwickler können diese Fehlerinformation für Diagnose und vorausschauende Wartung nutzen.
For self-diagnostics, the Error Injection Module (EIM) provides capabilities to inject errors when reading ECC RAM. This self-test feature allows developers to implement periodic self-checks to ensure the microcontroller operates reliably.
Zusätzlich zur ECC umfasst die MCX A-Serie einen Memory Block Checker (MBC), der zur Laufzeitsicherheitskontrolle von Lese-, Schreib- und Ausführungsberechtigungen für verschiedene Speicherbereiche dient. Durch die Definition von Speicherzugriffsrichtlinien kann der MBC unbefugten Speicherzugriff verhindern.
Wie die MCX-Fehlerkorrektur zuverlässige Robotik ermöglicht
Die Fehlerkorrekturfunktionen des MCX arbeiten zusammen, um die Zuverlässigkeit und Sicherheit mobiler Roboter zu verbessern. Durch die automatische Korrektur von Einzelbit-Fehlern im Flash-Speicher stellt der MCX die Integrität der Steuerungsfirmware des Roboters sicher. Diese Integrität verhindert, dass der Roboter fehlerhafte Steuerungslogik ausführt, die zu unbeabsichtigten Verhaltensweisen führen könnte.
Das MCX ist dafür ausgestattet, Doppelbit-Fehler zu erkennen, was entscheidend für die Sicherheit und Zuverlässigkeit seiner Abläufe ist. Obwohl es nicht möglich ist, Doppelbit-Fehler zu korrigieren, hilft deren Erkennung dabei, die Nutzung von beschädigten Instruktionen oder Daten zu verhindern. Wenn ein Doppelbit-Fehler erkannt wird, kann der Roboter auf elegante Weise in einen sicheren Zustand versetzt werden, um potenzielle Gefahren oder Fehlfunktionen zu vermeiden.
Die ECC des MCX erweitert seine Speicher-Schutzfunktionen über den Flash-Speicher hinaus und umfasst auch SRAM. Der 8KB große RAMA0-SRAM-Block des MCX A verfügt über ECC, während der MCX N die RAMG- und RAMH-Blöcke für ECC-Korrekturen umwidmen kann, wodurch bis zu 416KB ECC-SRAM bereitgestellt werden. ECC-SRAM ermöglicht die Korrektur von Einzelbit-Fehlern und die Erkennung von Doppelbit-Fehlern für Laufzeitdaten. Diese Funktion schützt kritische Daten wie Sensorauslesungen, Steuerungsausgaben und Zwischenvariablen von Algorithmen davor, Einzelbit-Fehler anzusammeln, die ansonsten Inkonsistenzen in der Wahrnehmung, Planung und Steuerlogik des Roboters verursachen könnten. Indem die Integrität dieser Laufzeitdaten gewahrt wird, unterstützt das SRAM ECC des MCX die Sicherstellung einer genauen und zuverlässigen Situationswahrnehmung und Entscheidungsfindung des Roboters. Der MCX N stellt zudem bis zu 32KB ECC-SRAM bereit, das im VBAT-Modus erhalten bleibt, sodass Daten auch im energiesparenden Zustand geschützt bleiben.
Das MBC bietet eine zusätzliche Sicherheitsebene, indem es Speicherzugriffsrichtlinien durchsetzt. Es kann unbefugten Speicherzugriff blockieren, wodurch Fehler eingegrenzt und verhindert werden, dass diese zu unkontrolliertem Roboterverhalten führen.
Schließlich ermöglicht das ERM einen datenbasierten Ansatz für die Wartung von Robotern. Durch das Protokollieren von Speicherfehlerereignissen bietet das ERM Transparenz in Bezug auf den Zustand der Elektronik des Roboters. Eine zunehmende Rate korrigierter Fehler könnte auf einen bevorstehenden Ausfall hinweisen und proaktive Wartung des Roboters ermöglichen.
Beispielanwendungsfall
Betrachten Sie einen mobilen Serviceroboter, der in einem industriellen Umfeld arbeitet. Der Roboter muss autonom navigieren, Hindernisse und Personen vermeiden und gleichzeitig Aufgaben ausführen.
Mobiler Serviceroboter
Abbildung 1
Die industrielle Umgebung kann jedoch herausfordernd sein, da Geräte elektromagnetische Störungen (EMI) erzeugen. Im Laufe der Zeit könnte EMI Bitfehler im Speicher des Roboters verursachen.
Das ECC des MCX würde alle Einzelbit-Fehler, die durch EMI verursacht wurden, erkennen und korrigieren, sodass der Roboter seine Steuerlogik korrekt ausführt. Falls ein schwerwiegenderer Doppelbit-Fehler auftreten würde, würde das MCX ihn erkennen und die Verwendung der beschädigten Daten verhindern. Der Roboter könnte dann einen sicheren Shutdown einleiten.
Im Verlauf dieser Ereignisse würde das ERM des MCX die Fehlerauftritte protokollieren. Wartungspersonal könnte diese Protokolle überwachen und dabei Trends beobachten, die auf einen potenziellen Ausfall hinweisen. Durch proaktiven Wartungsservice am Roboter wird die Ausfallzeit minimiert und die Sicherheit gewährleistet.
MCUXpresso Entwicklererfahrung
Für schnelles Prototyping mit MCX bietet NXP die kostengünstige FRDM-Entwicklungsplattform an. FRDM-Entwicklungsboards verfügen über einen standardisierten Formfaktor und Anschlussleisten, einfachen Zugriff auf MCU-I/Os, einen integrierten MCU-Link-Debugger und ein USB-C-Kabel.
Das GitHub von NXP bietet ebenfalls Zugriff auf Anwendungsbeispiele, die über das Application Code Hub-Portal (ACH) abgerufen werden können. Sowohl MCUXpresso IDE als auch MCUXpresso für VS Code verfügen über eine integrierte ACH-Browser-Funktion, sodass Entwickler einfach nach verfügbaren Demos und Beispielen suchen und diese nach Gerät, Anwendungstechnologie oder Peripherie/Funktion filtern können, bevor das Projekt direkt zur Nutzung geladen wird.
Das Expansion Board Hub (EBH) ist eine Erweiterung der NXP SDK Builder-Website, auf der Entwickler eine Vielzahl von Zusatzboards von NXP und Partnern finden können, um die Funktionen des gewählten Evaluierungsboards zu erweitern. Dieser Hub bietet eine intuitive Filterfunktion, um Boards schnell zu finden und die verfügbare unterstützende Software zu lokalisieren. Entwickler können ihr Board mit verschiedenen Arten von Shields kombinieren, um spezifische Anwendungsfälle oder Anwendungen zu evaluieren und schnelle Prototypen zu erstellen.
NXP ermöglicht zuverlässige und sichere mobile Robotik
Da mobile Roboter zunehmend autonom werden, ist die Gewährleistung ihres zuverlässigen und sicheren Betriebs von entscheidender Bedeutung. Wenn dies nicht berücksichtigt wird, können durch anspruchsvolle Einsatzumgebungen verursachte Speicherfehler zu unerwartetem Verhalten der Roboter führen.
Die MCX-Mikrocontroller-Produktpalette von NXP ist bestens darauf vorbereitet, die Anforderungen an zuverlässige Robotik mit ihren Fehlerkorrekturfunktionen zu erfüllen. Von ECC-geschütztem Flash und SRAM bis hin zur Speicherzugriffssteuerung zur Laufzeit und Protokollierung von Fehlerereignissen bietet der MCX mehrere Schutzebenen gegen Speicherfehler.
Mobilrobot-Designer, die Zuverlässigkeit und Sicherheit optimieren möchten, sollten den NXP MCX in Betracht ziehen. Seine fortschrittliche Architektur und umfassende Funktionspalette machen ihn zu einer leistungsstarken Plattform für die Entwicklung zuverlässiger autonomer Roboter.
Artikel Tags