Un’interfaccia Tft basata su Mcu single-chip

INTERFACCE –

È possibile aggiungere valore a un’applicazione Hmi basata su display Tft utilizzando un microcontrollore single-chip con Api grafica, che semplifica la valutazione da parte delle aziende e rende lo sviluppo più facile.

Come risultato della crescente popolarità dei display Tft in molti prodotti consumer, i clienti ora si aspettano di avere lo stesso livello di sofisticazione nelle interfacce utente anche nei prodotti industriali. Questa tendenza è particolarmente evidente nei mercati industriali, dove i progettisti di sistema ricevono richieste sempre più frequenti di inserire display Tft nella loro applicazione per sostituire i semplici display Lcd a caratteri utilizzati in precedenza. Interfacce uomo-macchina con Tft possono essere utilizzate in molte applicazioni industriali compresi i dispositivi di misura e registrazione, dispositivi medici, apparecchiature varie, sistemi di pagamento ed elettrodomestici di un certo livello di prezzo. Per i consumatori, dispositivi elettronici che siano di facile uso e che abbiano un'interfaccia attraente sono diventati la norma e questo ha portato alla crescita della domanda anche in ambiente industriale. Un prodotto industriale con una Hmi attraente e un display Tft dà l'impressione che il produttore abbia posto una certa attenzione alla progettazione e alle modalità con cui il prodotto debba essere utilizzato. Questo, oggi, è importante e aiuta i produttori nell'assicurarsi un vantaggio in un mercato fortemente competitivo. I prezzi dei display Tft di dimensioni piccole e medie si sono ridotti significativamente, ed è un'altra ragione di questa crescita del trend verso questi display nel settore industriale.

Il micro che comunica con il display
Come produttore di semiconduttori, con un'attenzione speciale verso i microcontrollori, Renesas ha individuato questa tendenza fin dall'inizio e ha sviluppato microcontrollori che consentono la comunicazione con display Tft con formato Qvga o Wqvga (480 x 272 pixel) eliminando la necessità di moduli di pilotaggio esterni, pur essendo potenti a sufficienza per gestire sia il display che l'applicazione. Per controllare i Tft, la soluzione single-chip più intelligente e conveniente disponibile oggi sul mercato è un'interfaccia Hmi basata sul microcontrollore a 32 bit RX di Renesas. Questo microcontrollore permette la gestione dell'animazione e supporta un display con un'attraente tavolozza di colori. La soluzione Hmi descritta di seguito è basata su una Mcu single-chip, un software grafico aperto (graphics Api o Gapi,) e un FreeRtos. Questa soluzione a basso costo consente alle aziende di fornire display Tft di alta qualità, adatti a un ampio spettro di segmenti sensibili ai costi, facili da usare e con un design attraente. A parte il FreeRtos, questa soluzione può impiegare ogni altro Rtos o anche non farne uso. L'interfaccia Tft direct-drive del microcontrollore RX62N è combinata col Gapi per il controllo delle immagini. Viene fornito con il software che comprende la libreria delle routine per visualizzare diversi formati e forme sulle schermo. Il Gapi utilizza il Dma controller dell'RX62N verso il bus esterno (exDmac) e consente il controllo del Tft e la contemporanea elaborazione del codice effettivo dell'applicazione. La raccolta di routine nel Gapi facilita il compito dei progettisti nel creare ed elaborare immagini raster nei quadri di memoria Ram. Questi quadri possono anche essere utilizzati come input per le routine Gapi per supportare la creazione di immagini complesse e composite. Una volta che l'immagine desiderata è stata creata, il quadro può essere usato come buffer di visualizzazione per il Tft. Questa soluzione basata sul Gapi fa parte del Tft Direct-Drive Solution Kit dell'RX62N e comprende l'accesso al codice sorgente. È ideale come punto di partenza per sviluppatori che vogliano creare la loro propria interfaccia utente e come piattaforma di valutazione per aiutare le aziende nel decidere quale Mcu è la più adatta alla loro applicazione. Gli sviluppatori possono utilizzare i programmi standard di elaborazione di immagine per creare elementi grafici per la loro soluzione Hmi e quindi integrarle nel Gapi. Il Gapi comprende le seguenti funzionalità: uso del formato Bmp delle immagini come base per l'Hmi; creazione e collocamento degli elementi di testo in un quadro; l'area del quadro può essere con colori sfumati; conversione dei colori e inserimento graduale delle immagini in accordo con le necessità dell'Hmi; creazione dei quadri di uscita appropriati a 16 bpp da visualizzare sullo schermo Tft. Queste funzionalità abbastanza nuove consentono alle aziende di creare Hmi efficienti e attraenti, che godono di un modesto sovraccarico del sistema e che trovano posto nella memoria flash sul chip della Mcu RX. Insieme alla Gapi resa disponibile dai laboratori di sviluppo di Renesas, diversi partner della Renesas Alliance forniscono le proprie soluzioni che possono essere adattate alle esigenze del cliente. Il microcontrollore a 32 bit RX, con le sue periferiche integrate e prestazioni di 165 Dmips per 100 MHz, vede il compito real-time appena descritto come una attività trascurabile. Le funzionalità sul chip dell'RX consentono una gestione pienamente deterministica del pannello Tft senza virtualmente caricare la Cpu. Questo riduce il costo del progetto dell'Hmi poiché viene eliminata la necessità di un Lcd controller con una memoria di quadro esterno. L'architettura multi-bus e il controllore sul chip exDma gestiscono il trasferimento dei dati dalla memoria di quadro esterna al pannello Tft. Un'unità Tpu (Timer Pulse Unit) integrata viene utilizzata per sincronizzare i segnali di controllo del Tft con il trasferimento dei dati.

La soluzione e i requisiti di sistema
Vediamo ora come funziona la soluzione e i requisiti di sistema relativi. Le aziende che svilupperanno un sistema a singolo buffer necessiteranno di una memoria di quadro esterna da 2 Mbit (128K x 16). Un sistema a doppio buffer corrispondentemente richiederà una memoria da 4 Mbit (256K x 16). Il tipo a buffer doppio è da raccomandarsi per le Hmi con tanta animazione poiché reduce l'effetto tearing (immagine spezzata). Per fornire un esempio: la Cpu può assemblare una immagine nel Buffer A mentre il contenuto del Buffer B viene trasferito al Tft. Una volta che il Buffer A ha finito l'elaborazione il puntatore di quadro può essere cambiato da Buffer B a Buffer A. Questa soluzione a doppio buffer assicura che l'elaborazione del quadro non sia visibile sullo schermo. Come memorie esterne si possono usare Sram e Sdram. Le Sram tendono ad essere più veloci ma anche le più costose. Le Sdram sono più economiche, ma alcuni sviluppatori temono che abbiano tempi di accesso elevati. La scelta del tipo di memoria è governato da diversi parametri e ogni sviluppatore dovrà scegliere il tipo di memoria basandosi sulle necessità di ogni singola applicazione. In ogni caso il microcontrollore RX supporta entrambe le opzioni. La memoria di quadro scelta e il pannello Tft usano entrambi il bus esterno a 16 bit della Mcu RX. Le linee di indirizzo ed i comandi alla memoria di lettura/scrittura sono generati automaticamente dall'RX. La Tpu sul chip sincronizza le temporizzazione con lo schermo del Tft generando i segnali di sincronizzazione verticale ed orizzontale da un segnale di clock di pixel e di abilitazione dei dati. Il bus interno della Mcu RX non è praticamente disturbato da questa attività. La Cpu può ancora accedere alla memoria Flash e alla Sram interne così come agli altri elementi periferici, mentre l'unità di Dma esterno (exDma) sta inviando i dati Rgb a 16 bit dalla memoria di quadro al pannello Tft. Il tipo di contenuto della memoria di quadro non è rilevante poiché verranno semplicemente trasferiti al Tft alla velocità di rinfresco programmata. La Cpu e l'unità exDma hanno veramente un effetto trascurabile l'una sull'altra; l'interferenza prende infatti solamente il 5% della banda passante della Cpu. Gli sviluppatori che lavorano sugli aspetti della temporizzazione vorranno conoscere quanto velocemente l'exDma invia i suoi dati e quanto impiega la Cpu a scrivere una nuova immagine nella memoria di quadro. In questo esempio il Tft Qvga ha una profondità di colore di 16 bit e la velocità di rinfresco è stata impostata a 50 quadri al secondo. Durante il front porch verticale l'exDma non trasferisce alcun dato Rgb dalla Sram al Tft, così che il bus esterno è libero. Questo tempo è utilizzato dalla Cpu per scrivere una nuova immagine nella memoria di quadro per mezzo del bus esterno prima che l'exDma legga i dati dalla memoria di quadro e li invii al Tft. In questo caso l'exDma ha svolto il suo compito in 8,5 ms, che è il 42% della velocità di quadro, i rimanenti 11,5ms consentono alla Cpu di aggiornare la memoria di quadro. Prendiamo ora in considerazione la temporizzazione all'interno di una singola linea del display. Una linea inizia con il fronte di salita del segnale Hsync che è seguito dal tempo di back porch - l'intervallo di tempo durante il quale il clock di pixel è attivo ma senza alcun dato disponibile. Il primo pixel viene ora trasferito al pannello Tft abilitato dal fronte di salita del segnale data-enable. Ad ogni fronte di discesa del clock di pixel un ulteriore valore Rgb a 16 bit viene trasferito fino a che tutti i 320 pixel (in questo esempio abbiamo considerato un display Qvga) sono stati trasmessi. Questa sequenza di pixel è seguita dal front porch orizzontale, dove - come prima - c'è il clock di pixel ma nessun dato attivo. Il segnale data-enable cambia in accordo con lo stato corrente. Il numero di cicli di clock per il front e il back porch orizzontali sono variabili e specificati dal produttore del Tft. Quindi un nuovo Hsync fa partire la scrittura della seconda riga ed il processo continua fino a che tutte le 240 righe del display Qvga sono state scritte. Il fronte di discesa del segnale Vsync indica l'inizio della scrittura di un nuovo quadro. Così come per la temporizzazione orizzontale trattata precedentemente, ci sono un front e un back porch verticali dove l'impulso Hsync è attivo ma nessun dato viene trasferito. Insieme alla sua capacità di controllare un display, il microcontrollore RX è equipaggiato di interfacce di comunicazione che sono comuni nelle attuali Hmi. Queste comprendono sei interface seriali sincrone e asincrone, una interfaccia Spi, una interfaccia Can, una unità Mac Ethernet, e fino a due interfacce Usb che possono gestire Usb Otg, e funzionalità host. Questo consente di sviluppare consolle per operatori che hanno le interfacce appropriate ma che si basano su una soluzione single chip, soprattutto in applicazioni che erano solite richiedere diversi componenti.

Una soluzione pronta all'uso
Lo starter kit RX Tft Direct-Drive è raccomandato come primo passo poiché è una soluzione pronta all'uso che consente risultati immediati e lo sviluppo rapido di prototipi. Insieme alla Mcu RX62N di Renesas, che ha a bordo 512KB di Flash e 96KB di memoria Ram, il kit contiene una Sdram esterna da 128 Mbit che può essere usata come memoria di quadro. Il display Wqvga è collegato alla scheda dello starter kit con una board di adattamento e fornisce una risoluzione di 480 x 272 pixel e una profondità di colore di 16 bit per pixel. Il controllore exDma dell'RX copia ciclicamente tutti i dati di una immagine completa dalla Sdram al pannello Tft. I dati vengono copiati in background dal Dma (via exDma). L'applicazione viene interrotta solo brevemente dalla routine di servizio dell'interrupt emesso dal controllore exDma. Il debugger E1 e il Workbench Hew di Renesas sono disponibili per essere utilizzati come strumenti di sviluppo. Il Workbench Hev integra tutti gli strumenti necessari per creare e debuggare il software e l'applicazione demo viene fornita con tutti i file di progetto dell'Hew, e la cosa facilita l'impostazione della scheda dello starter kit. Renesas ha scelto come ambiente real-time il FreeRtos per il pilotaggio diretto di applicazioni Tft, e versioni trial di soluzioni software di terze parti, come quella di Segger sono disponibili per essere scaricate dal web. Il pacchetto software Tft di Segger consiste del sistema operativo embOS e del software grafico emWin. Per applicazioni che usano display, emWin fornisce una Gui (Graphical user interface) indipendente dal processore e dal display con ambiente single-task o multi-task. Inoltre può operare con Rtos sia commerciali che proprietari ed è altamente flessibile visto che può essere adattato a display di ogni dimensione.

Pubblica i tuoi commenti