Inicio Artículos Los microcontroladores PIC y AVR facilitan el desarrollo de nodos en el...

Los microcontroladores PIC y AVR facilitan el desarrollo de nodos en el borde

microchip microcontroladores

Autor: Ross Satchell

Al diseñar nodos robustos en el borde (edge), el diseñador del sistema embebido ha de tener en cuenta a menudo estos cuatro factores principales:

  • Interfaz del sensor
  • Bajo consumo
  • Tamaño físico
  • Seguridad

Microchip Technology ofrece microcontroladores con un amplio rango de tensión de entrada de 1,8 a 5,5V, por lo que son muy valiosos en entornos ruidosos porque las señales se pueden diferenciar del ruido de fondo, por su capacidad de suministrar o absorber hasta 50mA en cada patilla GPIO, así como por los rangos de temperatura industrial (-40°C a 85°C) y extendido (-40°C a 125°C).

Veamos estos cuatro factores con más detalle.

Interfaces del sensor

Las interfaces del sensor pueden ser de varios tipos. El diseñador del sistema embebido suele utilizar: sensores analógicos que proporcionan una tensión o corriente que varía continuamente, sensores digitales que pueden usar niveles lógicos o flujos de datos como comunicaciones serie, modulación de anchura de pulso (Pulse Width Modulation, PWM) variable como sensores de posición del acelerador o sensores del tiempo de vuelo para detectar distancias. Vamos a estudiarlos con más atención.

Interfaces de sensor anaIógico

Disponer de la opción de escoger entre dispositivos analógicos discretos o analógicos integrados significa que el usuario puede seleccionar la herramienta analógica adecuada para su aplicación. Gracias a la utilización de una tecnología de proceso de mayor tamaño en nuestras obleas de silicio, el periférico analógico integrado es mucho menos susceptible a diafonías, así como al ruido inductivo o capacitivo, que aumenta cuando los fabricantes adoptan tecnologías de proceso mucho más pequeñas. Los periféricos analógicos integrados de Microchip son configurables del mismo modo que el usuario configuraría cualquier otro periférico. La disponibilidad de periféricos integrados también permite al usuario leerlos como entradas; por ejemplo, es posible que el usuario desee conocer las entradas del comparador durante una fase concreta del programa.

Veamos algunos de estos periféricos analógicos, empezando por los amplificadores operacionales.

Amplificadores operacionales integrados

Los amplificadores operacionales integrados de Microchip también incorporan la circuitería pasiva asociada, como la escalera de resistencias interna que permite establecer la ganancia programable e incluso cambiarla durante el tiempo de ejecución. La configuración del amplificador operacional también se puede cambiar durante el tiempo de ejecución, por lo que el usuario puede cambiar entre configuraciones inversora, no inversora, ganancia unidad (seguidor de tensión) y discreta a medida durante el tiempo de ejecución, ofreciendo así una flexibilidad muy superior a la del hardware discreto por sí solo, además de minimizar los costes correspondientes al hardware discreto.

Cuando utiliza hardware discreto, el diseñador se ve obligado generalmente a diseñar su aplicación de señal mixta de manera que sea capaz de asumir las peores condiciones posibles y ello exige sacrificar el rendimiento. No obstante, el uso de periféricos analógicos integrados permite al usuario añadir cierta inteligencia a su aplicación, de modo que el sistema embebido puede cambiar la ganancia del amplificador operacional, la configuración o incluso disponerlos en cascada sobre la marcha. Esto significa que el usuario puede diseñar su aplicación para que se adapte de forma óptima a cada situación, aprovechando al mismo tiempo el menor consumo de los periféricos si se compara con las soluciones basadas en software.

Es necesario recordar que el amplificador operacional integrado no es una “solución mágica” y, por tanto, no siempre será lo más apropiado para todas las aplicaciones posibles. Por ejemplo, si el usuario desarrolla una aplicación que exige un rendimiento analógico superior, una configuración con dos fuentes de alimentación o una variante especializada debería consultar la amplia gama de amplificadores operacionales de Microchip. Es un ejemplo perfecto de elección de la herramienta adecuada para el trabajo que tiene entre manos.

Convertidor A/D (ADC) con funciones avanzadas

Los periféricos ADC avanzados de Microchip incorporan funciones de hardware que tradicionalmente solo estaban disponibles mediante drivers basados en software, como acumulación, modos ráfaga, promediado, comparación de ventana y filtrado. Como siempre, estos periféricos ADC pueden utilizar tensiones de referencia externas, así como varias tensiones de referencia internas diferentes junto con activación de autoconversión. Como resultado de ello, el usuario puede acceder a funciones de hardware que puede utilizar mientras la CPU está en modos de bajo consumo. Por ejemplo, el usuario puede configurar una comparación de ventana del ADC que solo activa la CPU cuando la señal de entrada está fuera de esa ventana, de manera que la CPU puede procesar esa señal de entrada adecuadamente. Esto significa que la CPU se activa mucho menos, con consiguiente ahorro de energía que es vital en aplicaciones de bajo consumo. Esto ofrece como ventaja añadida la reducción del ruido del sistema y por tanto del sensor, ya que los componentes digitales como relojes y PWM se pueden deshabilitar cuando se usan.

Interfaces de sensor digital

Cuando el diseñador de un sistema embebido empieza a desarrollar una aplicación, en general intentará, en la medida de lo razonablemente posible, aglutinar sus sensores y dispositivos alrededor de una sola tensión. El objetivo es disminuir el grado de complejidad, el retardo de propagación, la lista de materiales y los costes de la superficie ocupada en la placa de circuito impreso asociados al uso de circuitería de variación de nivel.

MVIO (Multi-Voltage I/O)

MVIO (E/S multitensión) permite al usuario configurar un puerto de E/S completo con una segunda tensión de 1,62V a 5,5V. El periférico MVIO solo usa 500nA cuando está en funcionamiento, por lo que es ideal para aplicaciones de bajo consumo. La respuesta digital de los protocolos serie (I2C, SPI, USART), PWM y GPIO funcionan con la segunda tensión cuyos niveles del disparador Schmitt se adaptan en función de esta segunda tensión. Además el carril de la segunda tensión se puede dividir para que sirva como entrada del ADC como referencia de tensión.

CLC (Configurable Logic Cell)

El usuario puede configurar este periférico como una de las diferentes configuraciones lógicas que, dependiendo del dispositivo, incluyen puertas de este tipo: AND, NAND, AND-OR, AND-OR-INVERT, OR-XOR, OR-XNOR. El usuario también puede seleccionar entre los siguientes biestables (latches y flip-flops): latch S-R, flip-flop J-K con Reset, latch D sincronizado al reloj con Set y Reset, y latch D transparente con Set y Reset. El usuario puede aprovechar las herramientas de configuración gráfica de Microchip para crear periféricos a medida con más facilidad en función de los requisitos de su aplicación.

Esta podría ser tan sencilla como un eliminador de rebote en un botón o más compleja como un driver de hardware para LED RGB de direccionamiento individual WS2812B, donde se combinan SPI, PWM y CLC para obtener un periférico de control a medida. Los drivers para este tipo de LED, que han recurrido tradicionalmente a un protocolo de comunicaciones a medida, se controlan por software y requieren un reloj del sistema de alta velocidad que representa una pesada carga para la CPU. Sin embargo, los periféricos CIP (Core Independent Peripherals) permiten reducir el reloj del sistema de forma que la CPU puede estar más tiempo en modos de bajo consumo o incluso se puede utilizar para ejecutar otras tareas de manera concurrente.

Los CIP también proporcionan al usuario una mayor capacidad de respuesta si se comparan con el uso de una CPU. Esto se debe a que el retardo de propagación del periférico suele a ser del orden nanosegundos, mientras la interrupción y otra latencia debida al procesamiento basado en software suele ser varios órdenes de magnitud superiores.

Bajo consumo

Los microcontroladores de 8 bits de Microchip ofrecen tres modos de bajo consumo (sleep), denominados Idle, Standby y Power-Down, así como el modo Standby Configurable en el que se pueden conectar o desconectar los periféricos. Con todos los periféricos desconectados y el modo Power-Down, el AVR-DB solo consume 700nA, por lo que es ideal para asegurar una larga autonomía de la batería en aplicaciones de nodos en el borde para detección remota de bajo consumo.

El usuario puede utilizar el AVR Event System para enviar señales entre periféricos sin activar la CPU. Como resultado de ello se obtienen unos tiempos de respuesta predecibles entre periféricos, y por tanto un control y una interacción de forma autónoma, así como sincronizar las acciones de los periféricos.

Los CIP integrados también están muy interconectados, de manera que las señales se pueden enviar directamente entre periféricos, lo cual simplifica mucho la transferencia de datos entre periféricos con el fin de consumir mucha menos energía que en un diseño basado en software.

Tamaño físico

La gama de microcontroladores PIC y AVR de 8 bits de Microchip se suministra en diversos encapsulados para cubrir las necesidades de diseño, como PDIP, SOIC, SSOP, VQFN y TQFP. Esto proporciona flexibilidad al desarrollar el diseño final de la placa de circuito impreso. No obstante, hay que tener en cuenta que la corriente máxima del microcontrolador puede verse limitada por las características de disipación de potencia del encapsulado del dispositivo.

Seguridad

Durante los últimos años ha habido una tendencia de nodos de sensores que realizan todo su procesamiento en la nube a nodos en el borde que llevan a cabo la mayor parte de su procesamiento a nivel local antes de enviar los resultados a la nube. Esto disminuye los costes que conllevan los servicios en la nube al reducir las frecuentes transferencias de datos bidireccionales y el procesamiento computacional, así como el mayor consumo en el nodo del sensor debido a las frecuentes transferencias de más datos por el envío de datos sin procesar a la nube.

Los diseñadores de sistemas embebidos pueden recurrir a un microcontrolador de 8 bits de bajo consumo que se utilizar para establecer una conexión directa con los sensores, mientras que un dispositivo más potente de 16 o 32 bits puede servir para proporcionar la mayor carga computacional y la mayor memoria que exigen unas comunicaciones más complejas y seguras. Al reducir el número total de transferencias de datos entre el nodo del borde y el servicio en la nube pueden disminuir significativamente tanto los costes de la nube como el uso de la batería. Además, al aprovechar un segundo microcontrolador más potente en su diseño, los ingenieros pueden incluso introducir aprendizaje automático en el borde, haciendo así que el diseño de su sistema sea mucho más potente para desvelar patrones en los datos y obtener información útil.

Los diseñadores también pueden aprovechar los elementos seguros de Microchip, como el ATEC608B que utiliza la autentificación verificada por firma de ECDSA (Elliptic Curve Digital Signature Algorithm) para el mercado IoT (Internet de las Cosas), por lo que es ideal para nodos de sensores robustos en el borde.

Herramientas de software fáciles de usar que ayudan a reducir los costes de desarrollo

Los periféricos integrados permiten al usuario reducir la complejidad del diseño de su placa de circuito impreso, de modo que ahorran una superficie valiosa y disminuyen el número total de componentes en su lista de materiales.

Esto se ve aún más simplificado con herramientas gráficas de software como MCC/Melody y Harmony para configurar los periféricos y el sistema. Estas herramientas se pueden instalar y ejecutar con rapidez ya que ofrecen una vista de alto nivel de las funciones del microcontrolador y los periféricos. Esto significa que el usuario puede reducir significativamente el tiempo que destina a estudiar las fichas técnicas de sus microcontroladores. Es ideal para los diseñadores cuando evalúan las características de periféricos nuevos o con los que quizás no están muy familiarizados, y genera código que se puede usar en producción o como referencia práctica para quienes quieren desarrollar sus propios drivers.

Todos los microcontroladores y microprocesadores ofrecidos por Microchip se pueden programar por medio de MPLABX IDE, que se ejecuta en Windows, MacOS y Linux con nuestra gama de compiladores, como XC8, XC16 y XC32. El diseñador puede depurar su aplicación sin salir del IDE y puede usar Data Visualizer para conectarse a la interfaz DGI (Data Gateway Interface) y puertos serie, así como para extraer información en una terminal o generar un gráfico con los valores de los datos a lo largo del tiempo. También se puede usar Data Visualizer con Power Debugger de Microchip, que tiene dos canales de medida independientes y puede suministrar hasta 100mA entre 1,6V y 5,5V para alimentar el dispositivo y medir a partir de 100nA en el canal de alta resolución. Esto hace que el Power Debugger sea ideal para optimizar aplicaciones de bajo consumo alimentadas por batería durante años.

Se pueden consultar la ficha técnica del dispositivo y otra documentación útil a través de la Kit Window de MPLABX. Cada ficha técnica cubre una familia de dispositivos, lo cual permite comparar los dispositivos de una familia con el fin de identificar aquellos que cumplan mejor los requisitos del diseño. Entre estos requisitos se hallan la memoria, la RAM, el tipo y el número de periféricos, incluidos los protocolos serie admitidos y las CLC (Configurable Logic Cells). Si se emplea una tarjeta de desarrollo PIC o AVR Curiosity Nano, el usuario también puede acceder a la guía de usuario de Curiosity Nano, ejemplos de código en GitHub, esquemas y archivos de proyectos Altium desde la Kit Window.

microcontroladores

Figura 1: Kit Window de MPLABX IDE para Curiosity Nano con enlaces externos y archivos de diseño.

Herramientas de hardware fáciles de usar para programación y depuración

Microchip ofrece varias herramientas de hardware para evaluar un microcontrolador, como las tarjetas de desarrollo Curiosity Nano, que se pueden utilizar con la tarjeta Curiosity Nano Base para facilitar el uso de cualquier tarjeta hija por medio de zócalos MikroBUS. Todo esto simplifica mucho el desarrollo de un prototipo o de una prueba de concepto. Cuando el diseñador empieza a desarrollar una placa de circuito impreso a medida para su aplicación, puede programar y depurar su aplicación con el programador depurador PICKit.

Conclusión

Gracias a la gama de microcontroladores de 8 bits PIC y AVR de Microchip, los ingenieros de sistemas embebidos pueden desarrollar nodos robustos de sensores de bajo consumo, con más facilidad y rapidez que nunca y asumiendo menos compromisos. Los diseñadores pueden aprovechar un potente conjunto de periféricos CIP (Core Independent Peripherals), incluida la creación de periféricos a medida, así como utilizar funciones de hardware que hasta ahora habían exigido CPU de alto consumo, todo ello permaneciendo en un modo de bajo consumo (sleep). Con los microcontroladores PIC y AVR, Microchip hace que el desarrollo de nodos con detección remota, conectados a la nube y con aprendizaje automático sea más fácil que nunca.