Diseño de un sistema analógico de alta precisión basado en un microcontrolador configurable para procesamiento de señal de sensores con AFE.
Artículo escrito por Qi Zhang, Technical Support Engineer de Rutronik Elektronische Bauelemente
Con el NJU9103, NJRC ha desarrollado un nuevo front end analógico (AFE) con PGA integrado que se puede usar a la hora de procesar señales analógicas con una ganancia de G-512.
Al combinar el NJU9103 con un microcontrolador STM32F429 de STMicroelectronics, es posible crear un sistema analógico de alta precisión para procesamiento de señal de sensor económico con relativa facilidad. Aunque la configuración trabaja de manera parecida a un osciloscopio, también suministra información adicional slew rate, las resoluciones y la precisión del NJU9103.
El NJU9103 resulta ideal para procesar señales de sensor, ya que no sólo ofrece un gran rango de medición, sino que también tiene unas dimensiones compactas (ocho pines). También posee un convertidor A/D de 16-bit-ΔΣ con ratios de muestreo de 0,814 a 6,51 ksps y una entrada diferencial y una entrada seudo diferencial (opcional). Mediante una interfaz SPI, es posible ajustar fácilmente los parámetros vía un microcontrolador. Las tareas de análisis y síntesis de señal se pueden llevar a cabo con las correspondientes tarjetas de evaluación del front end y el microcontrolador y sólo unos pocos componentes pasivos.
El kit de evaluación del NJU9103 de NJRC fue diseñado originalmente para un kit de desarrollo STM32 NUCLEO-F411RE. Sin embargo, debido a la omisión de la placa GUI NUCLEO para leer la interfaz Arduino, se requiere un PC para visualizar los resultados de la medición, por lo que la tarjeta NUCLEO se suprimió deliberadamente con la intención de simplificar el sistema de medida.
Para posibilitar una demostración centrada en el usuario, se utilizó en su lugar la STM32F429 discovery board.
Generación de la señal de onda sinusoidal
En esta disposición, la STM32F429 genera una señal PWM que se conecta a la entrada diferencial del NJU9103 a través de un filtro de baso bajo monopolo y un divisor de tensión. Después, las medidas digitales se envían a la MCU vía la interfaz SPI y se muestran en la pantalla. La combinación de las demo boards – compuestas por PGA, ADC, conmutador analógico y DAC de calibración – demuestra el buen rendimiento del front end analógico en términos de resolución, precisión, ganancia y velocidad.
Configuración del microcontrolador para el sistema analógico
El MCU se configura usando el software STM32CubeMX basado en PC, mientras que el AFE se programa con la ayuda del Keil MDK (Microcontroller Development Kit) o Atollic TrueSTUDIO. Los comandos y los datos se pueden transmitir mediante un SPI-BUS.
ST ofrece el software requerido para este propósito en su página web (www.st.com). Rutronik también recomienda a los desarrolladores el uso de los paquetes de soporte de placa (board support packages).
La comunicación con el NJU9103 se lleva a cabo con el SPI1. El temporizador TIM3 genera la señal PWM, en tanto que el TIM4 dispara la interrupción de la visualización de las medidas en un display.
Además, para generar una señal PWM precisa, los contadores y los prescalers en el TIM3 se deben definir y establecer de antemano. La salida se configura como un pull-up. La frecuencia del TIM3 se configura utilizando la señal de reloj APB1 (Advanced Peripheral Bus). Hay que recordar que sólo la interfaz APB1 tiene la máxima frecuencia de reloj disponible para el temporizador TIM3.
Para sintetizar la señal de onda sinusoidal, la señal PWM (duty cycle) se debe generar en una matriz. Y para poder filtrar o suavizar la señal PWMl, se usa un filtro de paso bajo de primer orden (1 kOhm//1 µF) con un punto de 3 dB a 1kHz. El divisor de tensión óhmica se puede elegir en el AFE, dependiendo de las fases de ganancia seleccionadas del PGA. Entonces, se envía la señal de onda sinusoidal a la salida. Aquí hay que tener en cuenta que la máxima tensión de alimentación de 1 V no puede superar a la entrada diferencial del AFE.
Programando el NJU9103
Una vez que se ha configurado la demo board con CubeMX, la interfaz SPI y el display se ponen en funcionamiento, para lo que el board support package ofrece funciones muy útiles que facilitan la operación en el sistema analógico.
Al configurar los registros del AFE vía la interfaz SPI, los desarrolladores tienen que prestar atención a un punto importante de las especificaciones (data sheet), concretamente a que sólo se pueden definir los bits 4 a 7 para las direcciones correspondientes de los registros, en lugar de todo el byte como sería lo habitual. Los registros se pueden iniciar como se describe en la ficha técnica. El temporizador TIM4 se usa a la hora de establecer la frecuencia de muestreo del ADC. Según el teorema de Nyquist, la frecuencia de muestreo depende de la frecuencia de señal a medir. La señal de onda sinusoidal se puede visualizar con la ayuda de una pantalla conectada.
La combinación de las dos tarjetas demoen esta configuración es una plataforma ideal para demostrar el rendimiento del nuevo AFE de NJRC. Este desarrollo también muestra las diversas oportunidades que ofrece el procesamiento de señal de sensores en un amplio rango de aplicaciones.
REFERENCIAS
- Data Sheet “Analog Front End with High Gain PGA”, de New Japan Radio Co. Ltd. (Versión 0.6.) Disponible en:
- Data Sheet “STM32F427xx STM32F429xx”, de STMicroelectronics. (Julio 2016). Disponible en: http://st.com
- Nota de aplicación “LCD-TFT display controller (LTDC) on STM32 MCUs”, de STMicroelectronics. (Febrero 2017). Disponible en: http://www.st.com