USD

Configuración rápida de instalaciones de automatización industrial mediante depuradores de microcontroladores remotos

Por Bill Giovino

Colaboración de Editores de Digi-Key de América del Norte

Las instalaciones de automatización industrial están aumentando el uso de computadoras monoplaca (SBC) basadas en microcontroladores para controlar las operaciones de las instalaciones con el fin de aumentar la eficiencia y mejorar la productividad. A menudo, los SBC utilizados son una combinación de SBC estándar con firmware configurable y SBC personalizados con firmware personalizado. Sin embargo, para las nuevas instalaciones industriales, o para las instalaciones existentes que acaban de sufrir una reconfiguración, puede ser necesario modificar el firmware del SBC para mejorar el funcionamiento o corregir errores de código.

En este artículo se analiza el papel de los SBC y por qué la depuración remota es cada vez más importante en los entornos industriales. A continuación, presentará los depuradores remotos y el software asociado de MikroElektronika y explicará cómo pueden conectarse a una red Wi-Fi para depurar remotamente los microcontroladores Arm® en la mayoría de los SBC.

SBC en computadoras industriales

Las modernas instalaciones de automatización industrial están sometidas a la presión de aumentar la productividad mediante una mejor gestión de los procesos a través de una mayor precisión. Esto puede incluir el uso de sensores de alta resolución para proporcionar datos más precisos al firmware de control. Además, los actuadores, como los motores y los solenoides, pueden actualizarse a actuadores que pueden moverse en incrementos mucho más finos.

Una vez instalados estos sensores y actuadores de mayor precisión y resolución, el firmware de control de los SBC que gestionan estos dispositivos debe modificarse para aprovechar la mayor resolución. Si la actualización del firmware no puede ser manejada por el SBC actual, entonces se debe instalar un nuevo SBC. En cualquier caso, el nuevo firmware suele probarse y depurarse en el banco antes de instalarlo en la instalación industrial. Tras las pruebas iniciales, el nuevo sistema se pone en funcionamiento.

Sin embargo, en el caso de procesos más complejos, la depuración y la programación pueden no terminar ahí. El funcionamiento en el sistema puede revelar problemas no descubiertos durante estas pruebas de preproducción, y en muchos casos la única forma de optimizar el firmware es realizar la depuración mientras el SBC está en uso.

Las nuevas instalaciones de automatización industrial pueden enfrentarse a los mismos problemas. Esto es especialmente cierto en el caso de los sistemas de alto rendimiento, en los que los lazos de control del firmware deben ajustarse con precisión para cumplir los requisitos de eficiencia. Independientemente de si la instalación industrial es nueva o se ha modernizado, el tiempo de inactividad es caro y debe minimizarse. Esto significa que los SBC deben ser depurados y programados en el sistema.

Depuración remota de sistemas industriales embebidos

La depuración de los SBC utilizados en los sistemas industriales no difiere de la depuración de cualquier sistema basado en microcontroladores. Un depurador debe estar conectado físicamente por cable desde el puerto de depuración del microcontrolador a un PC que ejecute un programa de software de depuración. A continuación, un técnico en el PC examina y depura el firmware mientras se ejecuta. Esto puede llevar mucho tiempo si hay que depurar muchos SBC in situ, ya que los técnicos tienen que desplazarse a la ubicación física de cada SBC. Esto puede ser más difícil si algunos SBC están en entornos difíciles, o en lugares físicamente remotos o inaccesibles. Además, es habitual que sólo un número limitado de técnicos esté familiarizado con el firmware personalizado, lo que obliga a esos técnicos a depurar muchos sistemas en poco tiempo, complicando el procedimiento y retrasando el proceso.

La solución es utilizar depuradores remotos que estén conectados físicamente a los SBC, pero que tengan capacidades de depuración proporcionadas por un PC en red situado en otro lugar. Los depuradores remotos pueden conectarse al puerto de depuración del microcontrolador del SBC mientras están conectados a la red de una instalación a través de Wi-Fi. Para acceder a cualquiera de los depuradores remotos se puede utilizar un PC en la misma red y en una ubicación conveniente. El técnico dispone entonces de una capacidad de depuración completa en el PC remoto.

Para llevar a cabo esta depuración remota, los ingenieros pueden utilizar CodeGrip de Mikroe, una familia de depuradores remotos que pueden conectarse a través de Wi-Fi a un PC remoto para soportar la programación y depuración de muchos microcontroladores Arm. El depurador MIKROE-3460 CodeGrip Wi-Fi puede utilizarse en la mayoría de los microcontroladores Arm con un puerto JTAG (Figura 1). También es compatible con el puerto de depuración de un solo cable de salida en serie de Arm (SWO) que se encuentra en la mayoría de los microcontroladores Arm Cortex-M3, Cortex-M4 y Cortex-M7.

Imagen del depurador remoto MIKROE-3460 CodeGrip de MikroElektronikaFigura 1: El depurador remoto MIKROE-3460 CodeGrip se conecta físicamente al puerto de depuración JTAG o SWO de un SBC. Se puede acceder de forma remota a través de Wi-Fi para programar o depurar el firmware del microcontrolador Arm. (Fuente de la imagen: Mikroe)

El Mikroe MIKROE-3460 CodeGrip se coloca en la ubicación física del SBC basado en Arm. Dispone de un puerto para conectarse al puerto JTAG o SWO disponible en el conector de la placa. A continuación, se conecta temporalmente a un ordenador portátil por USB para configurar inicialmente la unidad CodeGrip para el microcontrolador que se está depurando. Para los sistemas de alto rendimiento, la unidad CodeGrip cuenta con un conector USB-C. Esto es especialmente útil en situaciones de hacinamiento y ahorra tiempo y frustración, ya que a diferencia de los conectores USB anteriores, los conectores USB-C no tienen una orientación superior o inferior.

El ordenador portátil conectado a la unidad CodeGrip debe estar ejecutando el CodeGrip Suite de Mikroe para poder configurar inicialmente la unidad CodeGrip. La unidad CodeGrip indica su estado mediante cinco LEDs (Figura 2). Esto proporciona información de estado crítica a un técnico in situ de que la unidad está funcionando correctamente sin tener que conectar un ordenador portátil. Cuando esté bien alimentado, el LED verde de alimentación se iluminará. Durante el funcionamiento normal de la unidad CodeGrip, el LED rojo activo también se iluminará. Si el LED verde está encendido y el rojo apagado, puede indicar una mala o nula conexión con el puerto JTAG/SWO; información importante para un técnico local de que el cable de depuración puede necesitar ser restablecido o reemplazado.

Esquema de la unidad CodeGrip de MikroElektronika (haga clic para ampliar)Figura 2: La unidad CodeGrip proporciona información de estado crítica mediante cinco LED que ofrecen una rápida información visual sobre el terreno sin necesidad de conectar un ordenador portátil. (Fuente de la imagen: Mikroe)

Una vez conectado por USB a un ordenador portátil, la unidad CodeGrip indicará que la conexión se ha realizado correctamente iluminando el LED amarillo USB-LINK de la unidad. A continuación, el usuario ejecuta el CodeGrip Suite para configurar la unidad CodeGrip a través de la conexión USB.

Configuración de CodeGrip

El CodeGrip Suite suele detectar automáticamente el microcontrolador Arm en el SBC, pero también puede configurarse manualmente con el tipo de núcleo, el tamaño de la memoria flash y la configuración de la RAM. Sin embargo, no todas las familias de productos Arm pueden configurarse fácilmente con el mismo depurador. Para la familia STM32 Arm de STMicroelectronics, Mikroe proporciona la unidad MIKROE-3461 CodeGrip. La familia Kinetisde NXP Semiconductors es compatible con el MIKROE-3462 CodeGrip. Para todos ellos, el funcionamiento de la unidad CodeGrip y de CodeGrip Suite es idéntico.

Una vez conectado y configurado, CodeGrip Suite puede realizar operaciones de programación y depuración in situ. Durante cualquier transferencia de datos a la unidad CodeGrip, el LED azul de datos parpadeará, indicando que se están transfiriendo datos entre la unidad CodeGrip y CodeGrip Suite. Esto indica que la unidad CodeGrip está funcionando correctamente y está programando o depurando el SBC.

Para la depuración remota, la unidad CodeGrip puede ser configurada para conectarse a través de Wi-Fi a un PC remoto que también esté ejecutando CodeGrip Suite. Por motivos de seguridad y rendimiento, la red Wi-Fi utilizada para conectarse a las unidades CodeGrip debe estar separada de las demás redes Wi-Fi utilizadas en la instalación industrial. Enviar un archivo .bin o .hex de gran tamaño a la unidad CodeGrip a través de Wi-Fi equivale a descargar un archivo de gran tamaño en un PC, por lo que puede ralentizar toda la red. Si un PC remoto se conecta con éxito a la unidad CodeGrip, el LED naranja NET-LINK de la unidad CodeGrip se iluminará, indicando una conexión exitosa. Una vez configurada la unidad CodeGrip, se puede desconectar el ordenador portátil conectado por USB.

CodeGrip Suite puede leer, programar y borrar toda la memoria flash del microcontrolador de destino. También puede comparar el contenido de la memoria flash del microcontrolador con un archivo fuente para verificar que el firmware es auténtico y no ha sido manipulado. Esto también puede ser útil durante una auditoría de seguridad para verificar la seguridad del firmware sin tener que desplazarse a la ubicación física de cada SBC.

CodeGrip Suite también puede realizar un reinicio por hardware del microcontrolador de destino. Esto puede ser útil en el caso de un mal funcionamiento del SBC o si se sospecha de un fallo de seguridad. Normalmente, un SBC reiniciado ejecutará una autocomprobación integrada (BIST) en el arranque que incluye comprobaciones de seguridad, verificando que el dispositivo funciona correctamente y no ha sido manipulado.

Una potente característica de la unidad Mikroe CodeGrip es soportar el puerto de depuración en tiempo real Arm SWO. El pin SWO transmite información de depuración sobre el estado del microcontrolador Arm y puede utilizarse para proporcionar, en tiempo real, información de estado y seguimiento del funcionamiento del firmware. Mikroe proporciona una biblioteca SWO con funciones que pueden mejorar las capacidades de depuración de CodeGrip Suite (Figura 3). Esto puede permitir que el firmware del microcontrolador sea fácilmente supervisado y depurado a distancia.

La imagen de CodeGrip Suite de MikroElektronika puede proporcionar información de depuración y seguimiento en tiempo realFigura 3: CodeGrip Suite puede proporcionar información de depuración y rastreo en tiempo real para un microcontrolador Arm mediante la transmisión de datos a través del puerto SWO. La información de depuración está codificada por colores para facilitar su consulta. (Fuente de la imagen: Mikroe)

Los mensajes SWO tienen tres categorías de mensajes: Información, Advertencia y Error. CodeGrip puede mostrar cualquiera o todas estas categorías de mensajes. Los mensajes mostrados están codificados por colores para facilitar su consulta: azul para información, amarillo para advertencia y rojo para error. Esto permite a los usuarios decidir rápidamente lo que hay que ver, y también priorizar fácilmente los mensajes de error sobre las advertencias y la información.

Conclusión:

La depuración de los SBC en las instalaciones industriales mientras están en el sistema puede llevar mucho tiempo, especialmente si hay que programar y depurar muchos SBC. Además, no siempre es práctico visitar cada uno de los lugares. Como se ha demostrado, la depuración remota a través de Wi-Fi mediante dispositivos como CodeGrip y su software asociado ahorra tiempo y mejora la productividad.

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de Digi-Key Electronics o de las políticas oficiales de Digi-Key Electronics.

Acerca de este autor

Bill Giovino

Bill Giovino es ingeniero electrónico con un BSEE de la universidad de Syracuse y es uno de los pocos profesionales capaz de pasar de ingeniería en diseño a ingeniería de aplicación en campo a marketing tecnológico de forma exitosa.

Durante más de 25 años, Bill ha disfrutado promocionar las nuevas tecnologías a audiencias técnicas y no técnicas por igual en muchas empresas, entre ellas STMicroelectronics, Intel y Maxim Integrated. Mientras trabajó en STMicroelectronics, Bill ayudó a dirigir los primeros éxitos de la empresa en la industria de microcontroladores. En Infineon, Bill estuvo a cargo de que el diseño del primer controlador de la empresa tuviera éxito en la industria automotriz de EE. UU. Como consultor de marketing para CPU Technologies, Bill ha ayudado a muchas empresas a convertir sus productos con bajo rendimiento en casos de éxito.

Bill fue uno de los primeros en adoptar el Internet de las cosas, incluso colocar la primera pila de TCP/IP en un microcontrolador. Bill es un ferviente creyente de "Vender a través de la educación" y de la gran importancia de contar con comunicaciones claras y bien escritas a la hora de promocionar productos en línea. Es moderador del grupo en Linkedin denominado Semiconductor Sales & Marketing (Marketing y ventas de semiconductores) y habla sobre el concepto B2E (empresa-empleado) de manera fluida.

Acerca de este editor

Editores de Digi-Key de América del Norte