Firmware - Novembre 2014 / N°106 - (Page 40)
TOOLS
to dei dati in ingresso all'LCD, deve essere sempre più veloce se si vogliono
ottenere migliori soluzioni.
- Frame Buffer - memoria volatile all'interno della quale viene memorizzato il
dato inerente al colore con lo scopo di
aggiornare la visualizzazione.
- Pixel Throughput - velocità alla quale
un pixel può essere ridipinto. Il tempo
di rappresentazione dell'intero frame
sarà il prodotto tra il pixel throughput e
la risoluzione.
- profondità di colore - definisce il numero di possibili colori che un pixel può
assumere. Comunemente rappresentata in bit, il suo valore tipico è 16.
IMPOSTIAMO IL SISTEMA
In linea generale, un sistema come quello che stiamo descrivendo ha bisogno
di inviare l'informazione, ovvero il frame,
per mostrare l'immagine ad una certa
frequenza. Il refresh rate è, infatti, come
abbiamo già ribadito, una figura di merito
fondamentale. Tipicamente il suo valore
è pari a 60 Hz e per svolgere il suo compito e il sistema deve provvedere ad un
invio costante dei dati al pannello LCD.
Ad un primo sguardo, sembra quasi che
questo compito venga svolto assorbendo tutte le risorse del microcontrollore ma
questo non è del tutto vero perché tutti i
microcontrollori, PIC32, che contengono
il DMA, ovvero la periferica per l'accesso
diretto alla memoria (Direct Memory Access) possono impiegare fino ad un massimo del 5% del tempo del processore.
Questo vuol dire che tutte le MCU PIC32
devono avere il DMA embedded. La periferica in oggetto può trasferire dati da
una locazione ad un'altra senza che sia
richiesto l'intervento del processore.
Figura 2: Uso della SRAM interna per l'accesso DMA del display
Nel metodo controllerless, il DMA è impostato in maniera tale che trasferisca
una intera linea di dati del frame attraverso la Parallel Master Port (PMP). Naturalmente, ciascuna linea di dati sarà
costituita dal valore relativo a più pixel. Il
DMA invierà una porzione del frame buffer durante la trasmissione.
Il PMP, o in alternativa un timer, verrà utilizzato per l'azione di trigger del trasferimento, necessaria per scandire che lo
stesso è stato completato.
Nei dispositivi PIC32 con interrupt non
persistenti viene utilizzato un timer come
DMA trigger source.
Durante il trasferimento il PMP produce
un segnale di lettura scrittura che, in verità, segnala la fine di ogni trasferimento.
Esso funziona come un segnale di clock
per il display. Dopo che ciascuna linea
di dati è stata trasferita, la CPU riceve
l'istruzione di fermarsi direttamente dal
DMA ed alcuni segnali di temporizzazione
(HSYNC, VSYNC e così via dicendo), necessari per il funzionamento dei display
LCD, vengono aggiornati.
Questo processo viene ripetuto continuativamente fino a quando l'intero frame è stato rappresentato. Il frame viene memorizzato in una memoria volatile in maniera tale
che l'immagine possa essere dinamica. In
questo setup il tipo di memoria utilizzato è
SRAM e questa configurazione è quella di
base per i sistemi di cui stiamo trattando.
L'intero sistema può essere impostato per utilizzare memorie SRAM interne
oppure esterne. Il suo diagramma viene
mostrato nelle figure 1 e 2.
La mappatura dei colori su un display
LCD TFT viene realizzata tramite l'utilizzo
di PMP data lines. A seconda del formato
del colore utilizzato, le 16 PMP data lines
possono essere configurate in maniera
tale da trasmettere l'informazione sul colore. Quando si utilizza la modalità 8 BPP,
soltanto 8 data lines sono richieste.
Quando si utilizza la memoria esterna
per un 16 BPP, è possibile utilizzare anche 8 data lines ed in questo caso quelle
sulla memoria esterna sono ancora rappresentate sull'LCD in modalità 16 BPP.
Le MCU PIC32 si connettono alla memoria
attraverso 8 bit; quando è necessario che
venga eseguita un'operazione di scrittura,
il microcontrollore può utilizzare byte pin
alti o bassi direttamente sulla memoria
esterna per inviare i valori alla SRAM.
Esistono diversi esempi di queste routine
ed il codice che implementa queste operazioni deve essere scritto in maniera tale
da rispettare alcuni passi concettuali:
- definizione del metodo di controllo;
- impostazione dell'indirizzo;
- apertura del canale DMA;
- impostare l'evento di controllo per il
trasferimento;
- impostare i parametri per il trasferimento;
- impostare la priorità dell'operazione;
- abilitare il trasferimento;
- abilitare l'interrupt sul controller;
- abilitare il canale DMA;
- iniziare il trasferimento;
Tabella dei contenuti per la edizione digitale del Firmware - Novembre 2014 / N°106
SOMMARIO
FOCUS on “Don’t try this at home”
Skills Accesso e controllo remoto RF
INside
I motori Brushless DC
Silicon Labs Si106x-108x: MCU con Wireless Sub-Giga ad Alte Prestazioni
ANALOG Alimentatore DC da Banco ad Alte Prestazioni
SPOTlight Carica, Scarica e Bilanciamento dei Supercondensatori
Tools
“Low Cost Controllerless” con PIC32
Code Composer Studio: il Ruolo degli Script nello Sviluppo del Codice
Linear Technology “PowerCAD II” La Progettazione Assistita dei Convertitori DC/DC
News
EVENTS
Guida
Firmware - Novembre 2014 / N°106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-02_109
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-01_108
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-12_107
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-11_106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-10_105
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-09_104
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-07_102
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-06_101
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-05_100
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-04_99
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-03_98
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-02_97
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-01_96
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-12_95
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-11_94
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-10_93
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-09_92
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-07_90_91
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-06_89
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-05_88
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-04_87
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-03_86
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-02_85
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-01_84
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-12_83
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-11_82
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-10_81
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-09_80
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-07_78-79
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-06_77
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-05_76
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-04_75
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-03_74
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-02_73
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-01_72
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-12_71
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-11_70
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-10_69
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-09_68
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-07_66_67
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-06_65
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-05_64
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-04_63
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-02_62
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-02_61
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-01_60
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-12_59
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-11_58
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-10_57
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-09_56
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-07_54-55
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-06_53
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Maggio-2010-52
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Aprile-2010-51
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Marzo-2010-50
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Febbraio-2010-49
https://www.nxtbookmedia.com