Este artículo describe las características que debe buscar cuando necesita que una MCU actúe como un controlador del sistema y un procesador de señales digitales.
El procesamiento de señales digitales puede agregar una funcionalidad valiosa a una amplia variedad de productos y aplicaciones. Incluso los diseños que están limitados por el costo, el factor de forma o el cronograma pueden incorporar fácilmente los beneficios de DSP, porque hoy en día los ingenieros tienen acceso a una gran cantidad de códigos de biblioteca, proyectos de ejemplo y procesadores de alto rendimiento que son económicos y relativamente fáciles de usar. .
Un verdadero procesador de señal digital, como una parte de la familia C5000 de Texas Instruments o la familia SHARC de Analog Devices, puede ser un dispositivo intimidante. He trabajado principalmente con DSP de Texas Instruments y, en general, la experiencia fue productiva y satisfactoria. Sin embargo, en ese caso no tuve que diseñar la placa de circuito, y no disfruté el proceso de intentar corregir errores extraños del sistema y entender los detalles del sistema operativo.
No hay duda de que ciertas tareas DSP intensivas en computación requerirán un verdadero procesador de señales digitales o incluso un FPGA. Sin embargo, también es cierto que en numerosas aplicaciones sería suficiente un microcontrolador bien elegido. Este artículo analiza las características y capacidades en las que necesita concentrarse cuando quiere asegurarse de que su MCU tendrá suficiente potencia DSP.
Este problema es menos sencillo de lo que piensas. En general, los dispositivos de 16 y 32 bits serán más apropiados para las aplicaciones DSP. El procesamiento de señales digitales involucra procedimientos matemáticos que a menudo llevan a grandes números, y usted desea un procesador que pueda manipular directamente estos grandes números.
Sin embargo, el procesamiento de 8 bits no es intrínsecamente malo, y si sabe que va a tratar con un rango limitado de valores digitales, un microcontrolador de 8 bits puede ser una buena opción.
Además, los ingenieros a menudo no tienen el tiempo ni la inclinación para estudiar los detalles de bajo nivel de un procesador y, por lo tanto, puede ser difícil establecer una conexión clara entre el ancho de bit especificado y la eficiencia computacional real. Por ejemplo, ¿un “microcontrolador de 32 bits” tiene registros de 32 bits? ¿Una ALU de 32 bits? ¿Un bus de direcciones de 32 bits? ¿Una interfaz de comunicación de 32 bits? ¿Qué significa exactamente "32 bits"? Estos detalles podrían influir en su decisión, especialmente si espera tratar principalmente con números pequeños que no necesitan todos esos bits adicionales.
La frecuencia máxima de reloj de un microcontrolador es ciertamente un buen indicador de sus méritos como procesador de señales digitales. Sin embargo, es esencial comprender la diferencia entre los ciclos de reloj por segundo y las instrucciones por segundo. El procesador realiza las tareas de DSP mediante la ejecución de instrucciones y, en consecuencia, su rendimiento se ve afectado tanto por la frecuencia de reloj como por la cantidad de ciclos de reloj necesarios para ejecutar las instrucciones.
Desafortunadamente, este problema rápidamente se vuelve bastante complicado. El número de ciclos de reloj requeridos para una instrucción varía de una instrucción a la siguiente, y la promedio el número de ciclos de reloj por instrucción puede reducirse utilizando una arquitectura segmentada. Luego, debe considerar la cantidad de "funcionalidad por instrucción", es decir, tal vez el microcontrolador A necesita solo una instrucción para hacer algo que requiera múltiples instrucciones en el microcontrolador B.
Esta es mi recomendación abreviada: si está comparando dispositivos de la misma familia, opte por la frecuencia de reloj más alta. Si está comparando dispositivos con diferencias arquitectónicas importantes, intente encontrar una especificación confiable que indique la velocidad de ejecución de la instrucción (expresada como MIPS, millones de instrucciones por segundo) o el número promedio de ciclos de reloj por instrucción.
El término "punto flotante" se refiere a una representación numérica en la que el punto de la base puede "flotar" porque el número consiste en una parte entera (la mantisa) y un exponente. La alternativa ("punto fijo") corresponde a la forma en que normalmente manejamos y percibimos los datos en un microcontrolador normal. Una comparación cuidadosa entre la aritmética de punto flotante y la aritmética de punto fijo no es de ninguna manera una tarea simple, pero parece haber un consenso de que el procesamiento de punto flotante puede ser superior en aplicaciones de uso matemático intensivo.
Creo que es seguro decir que todos los microcontroladores son dispositivos de punto fijo, porque en mi opinión, si es realmente un procesador de punto flotante, ya no es un microcontrolador. Sin embargo, si realmente está decidido a maximizar su rendimiento matemático mientras permanece dentro del dominio del microcontrolador, debe considerar un dispositivo que incluya un punto flotante coprocesador.
El LPC3180FEL320 de NXP, un microcontrolador basado en el brazo de 16/32 bits, tiene un coprocesador de punto flotante y puede alcanzar hasta 220 MIPS. STMicroelectronics también tiene microcontroladores STM32 que incorporan una unidad de punto flotante (FPU).
En este artículo, exploramos las características de la CPU que hacen que un microcontrolador sea más o menos adecuado para aplicaciones DSP. Creo que en la mayoría de las situaciones tiene sentido centrarse en el ancho de bits y en los MIPS, no debería preocuparse mucho por el punto flotante en lugar del punto fijo, a menos que planee hacer algunos cálculos serios con su MCU. Continuaremos con este tema en el próximo artículo, que tratará las características periféricas relacionadas con DSP.
Este artículo es parte de una serie más grande. Puedes encontrar el resto de los artículos a continuación:
ga('create', 'UA-1454132-1', 'auto'); ga('require', 'GTM-MMWSMVL'); ga('require', 'displayfeatures'); ga('set',{'dimension1':'embedded,computers-peripherals,embedded-software,embedded,embedded-software,audio,military-aero-space'}); ga('set',{'contentGroup1':'embedded,computers-peripherals,embedded-software,embedded,embedded-software,audio,military-aero-space'}); ga('send', 'pageview');
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1808435332737507'); // Insert your pixel ID here. fbq('track', 'PageView'); fbq('track', 'ViewContent', { content_ids: ['embedded','computers-peripherals','embedded-software','embedded','embedded-software','audio','military-aero-space'], content_type: 'category'});
_linkedin_data_partner_id = "353081"; (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); } if(jstz.determine().name().indexOf("Europe") === -1) { showSocialCode(); // NOT EU } else { showSocialCode(); window.addEventListener("load", function () { window.cookieconsent.initialise({ "palette": { "popup": { "background": "#252e39" }, "button": { "background": "#14a7d0" } }, "type": "opt-out", "content": { "message": "This website uses tracking cookies to ensure you get the best experience on our website.", "href": "https://www.allaboutcircuits.com/privacy-policy/", "dismiss": "OK, GOT IT" }, onInitialise: function (status) { var type = this.options.type; var didConsent = this.hasConsented(); if (type == 'opt-out' && didConsent) { console.log("eu"); //showSocialCode(); } },
onStatusChange: function (status, chosenBefore) { var type = this.options.type; var didConsent = this.hasConsented(); if (type == 'opt-out' && didConsent) { console.log("eu"); //showSocialCode(); } },
onRevokeChoice: function () { var type = this.options.type; if (type == 'opt-out') { console.log("eu"); //showSocialCode(); } },
}) }); }
Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…
Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…
Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…
Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…
Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…
El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…