Risorse programmabili nei dispositivi SoC

Figure 3

Nel corso dello sviluppo di sistemi embedded una delle fonti di maggiore frustrazione è rappresentata dal fatto che, dopo aver superato parecchie fasi cruciali di un progetto, si scopre che il dispositivo scelto non soddisfa gli attuali requisiti del progetto stesso. Durante il ciclo di sviluppo, i requisiti cambiano e si possono presentare problemi non previsti, in special modo nel caso di progettazione di un nuovo prodotto. La configurabilità offre ai progettisti la possibilità di determinare la modalità di istradamento verso i pin di periferiche quali ad esempio comparatori e amplificatori operazionali. Questi componenti non hanno una disposizione dei pin di tipo statico come i tradizionali microcontrollori di tipo fixed function (ovvero dotate di funzionalità fisse, non programmabili). Utilizzando una serie di registri presenti sul dispositivo i progettisti possono configurare quest'ultimo in base alle necessità specifiche di un'applicazione. Oltre a ciò, i dispositivi SoC a segnali misti possono contenere risorse digitali programmabili a differenti livelli - dalla logica configurabile base a più ampie risorse Pld - e che possono essere configurate utilizzando un linguaggio di descrizione dell'hardware come ad esempio Verilog. Tramite queste risorse digitali programmabili gli sviluppatori possono creare macchine a stati e altri circuiti complessi, in grado ad esempio di eseguire una Fft su un segnale digitale in hardware. Mentre un tale livello di flessibilità consente agli sviluppatori di far fronte in modo efficace alle modifiche di progetto che potrebbe essere necessario apportare, vi sono alcuni casi in cui vengono raggiunti i limiti del dispositivo SoC prescelto. Ciò si verifica quando ad esempio il dispositivo scelto non è in grado di supportare i requisiti di progetto previsti oppure quando vi è la necessità di implementare una caratteristica o una funzionalità specifica per la quale non è previsto un componente a funzione fissa sul silicio. Sfruttando la configurabilità e la flessibilità di istradamento tipiche dei dispositivi PSoC, gli sviluppatori possono superare molte delle limitazioni dell’architettura del dispositivo


Le problematiche analogiche
La soluzione delle problematiche legate al progetto analogico può rappresentare una delle sfide più difficili da affrontare nello sviluppo di un sistema embedded a segnali misti. A differenza delle periferiche digitali che sono considerate più “universali” e agiscono alla stregua di blocchi base, le periferiche di tipo analogico sono di tipo "abbastanza fisso" in termini di funzionalità in quanto si tratta essenzialmente di un complesso di componenti piuttosto che blocchi base. I progettisti avranno accesso a periferiche analogiche come ad esempio convertitori A/D, comparatori e convertitori D/A, ciascuno dei quali può essere configurato fino a un certo livello. Una delle problematiche di progetto che di solito è necessario affrontare è la necessità di aggiungere un ulteriore convertitore A/D a un progetto. Questa esigenza può nascere dal fatto che un utente non vuole multiplare l'ingresso di un convertitore A/D oppure desidera implementare una tipologia specifica di convertitore, come ad esempio un Adc di tipo Sar (ad approssimazioni successive) in un dispositivo che contiene solamente un Adc di tipo delta sigma. Per comprendere come un SoC possa soddisfare queste esigenze sfruttando le risorse interne, si consideri il caso in cui un convertitore A/D di tipo Sar sia richiesto in un progetto. I componenti necessari per realizzare un convertitore di questo tipo sono un comparatore, un convertitore D/A, un registro di stato e alcune risorse di logica digitale programmabile. Si tratta di componenti solitamente disponibili nei dispositivi SoC.
L’uscita a 8 bit è acquisita mediante la lettura dell’informazione memorizzata nel registro di stato. Diverse funzioni digitali, come ad esempio operazioni aritmetiche e spostamento di bit sono eseguite in hardware utilizzando Verilog. Una tale combinazione di risorse ha permesso di creare una funzionalità che prima non era presente nel dispositivo: l'Adc così realizzato è caratterizzato da una velocità di campionamento di 118 Ksps con una risoluzione a 8 bit. Un ulteriore vantaggio è derivato dal fatto che dal momento in cui vi sono più comparatori, convertitori D/A e logica digitale, è possibile prevedere l’implementazione di più convertitori A/D di tipo Sar.

Blocchi a capacità commutata
Parecchi dispositivi SoC a segnali misti contengono anche amplificatori operazionali e comparatori dedicati. A questo punto è utile domandarsi come agire qualora queste risorse si esauriscano o nel caso in cui il dispositivo non preveda fin dall’inizio periferiche di questo tipo. Se si prendono in considerazioni i vari circuiti analogici, come ad esempio comparatori, filtri attivi, Pga (amplificatori a guadagno programmabile) o amplificatori a transimpedenza, si potrà notare che sono tutti costituiti da un amplificatore operazionale che utilizza resistori o condensatori per generare una funzione specifica. Alcuni SoC a segnali misti integrano le cosiddette periferiche a capacità commutata (SC – Switched Capacitor). Tali periferiche sono realizzate a partire da amplificatori a basso offset e rumore ridotto circondati da gruppi di condensatori e commutatori. Se i commutatori sono posti in uno stato statico (aperto o chiuso), si ottiene un condensatore connesso al circuito. Oltre a ciò, se i commutatorivengono aperti o chiusi alternativamente a una certa frequenza, il blocco a capacità commutata inizia a comportarsi come un resistore privo di perdite. I dispositivi che integrano blocchi a capacità commutata, come i componenti della linea PSoC di Cypress Semiconductor, utilizzano la configurazione del registro per controllare i commutatori nella topologia a capacità commutate al fine di implementare una pluralità di circuiti, dal semplice amplificatore operazionale a circuiti più avanzati come ad esempio mixer, integratori e circuiti di Track&Hold. Gli sviluppatori devono risolvere problematiche non banali di progettazione digitale con le architetture PSoC. Esaminando un tradizionale microcontrollore, esso integrerà alcune periferiche digitali a funzione fissa come ad esempio modulatori Pwm e timer. I dispositivi PSoC prevedono la presenza di funzioni logiche digitali, come accade alla famiglia di dispositivi PSoC 3/5LP di Cypress Semiconductor. Utilizzando linguaggi di descrizione dell’hardware come Verilog queste risorse hardware possono essere configurate per operare in sinergia al fine di dar vita a una vasta gamma di componenti funzionali.

Funzioni digitali riconfigurabili
Si consideri un dispositivo SoC che integra un’interfaccia per periferiche Usb. Nel corso dello sviluppo del progetto si potrebbe optare per l’opportunità di prevedere il supporto della funzionalità Usb host in modo da consentire, ad esempio, la connessione di una chiavetta Usb per operazioni quali registrazione dei dati o aggiornamenti firmware programmabili sul campo. Il problema è dato dal fatto che il dispositivo utilizzato non contiene l’hardware richiesto per l’implementazione della funzionalità host. Grazie all’utilizzo delle funzioni digitali configurabili, un dispositivo SoC può ovviare a questa limitazione.
Per comprendere ciò che è necessario integrare, è necessario in primo luogo effettuare un’analisi su tutto ciò che serve per una corretta gestione di una comunicazione Usb: pilotaggio dei segnali differenziali, generazione del pacchetto Sof (Start of Frame), codifica/decodifica Nrzi, controllo Crc, bit stuffing e parsing (analisi sintattica) dei pacchetti in ingresso e in uscita. Mediante un’opportuna codifica in Verilog è possibile realizzare i singoli componenti per la comunicazione in modalità host Usb. Ogni blocco rappresenta un’implementazione Verilog con i vari ingressi e uscite digitali. Collegando questi componenti con alcuni dispositivi in logica sparsa e aggiungendo opportuni resistori di pull down esterni è un oscillatore al quarzo, è possibile implementare un Usb host perfettamente funzionante. Una configurabilità del tipo appena descritto implica che nel caso si scelga un SoC a segnali misti per lo sviluppo di un progetto che preveda, ad esempio, 2 modulatori Pwm, 2 comparatori, 2 convertitori D/A e 1 convertitore A/D di tipo delta sigma, ciò non significa che le funzionalità dell’hardware siano limitate a quelle appena menzionate. Le risorse possono essere riallocate e modificate per aumentare le risorse implementando funzionalità differenti da quelle che potrebbero essere richieste inizialmente. I progettisti in questo modo possono aggiungere valore a un prodotto oltre a ridurre i tempi di sviluppo senza dover migrare verso un nuovo dispositivo embedded, una decisione che spesso comporta lo sviluppo di nuovo firmware e la modifica del layout della scheda Pcb, con aumento di tempi e costi di sviluppo. Grazie al know how proprio dei progettisti e alla flessibilità dei dispositivi SoC a segnali misti è possibile compensare senza problemi e in maniera efficace le carenze di un SoC utilizzato in un particolare design.

Pubblica i tuoi commenti