Diseño de robots móviles confiables y seguros con funciones de corrección de errores de MCX

Los robots móviles verdaderamente autónomos solían ser ciencia ficción, pero los recientes avances en procesamiento, detección y control los han acercado a la realidad. Sin embargo, uno de los principales obstáculos que enfrenta esta tecnología es la capacidad de los robots de autocorregirse si se produce un error en sus operaciones de procesamiento. En este artículo se explora cómo las MCU microcoaxiales de NXP tienen funciones avanzadas de corrección de errores que hacen que los robots móviles sean más seguros y confiables.

Los robots móviles se utilizan cada vez más en una amplia gama de aplicaciones, desde la automatización industrial hasta la robótica de servicios. Garantizar su funcionamiento confiable y seguro es fundamental ya que estos robots asumen tareas más complejas y operan en entornos no controlados.

La nueva cartera de microcontroladores MCX de NXP ayuda a abordar estos desafíos. Fabricadas sobre la base del núcleo Arm® Cortex®-M33 de alto rendimiento, las MCU microcoaxiales incorporan funciones avanzadas de detección y corrección de errores, lo que las hace adecuadas para desarrollar robots móviles que requieren altos niveles de confiabilidad y seguridad.

Preocupaciones comunes sobre confiabilidad y seguridad en robots móviles

Los robots móviles dependen en gran medida de su electrónica de a bordo para percibir su entorno, tomar decisiones y controlar sus acciones. Sin embargo, sus condiciones de funcionamiento pueden ser difíciles debido a diversos factores, como temperaturas extremas, vibraciones e interferencias electromagnéticas. Estos factores estresantes pueden provocar errores de bits y corrupción en la memoria del robot con el tiempo. Por lo tanto, debemos considerar la confiabilidad a largo plazo de la electrónica, ya que se espera que los robots móviles tengan una vida útil operativa prolongada.

1024-image-of-industrial-amrs
Robots móviles autónomos industriales

Los errores de memoria pueden provocar diversos problemas de confiabilidad y seguridad en robots móviles. Un cambio de bits en el firmware de control del robot podría provocar que ejecute instrucciones incorrectas, lo que genera comportamientos no deseados. Los datos corruptos del sensor podrían malinterpretarse, provocando que el robot tome decisiones incorrectas. Las salidas de control del motor erróneas podrían provocar un movimiento inesperado o dañar potencialmente el robot o su entorno.

En aplicaciones críticas para la seguridad, como los robots móviles que operan cerca de personas, las consecuencias de tales fallas podrían ser sustanciales. Los robots móviles necesitan protecciones sólidas contra errores de memoria para garantizar un funcionamiento confiable y seguro.

Funciones de corrección de errores de MCX para memoria flash y RAM

La serie de microcontroladores NXP MCX A incorpora varias características clave para detectar y corregir errores de memoria. El MCX A incorpora hasta 128 KB de memoria flash con capacidades de código de corrección de errores (ECC, por sus siglas en inglés). La serie MCX N cuenta con hasta 2 MB de memoria flash con ECC. Cada palabra de 128 bits de memoria flash incorpora 9 bits adicionales de datos ECC.

ECC es una técnica de almacenar bits redundantes con cada palabra de datos. Estos bits redundantes ayudan a verificar la integridad de los datos regenerando los bits ECC y comparándolos con el ECC almacenado en cada operación de lectura. Si los bits ECC regenerados y almacenados no coinciden, significa que hay un error que ECC puede corregir. ECC también puede determinar qué bit es erróneo en caso de haya un error de un solo bit. Sin embargo, solo puede detectar los errores de doble bit, pero no corregirlos.

1024-image-of-mobile-robot-example
Ejemplo de robot móvil

Si el microcontrolador detecta un error ECC, el módulo controlador del sistema (SYSCON, por sus siglas en inglés) puede generar una falla de bus o usar una interrupción para manejar el error. El manejo flexible de fallas permite a los desarrolladores personalizar su manejo para adaptarlo mejor a sus aplicaciones.

El MCX A también proporciona 32 KB de SRAM en chip, con un bloque de 8 KB (RAMA0) que incorpora ECC para corrección de errores simples y detección de errores dobles. La serie MCX N proporciona hasta 416 KB de RAM cuando se configura como ECC, de los cuales 32 KB se pueden conservar en modo VBAT. Esta función protege datos críticos en tiempo de ejecución, como entradas de sensores y variables de estado del algoritmo. El microcontrolador implementa un módulo de informe de errores (ERM) para proporcionar informes completos y control sobre los errores. El ERM captura y registra eventos de error de la lógica ECC, proporcionando visibilidad sobre el estado del subsistema de memoria. Los desarrolladores pueden utilizar esta información de errores para diagnósticos y mantenimiento predictivo.

Para el autodiagnóstico, el módulo de inyección de errores (EIM) proporciona capacidades para inyectar errores al leer RAM ECC. Esta función de autoprueba permite a los desarrolladores implementar autoverificaciones periódicas para garantizar que el microcontrolador funcione de manera confiable.

Además de ECC, la serie MCX A incluye un Comprobador de bloque de memoria (MBC) que proporciona control de seguridad en tiempo de ejecución sobre permisos de lectura, escritura y ejecución para diferentes regiones de memoria. Al definir políticas de acceso a la memoria, el MBC puede evitar el acceso no autorizado a la memoria.

Cómo el MCX de corrección de errores permite una robótica confiable

Las funciones de corrección de errores del MCX trabajan juntas para mejorar la confiabilidad y la seguridad del robot móvil. Al corregir automáticamente errores de un solo bit en la memoria flash, el MCX mantiene la integridad del firmware de control del robot. Esta integridad evita que el robot ejecute una lógica de control errónea que podría provocar comportamientos no deseados.

El MCX está equipado para detectar errores de doble bit, lo que es crucial para garantizar la seguridad y confiabilidad de sus operaciones. Si bien no es posible corregir errores de doble bit, detectarlos ayuda a prevenir el uso de instrucciones o datos dañados. Cuando se detecta un error de bit doble, el robot puede ponerse cuidadosamente en un estado seguro, evitando así posibles peligros o malfuncionamiento.

El ECC del MCX extiende sus capacidades de protección de memoria más allá de la memoria flash para abarcar la memoria SRAM. El bloque SRAM RAMA0 de 8 KB del MCX A incorpora ECC, mientras que el MCX N puede reutilizar RAMG y RAMH para la corrección de ECC, lo que proporciona hasta 416 KB de memoria RAM ECC. La RAM ECC permite la corrección de errores de un solo bit y la detección de errores de doble bit para datos de tiempo de ejecución. Esta funcionalidad protege datos críticos, como lecturas de sensores, salidas de control y variables de algoritmos intermedios, contra la acumulación de errores de un solo bit que de otro modo podrían causar inconsistencias en la percepción, la planificación y la lógica de control del robot. Al mantener la integridad de estos datos de tiempo de ejecución, el ECC SRAM del MCX ayuda a garantizar que el conocimiento de la situación y la toma de decisiones del robot sigan siendo precisas y confiables. El MCX N también proporciona hasta 32 KB de RAM ECC que se puede conservar en modo VBAT, lo que permite que los datos permanezcan protegidos incluso en un estado de bajo consumo de energía.

El MBC proporciona una capa adicional de seguridad al aplicar políticas de protección de memoria. Puede bloquear el acceso no autorizado a la memoria, lo que ayuda a contener fallas y evitar que provoquen comportamientos descontrolados del robot.

Por último, el ERM permite un enfoque basado en datos para el mantenimiento de robots. Al registrar eventos de errores de memoria, el ERM proporciona visibilidad sobre el estado de la electrónica del robot. Una tasa creciente de errores corregidos podría indicar una falla inminente, lo que permitiría reparar el robot de manera proactiva.

Ejemplo de caso de uso

Consideremos un robot de servicio móvil que opera en un entorno industrial. El robot debe navegar de forma autónoma, evitando obstáculos y personas mientras realiza tareas.

1024-image-of-mobile-service-robot
Robot de servicio móvil

Sin embargo, el entorno industrial puede ser un desafío, con equipos que generan interferencias electromagnéticas (EMI, por sus siglas en inglés). Con el tiempo, la EMI podría provocar errores de bits en la memoria del robot.

El ECC del MCX detectaría y corregiría cualquier error de bit simple inducido por EMI, lo que garantiza que el robot ejecute su lógica de control de manera correcta. Si ocurriera un error de bit doble más grave, el MCX lo detectaría y evitaría el uso de los datos corruptos. El robot podría entonces iniciar un apagado seguro.

Durante estos eventos, el ERM del MCX registraría las ocurrencias de errores. El personal de mantenimiento podría monitorear estos registros y observar cualquier tendencia que indique una falla potencial. Al realizar el mantenimiento del robot de forma proactiva, se minimiza el tiempo de inactividad y se mantiene la seguridad.

Experiencia de desarrollador de MCUXpresso

Para crear prototipos rápidos con MCX, NXP ofrece la plataforma de desarrollo FRDM de bajo costo. Las placas de desarrollo FRDM vienen con un factor de forma y cabezales estándar, fácil acceso a las E/S de MCU, depurador MCU-Link integrado y un cable USB-C.

GitHub de NXP también proporciona acceso a ejemplos de aplicaciones, a los que se puede acceder mediante el portal Application Code Hub (ACH). MCUXpresso IDE y MCUXpresso para VS Code tienen navegación ACH incorporada, por lo que los desarrolladores pueden buscar fácilmente demostraciones y ejemplos disponibles y filtrar por dispositivo, tecnología de aplicación o periférico/característica antes de cargar el proyecto directamente para su uso.

El concentrador de placas de expansión (EBH) es una extensión del sitio SDK Builder de NXP, donde los desarrolladores pueden encontrar una variedad de placas complementarias de NXP y socios para ampliar las capacidades de la placa de evaluación elegida. Este centro ofrece un filtrado intuitivo para encontrar placas rápidamente y localizar el software de soporte disponible. Los desarrolladores pueden combinar su placa con diferentes tipos de protectores para evaluar y realizar prototipos rápidos para casos de uso o aplicaciones específicos.

NXP permite una robótica móvil fiable y segura

A medida que los robots móviles se vuelven más autónomos, garantizar su funcionamiento confiable y seguro es esencial. Si no se corrigen, los errores de memoria inducidos por entornos operativos desafiantes pueden provocar comportamientos inesperados del robot.

La cartera de microcontroladores MCX de NXP está bien equipada para satisfacer las necesidades de robótica confiable con sus funciones de corrección de errores. Desde flash y SRAM protegidos con ECC hasta control de acceso a memoria en tiempo de ejecución y registro de eventos de errores, el MCX proporciona múltiples capas de protección contra errores de memoria.

Los diseñadores de robots móviles que buscan optimizar la confiabilidad y la seguridad deberían considerar el NXP MCX. Su arquitectura avanzada y su amplio conjunto de características lo convierten en una plataforma sólida para desarrollar robots autónomos confiables.


Artículos informativos relacionados

Últimas noticias

Lo sentimos, pero su selección de filtros no devolvió resultados.

Hemos actualizado nuestra política de privacidad. Por favor tome un momento para revisar estos cambios. Al hacer clic en Acepto, usted está de acuerdo con la Politica de Privacidad de Arrow Electronics y sus condiciones de uso.

Nuestro sitio Web coloca cookies en su dispositivo para mejorar su experiencia y nuestro sitio. Lea más sobre las cookies que utilizamos y cómo desactivarlas aquió. Es posible que se utilicen las cookies y tecnologías de seguimiento con fines de marketing.
Al hacer clic en "Aceptar", usted está consintiendo la colocación de cookies en su dispositivo y el uso de tecnologías de seguimiento. Haga clic en "Leer más" a continuación para obtener más información e instrucciones sobre cómo desactivar las cookies y tecnologías de seguimiento. Si bien la aceptación de cookies y tecnologías de seguimiento es voluntaria, la desactivación de estos puede resultar en que el sitio web no funcione correctamente, y es posible que ciertos anuncios sean menos relevantes para usted.
Respetamos su privacidad. Lea nuestra política de privacidad aquió