Arrow Electronic Components Online

Entwicklung zuverlässiger und sicherer mobiler Roboter mit den Fehlerkorrekturfunktionen von MCX

Autonome Maschinen11 Okt. 2024
Das Bild zeigt autonome Roboter, die in einer modernen Lagerumgebung Pakete transportieren.
Alle Artikel anzeigen

Wirklich autonome mobile Roboter waren früher Science-Fiction, aber durch jüngste Fortschritte in den Bereichen Verarbeitung, Sensorik und Steuerung sind sie der Realität näher gekommen. Ein großes Hindernis für diese Technologie ist jedoch die Fähigkeit der Roboter, sich selbst zu korrigieren, wenn ein Fehler in ihren Verarbeitungsoperationen auftritt. Dieser Artikel untersucht, wie die MCX-MCUs von NXP fortschrittliche Fehlerkorrekturfunktionen bieten, die mobile Roboter sicherer und zuverlässiger machen.

Mobile Roboter werden zunehmend in einem breiten Spektrum von Anwendungen eingesetzt, von der industriellen Automatisierung bis hin zur Servicerobotik. Die Gewährleistung ihres zuverlässigen und sicheren Betriebs ist von entscheidender Bedeutung, da diese Roboter komplexere Aufgaben übernehmen und in unkontrollierten Umgebungen arbeiten.

NXPs neues MCX-Portfolio von Mikrocontrollern hilft, diese Herausforderungen zu bewältigen. Auf Basis des Hochleistungs-Arm® Cortex®-M33-Kerns integrieren die MCX-Mikrocontroller fortschrittliche Fehlererkennungs- und Korrekturfunktionen, wodurch sie sich ideal für die Entwicklung von mobilen Robotern eignen, die hohe Zuverlässigkeits- und Sicherheitsniveaus erfordern.

Häufige Zuverlässigkeits- und Sicherheitsbedenken bei mobilen Robotern

Mobile Roboter sind stark auf ihre bordeigene Elektronik angewiesen, um ihre Umgebung wahrzunehmen, Entscheidungen zu treffen und ihre Aktionen zu steuern. Ihre Betriebsbedingungen können jedoch aufgrund verschiedener Faktoren wie extremer Temperaturen, Vibrationen und elektromagnetischer Störungen herausfordernd sein. Diese Stressfaktoren können im Laufe der Zeit Bitfehler und Beschädigungen 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 lange Betriebslebensdauern haben.

A group of autonomous robots designed for warehouse operations is seen navigating a polished industrial floor

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 unbeabsichtigtem Verhalten führt. Beschädigte Sensordaten könnten falsch interpretiert werden, wodurch der Roboter falsche Entscheidungen trifft. Fehlerhafte Motorsteuerungsausgaben könnten zu unerwarteten Bewegungen führen oder den Roboter bzw. seine Umgebung potenziell beschädigen.

In sicherheitskritischen Anwendungen, wie z. B. 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 einen zuverlässigen und sicheren Betrieb zu gewährleisten.

MCX-Fehlerkorrekturfunktionen für Flash und RAM

Die NXP MCX A Mikrocontroller-Serie enthält mehrere Schlüsselelemente zur Erkennung und Korrektur von Speicherfehlern. Der MCX A integriert bis zu 128KB Flash-Speicher mit Fehlerkorrektur-Codierung (ECC) Fähigkeiten. Die MCX N Serie bietet bis zu 2MB Flash-Speicher mit ECC. Jedes 128-Bit-Wort des Flashs enthält zusätzlich 9 Bits ECC-Daten.

ECC ist eine Technik zur Speicherung redundanter Bits mit jedem Datenwort. Diese redundanten Bits helfen, die Datenintegrität zu überprüfen, indem die ECC-Bits regeneriert und bei jedem Lesevorgang mit den gespeicherten ECCs verglichen werden. Wenn die regenerierten und gespeicherten ECC-Bits nicht übereinstimmen, bedeutet dies, dass ein Fehler vorliegt, den ECC möglicherweise korrigieren kann. ECC kann auch bestimmen, welches Bit bei einem Einfachbitfehler fehlerhaft ist. Allerdings können doppelte Bitfehler nur erkannt, aber nicht korrigiert werden.

A sleek, modern robot with a white and black design is seen on a paved pathway in a park-like setting

Beispiel für mobilen Roboter

Abbildung 2

Wenn der Mikrocontroller einen ECC-Fehler erkennt, kann das System Controller (SYSCON)-Modul einen Busfehler erzeugen oder einen Interrupt verwenden, um den Fehler zu behandeln. Die flexible Fehlerbehandlung ermöglicht es Entwicklern, die Behandlung anzupassen, um sie optimal an ihre Anwendungen anzupassen.

The MCX A also provides 32KB of on-chip SRAM, with an 8KB block (RAMA0) incorporating ECC for single-error correction and double-error detection. The MCX N series provides up to 416KB of RAM when configured as ECC, of which 32KB can be retained in VBAT mode. This feature protects critical runtime data, such as sensor inputs and algorithm state variables. The microcontroller implements an Error Reporting Module (ERM) to provide comprehensive reporting and control over errors. The ERM captures and logs error events from the ECC logic, providing visibility into the health of the memory subsystem. Developers can utilize this error information for diagnostics and predictive maintenance.

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 zu ECC umfasst die MCX A-Serie einen Memory Block Checker (MBC), der in der Laufzeit Sicherheitskontrolle über die Lese-, Schreib- und Ausführungsrechte für verschiedene Speicherbereiche bietet. Durch die Definition von Speicherzugriffsrichtlinien kann der MBC einen unbefugten Speicherzugriff verhindern.

Wie 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 bewahrt der MCX die Integrität der Steuerungsfirmware des Roboters. Diese Integrität verhindert, dass der Roboter fehlerhafte Steuerlogik ausführt, die zu unbeabsichtigtem Verhalten führen könnte.

Der MCX ist ausgestattet, um Doppelbit-Fehler zu erkennen, was entscheidend für die Gewährleistung der Sicherheit und Zuverlässigkeit seiner Operationen ist. Obwohl es nicht möglich ist, Doppelbit-Fehler zu korrigieren, hilft deren Erkennung, die Verwendung von beschädigten Anweisungen oder Daten zu verhindern. Wenn ein Doppelbit-Fehler erkannt wird, kann der Roboter in einen sicheren Zustand versetzt werden, um potenzielle Gefahren oder Fehlfunktionen zu vermeiden.

Die ECC des MCX erweitert seine Speicher-Schutzfähigkeiten über Flash hinaus, um auch SRAM abzudecken. Der 8KB RAMA0 SRAM-Block des MCX A integriert ECC, während der MCX N RAMG und RAMH für ECC-Korrekturen umnutzen kann, was bis zu 416KB ECC RAM bietet. ECC RAM ermöglicht die Korrektur von Einzelbit-Fehlern und die Erkennung von Doppelbit-Fehlern für Laufzeitdaten. Diese Funktionalität schützt kritische Daten wie Sensorablesungen, Steuerungsausgaben und Zwischenvariablen von Algorithmen vor der Anhäufung von Einzelbit-Fehlern, die sonst zu Inkonsistenzen in der Wahrnehmung, Planung und Steuerlogik des Roboters führen könnten. Durch die Erhaltung der Integrität dieser Laufzeitdaten trägt das SRAM ECC des MCX dazu bei, dass die Situationswahrnehmung und Entscheidungsfindung des Roboters genau und zuverlässig bleibt. Der MCX N bietet zusätzlich bis zu 32KB ECC RAM, das im VBAT-Modus erhalten bleibt, sodass Daten auch im Energiesparmodus geschützt bleiben.

Der MBC bietet eine zusätzliche Sicherheitsebene, indem er Speicher-Schutzrichtlinien durchsetzt. Er kann unbefugten Speicherzugriff blockieren, wodurch Fehler eingedämmt und verhindert werden, dass sie unkontrollierte Roboterverhalten verursachen.

Schließlich ermöglicht das ERM einen datengesteuerten Ansatz zur Wartung von Robotern. Durch das Protokollieren von Speicherfehlerereignissen bietet das ERM Einblick in den Zustand der Elektronik des Roboters. Eine zunehmende Rate korrigierter Fehler könnte auf einen bevorstehenden Ausfall hinweisen, sodass der Roboter proaktiv gewartet werden kann.

Beispiel-Anwendungsfall

Betrachten Sie einen mobilen Serviceroboter, der in einer industriellen Umgebung arbeitet. Der Roboter muss sich autonom fortbewegen, Hindernisse und Personen vermeiden, während er Aufgaben ausführt.

A compact autonomous delivery robot navigates a busy city street at night

Mobiler Serviceroboter

Abbildung 3

Allerdings kann das industrielle Umfeld 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 jegliche einzelbitige Fehler, die durch EMI verursacht wurden, erkennen und korrigieren, um sicherzustellen, dass der Roboter seine Steuerlogik korrekt ausführt. Sollte ein schwerwiegenderer Doppelbit-Fehler auftreten, würde der MCX diesen erkennen und die Verwendung der beschädigten Daten verhindern. Der Roboter könnte dann eine sichere Abschaltung einleiten.

Während dieser Ereignisse würde das ERM des MCX die Fehler auftreten. Das Wartungspersonal könnte diese Protokolle überwachen und nach Trends suchen, die auf einen potenziellen Ausfall hinweisen. Durch proaktive Wartung des Roboters werden Ausfallzeiten minimiert und die Sicherheit gewährleistet.

MCUXpresso Entwicklererfahrung

Für schnelles Prototyping mit MCX bietet NXP die kostengünstige FRDM-Entwicklungsplattform an. FRDM-Entwicklungsboards kommen mit standardisiertem Formfaktor und Headern, einfachem Zugang zu MCU-Ein-/Ausgängen, einem integrierten MCU-Link-Debugger und einem USB-C-Kabel.

Das GitHub von NXP bietet auch Zugriff auf Anwendungsbeispiele, die über das Application Code Hub portal (ACH) zugänglich sind. MCUXpresso IDE und MCUXpresso für VS Code verfügen über integrierte ACH-Browsing-Funktionen, sodass Entwickler leicht verfügbare Demos und Beispiele suchen und nach Gerät, Anwendungstechnologie oder Peripherie/Funktion filtern können, bevor sie das Projekt direkt zur Verwendung laden.

Das Expansion Board Hub (EBH) ist eine Erweiterung der NXP SDK Builder-Website, auf der Entwickler eine Vielzahl von Zusatzplatinen von NXP und Partnern finden können, um die Möglichkeiten des ausgewählten Evaluierungsboards zu erweitern. Dieser Hub bietet eine intuitive Filterung, um Platinen schnell zu finden und verfügbare unterstützende Software zu lokalisieren. Entwickler können ihre Platine 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 immer autonomer werden, ist die Gewährleistung ihres zuverlässigen und sicheren Betriebs unerlässlich. Wenn dies nicht angegangen wird, können speicherinduzierte Fehler durch herausfordernde Betriebsumgebungen zu unerwarteten Roboterverhalten führen.

NXP's MCX-Mikrocontroller-Portfolio ist gut ausgestattet, um den Anforderungen zuverlässiger Robotik mit seinen Fehlerkorrekturfunktionen gerecht zu werden. Von ECC-geschütztem Flash und SRAM bis hin zur Laufzeitspeicherzugriffskontrolle und Fehlerereignisprotokollierung bietet das MCX mehrere Schutzschichten gegen Speicherfehler.

Entwickler mobiler Roboter, die Zuverlässigkeit und Sicherheit optimieren möchten, sollten den NXP MCX in Betracht ziehen. Seine fortschrittliche Architektur und umfassende Ausstattung machen ihn zu einer starken Plattform für die Entwicklung zuverlässiger autonomer Roboter.

Geräteprogrammierungsdienste

Bereitstellung hochwertiger Gerätekoprogrammierdienste in großem Maßstab.

Artikel Tags

Autonome Maschinen
NXP Semiconductors
Robotik
Speicher
Automatisierung
Mikrocontroller - MCUs

Verwandte Nachrichtenartikel

Alle anzeigen