Utilice la funcionalidad de un microcontrolador para implementar rápidamente cadenas de señales analógicas en diseños compactos.
Colaboración de Editores de DigiKey de América del Norte
2019-02-05
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.

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
//Select external source for both positive and negative inputs
SAC_OA_init(SAC0_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_EXTERNAL, SAC_OA_NEGATIVE_INPUT_SOURCE_EXTERNAL);
//Select low speed and low power mode
SAC_OA_selectPowerMode(SAC0_BASE, SAC_OA_POWER_MODE_LOW_SPEED_LOW_POWER)
// Enable OA
SAC_OA_enable(SAC0_BASE);
// Enable SAC
SAC_enable(SAC0_BASE);
(Fuente del código: Texas Instruments)SAC_OA_initSAC_OA_selectPowerMode

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.
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
//Select internal shared reference as DAC reference voltage
SAC_DAC_selectRefVoltage(SAC0_BASE, SAC_DAC_SECONDARY_REFERENCE);
//Select the load trigger for DAC data latch
//DAC always loads data from DACDAT at the positive edge of Timer output TB2.1
SAC_DAC_selectload(SAC0_BASE, SAC_DAC_LOAD_DEVICE_SPECIFIC_0);
//Enable DAC Interrupt
SAC_DAC_interruptEnable(SAC0_BASE);
//Write data to DAC Data Register SACxDAT
//DAC_data is an unsigned int type variable defined by user SAC_DAC_setData(SAC0_BASE, DAC_data);
//Enable DAC
SAC_DAC_enable(SAC0_BASE);
//Select internal DAC for positive input and PGA source for negative input
SAC_OA_init(SAC0_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_DAC,
SAC_OA_NEGATIVE_INPUT_SOURCE_PGA);
//Select Buffer Mode
SAC_PGA_setMode(SAC0_BASE, SAC_PGA_MODE_BUFFER);
//Enable OA
SAC_OA_enable(SAC0_BASE);
//Enable 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).

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). SAC_OA_initSAC0_BASESAC_OA_NEGATIVE_INPUT_SOURCE_PGASAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA
Copiar
//Configure Op-Amp functionality
GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P3,
GPIO_PIN1 | GPIO_PIN3 | GPIO_PIN2,
GPIO_TERNARY_MODULE_FUNCTION);
//Select external source for both positive and negative inputs
SAC_OA_init(SAC2_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_EXTERNAL,
SAC_OA_NEGATIVE_INPUT_SOURCE_EXTERNAL);
//Select low speed and low power mode
SAC_OA_selectPowerMode(SAC2_BASE, SAC_OA_POWER_MODE_LOW_SPEED_LOW_POWER);
SAC_OA_enable(SAC2_BASE); // Enable SAC2 OA
SAC_enable(SAC2_BASE); // Enable SAC2
//Select external source for both positive and negative inputs
SAC_OA_init(SAC0_BASE, SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_OA,
SAC_OA_NEGATIVE_INPUT_SOURCE_PGA);
SAC_OA_enable(SAC0_BASE); // Enable SAC0 OA
SAC_enable(SAC0_BASE); // Enable SAC0
(Fuente del código: Texas Instruments)SAC_OA_POSITIVE_INPUT_SOURCE_PAIR_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.

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




