Cómo el coprocesador PowerQuad libera núcleos de CPU en la MCU LPC55S69

Además de sus dos núcleos de procesamiento, varios componentes de seguridad y otras características útiles, el LPC55S69 PowerQuad de NXP viene con un DSP incorporado.

El “PowerQuad” es un coprocesador de hardware designado que ayuda a los núcleos de la CPU a realizar un conjunto estándar de operaciones matemáticas complicadas, como operaciones matemáticas, cálculos matriciales, filtrado y funciones de transformación, incluida FFT. El uso de la unidad PowerQuad para realizar tareas tan pesadas en la CPU deja los núcleos principales libres para completar otras tareas.

En este artículo, aprenda sobre la unidad PowerQuad y uno de los muchos proyectos que se pueden realizar utilizándola.

¿Qué es el PowerQuad?

PowerQuad es un componente de hardware dedicado que puede realizar cálculos de manera eficiente que requerirían un tiempo significativo para procesar a una CPU convencional. En lugar de dejar que uno de los núcleos Arm® Cortex®-M33 de la MCU haga el trabajo, la unidad PowerQuad incorporada del LPC55S69 puede ejecutar cálculos en paralelo a la CPU principal, liberando la CPU para otras tareas, como comunicaciones y operaciones de E / S.

Con la ayuda de PowerQuad, los desarrolladores de aplicaciones integradas pueden implementar sofisticados algoritmos de procesamiento de señales sin tener que forzar la CPU, que es un caso de uso muy importante en los sistemas de sensores distribuidos y la Internet industrial de las cosas (IIoT).

Proyecto de ejemplo: uso del PowerQuad en una placa Mini-Monkey

La MCU LPC55S69 y su coprocesador PowerQuad tienen el potencial de habilitar una amplia variedad de proyectos y productos integrados, y este artículo echa un vistazo a uno de ellos.

Con la ayuda de una placa Mini-Monkey que usa una MCU LPC55S69 y contiene una pantalla OLED y un micrófono, se desarrolló una aplicación de demostración. Muestra el audio del micrófono y muestra una forma de onda del audio muestreado en la pantalla OLED. En detalle, se recogen 256 muestras con una frecuencia de muestreo de 32 KHz antes de que se muestren los datos de la serie temporal sin procesar. La resolución en amplitud es de 18 bits, y la amplitud tuvo que dividirse para ajustarse a la forma de onda en la pantalla de salida.

Figura 1. La MCU LPC55S69 permite que la placa mini-mono muestree datos de series temporales desde un micrófono y los muestre en la pantalla incorporada.

El objetivo de este experimento es trabajar con datos de series de tiempo. Este ejemplo recopila datos en un búfer y luego muestra continuamente la información en la pantalla. Aquí, los datos provienen de un micrófono. Sin embargo, también es posible utilizar cualquier otro sensor.

Una mirada a los datos de series temporales

Los datos de series de tiempo son estándar en muchas aplicaciones basadas en sensores y IIoT. Describe una forma de medición en la que la información se recopila a un intervalo constante y se coloca en un búfer. Dependiendo del contexto, las muestras de datos individuales pueden procesarse de inmediato o un conjunto más amplio de información se procesa de una vez, por ejemplo, una vez que el búfer está lleno.

Al final, hay un búfer lleno de muestras de datos que representan el cambio de la entrada durante un período determinado. Tenga en cuenta que es imposible tomar muestras infinitamente rápido y que la resolución de la medición no puede ser arbitrariamente alta. Sin embargo, para que el muestreo funcione, la frecuencia de muestreo debe ser lo suficientemente rápida como para capturar suficientemente la frecuencia más rápida en la señal muestreada (consulte el teorema de muestreo de Nyquist-Shannon).

Un ejemplo simplificado de datos de series de tiempo.

Figura 2. Un ejemplo simplificado de datos de series de tiempo.

Observe que los puntos en la figura anterior no están conectados, lo que indica que los datos capturados son discretos.

Cómo ayuda PowerQuad en el procesamiento de datos

Muchos algoritmos de procesamiento de señales se reducen a cálculos relativamente simples pero repetitivos sobre matrices de datos. Casi cualquier operación compleja se puede dividir en una serie de operaciones de multiplicación y suma, por lo que las unidades MAC son una parte esencial de los procesadores de señales digitales e incluso de muchas CPU modernas de uso general.

El coprocesador LPC55S69 PowerQuad incorpora los componentes básicos más comunes para realizar cálculos DSP. Funciona junto con la MCU para acelerar el filtrado o la transformación de datos de series de tiempo. Esto permite que los dos núcleos Cortex-M33 realicen otras tareas, como recopilar y almacenar en búfer más muestras de datos, mientras que el PowerQuad procesa los números en paralelo. Está claro cómo esto acelera muchas aplicaciones que requieren funcionalidades DSP.

Sin embargo, el aumento de la velocidad de procesamiento no es el único beneficio. Al incluir la unidad PowerQuad en la MCU LPC55S69, los ingenieros integrados pueden apuntar a diseños más pequeños y con mayor eficiencia energética porque no tienen que incluir un DSP externo. Las aplicaciones que no requieren necesariamente un DSP para funcionar también pueden beneficiarse del PowerQuad al utilizarlo para filtrar datos ruidosos, permitiendo la transmisión y el almacenamiento de solo información relevante.

Comunicaciones y medición de líneas eléctricas

Otro caso de uso para la MCU LPC55S69 son las comunicaciones por línea de energía (PLC), que pueden ser útiles si no hay una infraestructura de cableado que no sea líneas de energía CA o CC. El PLC utiliza técnicas sofisticadas como la multiplexación por división de frecuencia ortogonal (OFDM) para transmitir datos a través de líneas eléctricas. OFDM es tolerante al ruido y permite que un sistema envíe bits de datos por un canal de comunicaciones en paralelo a través de varias bandas de frecuencia. Gracias a este enfoque, se pueden utilizar muchos canales de comunicaciones paralelos lentos para lograr altas tasas de bits.

Las soluciones OFDM requieren que el sistema calcule las FFT en tiempo real en una serie de tiempo entrante, que es donde entra en juego el PowerQuad. Ayuda a la CPU a codificar los datos que se enviarán a través de una línea eléctrica.

Utilizando bins de la FFT, la información saliente se codifica utilizando los componentes reales e imaginarios (amplitud y fase) para formar los bits de una palabra de datos. Una vez hecho esto, se puede aplicar una FFT inversa para terminar con una señal de serie temporal enviada a través de un DAC. En el extremo de la decodificación, se debe realizar una FFT para obtener los contenedores originales. Una vez hecho esto, los datos originales se pueden reconstruir utilizando la información de amplitud / fase.

Aunque se trata de una simplificación extrema del proceso OFDM, muestra que los aceleradores como PowerQuad son vitales para que funcione. La MCU LPC55S69 es, por lo tanto, muy adecuada para aplicaciones como esta. El filtrado, la decodificación y la codificación se subcontratan a la unidad PowerQuad, lo que garantiza que los dos núcleos de la CPU central estén libres para hacer otras cosas mientras tanto. Además, todo esto se puede lograr utilizando muy poca energía y sin la necesidad de coprocesadores externos adicionales.

La unidad PowerQuad LPC55S69

Este artículo analizó dos ejemplos habilitados por la MCU LPC55S69 y su unidad PowerQuad integrada, que se pueden usar para acelerar las operaciones matemáticas requeridas en el procesamiento de señales digitales.

El uso de la unidad PowerQuad para realizar estas operaciones de cálculo pesado deja libres los dos núcleos principales Cortex-M33 de la MCU LPC55S69 para completar otras tareas. El enfoque de incluir un DSP en la MCU LPC55S69 tiene muchos beneficios, que incluyen un menor consumo de energía, cálculos más rápidos y diseños más simples.

La página de la comunidad de NXP ofrece una mirada en profundidad a la unidad PowerQuad de la MCU LPC55S69 y sus capacidades. El sitio también proporciona varias notas de aplicación, tutoriales y videos basados ​​en las MCU disponibles para ayudar a los usuarios a comprender mejor sus capacidades.

Los artículos de la industria son una forma de contenido que permite a los socios de la industria compartir noticias, mensajes y tecnología útiles con los lectores de All About Circuits de una manera que el contenido editorial no es adecuado. Todos los artículos de la industria están sujetos a estrictas pautas editoriales con la intención de ofrecer a los lectores noticias, experiencia técnica o historias útiles. Los puntos de vista y opiniones expresados ​​en los artículos de la industria son los del socio y no necesariamente los de All About Circuits o sus escritores.

Source link

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *