USD

Utilice la funcionalidad de un microcontrolador para implementar rápidamente cadenas de señales analógicas en diseños compactos.

Por Stephen Evanczuk

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

Muchos diseños para el Internet de las cosas (IoT) se basan en circuitos analógicos para cumplir con los requisitos únicos de una aplicación con el fin de acondicionar señales de sensores y actuadores, controlar la corriente y otras funciones. Si bien los circuitos integrados dedicados a la cadena de señales pueden satisfacer esta necesidad, los diseños con restricciones ajustadas de espacio y costo requieren una forma de ofrecer esta funcionalidad usando menos piezas, sin dejar de cumplir con los requisitos de rendimiento.

Para abordar esta necesidad, surgieron los microcontroladores (MCU) que han simplificado la naturaleza de esta interfaz de sensor y actuador al integrar periféricos analógicos, tales como los convertidores de analógico a digital (ADC) y los comparadores. Hasta hace poco, sin embargo, los ingenieros todavía necesitaban agregar partes analógicas para proporcionar el acondicionamiento de señales o el búfer de salida requerido en la mayoría de los diseños.

Gracias a la adición de estos circuitos de acondicionamiento de señales analógicas en un microcontrolador, los desarrolladores ahora tienen una forma efectiva de configurar estos componentes para cumplir con una amplia gama de requisitos de interfaz analógica para dispositivos portátiles y otros dispositivos de IoT mediante la manipulación de solo unas pocas líneas de código.

Este artículo discutirá la necesidad de requisitos de acondicionamiento de señales analógicas de front-end para dispositivos de IoT conectados. Luego, presentará una clase de microcontroladores con funcionalidad analógica altamente integrada y mostrará cómo aplicarlos.

Interconexión de un sensor a un microcontrolador

Los diseños de sensores normalmente requieren uno o dos amplificadores para acondicionar las señales de salida del transductor antes de que alcancen la entrada ADC del microcontrolador. Los dispositivos más complejos, como los oxímetros de pulso para el monitoreo de la frecuencia cardíaca, requieren múltiples cadenas de señales para generar ondas de excitación LED, convertir la salida del fotodiodo y finalmente extraer los datos del pulso (Figura 1). Incluso el simple circuito de bucle de corriente que se usa habitualmente para conectar sensores a controladores lógicos programables en aplicaciones industriales requiere dispositivos adicionales para generar y controlar la salida de corriente. Sin embargo, al usar los componentes analógicos internos en el MCU MSP430FR2355 de Texas Instruments (TI), los desarrolladores pueden implementar versiones más compactas de estos diseños, generalmente con solo unos pocos componentes pasivos adicionales.

Diagrama del MCU MSP430FR2355 de Texas Instruments

Figura 1: La expectativa del usuario de contar con características sofisticadas adicionales en productos más compactos significa que los desarrolladores deben reducir drásticamente el conteo de partes al implementar rutas de señales complejas, como el caso de los oxímetros de pulso. (Fuente de la imagen: Texas Instruments)

Componentes analógicos integrados

Basado en un procesador de núcleo RISC de 16 bits, el MCU MSP430FR2355 de Texas Instruments proporciona el conjunto completo de características que generalmente se requieren en muchos diseños de dispositivos de IoT. El MSP430FR2355, miembro de la familia de dispositivos MSP430 FRAM, incorpora 32 kilobytes de RAM ferroeléctrica (FRAM) de baja potencia. La FRAM está bien adaptada a los diseños de IoT, y proporciona las ventajas de almacenamiento no volátil de la memoria flash, así como la velocidad de escritura y la resistencia de la RAM. Como resultado, los desarrolladores pueden aprovechar las cualidades de rendimiento tipo RAM de la FRAM para almacenar datos y códigos de programas durante el funcionamiento activo, a la vez que pueden confiar en las características no volátiles de la FRAM para retener valores durante el modo de suspensión o durante otros estados operativos necesarios para conservar la energía. El MSP430FR2355 soporta varios modos de baja potencia diseñados para cumplir con los requisitos de baja potencia típicos de estos diseños.

Además de poseer características de bajo consumo, el MSP430FR2355 es compatible con los requisitos de la interfaz de IoT con varios periféricos analógicos integrados, incluido un ADC de 12 canales y 12 bits, comparadores analógicos con convertidores de digital a analógico (DAC) integrados, y múltiples referencias de voltaje en chip. La característica analógica más exclusiva del MCU MSP430FR2355 se encuentra en sus cuatro módulos de Smart Analog Combo (SAC), que los desarrolladores pueden configurar mediante una programación para cumplir con sus requisitos específicos.

Cada módulo SAC incluye un DAC de 12 bits, un amplificador operacional (OA) riel a riel y una escalera de resistencia de retroalimentación que convierte el OA en un amplificador de ganancia programable (PGA). Los registros dedicados para cada componente controlan la configuración y el modo de operación. Por ejemplo, los desarrolladores pueden simplemente cargar los bits 0:1 en el registro OA de un módulo SAC (SAC x OA) para configurar la entrada positiva del OA en una fuente externa, en la salida DAC o en una fuente SAC emparejada (descrita a continuación).

La biblioteca de controladores de TI sintetiza estas manipulaciones de bits en un conjunto intuitivo de llamadas de interfaz de programación de aplicaciones (API). De esta manera, los desarrolladores solo necesitan unas pocas líneas de código (listado 1) para programar un módulo SAC como amplificador de propósito general que puede reemplazar por completo un amplificador de acondicionamiento de señales del sensor, con el ahorro correspondiente en el conteo de piezas y el tamaño del diseño (figura 2).

Copiar//Seleccionar fuente externa para entradas positivas y negativasSAC_OA_init(SAC0_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_EXTERNAL, SAC_OA_NEGATIVE_INPUT_SOURCE_EXTERNAL); //Seleccionar el modo de baja velocidad y de bajo consumo de energíaSAC_OA_selectPowerMode(SAC0_BASE, SAC_OA_POWER_MODE_LOW_SPEED_LOW_POWER) //Habilitar OA SAC_OA_enable(SAC0_BASE); //Habilitar SAC SAC_enable(SAC0_BASE);Copiar//Seleccionar fuente externa para entradas positivas y negativasSAC_OA_init(SAC0_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_EXTERNAL, SAC_OA_NEGATIVE_INPUT_SOURCE_EXTERNAL); //Seleccionar el modo de baja velocidad y de bajo consumo de energíaSAC_OA_selectPowerMode(SAC0_BASE, SAC_OA_POWER_MODE_LOW_SPEED_LOW_POWER) //Habilitar OA SAC_OA_enable(SAC0_BASE); //Habilitar SAC SAC_enable(SAC0_BASE);

Listado 1: Para implementar un amplificador de propósito general, los desarrolladores solo necesitan unas pocas llamadas a la biblioteca de controladores de Texas Instruments para inicializar las entradas de SAC OA (SAC_OA_init), establecer el modo de energía (SAC_OA_selectPowerMode) a baja potencia en este caso, y para finalmente habilitar el OA y el SAC. (Fuente del código: Texas Instruments)

Diagrama del MCU MSP430FR235 de Texas Instruments

Figura 2: Los desarrolladores pueden reemplazar un amplificador operacional externo con uno implementado internamente en el MCU MSP430FR2355 de Texas Instruments usando uno de los cuatro módulos de Smart Analog Combo (SAC) del MCU. (Fuente de la imagen: Texas Instruments)

Para servir como un generador de forma de onda de salida, un módulo SAC necesita utilizar más componentes (Figura 3). En este caso, el desarrollador controla la onda cargando datos mediante programación en el registro de datos dedicados (SAC x DAT) que establece la salida del DAC interno. A su vez, la salida del DAC proporciona el voltaje de referencia al OA. En esta configuración, los desarrolladores mejorarían la capacidad de transferencia del OA al configurar los bits 0:1 (MSEL) en el registro PGA (SAC x PGA) al modo de búfer (01b), lo que corresponde a una entrada flotante. Para configurar este modo de funcionamiento, los desarrolladores solo necesitan unas pocas llamadas API adicionales (listado 2) en comparación con las que se necesitan para la configuración de propósito general descrita anteriormente.

Diagrama del convertidor de digital a analógico del módulo SAC de Texas Instruments

Figura 3: Los desarrolladores pueden implementar un generador programable de forma de onda utilizando el convertidor de digital a analógico del módulo SAC y los componentes del amplificador operacional. (Fuente de la imagen: Texas Instruments)

Copiar//Seleccionar la referencia compartida interna como voltaje de referencia DAC SAC_DAC_selectRefVoltage(SAC0_BASE, SAC_DAC_SECONDARY_REFERENCE); //Seleccionar el desencadenador de carga para el bloqueo de datos DAC//DAC siempre carga datos desde DACDAT en el flanco positivo de la salida del temporizador TB2.1 SAC_DAC_selectload(SAC0_BASE, SAC_DAC_LOAD_DEVICE_SPECIFIC_0); //Habilitar la interrupción de DAC SAC_DAC_interruptEnable(SAC0_BASE); //Escribir datos en el registro de datos DAC SAC x DAT//DAC_data es una variable de tipo int y sin signo definida por el usuario SAC_DAC_setData(SAC0_BASE, DAC_data); //Habilitar DAC SAC_DAC_enable(SAC0_BASE); //Seleccionar el DAC interno para la entrada positiva y la fuente PGA para la entrada negativaSAC_OA_init(SAC0_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_DAC,     SAC_OA_NEGATIVE_INPUT_SOURCE_PGA); //Seleccionar el modo de búferSAC_PGA_setMode(SAC0_BASE, SAC_PGA_MODE_BUFFER); //Habilitar OA SAC_OA_enable(SAC0_BASE); //Habilitar SAC SAC_enable(SAC0_BASE);

Listado 2: Para configurar un módulo SAC como generador de forma de onda, los desarrolladores solo necesitan unas pocas llamadas API adicionales además de las requeridas para usarlo como amplificador de propósito general. (Fuente del código: Texas Instruments)

Etapas múltiples

En muchos casos, los desarrolladores necesitan acondicionamiento de señales o cadenas de salida construidas con más de un amplificador. Por ejemplo, los diseñadores de sistemas de sensores usualmente conectan en cascada los amplificadores a la salida del transductor de búfer y después amplifican la señal del búfer para que coincida con la respuesta a gran escala del ADC que se encuentra al final de la cadena de señales. De la misma manera, los desarrolladores de interfaces de salida a menudo necesitan usar amplificadores en cascada para generar formas de onda y controlar los controladores de puerta. Por ejemplo, para crear una interfaz de bucle de corriente, los desarrolladores pueden usar un módulo SAC configurado en modo DAC para proporcionar el voltaje de la señal de modulación. Configurado en modo OA, el segundo módulo SAC convierte el voltaje de la señal en una corriente usando un transistor externo (Figura 4).

Diagrama de Texas Instruments: un módulo SAC en modo DAC y un segundo módulo SAC en modo OA

Figura 4: Para construir una interfaz de bucle de corriente, los ingenieros usan un módulo SAC en modo DAC para generar el voltaje de señal modulado y un segundo SAC en modo OA para impulsar un transistor, generando una corriente de bucle, IBUCLE (I1 + I2). (Fuente de la imagen: Texas Instruments)

El MCU MSP430FR2355 proporciona un método aún más eficiente para amplificadores en cascada. Para los diseños que no requieren componentes externos adicionales, los desarrolladores pueden aprovechar el enrutamiento incorporado que interconecta internamente los módulos SAC en dos pares: SAC0 está conectado internamente a SAC2; y SAC1, a SAC3.

Esta interconexión es usada en sistemas de sensores como los detectores de humo que necesitan convertir la salida de corriente de un fotodiodo a un nivel de voltaje para la conversión. Los desarrolladores pueden implementar esta cadena de señales utilizando un par de módulos SAC con solo unas pocas líneas de código (Listado 3). Aquí, SAC2 está configurado como un amplificador de transimpedancia para convertir la salida de corriente del fotodiodo a un voltaje que el SAC0 pareado amplifica para un ADC descendente (figura 5). Como se muestra en el Listado 3, la conexión interna entre SAC2 y SAC0 se crea simplemente en la llamada a la API (SAC_OA_init) para inicializar SAC0 (SAC0_BASE) utilizando el PGA como fuente de entrada negativa del OA (SAC_OA_NEGATIVE_INPUT_SOURCE_PGA) y el OA emparejado como la fuente de entrada positiva (SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA).

Copiar    //Configurar la funcionalidad del amplificador operacional    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P3,                                               GPIO_PIN1 | GPIO_PIN3 | GPIO_PIN2,                                               GPIO_TERNARY_MODULE_FUNCTION);     //Seleccionar la fuente externa para las entradas positivas y negativas     SAC_OA_init(SAC2_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_EXTERNAL,                SAC_OA_NEGATIVE_INPUT_SOURCE_EXTERNAL);     //Seleccionar el modo de baja velocidad y de bajo consumo de energía    SAC_OA_selectPowerMode(SAC2_BASE, SAC_OA_POWER_MODE_LOW_SPEED_LOW_POWER);     SAC_OA_enable(SAC2_BASE);                  // Habilitar SAC2 OA    SAC_enable(SAC2_BASE);                     // Habilitar SAC2     //Seleccionar la fuente externa para entradas positivas y negativas    SAC_OA_init(SAC0_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA,                SAC_OA_NEGATIVE_INPUT_SOURCE_PGA);     SAC_OA_enable(SAC0_BASE);                  // Habilitar SAC0 OA    SAC_enable(SAC0_BASE);                     // Habilitar SAC0

Listado 3: Los desarrolladores pueden crear una cadena de señales de dos etapas simplemente al inicializar un par de los módulos SAC del MCU MSP430FR2355 y especificar que la entrada de la etapa descendente utiliza la OA emparejada como su fuente (SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA). (Fuente del código: Texas Instruments)

Diagrama de Texas Instruments: un módulo SAC en modo DAC y un segundo módulo SAC en modo OA

Figura 5: Los desarrolladores pueden eliminar efectivamente la necesidad de circuitos integrados analógicos externos en el diseño de un detector de humo al configurar los módulos SAC pareados del MCU MSP430FR2355 para implementar el amplificador de transimpedancia (TIA) y el amplificador de ganancia programable (PGA) requeridos en una cadena de señales de entrada típica de un detector de humo. (Fuente de la imagen: Texas Instruments)

Usando este enfoque, los desarrolladores pueden implementar casi todo el conjunto de circuitos de entrada y salida analógicos necesarios en los diseños y dispositivos portátiles de IoT. Por ejemplo, los desarrolladores pueden usar los módulos SAC del MSP430FR2355 para reducir diseños analógicos complejos como el oxímetro de pulso que se muestra en la Figura 1 a una versión significativamente más compacta (Figura 6). Además de los LED, el fotodiodo y las resistencias asociadas, los diseñadores solo necesitan el MCU para ofrecer la misma funcionalidad.

Diagrama del MCU MSP430FR2355 de Texas Instruments y sus módulos SAC

Figura 6: Los desarrolladores pueden usar el MCU MSP430FR2355 y sus módulos SAC para reducir drásticamente el recuento de piezas en diseños como el de los oxímetros de pulso, que requieren múltiples fuentes de excitación de salida y una cadena de señales de entrada de etapas múltiples. (Fuente de la imagen: Texas Instruments)

Para evaluar el uso del MCU MSP430FR2355 y de sus módulos SAC, los desarrolladores pueden aprovechar el kit de desarrollo LaunchPad MSP-EXP430FR2355 de Texas Instruments. Diseñada para acelerar la creación de prototipos, la tarjeta incluye un sistema completo basado en MSP430FR2355 con un sensor de luz, luces LED y botones para interactuar con aplicaciones de muestra simples y una sonda de depuración integrada para el desarrollo de software.

Un conector Grove proporciona acceso a la amplia gama de complementos disponibles basados en Grove, y un conector BoosterPack de TI permite a los desarrolladores extender fácilmente la plataforma base con RF BoosterPacks para conectividad inalámbrica. TI también proporciona un conjunto de aplicaciones de software de muestra diseñadas para ejecutarse inmediatamente en el kit LaunchPad. Además de usar la placa LaunchPad, el software de muestra presenta patrones de diseños básicos como el método para interconectar módulos SAC que se muestra en el fragmento de código del Listado 3.

Conclusión

Las interfaces analógicas son comúnmente requeridas en cualquier dispositivo que interactúe con el mundo real. Sin embargo, en muchos diseños para dispositivos portátiles y dispositivos de IoT, los dispositivos adicionales necesarios para construir dichas interfaces son contrarios a los requisitos para obtener diseños más compactos con un menor número de piezas.

Al configurar componentes analógicos integrados en el MCU MSP430FR2355 de Texas Instruments, los desarrolladores pueden implementar la funcionalidad de la cadena de señales requerida para estos diseños, a menudo con solo unos pocos componentes pasivos adicionales.

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

Stephen Evanczuk

Stephen Evanczuk tiene más de 20 años de experiencia escribiendo para y sobre la industria de electrónica en un amplio rango de temas, entre ellos hardware, software, sistemas y aplicaciones, que incluyen IoT. Se doctoróen neurociencias (redes neuronales) y trabajó en la industria aeroespacial en sistemas seguros con distribución masiva y métodos de aceleración de algoritmos. Actualmente, cuando no escribe artículos sobre tecnología e ingeniería, trabaja en aplicaciones de aprendizaje profundo sobre sistemas de reconocimiento y recomendaciones.

Acerca de este editor

Editores de Digi-Key de América del Norte