Inicio Artículos Diseño por separado e integración total: los controladores digitales de señal de...

Diseño por separado e integración total: los controladores digitales de señal de doble núcleo acortan el tiempo de desarrollo a los equipos de ingeniería de diseño

Los ingenieros se enfrentan a menudo en la actualidad a unos diseños cada vez más sofisticados que deben finalizar en unos plazos más cortos. Los requisitos que se exigen a los productos, como la incorporación de funciones de seguridad o capacidades avanzadas de comunicaciones, se suman a la complejidad y las dificultades del diseño. En ocasiones se añaden a estas dificultades la dispersión geográfica de los ingenieros que trabajan en un proyecto determinado. Por ejemplo, es posible que un equipo que desarrolle el proyecto de diseño de un convertidor CC/CC para el automóvil esté formado por desarrolladores del firmware de la fuente de alimentación desde un determinado lugar o país y que los desarrolladores del firmware de la pila de comunicación se encuentren en otro lugar o en otro país. La integración del código desarrollado desde varios lugares en el mismo microcontrolador puede aumentar el riesgo de la planificación debido a la compleja interacción del firmware diseñado por separado.
Presentación de la familia de DSC de doble núcleo
Los desarrolladores de sistemas que diseñen aplicaciones de control embebido de alto nivel con varios equipos de software ahora pueden aprovechar la nueva familia de controladores digitales de señal (Digital Signal Controllers, DSC) de doble núcleo en un solo chip que facilita la integración del software. Los dispositivos de la familia dsPIC33CH de Microchip Technology tienen un núcleo diseñado para funcionar como maestro, mientras que las funciones lo hacen como esclavo. Dentro de esta arquitectura maestro-esclavo, el núcleo esclavo se puede utilizar para ejecutar el código de control dedicado crítico en el tiempo, mientras que el núcleo maestro se ocupa de las funciones a nivel de sistema, como el interface de usuario, la supervisión y las comunicaciones, todo ello adaptado a la aplicación final. La familia dsPIC33CH se ha diseñado para facilitar el desarrollo de código de forma independiente para cada núcleo por diferentes equipos de diseño; este código luego se integra por completo cuando se une en un chip. Sus dobles núcleos independientes simplifican el desarrollo del firmware y permite aplicar un enfoque basado en varios equipos de desarrollo de software, con dos flujos de trabajo en paralelo. Los bucles de control críticos en el tiempo se pueden separar de las funciones de gestión interna, como el interface de usuario, la supervisión, el diagnóstico y la comunicación. Esto acelera el proceso de desarrollo, permite optimizar el código de cada núcleo de forma más efectiva con una mínima interacción del código entre los dos núcleos, facilitando así el proceso de depuración.
Aplicaciones ideales
La familia dsPIC33CH está optimizada para aplicaciones de alimentación digital, control de motores y sistemas embebidos de altas prestaciones que necesiten algoritmos sofisticados. Entre las aplicaciones típicas de potencia para este controlador de doble núcleo se encuentran la carga inalámbrica, las fuentes de alimentación para servidores, los convertidores CC/CC, los cargadores y los inversores. Esta familia también se utilizará con frecuencia para control de motores en bombas, ventiladores, drones, robótica, herramientas eléctricas y electrodomésticos. Al tratarse de DSC de altas prestaciones, estos dispositivos destacan especialmente cuando se utilizan en sensores electrónicos para el automóvil, automatización industrial y equipos de control y de diagnóstico médico.
Esta familia, que aprovecha la integración de dos núcleos de microcontrolador en el mismo chip, puede ofrecer las prestaciones que exigen las pasarelas y los procesadores centrales en aplicaciones de IoT. Por ejemplo, en una fuente de alimentación digital, el núcleo esclavo gestiona los algoritmos de cálculo matemático intense y cierra el lazo de control en firmware al ejecutar algoritmos de compensación con una latencia crítica, mientras que el núcleo maestro gestiona la pila de protocolo PMBus™ de forma independiente y proporciona funciones de supervisión del sistema, aumentando así las prestaciones de éste y su velocidad de respuesta. En un ventilador o bomba para el automóvil, o en otra aplicación de control de motores, el núcleo esclavo se puede dedicar a ejecutar el control crítico en el tiempo de la velocidad y del par, mientras el núcleo maestro ejecuta rutinas de seguridad funcional y gestiona la pila de CAN-FD (Controller Area Network Flexible Data rate) para disponer de unas comunicaciones robustas, así como de otras funciones a nivel de sistema, como supervisión y diagnóstico.
Finalmente, en otras aplicaciones embebidas de altas prestaciones, como los sensores electrónicos utilizados en el automóvil o en sistemas para IoT, el núcleo esclavo acelera funciones matemáticas intensivas como el filtrado DSP de las entradas de sensores, mientras que el núcleo maestro facilita la fiabilidad y la tolerancia a fallos para aplicaciones de seguridad crítica.
Altas prestaciones
El núcleo maestro tiene 64 a 128 KB de memoria Flash de programa, con ECC y 16 KB de RAM, mientras que el esclavo tiene 24 KB de RAM de programa, con ECC y 4 KB de RAM de datos. La frecuencia del núcleo para el maestro es de 90 MIPS a 180 MHz, mientras que el esclavo alcanza 100 MIPS a 200 MHz. Además, tanto el procesador como los subsistemas tienen sus propios controladores de interrupción, generadores de reloj, lógica de puerto, multiplexores de E/S y PPS. El dispositivo equivale en la práctica a disponer de dos DSC dsPIC® completos en un mismo chip. Los dos núcleos trabajan a la perfección conjuntamente, permitiendo así que los algoritmos avanzados mejoren la eficiencia y la velocidad de respuesta. Además, cada núcleo de los dispositivos dsPIC33CH se ha diseñado para que proporcione más prestaciones que los núcleos de los DSC dsPIC actuales gracias a su mayor número de registros seleccionados del contexto para mejorar su velocidad de respuesta a interrupciones, nuevas instrucciones para acelerar las prestaciones de DSP (digital signal processor) y la ejecución más rápida de instrucciones. En un cálculo de prestaciones críticas utilizado en numerosas fuentes de alimentación, el nuevo controlador logra una velocidad que prácticamente duplica a la generación anterior y con una latencia de 280 ns, frente a 543 ns con anterioridad.
Otra ventaja clave que ofrece la distribución de la carga de trabajo para el procesamiento en dos núcleos DSC dentro de un solo dispositivo es la capacidad de alcanzar una mayor densidad de potencia mediante frecuencias de conmutación más elevadas (más de 2 MHz; alrededor de 1 MHz para un controlador de un solo núcleo), que puede dar como resultado la reducción del tamaño de los componentes. Las actualizaciones instantáneas del sistema son capaces de actualizar el firmware sin tiempos de inactividad, lo cual es especialmente importante en sistemas de alta disponibilidad como las fuentes de alimentación para servidores. Además, la arquitectura dsPIC33CH permite programar los dos núcleos de forma que se supervisen entre sí por razones de seguridad funcional, lo cual hace que el sistema sea más robusto. Para reducir los costes del sistema y el tamaño de la placa, entre los periféricos avanzados que suelen integrar cada núcleo se encuentran converti dores A/D y D/A de alta velocidad con generación de forma de onda, comparadores analógicos, amplificadores analógicos de ganancia programable y PWM (Pulse Width Modulation) de alta resolución con 250 ps de resolución. El controlador cuenta con hasta 12 canales PWM, por lo que es especialmente indicado para sistemas de alimentación ininterrumpida (SAI), convertidores CC/ CC y fuentes de alimentación CA/CC.
Los dispositivos de la familia ds- PIC33CH son los primeros controladores digitales de señal de 16 bit con doble núcleo de Microchip y ofrecen una integración sin precedentes en encapsulados a partir de 5 x 5 mm. Se trata de los primeros dsPIC33 capaces de gestionar CAN-FD para una comunicación robusta con un mayor ancho de banda. Se suministran en ocho tipos de encapsulados y cuentan con el soporte del ecosistema de desarrollo MPLAB® de Microchip, incluyendo el galardonado entorno de desarrollo integrado (Integrated Development Environment, IDE) gratuito y descargable MPLAB X y el MPLAB Code Configurator.
Conclusión
La familia dsPIC33CH de Microchip está optimizada para aplicaciones de control embebido de altas prestaciones y críticas en el tiempo para el mundo real. La familia dsPIC33CH permite diseñar el código por separado e integrarlo por completo, reduciendo al mismo tiempo el coste y el tamaño del sistema.