Filtraggio digitale integrato con i nuovi dispositivi PSoC 3/5
Dalla rivista:
Elettronica Oggi
L’integrazione di un engine di filtraggio digitale ha ampliato notevolmente le potenzialità dei nuovi dispositivi PSoC e l’utilizzo congiunto di PSoC Creator può apportare notevoli vantaggi in molte applicazioni, oltre ad avere riflessi favorevoli sia sul costo dei sistemi sia sul time-to-market
Negli ultimi anni i microcontrollori con front-end analogico/digitale sono andati diffondendosi in misura sempre maggiore. Spesso tali dispositivi sono identificati con il nome di microcontrollori a segnali misti. Senza dubbio i nuovi dispositivi PSoC3 e PSoC5 di Cypress Semiconductor integrano CPU ad alte prestazioni con convertitori A/D avanzati le cui prestazioni possono superare quelle offerte da convertitori esterni discreti. Ma un componente PSoC non può essere considerato alla stregua di un tradizionale microcontrollore a segnali misti. I dispositivi convenzionali possono naturalmente convertire segnali analogici esterni in forma digitale. Questo processo di acquisizione dati non è però fine a se stesso, bensì un mezzo per riuscire a comprendere il fine che si cela dietro questa operazione per intraprendere le azione appropriate. Nel momento in cui l’elaborazione del segnale necessaria per estrapolare tale scopo diventa particolarmente impegnativa, può trasformarsi in un potenziale problema per il progettista del firmware. Il problema si presenta nel caso in cui sul medesimo processore devono essere fatte girare tutte le routine ausiliarie necessarie per gestire in maniera adeguata l’apparecchiatura.
Nel processo di definizione delle nuove famiglie PSoC3 e PSoC5, l’obiettivo di Cypress non è stato quello di proporre solamente un nuovo controllore in un settore sempre più affollato. Qualunque sia l’architettura utilizzata, le funzionalità dell’hardware devono essere finalizzate al conseguimento, in modo efficace ed efficiente, di un risultato utile. Il vero significato che si cela dietro l’acronimo PSoC è soluzione programmabile su chip, ovvero una soluzione per i problemi reali che gli utenti devono affrontare. Per dotare questi dispositivi PSoC di capacità ancora maggiori di risoluzione dei problemi, Cypress ha integrato una gamma veramente ampia di periferiche e di blocchi per l’elaborazione del segnale di natura sia analogica sia digitale. Nel corso dell’articolo ci si concentrerà su quei blocchi che consentono di semplificare in maniera significativa il filtraggio digitale dei segnali acquisiti e si esamineranno alcune applicazioni nelle quali questa tecnologia ha già dato prova della propria validità.
Migliorie architetturali per il filtraggio digitale integrato
Innanzitutto è opportuno chiedersi perché utilizzare un filtro integrato piuttosto che includere qualche istruzioni di elaborazione del segnale in un microcontrollore tradizionale. La risposta è abbastanza semplice: un approccio del primo tipo semplifica il partizionamento a livello sia di progetto sia di integrazione del sistema. Nel corso dello sviluppo un progetto può subire modifiche per numerose ragioni: cambiamento degli obbiettivi, delle finalità o anche dell’architettura complessiva. Riuscire a tenere conto dell’impatto di questi cambiamenti su un progetto che prevede la codifica monolitica su un singolo core risulta molto problematico specialmente nel caso degli odierni progetti, solitamente sviluppati da team di progetto decentralizzati e compositi. La capacità di integrare l’elaborazione del segnale in un componente funzionale utilizzato a livello di blocco assicura che la gestione del progetto possa essere ridotto a livello di progetto del componente. Un ulteriore vantaggio è dato dal fatto che le variazioni del carico di elaborazione del segnale che si possono verificare nel momento in cui si modificano gli algoritmi non influiscono su altri processi (task) critici dal punto di vista della temporizzazione, come ad esempio la gestione delle comunicazioni.
Il primo elemento hardware che supporta il filtraggio digitale integrato nelle famiglie PSoC 3 e PSoC 5 è il DFB (Digital Filter Block), un filtro digitale di piccole dimensioni che si collega al bus periferico. In sostanza si tratta di una configurazione strettamente accoppiata di memoria, MAC, ALU e una memoria di controllo microcodificata la cui architettura di tipo VLIW consente l’esecuzione di parecchie operazioni, tra cui moltiplicazione 24 x 24 bit con accumulazione a 48 bit, in parallelo, alla velocità di clock del sistema, che può arrivare a 67 MHz. I dati e i coefficienti vengono immagazzinati in una coppia di memorie locali dedicate dai profondità pari a 128 x 24 bit accessibili dal bus del sistema. Su una struttura di questo tipo è possibile codificare in maniera efficace parecchie tipologie di filtri.
Per le applicazioni di filtraggio digitale integrato, a complemento del blocco DBF è disponibile la matrice di blocchi UDB (Universal Digital Block). Essa abbina blocchi PLD e percorsi dati/ALU all’interno di una struttura flessibile che può essere usata sia per l’interfacciamento con i sistemi di invio e ricezione dei dati digitali sia in presenza di strutture ripetitive caratterizzate da elevata velocità di clock come filtri CIC (Cascaded Integrator/Combo) e quantizzatori che utilizzano la tecnica del noise-shaping (che consiste in pratica nel “modellare” il rumore di quantizzazione).
Come utilizzare il filtraggio digitale nei sistemi PSoC 3/5
Esistono parecchie modalità di impiego del blocco DFB. Il tool per il progetto di filtri integrato in PSoC Creator permette di sfruttare un approccio di tipo “drag&drop” per includere il filtraggio digitale nel flusso del segnale. Nella fase di avvio PSoC Creator rende disponibile un tool per il progetto di filtri FIR che è integrato in un “componente” filtro dedicato da impiegare come qualsiasi ogni altro blocco nel sistema. Questo tool consente di applicare un’ampia gamma di filtri, singoli o in combinazione, al segnale.
Come è accaduto per i dispositivi PSoC della prima generazione, anche le applicazioni rese possibili dai nuovi PSoC 3 e PSoC 5 sono quelle che sia utenti sia progettisti di sistemi hanno solo finora immaginato.
D’altra parte la filosofia alla base dello sviluppo del concetto di PSoC è sempre stata quella di creare dispositivi con la flessibilità necessaria per il supporto di future applicazioni, impensabili nel momento in cui il dispositivo è stato concepito. La stessa flessibilità contraddistingue i blocchi funzionali come DFB. Cypress Semiconductor ha già sviluppato parecchie applicazioni custom sfruttando questo blocco specifico che sono state implementate sotto forma di “componenti” per consentirne l’integrazione negli schemi circuitali di PSoC Creator. Il disaccoppiamento tra le funzioni di elaborazione del segnale e il funzionamento della CPU principale consente il riutilizzo dell’IP all’interno di un vasto ecosistema di blocchi IP che può essere condiviso dalla comunità dei progettisti.
Alcuni esempi di applicazione
Di seguito vengono riportati alcuni esempi di applicazioni di filtraggio che fanno uso dei dispositivi PSoC 3.
Filtri ad “allineamento temporale” – interpolazione polifase
Nella fase di sviluppo di un contatore elettrico, un requisito di progetto prevedeva la compensazione dell’offset di temporizzazione tra un canale e l’altro di un singolo convertitore A/D in architettura delta-sigma all’interno del quale vengono multiplate parecchie fasi di corrente e tensione. Se questa differenza temporale non viene corretta, l’accuratezza del sistema è destinata a peggiorare repentinamente in presenza di carichi a basso fattore di potenza e nei riguardi della stima della potenza nelle armoniche di ordine più elevato della frequenza di rete. Il blocco DFB di PSoC 3 risulta particolarmente adatto per l’implementazione di filtri FIR e
d è stato utilizzato per creare un filtro di interpolazione polifase con quattro canali a 20 prese (tap) ciascuno. Questo filtro preleva il flusso di dati multiplato dal convertitore A/D e lo “espande” in quattro nuovi flussi di dati attraverso canali i cui ritardi di segnale differiscono per una frazione esatta del tempo di campionamento necessario per il riallineamento dei dati. In pratica è come se esso fosse stato acquisito simultaneamente da quattro convertitori A/D a campionamento. Nella figura 1 vengono riportati quattro insiemi di dati ottenuti tramite campionamento continuo del medesimo segnale (a banda limitata) con un convertitore multiplato a quattro ingressi.
Fig. 1 – Insiemi di dati ottenuti tramite campionamento continuo del medesimo segnale con un convertitore multiplato a quattro ingressi
Nella figura 2 sono riportate le quattro uscite del filtro di interpolazione: si può osservare che la forma d’onda a banda limitata è stata ricostruita correttamente per quel che concerne sia la forma sia la temporizzazione. Grazie a questa tecnica è possibile utilizzare un singolo convertitore A/D di elevato livello qualitativo per garantire gli elevati livelli di accuratezza richiesti per la misura, per tutti i fattori di potenza e le frequenze armoniche di interesse. Essa può anche essere sfruttata in altre applicazioni che richiedono un campionamento simultaneo efficiente.
Fig. 2 – Il filtro di elaborazione polifase integrato permette di eliminare le differenze
Altri filtri per i contatori
Il blocco DFB ha permesso di realizzare altre due funzioni molto utili nel progetto di questo contatore. Innanzitutto, per consentire un calcolo accurato della potenza reattiva, è stato realizzato filtro di sfasamento ottimizzato. Parecchi chip disponibili per espletare compiti di misura prevedono un ritardo temporale oppure un integratore al fine di ottenere lo sfasamento di 90° richiesto. Il primo metodo è caratterizzato da una risposta in ampiezza piatta ma risulta impreciso per quel che concerne lo sfasamento quando il valore della frequenza di rete non è esatto. Il secondo metodo, invece, evidenzia l’errore opposto: la fase è sempre accurata ma l’ampiezza varia con la frequenza in misura tale da non soddisfare neppure le classi di misura meno severi. Da quanto detto si evince che nessuna delle due metodologie è in grado di fornire risultati soddisfacenti.
Mediante l’integrazione di un filtro IIR a 6 poli, come visibile nella figura 3, è stato possibile soddisfare i più stringenti vincoli per quel che concerne la potenza reattiva sull’intero intervallo di frequenze di rete senza ricorrere al trasformatore di Hilbert che avrebbe richiesto tutta la potenza di elaborazione del sistema. La caratteristica di filtraggio passa basso attenua in maniera sensibile le armoniche presenti nella forma d’onda della corrente, in modo che la stima della potenza reattiva possa basarsi solamente sulla frequenza fondamentale.
Figg. 3a, 3b, 3c – Generatore di quadratura di precisione IIR a 6 poli per una frequenza di 50 Hz
L’altro circuito critico per la “modellazione” (shaping) della risposta in frequenza in un moderno contatore è l’integratore, elemento necessario per compensare la risposta in frequenza di sensori di corrente che si basano sulla variazione della corrente nel tempo (di/dt) come la bobina di Rogowski (un dispositivo elettrico per la misura di correnti alternate e correnti di tipo impulsivo) o il sensore Mobius di Sentec. L’aumento della risposta in bassa frequenza di circuiti di questo tipo tende a esaltare il rumore analogico a bassa frequenza intrinseco del front-end. Per le misure di potenza attiva standard ciò non costituisce un problema. In misura sempre maggiore, comunque, gli utilizzatori richiedono un range dinamico più ampio per le misure di corrente in modo da poter calcolare con precisione la potenza apparente e la dissipazione effettiva dell’infrastruttura elettrica. In presenza di correnti di valore molto ridotto, il rumore dell’integratore provoca un’imprecisione di non accettabile nella misura del livello di corrente.
Poiché l’incremento del guadagno non può continuare illimitatamente – altrimenti il guadagno sarebbe infinito in continua – l’integratore presente nei dispositivi tradizionali è smorzato in corrispondenza di una frequenza limite inferiore. Questo approccio comporta l’introduzione di un errore di fase che non risulta accettabile per le classi di precisione più elevate. Al fine di consentire l’uso opzionale di sensori che si basano sulla variazione della corrente nel tempo è stato sviluppato un altro filtro IIR a 6 poli caratterizzato da una risposta in bassa frequenza limitata (in grado di assicurare prestazioni migliori, in termini di rumore, in misura compresa tra 9 e 15 dB a seconda del front end) e capace nel contempo di garantire la risposta in fase e in ampiezza tipiche di un integratore ideale all’interno dell’ampiezza di banda di lavoro, con un’accuratezza migliore dei chip di misura standard presi come riferimento (linee verdi di Fig. 4). L’intera elaborazione del segnale viene eseguita in maniera autonoma dal blocco DFB sui segnali multiplati di interesse proveniente dal modulatore delta-sigma senza intervento alcuno da parte del processore.
Fig. 4 – Il filtraggio IIR integrato permette di ottenere le prestazioni tipiche di un integratore a basso rumore ed elevata accuratezza (curve blu)
Rilevatori e filtri di comunicazione
Lo standard IEC 61334 per la powerline communication (ovvero la tecnologia che utilizza la rete della linea elettrica negli edifici per la trasmissione di informazioni) prevede l’uso della modulazione SFSK (Spread FSK), una variante della tradizionale FSK (Frequency Shift Keying). Nella modulazione SFSK le frequenze di segno (mark frequency) e di spazio (space frequency) sono separate in maniera più ampia rispetto a quanto ci si possa aspettare in base alla velocità di trasferimento dati. Se il segnale in entrata è suddiviso da una coppia di filtri passabasso con pendenza molto ripida che fanno passare solo le componenti di frequenza mark o space, la modulazione dei dati può essere estratta in maniera indipendente da ciascun canale. Ciò garantisce un’elevata resistenza alle interferenze, poiché un’interferenza su un singolo tono non può impedire la demodulazione di entrambi i canali contemporaneamente se le risposte in frequenza dei filtri non si sovrappongono. I demodulatori FSK basati su un correlatore tradizionale non possono garantire un tale livello di resistenza alle interferenze.
Nelle figura 5 viene riportata la risposta in frequenza di una coppia di filtri progettati per il blocco DFB dei dispositivi PSoC 3/5 relativi una coppia di frequenze di mark/space molto diffuse. In una realizzazione pratica, il filtro è alimentato da uno dei convertitori A/D principali, preceduto da un circuito AGC realizzato attorno all’amplificatore a guadagno programmabile (PGA) analogico. Per ricavare i dati dai segnali filtrati, essi vengono rettificati prendendo il valore assoluto di ogni segnale (disponibile con la semplice impostazione di un apposito bit del registro di controllo presente nel blocco DFB).
Figg. 5a, 5b, 5c – Filtri di separazione per modulazione SFSK a 60/73 kHz; 2 filtri IIR a 8 poli a 384 ksps
I segnali rettificati attraversano i filtri passabasso che girano sul blocco DFB e confrontati rispetto a un valore di soglia che insegue il livello del segnale. In una realizzazione mediante PSoC, il rapporto segnale/rumore in ogni canale viene stimato sfruttando i circuiti logici realizzati mediante i blocchi digitali universali (UDB) e i dati trasferiti a un UART standard di PSoC 3, tutto senza bisogno di un intervento su base regolare della CPU.
Equalizzatori audio di precisione
Le possibilità di filtraggio digitale dei dispositivi PSoC 3/5 abbinate alle doti di flessibilità e programmabilità dei blocchi logici UDB rappresentano la piattaforma ideale per il progetto di prodotti audio destinati al mercato consumer e ai relativi accessori. Per evidenziare le potenzialità del blocco DFB nel settore audio, si farà ora riferimento a un progetto di un equalizzatore grafico stereo a 10 bande che gira sul blocco DFB e i cui coefficienti di filtraggio sono calcolati “al volo” dalla CPU. Un codec audio stereo è stato collegato al PSoC mediante un’interfaccia I2C realizzata sulla matrice dei blocchi UDB, che viene anche impiegata insieme al PLL del sistema per sviluppare un sistema per la sintesi di frequenza in grado di produrre tutte le frequenze del master clock (clock principale) di un sistema audio standard a partire da un singolo quarzo locale. Se necessario, questo sistema di sintesi può essere sincronizzato con i pattern di framing dei più comuni formati di interfaccia digitale.
A una velocità di campionamento di 44,1 kHz questo equalizzatore sfrutta solamente una piccola parte delle risorse disponibili e delle potenzialità di filtraggio. La routine per il calcolo dei coefficienti può ricavare informazioni aggiornate in maniera dinamica dai controlli locali (ad esempio dai tasti e dai cursori implementati in tecnologia CapSense) come pure dai protocolli di controllo che arrivano attraverso le interfacce UART o USB. In un’applicazione dimostrativa che gira su un diffuso lettore digitale integra un algoritmo per il controllo delle impostazioni dell’equalizzatore al fine di garantire che la risposta in frequenza del sistema passi esattamente attraverso i punti di guadagno del cursore. I segnali audio analogici provenienti dal lettore possono essere regolati per la risposta in tempo reale. Questo controllo estremamente preciso della risposta in frequenza semplifica il progetto acustico di casse per altoparlanti che comprendono il sottosistema di pilotaggio progettato per applicazioni sia all’aperto sia all’interno di un veicolo.
Una volta che l’utente ha determinato l’equalizzazione preferita, il blocco DFB dispone di tutte le risorse necessarie per la realizzazione di un banco di filtri crossover multibanda. Le uscite possono essere inviate a un convertitore D/A esterno o ad amplificatori digitali attraverso più interfacce I2S. È possibile effettuare un controllo estremamente accurato sulla risposta in frequenza del driver che assicura risultati di elevato livello qualitativo nei progetti di sistemi acustici compatti a più vie presenti in apparati quali docking unit, stereo miniaturizzati e apparecchi televisivi a pannello piatto. Anche i sistemi di messaggistica e per l’amplificazione del segnale sonoro distribuiti ad elevato numero di canali possono trarre notevoli vantaggi dalla semplificazione della sintonizzazione della risposta in frequenza, ottenuta sfruttando il medesimo processore che si occupa della gestione dell’interfaccia utente, delle comunicazioni e dell’alimentazione.
Oltre a quelle segnalate in questo articolo, esistono numerosissime altre applicazioni che possono sfruttare le potenzialità in termini di elaborazione dei segnali dei dispositivi PSoC 3 quali ad esempio filtri di decimazione per microfoni digitali, condizionamento di segnali in ambito industriale oppure gli innumerevoli impieghi nel settore medicale.
Kendall Castor-Perry, Principal architect, Cypress Semiconductor
Contenuti correlati
-
Cinque passi per semplificare il debug di applicazioni multithread
Un’analisi di cinque semplici pratiche che permettono di ricavare le informazioni necessarie sul comportamento real-time a livello di sistema, per migliorare la qualità del prodotto, accelerare lo sviluppo e ridurre il time-to-market Leggi l’articolo completo su Embedded...
-
I processori Intel Core di quattordicesima generazione per desktop
Intel ha presentato i suoi processori Core di quattordicesima generazione per desktop. Questa generazione comprende sei nuovi processori con un massimo di 24 core e 32 thread e frequenze fino a 6GHz. Al vertice della nuova famiglia...
-
Architetture eterogenee: più core, migliori prestazioni
Per migliorare l’efficienza dei processori una delle soluzioni più interessanti dal punto di vista dell’architettura consiste nell’adozione di core diversi fra loro e ottimizzati: ecco alcuni esempi Leggi l’articolo completo su Embedded 85
-
La progettazione di prodotti IoT wireless
In questo articolo tratteremo considerazioni fondamentali per l’approccio al processo decisionale dello sviluppo di un progetto di un dispositivo IoT wireless Leggi l’articolo completo su EO 504
-
I nuovi processori per l’edge AI di TI
A embedded world 2022, Texas Instruments presenterà i nuovi processori Sitara AM62, componenti destinati a espandere l’elaborazione con intelligenza artificiale per nuove applicazioni e caratterizzati da una elevata efficienza dal punto di vista energetico. La struttura a...
-
Come migliorare del 99% la conformità EMC dei sistemi MEMS
La compatibilità EMC di un progetto è notoriamente difficile da ottenere al primo tentativo, perché anche le più piccole modifiche nei circuiti o nei test di laboratorio possono influenzare notevolmente i risultati delle prove. Questo articolo presenta...
-
Wi-Fi 6: ciò che i gamer stavano aspettando
Wi-Fi 6 è una tecnologia fondamentale per i giochi e ora è il momento di iniziare a metterlo all’opera. Il time-to-market è un fattore importante in questo contesto, e nessuno vuole arrivare più tardi del necessario nel...
-
Processori ad alte prestazioni per sistemi embedded
Gli sviluppatori di sistemi embedded dipendono in misura sempre maggiore dagli standard e dai moduli già disponibili. Visti i tempi ristretti disponibili per lo sviluppo, i System on Module giocano un ruolo sempre più importante Leggi l’articolo...
-
I nuovi processori OCTEON TX2 di Marvell
Marvell ha annunciato OCTEON TX2, una famiglia di processori per infrastrutture destinata a essere utilizzata in una vasta gamma di apparecchiature di rete cablate e wireless tra cui switch, router, gateway sicuri, firewall, sistemi di monitoraggio della...
-
I processori Jacinto 7 di TI per l’automotive
Texas Instruments ha presentato la nuova piattaforma di processori a basso consumo Jacinto 7, destinati ad applicazioni nel settore automotive. Questa piattaforma infatti offre caratteristiche avanzate di deep learning e connettività di rete utilizzabili nei progetti di...