Connessioni Mipi con Fpga a basso costo

LOGICHE PROGRAMMABILI –

È possibile utilizzare interfacce Mipi in dispositivi integrati con Fpga a densità ultrabassa, bassa potenza e costi ridotti.

A partire dagli anni novanta, quando il Pc rappresentava l’indiscussa architettura per grandi volumi, i progettisti di dispositivi integrati si resero conto che se avessero utilizzato gli stessi componenti sviluppati per il personal computer per altre applicazioni, avrebbero potuto avvantaggiarsi del basso costo e dell’elevata affidabilità di tali componenti. Molti di loro quindi sfruttarono questa situazione, riuscendo a offrire valore maggiore ai clienti finali. Tuttavia, negli ultimi anni il personal computer è stato superato come piattaforma per grandi volumi che possa essere sfruttata; è ormai in declino, mentre sono gli smartphone e i tablet a occupare una posizione di primo piano. Proprio come i progettisti della generazione precedente hanno utilizzato componenti per Pc di basso costo, gli ingegneri di oggi vorrebbero ottenere gli stessi risultati impiegando componenti e dispositivi sviluppati originalmente per gli smartphone e i tablet. La sfida a cui devono far fronte è come collegare le interfacce ormai mature ai bus utilizzati dai componenti degli smartphone e dei tablet. Fortunatamente, esiste una classe di dispositivi Fpga che permette di risolvere questo problema. La maggior parte degli smartphone e dei tablet impiega bus e interfacce definiti dalla Mipi (Mobile Industry Processor Interface) Alliance. Gli standard Mipi definiscono l’interconnessione tra un processore applicativo e un’ampia gamma di dispositivi periferici - sensori d’immagini e di altro tipo, memorie, display, componenti Rf e altri ancora - utilizzati in smartphone e in tablet. Per fornire un esempio specifico, l’interfaccia del display a cristalli liquidi è denominata Dsi (Display serial interface), mentre l’interfaccia del sensore d’immagini della fotocamera è denominata Csi-2 (Camera serial interface). Infatti, i componenti più diffusi presenti oggi in dispositivi integrati che possono essere maggiormente utilizzati sulla base degli standard Mipi sono i display, le fotocamere e i processori. Concentreremo dunque l’attenzione su come questi componenti possono essere interconnessi mediante Fpga compattissimi e a basso costo.

Uno sguardo alle interfacce

Il problema principale a cui deve far fronte un progettista di dispositivi integrati nell’utilizzare componenti basati sul bus Mipi è il collegamento necessario con interfacce mature. Ad esempio, se un processore integrato non ha un’interfaccia di visualizzazione Dsi, è necessario un apposito dispositivo (un bridge) per il collegamento con un display Dsi. Se si desidera usare un processore applicativo, un sensore d’immagini o un display originariamente pensato per dispositivi mobili, sarà necessario incorporare nel progetto l’interfaccia Csi-2 o Dsi. Le interfacce Mipi Csi-2 e Dsi sono basate su un bus fisico denominato D-Phy; prima di illustrare come stabilire il collegamento con un bus Csi-2 o Dsi, è utile spiegare ulteriormente tale bus: il bus D-Phy definito dalla Mipi consiste di un’interfaccia fisica unica contenente un clock differenziale e da uno a quattro percorsi di dati differenziali; presenta la caratteristica unica di poter cambiare “al volo” la segnalazione da differenziale a sbilanciata. La modalità ad alta velocità viene utilizzata per l’invio di dati differenziali, mentre la modalità sbilanciata, in genere utilizzata per i dati di controllo, è detta a bassa potenza. Ad esempio, un processore applicativo normalmente piloterebbe un segnale video ad alte prestazioni su uno schermo Dsi utilizzando la modalità HS, ossia quella per dati differenziali. L’interfaccia Dsi HS funziona, sotto l’aspetto elettrico, come un dispositivo standard di segnalazione a bassa tensione scalabile o Slvs (Scalable-low-voltage-signaling) con una tensione di modo comune pari a 200 mV. Il clock è sincrono con la sorgente Ddr e il numero di percorsi di dati per un’interfaccia Dsi può variare da uno a quattro. Ciascun percorso di dati tramette 8 bit di dati seriali. Quanto più alte sono la risoluzione del display Dsi e la frequenza di aggiornamento, tanto maggiori saranno il numero di percorsi di dati e la velocità necessari. L’interfaccia Dsi utilizza anche la modalità LP sul percorso di dati 0 per configurare le impostazioni della mappa del registro di uno schermo. Questa mappatura del registro nella modalità LP sul percorso di dati 0 viene detta Display Command Set (Dcs). Quindi non solo occorre mappare i dati video o grafici sulla modalità HS, ma è necessario anche un meccanismo di configurazione del display sulla modalità LP del bus D-Phy. È importante osservare che a differenza dell’interfaccia Dsi, l’interfaccia Csi-2 non utilizza la modalità LP per la mappatura del registro del sensore d’immagini, la cui configurazione effettivamente viene eseguita tramite un bus I2C separato. Che si desideri utilizzare un processore applicativo, un display o un sensore d’immagini basato sugli standard Mipi, sarà necessario avere un’interfaccia anche per il bus D-Phy. Dati il livello d’integrazione, la funzionalità e il basso consumo di potenza degli odierni processori applicativi, è comprensibile che i progettisti di dispositivi integrati vogliano impiegare questi componenti per il nucleo del loro sistema. Sfortunatamente, ciò non è possibile per molti progetti a causa del software e di altre funzioni periferiche esistenti che sono stati sviluppati per generazioni di processori integrati. In questi casi, il costo del passaggio a un processore applicativo è esorbitante. Tuttavia, in questi stessi progetti si potrebbero ancora mettere a frutto gli altri componenti spesso presenti in uno smartphone o un tablet.
Per illustrare quanto detto, consideriamo il progetto di un dispositivo integrato basato su un microcontrollore per il quale si effettuano notevoli investimenti e attività di sviluppo del software. Assumiamo che il progettista del sistema voglia continuare a usare questo microcontrollore, ma servendosi di un display concepito per un dispositivo mobile. Come menzionato in precedenza, l’interfaccia Dsi per un display è un bus di segnalazione Slvs seriale. Il problema consiste nel fatto che il microcontrollore prescelto utilizza un bus Cmos Rgb o uno FlatLink Lvds per il collegamento a uno schermo Lcd. Questo è incompatibile con l’interfaccia Dsi e quindi i due dispositivi non funzioneranno correttamente.

Soluzioni con Fpga a densità ultrabassa
Fino a poco tempo fa, il progettista avrebbe dovuto abbandonare l’idea di utilizzare il display Dsi a basso costo per questo dispositivo integrato, a meno di non poter giustificare il costo di un Asic per stabilire il collegamento. Per la grande maggioranza dei progetti questo non è il caso e bisognerebbe ricorrere a un altro display, più costoso. Fortunatamente, oggi esiste una soluzione a costo contenuto, facilmente configurabile per far fronte a questo e altri problemi di collegamento dell’interfaccia per il bus D-PHY. Infatti, queste soluzioni consentono l’utilizzo di display Dsi, fotocamere Csi-2 o processori applicativi a basso costo in quasi ogni progetto di dispositivo integrato. Queste suite di soluzioni sono state realizzate recentemente per sfruttare gli Fpga a densità ultrabassa o Uld (Ultra Low Density) per consentire di collegare interfacce Mipi Dsi e Csi-2 a numerosi bus tradizionali. Questi Fpga compatti, a basso consumo di potenza e di costo contenuto, unitamente ai progetti di riferimento Mipi, offrono un chip ideale per collegare display Dsi o fotocamere Csi-2 a un’ampia gamma di microcontrollori, processori di segnali d’immagini o microprocessori integrati. Tornando all’esempio del microcontrollore integrato, assumiamo che abbia un’interfaccia di visualizzazione Cmos RGB888 (bus per colori a 24 bit). Anzitutto occorre determinare come programmare i registri di configurazione del display Dsi. Molto probabilmente il microcontrollore eseguirà la configurazione tramite un bus I2C ma la specifica Mipi Dsi non accetta I2C per la configurazione di un display. L’interfaccia Dsi utilizza la modalità a bassa potenza del percorso di dati seriali D0 per la mappatura Dcs. Quindi, l’Fpga deve convertire i comandi I2C generati dal microcontrollore in una serie di comandi Dcs per configurare lo schermo Dsi. Una volta configurato lo schermo, l’Fpga deve essere impostato in modo da ricevere l’interfaccia RGB888. Assumendo che la risoluzione per il bus RGB888 sia identica a quella del display Dsi, il passo successivo consisterebbe nel convertire il bus parallelo nel bus Dsi seriale. Se la risoluzione tra il display e il microcontrollore varia, l’Fpga potrebbe variare la scala dell’immagine, ingrandendola o riducendola. Nell’uno e nell’altro scenario, sarebbe necessario configurare il numero di percorsi di dati di uscita. Compiuta questa operazione, l’Fpga a densità ultrabassa genererebbe un’interfaccia di trasmissione Dsi per pilotare un display Dsi. E per quanto riguarda progetti in cui si vuole utilizzare un sensore d’immagini Csi-2 con un processore di segnali d’immagini (Isp, image signal processor) dotato di un’interfaccia parallela? Sebbene alcuni Isp abbiano più di un tipo di bus di interfaccia per fotocamera, la maggior parte utilizza lo standard Cmos parallelo, per cui esiste lo stesso problema discusso in precedenza, ma in un’implementazione diversa. Il sensore d’immagini richiederà che la sua uscita Csi-2 si interfacci con un Isp – probabilmente si tratterà di un bus parallelo Cmos. Osserviamo che questo progetto risulta meno complesso poiché la configurazione di registro del sensore d’immagini può ancora essere eseguita direttamente dall’Isp al sensore d’immagini. Questo sarebbe implementato tramite un bus I2C tra i due dispositivi. Per collegare i dati del sensore d’immagini, lo stesso Fpga a densità ultrabassa che è stato utilizzato per il bridge Dsi può essere configurato per questa soluzione di collegamento Csi-2. In questo tipo di progetto, i dati Csi-2 del sensore d’immagini sarebbero un bus d’ingresso all’Fpga e il bus parallelo Cmos sarebbe pilotato dall’Fpga.

Vantaggi disponibili

Adesso che i progettisti possono accedere a Fpga Uld e a basso costo per il collegamento a un’interfaccia Dsi o Csi-2, è possibile prendere in considerazione numerosi componenti mobili per le loro caratteristiche uniche di progettazione. Così come il boom dei Pc ha consentito di ridurre i costi di molti dispositivi integrati utilizzando componenti sviluppati per il personal computer, adesso si può ottenere lo stesso vantaggio tramite componenti mobili – display, processori applicativi e sensori d’immagini – servendosi di Fpga a densità ultrabassa e di soluzioni Dsi e Csi-2 offerte da Lattice Semiconductor.

Pubblica i tuoi commenti