Aumentar la inteligencia en el borde de la IoT con microcontroladores inteligentes analógicos autocalibrados

Por Bill Giovino

Colaboración de Editores de DigiKey de América del Norte

A medida que las aplicaciones de la Internet de las Cosas (IO) se vuelven más complejas, se les pide a los diseñadores de los puntos finales de la Internet de las Cosas (IIoT) que den cabida a una computación más compleja en el borde. La computación de borde en los datos de los sensores de punto final es una forma práctica de reducir los cuellos de botella de la red en el centro del IIoT. Esto reduce el tráfico de la red y a la vez reduce la carga de cálculo en el procesador central principal. Sin embargo, el enfoque tiene sus inconvenientes.

Por ejemplo, una aplicación común del borde del IIoT es el procesamiento de datos periódicos de los sensores del convertidor análogo-digital (ADC). En el caso de los datos analógicos de alta precisión, el procesamiento matemático, la interpretación y la interpolación de cientos de puntos de datos de la ADC pueden cargar significativamente el procesador central de borde, lo que puede afectar al rendimiento de toda la red. Además, las SAE de alta precisión pueden requerir que se realice una autocalibración en el firmware del microcontrolador principal del punto final de la IoT, lo que puede retrasar todo el procesamiento de los bordes hasta que se complete la calibración.

Este artículo mostrará a los desarrolladores cómo utilizar los microcontroladores analógicos de precisión de Analog Devices como periféricos ADC inteligentes. Se explicará cómo las características de estos microcontroladores analógicos los hacen aplicables para su uso como sistemas de adquisición de datos de un solo chip que se interconectan fácilmente con el microcontrolador de punto final del IIoT y pueden realizar funciones de procesamiento de bordes como el procesamiento de puntos de datos del ADC y la autocalibración sin que el rendimiento afecte al microcontrolador de punto final principal.

¿Por qué procesar los datos de los sensores analógicos en el borde?

A medida que los sistemas del IIoT se vuelven más complejos, también lo son los datos que necesitan para procesar. En las aplicaciones de control industrial, las válvulas y algunos motores están pasando de sistemas de bucle abierto a sistemas de bucle cerrado en los que los sensores analógicos de precisión deben detectar las posiciones mínimas de las válvulas o los motores. En cuanto a las aplicaciones de control de procesos, el aumento del procesamiento ha llevado a líneas de producción más rápidas y a un control más fino de la temperatura, la presión y los actuadores del sistema.

En el control de procesos, la velocidad de la línea (el proceso) depende en gran medida de dos factores: la capacidad mecánica de las máquinas y sistemas en el suelo, y la eficiencia de las redes del IIoT que controlan los sensores y actuadores en las máquinas y sistemas. En algunos casos, pequeñas mejoras en el proceso pueden conducir a un aumento de la producción, pero esas mejoras pueden verse obstaculizadas por los cuellos de botella en la red de la IIoT. Estos cuellos de botella pueden reducirse realizando más procesamiento en el borde.

El procesamiento de bordes en el punto final del IIoT es especialmente beneficioso para el procesamiento de señales analógicas. El procesamiento de datos analógicos puede ser sencillo durante las primeras etapas del desarrollo del IIoT, pero la escalabilidad es un problema: las mejoras posteriores pueden dar lugar a una mayor complejidad de los cálculos. El envío de todos los datos analógicos en bruto a través de la red aumenta el tráfico de la red y el procesamiento de todos esos datos en el procesador central de la red consume un valioso tiempo de computación. Por esta razón, el procesamiento de los datos analógicos en el borde es una forma práctica de hacer la red más eficiente.

Usar ADC inteligentes para procesar datos analógicos en el borde

El procesamiento de los bordes de cientos de muestras de datos del CAD puede fácilmente abrumar al microcontrolador principal en el punto final del IIoT. Para los sensores analógicos complejos es una decisión de diseño inteligente tener un ADC externo que también tiene su propia capacidad de procesamiento. Esto no solo quita una carga significativa al microcontrolador del punto final del IIoT, sino que también facilita la autocalibración del ADC.

Para la captura y el procesamiento de alto rendimiento de los datos de ADC, Analog Devices tiene una línea de microcontroladores analógicos de precisión. El microcontrolador analógico de precisión ADuCM360BCPZ128-R7 utiliza un Arm® Cortex®-M3 para controlar dos SAE sigma-delta de 24 bits (Figura 1). Las SAE son capaces de capturar 4 kilo-muestras por segundo (kSPS) de datos de sensores analógicos. El ADuCM360 también tiene un convertidor digital-analógico (DAC) de 12 bits para generar voltajes precisos para la autocalibración. El microcontrolador puede funcionar de 1.8 a 3.6 voltios y contiene un oscilador interno de 32 kilohercios (kHz) y un oscilador interno de 16 megahercios (MHz), lo que reduce el número de componentes en los sistemas con limitaciones espaciales.

Diagrama del sistema de adquisición de datos de bajo consumo completo ADuCM360 en un chipFigura 1: Los ADuCM360 de Analog Devices son un sistema completo de adquisición de datos de baja potencia en un chip con un núcleo dArm Cortex-M3, dos ADC de 24 bits sigma-delta 4 kSPS, y un DAC de 12 bits. (Fuente de la imagen: Analog Devices).

El ADuCM360 tiene 128 kilobytes (Kbytes) de memoria flash y 8 Kbytes de SRAM. Una ventaja significativa de la ADuCM360 es que se puede escribir directamente en las ubicaciones de la memoria flash, de manera similar a la escritura en SRAM. Esto permite al desarrollador del firmware particionar fácilmente los bloques de la memoria flash como memoria de programa y también como EEPROM. En un sistema de adquisición de datos, esto permite que los bloques particionados de la EEPROM se utilicen para almacenar los datos de calibración del ADC.

El flash soporta el borrado directo de 32 bits y escribe (los borrados y escritos de 16 y 8 bits no están soportados). La capacidad de escribir 32 bits a la vez ahorra mucha energía en las aplicaciones alimentadas por batería, ya que las operaciones de escritura y borrado con flash consumen mucha corriente. Esta es una ventaja significativa de baja potencia sobre los microcontroladores flash que solo pueden escribir y borrar un bloque o página a la vez.

La memoria flash también admite comandos de borrado convencionales como el borrado de páginas y el borrado en masa de todo el conjunto de la memoria flash. Con estas capacidades, los desarrolladores pueden escribir fácilmente subrutinas que pueden actualizar el firmware basado en comandos enviados a través del puerto serial desde el microcontrolador anfitrión en el punto final del IIoT. Esto es importante: si el ADuCM360 no pudiera actualizar fácilmente su firmware a través de un puerto serie, limitaría severamente su flexibilidad en un sistema de adquisición de datos, ya que la capacidad de actualizar el firmware que controla el CDA es tan importante como el propio CDA.

Un eficiente sistema de adquisición de datos de un solo chip

Ambos ADC de 24 bits están conectados a un multiplexor de entrada que soporta un total de 11 entradas de un solo canal o seis entradas diferenciales. Hay cuatro canales internos que pueden monitorizar el sensor de temperatura interno, así como la salida del DAC de 12 bits, y una referencia de banda de baja deriva interna. Se pueden utilizar para realizar una autocalibración de las SAE. El DAC puede ser programado para emitir una serie de voltajes que pueden ser leídos por cada uno de los DAC. Las SAE también pueden tomar muestras del voltaje de referencia de la banda interna. El firmware puede procesar estas lecturas para que las SAE puedan calibrarse en función de la temperatura y las constantes de calibración almacenadas en la EEPROM.

Cuando se utiliza como un sistema de adquisición de datos de un solo chip, los ADC pueden programarse para tomar muestras continuas de datos analógicos tan rápido como 4 kSPS. Un controlador de acceso directo a la memoria (DMA) de 11 canales puede transferir esos datos a SRAM. El firmware puede entonces aplicar las constantes de calibración almacenadas en la EEPROM para modificar los datos y corregir la temperatura si es necesario. El firmware puede entonces procesar los datos según lo requiera la aplicación, mientras que la DMA transfiere datos adicionales de la ADC a la SRAM.

Una vez que se ha completado el procesamiento de los datos de la CAD almacenados, el resultado puede enviarse a la interfaz en serie para ser transferido al microcontrolador de punto final del IIoT, o si es necesario transferir varias muestras de datos, la DMA puede transferir en masa los datos a la interfaz en serie. De esta manera, un sistema eficiente de adquisición de datos puede tomar muestras y la DMA puede transferir un conjunto de datos de la CAD a la SRAM, procesar un segundo conjunto de datos de la CAD y la DMA transferir un tercer conjunto de datos de la CAD a la interfaz en serie, todo al mismo tiempo.

Las señales de entrada analógicas pueden ser amplificadas con un amplificador de ganancia programable (PGA) que puede ser configurado a potencias de 2, soportando valores de ganancia de 2, 4, 8, 16, 32, 64 y 128. Esto permite la amplificación de voltajes muy pequeños para un muestreo más preciso de la CAD.

Si bien las características adicionales incluyen una modulación de anchura de pulso (PWM) de 16 bits y seis canales, 19 E/S de propósito general (GPIO), dos temporizadores de propósito general de 16 bits, un temporizador de 32 bits de activación/atención y un sistema de interrupción externa, es importante mantener el firmware de la aplicación centrado en el apoyo a su principal propósito de captura y procesamiento de datos de la CAD. Encomendar al ADuCM360 la realización de funciones adicionales no relacionadas con su propósito principal de captura de datos analógicos puede conducir fácilmente a un arrastre de características que interfiera con ese propósito, a la vez que complica las actualizaciones del firmware.

Características y rasgos de ultra baja potencia

A pesar de las características analógicas de alta gama del ADuCM360, sigue siendo capaz de un bajo consumo de energía en condiciones de alto rendimiento. En el modo de funcionamiento normal, el núcleo Cortex-M3 consume solo 290 microamperios (µA)/MHz. Con un reloj del sistema de 0.5 MHz, ambos ADC tomando muestras, todos los temporizadores funcionando, y una ganancia PGA de 4, cuando se accede desde la interfaz SPI el microcontrolador extrae solo 1 miliamperio (mA). Esto es con los búferes de entrada apagados, ya que el almacenamiento de voltaje del búfer se añade al drenaje de energía. Cuando está en modo de hibernación con solo el temporizador de activación en marcha, el microcontrolador consume solo 4 µA. Esto hace que el ADuCM361 sea apropiado para los puntos finales de la IIoT alimentados por baterías.

Para aplicaciones menos complejas que no requieren la velocidad de dos ADC, Analog Devices ofrece el ADUCM361BCPZ128-R7, que es el mismo que el ADuCM360 excepto que tiene solo un ADC de 24 bits sigma-delta (Figura 2).

El diagrama ADuCM361 de Analog Devices es un sistema completo de adquisición de datos en un chipFigura 2: El ADuCM361 es un sistema completo de adquisición de datos en un chip, similar al ADuCM360 excepto que tiene un ADC de 24 bits sigma delta. Esto ahorra costos y energía en aplicaciones que no requieren el rendimiento de dos ADC funcionando simultáneamente. (Fuente de la imagen: Analog Devices).

En las aplicaciones que no requieren el alto rendimiento de tener dos ADC de 24 bits funcionando al mismo tiempo, el ADuCM361 reduce el costo del sistema y el consumo de energía de la placa. El CAD único también está conectado a un multiplexor de entrada que soporta un total de 11 entradas de un solo canal o seis entradas diferenciales. También puede autocalibrarse usando el DAC de 12 bits, la referencia de banda interna y el sensor de temperatura.

El ADuCM361 es compatible con el ADuCM360. Esto permite que se utilice una sola disposición de la placa de la computadora para ambos productos. Esto simplifica el desarrollo del producto y la lista de materiales (BOM), ya que un fabricante de terminales de IIoT puede utilizar una placa de PC para dos o más productos.

Desarrollo del sistema de adquisición de datos

Para el desarrollo del producto, Analog Devices proporciona el kit de evaluación EVAL-ADuCM360QSPZ (Figura 3). La placa de evaluación puede hacer interfaz con sensores analógicos o fuentes de voltaje externas para el desarrollo del firmware de los microcontroladores analógicos ADuCM360 y ADuCM361.

Imagen del kit de evaluación EVAL-ADuCM360QSPZ de Analog DevicesFigura 3: El kit de evaluación EVAL-ADuCM360QSPZ de Analog Devices permite la evaluación de los microcontroladores analógicos ADuCM360 y ADuCM361. Puede interactuar directamente con sensores analógicos externos y puede ser manejado por una conexión USB. (Fuente de la imagen: Analog Devices).

El kit de evaluación se accede a través de una computadora central con Windows por medio de un puerto USB. Esto permite programar el ADuCM360 integrado con el firmware de destino para probar y depurar. El EVAL-ADuCM360QSPZ tiene todos los pines del ADuCM360 disponibles en la placa de la PC, incluyendo la E/S en serie, por lo que la placa de evaluación puede ser interconectada a través de I2C, SPI o UART a un microcontrolador anfitrión para la depuración en tiempo real. La computadora central de Windows puede registrar los datos del CAD y también puede depurar la precisión de las rutinas de autocalibración.

Conclusión:

Muchos puntos finales del IIoT utilizados para aplicaciones analógicas de alta gama, como el control de procesos, necesitan hacer más procesamiento de borde en los datos de los sensores analógicos capturados usando ADC. La cantidad de datos del CAD y la complejidad del procesamiento de los bordes puede abrumar al microcontrolador principal del punto final del IIoT. El principal microcontrolador de punto final puede en su lugar conectarse a través de un puerto serial con un microcontrolador analógico que es un sistema de adquisición de datos autónomo. Esto aumenta el rendimiento del punto final y reduce el tráfico de la red, lo que resulta en una red de IIoT más eficiente.

DigiKey logo

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 DigiKey o de las políticas oficiales de DigiKey.

Acerca de este autor

Image of Bill Giovino

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 DigiKey de América del Norte