Progettazione di robot mobili robusti e sicuri grazie alle funzionalità di correzione degli errori di MCX

Un tempo i robot mobili veramente autonomi erano fantascienza, ma i recenti progressi nell'elaborazione, nella rilevazione e nel controllo li hanno resi più vicini alla realtà. Uno dei maggiori ostacoli che questa tecnologia deve affrontare è la capacità dei robot di autocorreggersi se si verifica un errore nelle loro operazioni di elaborazione. Questo articolo rivela come le unità microcontroller MCX di NXP dispongano di funzionalità avanzate di correzione degli errori che rendono i robot mobili più sicuri e robusti.

I robot mobili vengono sempre più utilizzati in un'ampia gamma di applicazioni, dall'automazione industriale alla robotica di servizio. Garantire un funzionamento affidabile e sicuro è fondamentale ora che questi robot svolgono compiti più complessi e operano in ambienti non controllati.

La nuova gamma di microcontroller MCX di NXP aiuta ad affrontare queste sfide. Basati sul core Arm® Cortex®-M33 ad alte prestazioni, gli MCU MCX incorporano funzionalità avanzate di rilevamento e correzione degli errori, rendendoli adatti allo sviluppo di robot mobili che richiedono elevati livelli di affidabilità e sicurezza.

Preoccupazioni comuni legate all'affidabilità e alla sicurezza dei robot mobili

I robot mobili fanno largo uso dell'elettronica di bordo per percepire l'ambiente circostante, prendere decisioni e controllare le proprie azioni. Tuttavia, le loro condizioni operative possono essere difficili a causa di vari fattori, come temperature estreme, vibrazioni e interferenze elettromagnetiche. Nel corso del tempo questi fattori di stress possono causare errori di bit e corruzione della memoria dei robot. Pertanto, dobbiamo considerare l'affidabilità a lungo termine dell'elettronica, poiché è previsto che i robot mobili abbiano una lunga durata operativa.

1024-image-of-industrial-amrs
Robot mobili autonomi (AMR) industriali

Gli errori di memoria possono causare vari problemi di affidabilità e sicurezza nei robot mobili. Un'inversione di bit nel firmware di controllo del robot potrebbe causare l'esecuzione di istruzioni errate, dando luogo a comportamenti indesiderati. I dati dei sensori corrotti potrebbero essere interpretati male, inducendo il robot a prendere decisioni errate. Elaborazioni errate del controllo motore potrebbero causare movimenti imprevisti o danneggiare potenzialmente il robot o l'ambiente circostante.

Nelle applicazioni critiche per la sicurezza, come i robot mobili che operano in prossimità delle persone, le conseguenze di tali malfunzionamenti potrebbero essere notevoli. Di conseguenza, i robot mobili necessitano di robuste misure di sicurezza contro gli errori di memoria per garantirne un funzionamento affidabile e sicuro.

Funzionalità di correzione degli errori MCX per flash e RAM

La serie di microcontroller MCX A di NXP integra diverse funzionalità chiave per rilevare e correggere gli errori di memoria. La soluzione MCX A integra fino a 128 KB di memoria flash con funzionalità di codifica per la correzione degli errori (ECC). La serie MCX N è dotata di una memoria flash fino a 2 MB con ECC. Ogni parola da 128 bit della memoria flash integra 9 bit aggiuntivi di dati ECC.

ECC è una tecnica che consente di memorizzare bit ridondanti in ogni parola di dati. Questi bit ridondanti aiutano a verificare l'integrità dei dati rigenerando i bit ECC e confrontandoli con l'ECC memorizzato a ogni operazione di lettura. Se i bit ECC rigenerati e memorizzati non corrispondono, significa che si è verificato un errore che l'ECC potrebbe essere in grado di correggere. Inoltre, in caso di errore a singolo bit, l'ECC è in grado di determinare quale bit è errato. Tuttavia, in caso di errore a doppio bit, può solo rilevare l'errore, ma non a correggerlo.

1024-image-of-mobile-robot-example
Esempio di robot mobile

Se il microcontroller rileva un errore ECC, il modulo System Controller (SYSCON) è in grado di generare un errore del bus o disporre un'interruzione per gestire tale errore. La gestione flessibile degli errori consente agli sviluppatori di personalizzare la gestione per adattarla al meglio alle proprie applicazioni.

La serie MCX A offre inoltre 32 KB di memoria SRAM on-chip, con un blocco da 8 KB (RAMA0) che integra funzionalità ECC per la correzione di errori singoli e il rilevamento di errori doppi. La serie MCX N fornisce fino a 416 KB di RAM se configurata come ECC, di cui 32 KB possono essere conservati in modalità VBAT. Questa funzionalità protegge i dati di runtime critici, come gli input dei sensori e le variabili di stato dell'algoritmo. Il microcontroller implementa un modulo di segnalazione degli errori (ERM) per garantire segnalazione e controllo completi degli errori. L'ERM cattura e registra gli eventi di errore dalla logica ECC, fornendo visibilità sullo stato di salute del sottosistema di memoria. Gli sviluppatori possono utilizzare queste informazioni sugli errori a fini diagnostici e di manutenzione predittiva.

Per l'autodiagnosi, il modulo EIM (Error Injection Module) offre la possibilità di iniettare errori durante la lettura della RAM ECC. Questa funzione di autotest consente agli sviluppatori di implementare controlli automatici periodici per garantire il funzionamento affidabile del microcontroller.

Oltre all'ECC, la serie MCX A include un Memory Block Checker (MBC) che fornisce un controllo di sicurezza in fase di esecuzione sulle autorizzazioni di lettura, scrittura ed esecuzione per diverse regioni di memoria. Definendo i criteri di accesso alla memoria, l'MBC può impedire l'accesso non autorizzato alla memoria.

Come la correzione degli errori delle unità MCX consente una robotica robusta

Le funzionalità di correzione degli errori del microcontroller MCX interagiscono per migliorare l'affidabilità e la sicurezza dei robot mobili. Correggendo automaticamente gli errori a singolo bit nella memoria flash, l'unità MCX mantiene l'integrità del firmware di controllo del robot. Tale integrità impedisce al robot di eseguire una logica di controllo errata che potrebbe dare origine a comportamenti indesiderati.

L'MCX è in grado di rilevare errori a doppio bit, il che è fondamentale per garantire la sicurezza e l'affidabilità delle sue operazioni. Sebbene non sia possibile correggere gli errori a doppio bit, rilevarli aiuta a prevenire l'uso di istruzioni o dati corrotti. Quando viene rilevato un errore a doppio bit, il robot può essere messo in uno stato sicuro, evitando così potenziali pericoli o malfunzionamenti.

La funzionalità ECC dell'unità MCX estende le sue capacità di protezione della memoria oltre la memoria flash, includendo anche la SRAM. Il blocco SRAM RAMA0 da 8 KB della soluzione MCX A integra funzionalità ECC, mentre l'unità MCX N può riutilizzare RAMG e RAMH per le funzioni di correzione ECC, fornendo fino a 416 KB di RAM ECC. La RAM ECC consente la correzione di errori a singolo bit e il rilevamento di errori a doppio bit per i dati di runtime. Questa funzionalità protegge i dati critici, quali le letture dei sensori, gli output di controllo e le variabili degli algoritmi intermedi, dall'accumulo di errori a singolo bit che potrebbero altrimenti causare incongruenze nella percezione, nella pianificazione e nella logica di controllo del robot. Mantenendo l'integrità di questi dati di runtime, la funzionalità ECC SRAM dell'unità MCX contribuisce a garantire che la consapevolezza situazionale e il processo decisionale del robot rimangano accurati e affidabili. L'MCX N fornisce inoltre fino a 32 KB di RAM ECC che può essere conservata in modalità VBAT, consentendo di mantenere i dati protetti anche in stato di basso consumo energetico.

L'MBC fornisce un ulteriore livello di sicurezza applicando criteri di protezione della memoria. Può bloccare l'accesso non autorizzato alla memoria, contribuendo a contenere gli errori e a impedire che causino comportamenti incontrollati del robot.

Infine, l'ERM consente un approccio basato sui dati per la manutenzione dei robot. Registrando gli eventi di errore della memoria, l'ERM fornisce visibilità sullo stato di salute dell'elettronica del robot. Un tasso crescente di errori corretti potrebbe indicare un guasto imminente, consentendo di sottoporre il robot a manutenzione in modo proattivo.

Esempio di caso d'uso

Consideriamo un robot di servizio mobile che opera in un ambiente industriale. Questo deve muoversi autonomamente, evitando ostacoli e persone mentre esegue le proprie attività.

1024-image-of-mobile-service-robot
Robot di servizio mobile

Tuttavia, l'ambiente industriale può essere problematico, poiché prevede la presenza di apparecchiature che generano interferenze elettromagnetiche (EMI). Nel tempo, le interferenze elettromagnetiche potrebbero causare errori di bit nella memoria del robot.

La funzionalità ECC dell'unità MCX rileverà e correggerà eventuali errori a singolo bit indotti dalle interferenze elettromagnetiche, garantendo che il robot esegua correttamente la propria logica di controllo. Se si verificasse un errore a doppio bit più grave, l'MCX lo rileverebbe e impedirebbe l'utilizzo dei dati danneggiati. Il robot potrebbe quindi avviare un arresto sicuro.

Durante questi eventi, il modulo ERM dell'unità MCX registrerà gli errori che si verificano. Il personale addetto alla manutenzione potrebbe monitorare questi registri, osservando eventuali tendenze che indicano un potenziale guasto. Grazie alla manutenzione proattiva del robot, i tempi di fermo vengono ridotti al minimo e la sicurezza viene garantita.

Esperienza di sviluppatore MCUXpresso

Per una prototipazione rapida con MCX, NXP offre la piattaforma di sviluppo FRDM a basso costo. Le schede di sviluppo FRDM sono dotate di fattore di forma e header standard, facile accesso agli I/O MCU, debugger MCU-Link integrato e un cavo USB-C.

Il servizio GitHub di NXP fornisce inoltre accesso ad esempi di applicazioni, disponibili tramite il portale Application Code Hub (ACH). MCUXpresso IDE ed MCUXpresso for VS Code offrono la navigazione ACH integrata, così gli sviluppatori possono cercare facilmente demo ed esempi disponibili e filtrarli in base al dispositivo, alla tecnologia dell'applicazione o alla periferica/funzionalità di interesse prima di caricare direttamente il progetto per l'uso.

L'Expansion Board Hub (EBH) è un'estensione del sito SDK Builder di NXP, dove gli sviluppatori possono trovare svariate schede aggiuntive di NXP e dei partner per estendere le funzionalità della scheda di valutazione scelta. Questo hub offre un filtro intuitivo per trovare rapidamente le schede e individuare il software di supporto disponibile. Gli sviluppatori possono abbinare la propria scheda a diversi tipi di shield per valutare ed effettuare una prototipazione rapida in base a casi d'uso o applicazioni specifici.

NXP consente una robotica mobile robusta e sicura

Man mano che i robot mobili diventano sempre più autonomi, è fondamentale garantirne un funzionamento affidabile e sicuro. Se non vengono affrontati, gli errori di memoria causati da ambienti operativi difficili possono dare origine a comportamenti inaspettati del robot.

La gamma di microcontroller MCX di NXP è ben attrezzata per soddisfare le esigenze di una robotica robusta grazie alle sue funzionalità di correzione degli errori. Dalla flash e SRAM protette da ECC al controllo dell'accesso alla memoria runtime e alla registrazione degli eventi di errore, l'MCX fornisce più livelli di protezione contro gli errori di memoria.

I progettisti di robot mobili che mirano a ottimizzare affidabilità e sicurezza dovrebbero prendere in considerazione l'NXP MCX. La sua architettura avanzata e il set completo di funzionalità lo rendono una piattaforma solida per lo sviluppo di robot autonomi affidabili.


Articoli correlati

Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra Politica sulla privacy. Ti preghiamo di verificare le modifiche apportate. Facendo clic su "Accetto", dichiari di accettare la Politica sulla privacy e i Termini di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy