Il 40% dell'energia elettrica mondiale viene consumata da motori e attuatori in applicazioni industriali. La disponibilità di sofisticati sistemi di controllo oltre a migliorare le prestazioni consente una riduzione significativa del consumo energetico. L'implementazione di algoritmi sempre più complessi comporta la necessità di disporre di processori sempre più potenti e con funzionalità aggiuntive che permettano la realizzazione di un sistema di controllo efficiente, a basso costo, e supportati da una serie di tool che consentano tempi di sviluppo rapidi. Analog Devices ha recentemente introdotto una nuova famiglia di processori mixed signal, ADSP-CM40x, le cui caratteristiche e periferiche li rendono particolarmente adatti per applicazioni di controllo di precisione, tra cui il controllo dei motori di fascia alta, il controllo di inverter fotovoltaici monofase e trifase e tutte quelle applicazioni di controllo industriale che richiedono alta velocità ed elevate prestazioni. Tra le caratteristiche salienti di questa nuova famiglia si sottolineano:
- il processore Arm Cortex M4, che con i sui 240 MHz di frequenza di core è il più veloce tra i Cortex M4 presenti sul mercato;
- il sottosistema analogico che comprende due Adc Sar a 16 bit a campionamento simultaneo, che, con 14 bit effettivi a 2.6 Msps, è l'Adc embedded a più elevate prestazioni;
- acceleratori hardware, tra cui Sinc Filters da utilizzarsi con modulatori ΣΔ isolati per la lettura delle correnti di fase;
- un motore Dsp cablato unico sul mercato, in grado di effettuare l'analisi armonica autonomamente senza occupare risorse del processore.
Core Arm Cortex M4 e organizzazione della memoria
La famiglia Arm Cortex è stata sviluppata per venire incontro alle esigenze del mercato in termini di maggiore velocità di esecuzione del codice e bassi consumi. All'interno di questa famiglia Cortex M è stata pensata per applicazioni tipiche dei microcontrollori, ovvero sistemi di controllo, automazione industriale, strumentazione di campo ed una miriade di altre applicazioni in ambito industriale. Cortex-M comprende quattro processori e si va dall'M0, per applicazioni semplici e a basso costo, all'M4 che, con l'estensione Dsp e l'aggiunta di una Unità Floating Point, è di fatto un Dsc (Digital Signal Controller). Il Cortex M4 è un Risc a 32 bit con architettura Harvard (Armv7ME - la più recente in casa Arm), ovvero bus dati e istruzioni separati. Le caratteristiche salienti del core sono:
- tecnologia Thumb-2 che consente una maggiore compattezza del codice;
- estensioni Dsp e Simd (Single Instruction Multiple Data);
- Mac (Moltiplicazione e Accumulazione) in un singolo ciclo;
- istruzioni hardware divide;
- unità Floating Point a singola precisione;
- compatibilità con Cortex M3;
- controllore degli Interrupt Nvic (129 Interrupt e 16 Priorità);
- unità di protezione della memoria;
- 3 Stadi di Pipeline;
- modalità Ultra Low Power (Deep Sleep, gestione dinamica della potenza);
- generatore di clock programmabile.
L'ADSP-CM40x è dotato di Sram interna di primo livello, memoria Cache, e memoria Flash di terzo livello. La Sram interna ha un taglio di 348 kB e può essere suddivisa in banchi di 64 kB configurabili come memoria dati o istruzioni. Questa suddivisione consente una gestione più efficace dei conflitti quando si accede alla memoria da più sorgenti. Il controllore della memoria statica permette di interfacciarsi a memorie o altri dispositivi esterni. I 16 kB di memoria Cache consentono l'esecuzione veloce di codice dalla memoria Flash. Il codice può essere caricato su una memoria Flash interna che può raggiungere una capacità di 2MB, con centomila cicli di scrittura e vent'anni di ritenzione dei dati. La Flash è provvista inoltre di un sistema di protezione contro la lettura e la scrittura dall'esterno in modo da evitare piraterie del codice.
Periferiche avanzate
Il processore è provvisto di un ricco set di periferiche connesse al core tramite bus diversi con elevata banda passante, rendendo il sistema estremamente flessibile e con prestazioni eccellenti. Il dispositivo è dotato di porte seriali e parallele ad elevata velocità, un controllore degli interrupt, per una gestione flessibile degli interrupt provenienti dalle periferiche o da sorgenti esterne, gestione avanzata dell'alimentazione, per adattare le prestazioni ed i consumi di potenza del sistema ai diversi scenari applicativi. Il processore è dotato di un'unità Pwm trifase estremamente flessibile, che consente il controllo della fase con una risoluzione pari ad un ciclo del clock di sistema. Questa risoluzione può essere ulteriormente migliorata di diversi bit tramite un modulo denominato HPPwm (Heightened Precision Pwm), raggiungendo così risoluzioni dell'ordine delle centinaia di ps.
Il Sottosistema analogico
L'accuratezza di un sistema di controllo è strettamente legata all'accuratezza con cui vengono acquisite le grandezze fondamentali del processo. Siano esse correnti, tensioni, temperature, pressioni o altre grandezze fisiche, la bontà del sistema di elaborazione e conversione analogico-digitale è di primaria importanza. L'ADSP-CM40x è dotato di una sezione analogica che si compone di due convertitori Analogico-Digitale Sar a 16 bit, no missing code, e due convertitori digitale- analogico a 12 bit. Un parametro fondamentale nell'utilizzo degli Adc in sistemi di controllo è la gestione dei timing, ovvero la capacità di determinare l'istante del campionamento con precisione elevata e la flessibilità con cui questo istante può essere variato, e tutto ciò viene reso possibile da un blocco di controllo dedicato denominato Adcc. Stesso ragionamento si applica al Dac che possiede il suo blocco di controllo Dacc. Questi due blocchi funzionali semplificano notevolmente la gestione da parte del micro del sottosistema analogico e sono perfettamente integrati nel modello di programmazione del software. L'Adcc può essere programmato in modo tale che i due convertitori acquisiscano simultaneamente oppure in tempi diversi e l'acquisizione può essere sia sincrona (condizione che consente di ottenere le migliori prestazioni) che asincrona. I dati possono essere inviati direttamente in memoria tramite Dma oppure su dei registri prestabiliti tramite il processore. Stesso discorso vale per il Dac, che può caricare il Dac direttamente dalla memoria tramite Dma oppure da registri tramite il processore.
Ciascun Adc può gestire fino a un massimo di 12 canali multiplexati, per un totale di 24 ingressi analogici. I canali sono configurati single-ended ed hanno un range di ingresso 0 - 2.5 V. Il tempo di conversione per ciascun canale è di 380ns per una frequenza di campionamento di 2.6 Msps. Questo significa che in un'applicazione tipica di controllo è possibile acquisire le 6-8 grandezze di interesse in meno di 3us, consentendo così un loop di controllo in tempo reale. L'architettura di acquisizione prevede un buffer tra multiplexer e Adc che semplifica l'interfacciamento dei segnali. Il componente dispone anche di due sting Dac a 12 bit a basso consumo dotati di buffer esterno per il pilotaggio di carichi RC verso Gnd o verso la tensione di alimentazione analogica.
Acceleratori hardware
per il filtraggio digitale e l'analisi armonica
Uno degli aspetti critici nei sistemi di controllo è la misura delle correnti, che generalmente richiede una architettura isolata. I sensori utilizzati per leggere la corrente possono essere di tipo diverso e generalmente si ricorre alle seguenti quattro tipologie: lo Shunt, il trasformatore di corrente, la bobina di Rogowsky e il sensore ad Effetto Hall. La misura basata su shunt è robusta e precisa e concettualmente semplice, ma richiede un circuito di lettura isolato. A tal fine vengono utilizzati dei modulatori ΣΔ, come la famiglia ADuM740x di Analog Devices, che si interfacciano direttamente allo shunt e producono uno stream di bit isolato che, opportunamente filtrato, fornisce una risoluzione fino a 16 bit. Il filtro, realizzato digitalmente, può assorbire una parte significativa delle risorse del processore per cui è preferibile ricorrere ad un filtro esterno. La famiglia ADSP-CM40x è dotata di filtri Sinc (Sinus Cardinalis) del 3° o 4° ordine, configurabili dall'utente e in grado di elaborare fino a 4 stream di bit indipendenti. Ogni stream di bit ha una coppia di filtri Sinc dedicati, un filtro primario ottimizzato per fornire una misura accurata, ed un filtro secondario ottimizzato per la velocità, che, combinato con dei comparatori a soglia programmabile, è in grado di rilevare efficacemente condizioni di overload. L'uscita del filtro è codificata a 16 bit con segno e può essere inviata alla memoria oppure a qualsiasi altra periferica del sistema tramite Dma. Con i nuovi generatori da fonti di energia rinnovabili connessi alla rete diventa importante avere sotto controllo il livello di rumore iniettato sulla rete stessa. Per semplificare quest'operazione l'ADSP-CM40x è dotato di un blocco Dsp denominato Harmonic Analysis Engine che analizza la tensione alternata alla frequenza di 50Hz/60Hz prodotta dall'inverter. Il blocco Hae effettua delle misurazioni di power quality. La tensione iniettata in rete viene campionata ad una frequenza di 8kHz tramite uno dei canali Adc ed il filtro è in grado di elaborare l'ampiezza della fondamentale e delle sue armoniche fino alla 40°. Il sistema è in grado di eseguire l'analisi contemporanea della fondamentale e un massimo di 12 armoniche programmabili dall'utente. Il grado di precisione della misura è molto elevato, decisamente superiore a quanto ottenibile con una semplice Fft, in modo da soddisfare i requisisti degli standard più stringenti.
Tool di sviluppo
Analog Devices mette a disposizione dei propri clienti strumenti, documentazione tecnica, board di valutazione ed esempi applicativi per consentire un rapido sviluppo del proprio progetto. Sono infatti disponibili due diverse versioni di schede di valutazione, ADSP-CM408F EZ-Board e ADSP-CM403F EZ-Board. Queste board mettono a disposizione tutta una serie di periferiche, compresi Transceiver/Phy e connettori, come ad esempio Uart, Ethernet, Usb, Can, ecc. La board comprende 4 Mbit di Sram, 32Mbit di Flash, interfaccia di debug, connettori di espansione, display Lcd. Oltre alle classiche schede di valutazione Analog Devices mette a disposizione dei propri clienti piattaforme specifiche per controllo motore e controllo di inverter fotovoltaici. Sia per le board di valutazione che per le piattaforme dedicate è disponibile l'intero progetto, che comprende schemi elettrici, Bom e layout. È inoltre disponibile un servizio di supporto on-line nella community Engineer Zone con un forum dedicato all'ADSP-CM40x, dove esperti del prodotto forniscono le risposte alle richieste degli utenti. Esiste infine una rete di terze parti qualificate specializzate in vari filoni applicativi che possono fornire supporto per lo sviluppo dell'intero progetto. L'ambiente di sviluppo è basato su Iar, e il sistema può essere integrato con tool di simulazione avanzata come Matlab e Simulink.