Este artículo continúa con una discusión de las características y características del microcontrolador que son particularmente importantes cuando estás pensando en términos de capacidades de DSP.

Los microcontroladores pueden ser un medio conveniente y rentable para incorporar el procesamiento de señales digitales en dispositivos portátiles, dispositivos médicos, equipos de audio y otros productos y sistemas. Sin embargo, los microcontroladores están diseñados principalmente para controlar (no sorprendentemente) las cosas, por lo que si queremos que una MCU sea un procesador de señales eficaz, debemos elegir con cuidado.

El artículo anterior se centró en las características de la CPU, a saber, ancho de bits, frecuencia de reloj, ciclos de reloj por instrucción y capacidad de punto flotante. En este artículo, veremos los módulos periféricos y las características que hacen que un microcontrolador sea más adecuado para la funcionalidad DSP.

Soporte del procesador

Algunos módulos de hardware ocupan una posición intermedia entre la CPU y los periféricos típicos, como los temporizadores y los comparadores. Un ejemplo común es el multiplicador de hardware.

Multiplicación de hardware

Un multiplicador de hardware es el tipo de característica que podría significar la diferencia entre el éxito y el fracaso en un sistema DSP en tiempo real. Las aplicaciones importantes de DSP, como el filtrado digital y el análisis espectral, requieren numerosas operaciones de multiplicación, que deben realizarse con la rapidez suficiente para producir resultados en un tiempo razonable (desde la perspectiva del usuario) o, y es cuando las cosas pueden ser realmente difíciles. : A una velocidad igual o más rápida que la velocidad a la que llegan los datos del sistema externo.

Los triángulos en esta estructura de filtro FIR representan operaciones de multiplicación.

Como una gran parte de las aplicaciones de microcontroladores no requieren una funcionalidad de multiplicación avanzada, generalmente no tiene sentido incorporar un multiplicador en el núcleo del procesador. El multiplicador de hardware, entonces, es un módulo complementario que recibe datos de la CPU, realiza una multiplicación altamente eficiente y luego pone los datos resultantes a disposición de la CPU.

Los multiplicadores de hardware en realidad van más allá de la mera multiplicación. Las rutinas DSP a menudo requieren un proceso conocido como multiplicar y acumular (MAC), que (como puede haber adivinado) implica multiplicar repetidamente los números y sumar, o acumular, los resultados de las operaciones de multiplicación. Un módulo MAC de hardware ofrece aún más posibilidades de mejorar el rendimiento de DSP.

El multiplicador de hardware incorporado en el MAXQ615, un microcontrolador pequeño y económico de Maxim, realiza una multiplicación de 16 bits con y sin signo, multiplicando y acumulando 16 bits y restando y multiplicando 16 bits.

Acceso directo a memoria (DMA)

La primera vez que aprendí sobre DMA fue cuando estaba trabajando en una radio definida por software que tenía que realizar rápidamente un algoritmo de decodificación en señales de banda base digitalizadas, y esa experiencia me impresionó permanentemente el valor de DMA en el procesamiento de señales digitales sensibles al tiempo.

Una unidad DMA es esencialmente un procesador separado que tiene un trabajo: mover datos. Esta tarea es sencilla, por lo que la incorporación de la funcionalidad DMA en su proyecto no aumenta seriamente su complejidad, y la potencia del DSP del sistema aumenta dramáticamente porque la CPU puede concentrarse en procesar números en lugar de mezclar datos entre la memoria y los periféricos. Si su aplicación requiere un DSP en tiempo real intensivo en computación, un controlador DMA puede ser una adición particularmente valiosa a las capacidades de su MCU.

El controlador DMA en un microcontrolador SAM4S (de Atmel) me permitió generar esta sinusoide sin molestar constantemente a la CPU para enviar el siguiente punto de datos al DAC.

Comunicación

El procesamiento de señales digitales requiere no solo un procesador sino también datos digitales para ser procesados. En la mayoría de los casos, estos datos digitales se originarán fuera del microcontrolador, y esto significa que la transferencia de datos es un enlace crítico en la cadena DSP.

Transferencia paralela de datos

Me gustan las interfaces paralelas porque son simples, al menos en teoría, pero son menos comunes de lo que piensas. Transferir ocho o incluso dieciséis bits simultáneamente parece ser mucho más eficiente que enviar un bit a la vez, pero las interfaces en serie se utilizan ampliamente incluso en sistemas de alta velocidad. Si la transferencia de datos en paralelo es una opción en su sistema y desea intentarlo, busque un microcontrolador con una "interfaz de memoria externa" (EMI o EMIF), "interfaz de bus externo" (EBI) o algo parecido. .

Transferencia de datos en serie

yo2C no es una interfaz de alta velocidad, y la UART estándar tiende a usarse para velocidades de datos bajas o moderadas. Busque los periféricos que anuncian altas velocidades de reloj máximas y que usan una señal adicional para la sincronización entre el receptor y el transmisor (esto permite que la señal de datos se dedique por completo a la transferencia de datos real).

Creo que "USART" es una abreviatura bastante estándar para el tipo de módulo de comunicación en serie que estoy describiendo (la "S" significa "sincrónico"). Básicamente, lo que estoy recomendando aquí es un microcontrolador equivalente al "puerto serie con almacenamiento en búfer multicanal" de TI: la abreviatura McBSP (pronunciada micrófono-BSP, como si el módulo fuera de Irlanda, está alojado en mi memoria y se asociará perpetuamente en mi mente con la transferencia de datos en serie de alta velocidad …

Comprobación de errores

Las aplicaciones que requieren una detección robusta de errores pueden beneficiarse de un módulo CRC de hardware.

Este es un diagrama del módulo CRC de hardware integrado en un microcontrolador EFM8 Laser Bee de Silicon Labs. Lo alimenta con una secuencia de bytes y utiliza un polinomio CRC estándar para generar un resultado de 16 bits.

Conclusión

Realmente creo que los microcontroladores son preferibles a los procesadores de señales digitales en muchas aplicaciones DSP de baja y media intensidad, y espero que este artículo lo ayude a identificar microcontroladores que puedan realizar de manera confiable las tareas DSP que sus proyectos requieren.

Artículos anteriores en la serie Introducción a los microcontroladores:

Dejar respuesta

Please enter your comment!
Please enter your name here