Computer e gadget moderni

Nonostante l'uso diffuso dei moderni display a colori, esiste un gran numero di dispositivi in ​​​​cui l'uso di indicatori LCD in bianco e nero rimane molto richiesto. Per tali applicazioni, di solito è più importante ottenere bassi consumi e basso costo. Questo articolo valuta le prospettive di condivisione Indicatori LCD E Microcontrollori STM8L produzione con un controller LCD integrato per creare dispositivi a basso consumo e basso costo.

L'elettronica moderna ha un numero enorme di mezzi per visualizzare le informazioni: dai LED elementari ai complessi pannelli TFT. Sembrerebbe che il tempo degli indicatori LCD monocromatici (LCD) sia un ricordo del passato, ma non è così. Ci sono un gran numero di applicazioni in cui gli LCD rimangono richiesti. I microcontrollori della famiglia STM8L a basso consumo con un driver LCD integrato (modulo LCD) consentono di realizzare tutti i vantaggi di questo tipo di display.

Aree di applicazione per display LCD in bianco e nero

Per capire perché gli LCD in bianco e nero mantengono la loro posizione, è necessario sottolineare i loro principali vantaggi competitivi: basso consumo energetico, basso costo, alta visibilità.

Gli LCD in bianco e nero che utilizzano la luce riflessa hanno un consumo energetico minimo. Infatti tale consumo è determinato solo dalle perdite dinamiche durante la ricarica della capacità delle celle LC. Minore è la frequenza dello schermo, minore è il consumo.

La questione del basso costo potrebbe non essere così ovvia a prima vista. Ma se intendi LCD standard senza controller integrato o display personalizzati prodotti in grandi quantità, il costo dello schermo sarà molto basso (meno di $ 1).

L'alta visibilità dovrebbe essere intesa come segue: nei display LCD specializzati e personalizzati, i segmenti del display sono realizzati sotto forma di immagini grafiche. Gli schermi dei tonometri possono diventare un esempio lampante. Oltre ai numeri, conterrà icone specializzate ("cuore" come indicatore della modalità di misurazione della frequenza cardiaca, indicatore di carica della batteria, iscrizioni). Tali immagini sono intuitive per l'utente e questo è molto importante. Ovviamente, la creazione di indicatori LED simili è possibile, ma difficile a causa di una serie di motivi tecnologici.

Non è difficile identificare quelle applicazioni in cui le posizioni dei display LCD in bianco e nero rimangono abbastanza sicure.

  • Dispositivi medici portatili (glucometri, sfigmomanometri, termometri, ecc.). Si tratta di dispositivi alimentati a batteria, per i quali il fattore di consumo energetico è estremamente importante. Ad esempio, per una persona con diabete, il glucometro dovrebbe avere un consumo minimo di batteria per essere sempre pronto, soprattutto durante i lunghi viaggi. Un fattore importante è la visibilità del display delle letture degli strumenti, poiché gli utenti sono principalmente persone anziane.
  • Sistemi di allarme e strumenti di misura domestici (contatori del gas, contatori del consumo di energia elettrica e acqua). Questi dispositivi sono alimentati a batteria e dovrebbero funzionare a lungo senza cambiare la batteria.
  • Elettrodomestici (lavatrici, frigoriferi, forni a microonde, macchine da caffè, orologi, ecc.). Questi dispositivi richiedono bassi consumi e, allo stesso tempo, indicatori di basso costo.
  • Industria. Gli indicatori LCD sono ideali per strumenti di misura portatili (multimetri, impedenziometri).
  • Applicazioni automobilistiche. I dispositivi comuni che utilizzano display LCD includono orologi per auto, radio, indicatori di carica della batteria, ecc.

È importante capire che non solo il display LCD determina il costo e l'economia del prodotto finale. Per controllare il display LCD, sono necessari un controller speciale e un microcontrollore di controllo. Se vengono scelti male, tutti i vantaggi del display LCD non avranno importanza.

Questo articolo è dedicato all'uso congiunto dei microcontrollori STM8L e degli indicatori LCD. Perché STM8L? Questi controller hanno un controller LCD integrato (modulo LCD), consumi e costi molto bassi. Cioè proprio quelle qualità che aiutano a sottolineare ulteriormente i vantaggi dell'LCD. Inoltre, utilizzando STM8L, otteniamo un potente processore con periferiche avanzate, accesso a strumenti di debug sotto forma di kit di valutazione già pronti e software gratuito.

Tuttavia, per trarre conclusioni sulle prospettive di utilizzo congiunto, è necessario considerare in sequenza le caratteristiche dell'LCD, le caratteristiche dei microcontrollori STM8L con un controller LCD integrato e le caratteristiche del controller LCD stesso.

Caratteristiche generali del funzionamento degli indicatori LCD

Si consideri la struttura di una cella LC monocromatica utilizzando l'esempio di TN (Twisted Nematic) (Figura 1). Uno strato di "cristalli liquidi" si trova tra due basi di vetro. Su queste basi vengono depositati elettrodi trasparenti e strati polarizzanti (filtri polarizzanti). La base posteriore in vetro ha una finitura a specchio.

Le guide sono formate sulla superficie del vetro, che allineano le molecole LC parallele alla superficie del vetro. Spazialmente, le molecole sono attorcigliate in una spirale (Figura 2).

I filtri polarizzatori si trovano sul lato esterno delle basi. Le direzioni di polarizzazione dei filtri superiore e inferiore sono perpendicolari. Ovviamente, se non ci fossero molecole LC, lo schermo apparirebbe nero.

In assenza di un campo elettrico esterno, la cella rimane trasparente (Figura 2a). Infatti, la luce non polarizzata, passando attraverso il polarizzatore superiore, risulta essere polarizzata (ad esempio lungo l'asse X). Muovendosi in una spirale di molecole LC, a causa dei riflessi, la luce cambia la direzione della polarizzazione di 90 gradi. Pertanto, passa attraverso il polarizzatore inferiore senza assorbimento.

Tabella 1. Caratteristiche dei microcontrollori STM8L con modulo LCD

Nome Telaio Frequenza operativa (max), MHz Flash, kByte RAM,KB EEPROM, byte ADC a 12 bit, numero di canali DAC a 12 bit Interfacce Upit, V Ipotr (modalità RUN), µA/MHz LCD
LQFP48 16 32 2 256 25 SPI I2C; USART (IRDA, ISO 7816) 1,8…3,6 180 4×28
LQFP64 64 4 256 28 200 4×28/8×24
LQFP 48 UFQFPN 48 16 2 1024 25 1 1,65…3,6 195 4×28
LQFP 48 UFQFPN 48 32 2 1024 25 1 180 4×28
LQFP 48 UFQFPN 48 64 4 2048 28 2 200 4×32/8×28
LQFP 32 UFQFPN 32 16 2 1024 21 1 180 4×17
LQFP 32 UFQFPN 32 32 2 1024 21 1 180 4×17
LQFP80 64 4 2048 28 2 200 4×44/8×40
LQFP64 32 2 1024 28 2 200 4×40/8×36
LQFP64 64 4 2048 28 2 200 4×40/8×36
LQFP80 64 4 2048 28 2 200 4×44/8×40
LQFP64 64 4 2048 28 2 200 4×44/8×40

Tabella 2. Controller LCD nei microcontrollori STM8L di vari gradi di integrazione

Nome Numero di pixel Modalità multiplexing (servizio) Modalità di polarizzazione RAM
4×28 statico;
1/2; 1/3; 1/4
1/2; 1/3 fino a 14 x 8 bit
4×28
4×28
4×28
4×28
4×17
4×17
4×28/8×24 statico;
1/2; 1/3; 1/4; 1/8
1/2; 1/3; 1/4 fino a 18 x 8 bit
4×32/8×28 statico;
1/2; 1/3; 1/4; 1/8
1/2; 1/3; 1/4 fino a 22 x 8 bit
4×44/8×40
4×40/8×36
4×40/8×36
4×44/8×40
4×44/8×40

Se un campo elettrico esterno viene applicato a tale cella utilizzando elettrodi applicati, le molecole di cristallo inizieranno ad orientarsi lungo il campo e la struttura elicoidale verrà rotta. Di conseguenza, la luce passerà attraverso lo strato di molecole LC senza cambiare la direzione della polarizzazione e sarà assorbita dal filtro di polarizzazione inferiore (Figura 2b). La cella apparirà scura.

Un indicatore importante dello schermo LCD è il contrasto, che è determinato dalla differenza nel grado di trasparenza tra celle chiare e scure.

Non è difficile intuire che il grado di trasparenza della cella varia a seconda dell'ampiezza del campo applicato (tensione). Di conseguenza, la trasparenza può essere controllata dal PWM della tensione applicata o modificando l'ampiezza del segnale.

C'è un'altra caratteristica importante. Quando viene applicata una tensione costante, la struttura dei cristalli si degrada. Pertanto, è necessario formare i segnali di controllo in modo tale da evitare la componente di tensione costante. Non è consentito un valore di offset DC superiore a 100 mV.

Per determinare a quale frequenza vale la pena effettuare un cambio di polarità, si consideri il circuito elettrico equivalente di una cella LCD (Figura 3). È una catena seriale R-C. La resistenza R limita la velocità di ricarica della capacità e, di conseguenza, la frequenza massima del segnale di controllo. Se l'ampiezza del segnale viene aumentata, la velocità di ricarica aumenterà e, di conseguenza, la frequenza può essere aumentata.

D'altra parte, si può vedere che un tale schema implica solo un consumo energetico dinamico. Di conseguenza, maggiore è la frequenza operativa, maggiore è il consumo.

Dopo aver affrontato le caratteristiche delle singole celle, considereremo le caratteristiche del controllo dei display LCD costituiti da molte celle.

Esistono diverse varietà di display LCD che si differenziano per il tipo di connessione degli elettrodi di controllo. Nel caso più semplice, ciascun segmento è collegato a un elettrodo di controllo comune (COM) e individuale (SEG). Tale schema è chiamato statico senza multiplexing. È semplice da controllare, ma presenta uno svantaggio: il numero di uscite di controllo è elevato e uguale a (N + 1), dove N è il numero di celle.

Per ridurre il numero di pin, vengono utilizzati vari schemi di connessione a matrice. Quindi, per un circuito con due pin COM comuni, saranno necessarie solo (N / 2) + 2 linee di controllo (Figura 4). Tuttavia, la forma dei segnali di controllo diventerà più complessa all'aumentare del grado di multiplexing (1/2, 1/3, 1/4, 1/8).

In questo esempio (Figura 4), i segmenti S00 e S11 saranno scuri e i segmenti S01 e S10 saranno trasparenti.

L'analisi dei segnali di controllo mostra che ci sono diverse caratteristiche:

  • a tutti i segmenti viene applicata una tensione alternata senza componente costante;
  • il periodo del segnale è diviso in parti. La prima parte del periodo (frame dispari) per i pin COM è caratterizzata da un livello di bassa tensione attivo e per SEGn è alto. Durante il secondo mezzo ciclo (telaio pari) - viceversa;
  • i segnali hanno diversi livelli di tensione (diversi offset). Questo esempio utilizza una polarizzazione 1/2 con tre livelli di tensione VLCD, VLCD/2, VSS.

La conclusione di questa sezione sono i requisiti per il controller LCD. Deve formare gli intervalli di tempo necessari (anche per LCD con più linee COM), generare i livelli di tensione necessari e disporre del numero richiesto di uscite di controllo. Tutti questi requisiti sono soddisfatti dal modulo microcontrollore LCD STM8L integrato.

Breve panoramica dei microcontrollori STM8L con controller LCD integrato

La famiglia STM8L a basso consumo comprende quattro linee di microcontrollori con un controller LCD (modulo LCD) (Figura 5, Tabella 1). Nella linea STM8L05, al momento, il modulo LCD è presente solo nei controllori STM8L052C6 e STM8L052R8 (tabella 1).

linea STM8L152x- Questa è la primissima linea della famiglia STM8L. Ha prestazioni elevate e periferiche ricche:

  • ADC a 12 bit 1 Msps fino a 28 canali;
  • due DAC a 12 bit con buffer di uscita;
  • modulo di controllo LCD;
  • DMA su quattro canali per DAC, ADC, SPI, I2C, USART, timer, un canale per trasferimento da memoria a memoria;
  • due comparatori a bassa potenza;
  • tre timer a doppio canale a 16 bit con encoder in quadratura;
  • un timer a 16 bit con uscite complementari per il controllo del motore;
  • un timer a 8 bit con divisore di frequenza a 7 bit;
  • un watchdog timer indipendente (IWDT);
  • unità di generazione per dispositivi audio esterni (ad esempio elementi piezoelettrici) a 1,2 e 4 kHz;
  • molte interfacce di comunicazione: SPI, I2C, USART;
  • fino a 67 I/O generici;
  • fino a 16 canali per il collegamento di pulsanti a sfioramento;
  • Numero univoco a 96 bit.

STM8L162x- una linea produttiva che dispone di un'unità di crittografia AES integrata che consente di crittografare e decrittografare i dati utilizzando l'algoritmo AES.

STM8L052x "Linea del valore"è una versione economica dell'STM8L. Questa gamma è destinata ad applicazioni in cui il prezzo e il consumo energetico sono un fattore determinante. La composizione della periferia e la quantità di memoria sono ridotte rispetto alle linee precedenti. Tuttavia, FLASH fino a 64 Kbyte e RAM fino a 2 Kbyte consentono di implementare programmi piuttosto complessi.

Una delle caratteristiche principali delle linee presentate è il basso consumo e la presenza di un modulo LCD integrato.

Caratteristiche del controller LCD integrato

Per chiarire, vale la pena notare che esistono diverse varietà di moduli LCD per microcontrollori STM8L con vari gradi di integrazione (Tabella 2).

La Tabella 2 mostra che i controller LCD dei microcontroller STM8L152xx/STM8L162xx con un alto grado di integrazione hanno le capacità più avanzate. Considera la loro struttura in modo più dettagliato (Figura 6). Contiene tre blocchi principali: un generatore di clock, driver LCD, un'unità di controllo del contrasto.

Generatore di impulsi di orologio. Come suggerisce il nome, il compito principale di questo blocco è la formazione di impulsi di clock. Il segnale di ingresso per il generatore è un impulso di clock, la cui frequenza è uguale alla frequenza dell'orologio in tempo reale (RTC) divisa per 2 e deve essere compresa nell'intervallo 16,384…500 kHz. Vengono utilizzati due divisori per ottenere frequenze più basse. Divisore a 16 bit con un fattore di divisione di 1...65535 e, se è necessaria una regolazione uniforme, un divisore aggiuntivo (il fattore di divisione è 16...31).

Tabella 3. Modalità a basso consumo STM8L

* - Il consumo di corrente è dato per STM8L052x nel caso di periferiche disabilitate e programma eseguito da FLASH, salvo diversa indicazione.

Il segnale di clock ricevuto fLCD determina la frequenza fondamentale delle trame, tenendo conto del grado di multiplexing (duty): fLCD = fLCD x duty. Come notato sopra, ha senso scegliere una frequenza nell'intervallo 30...100 Hz. A una frequenza più alta, il consumo sarà significativo e la qualità dell'immagine rimarrà invariata.

Il modulo LCD consente di organizzare il lampeggio hardware, per questo il generatore dispone di un blocco speciale per formare la frequenza di lampeggio di 0,5 Hz, 1 Hz, 2 Hz, 4 Hz.

Driver dell'LCD. Due driver LCD vengono utilizzati per creare i segnali COMn e SEGn. Il blocco contiene i circuiti di temporizzazione necessari per formare gli intervalli di tempo richiesti.

Inoltre, il blocco incorpora una RAM integrata, che memorizza le informazioni su quale dei pixel dovrebbe essere attivo.

Centralina di contrasto. Questo blocco gioca un ruolo chiave. Gestisce il contrasto trovando un compromesso tra consumo energetico e valore del contrasto stesso.

Come accennato in precedenza, il contrasto dipende dalla tensione di alimentazione del VLCD. Questa tensione può essere generata da un convertitore integrato o da una sorgente esterna. Quando si utilizza un convertitore integrato, è possibile regolare in modo programmatico il valore della tensione VLCD. Per i microcontrollori con un grado di integrazione medio (tabella 2), il campo di regolazione è 2,6 ... 3,3 V. Per i microcontrollori con un grado di integrazione più elevato, il campo è 2,6 ... 3,5 V.

È possibile regolare il contrasto utilizzando la formazione hardware del "tempo morto" nei segnali di controllo. Durante il tempo morto, i segnali COMn e SEGn vengono portati a terra e il consumo in questo caso è minimo.

Un altro compito del blocco è la formazione dei livelli di tensione dei segnali di controllo. Quindi, ad esempio, nella modalità con uno spostamento di 1/4, è necessario generare segnali di cinque livelli di tensione: 0, VLCD /4, VLCD /2, VLCD /4 e VLCD.

Per risolvere questo problema, vengono implementati due divisori resistivi (Figura 7). Uno di questi, a bassa resistenza, viene utilizzato per aumentare la velocità di commutazione durante la ricarica della capacità della cella LCD. Una volta avvenuta la commutazione, questo divisore può essere disattivato per ridurre i consumi. Il secondo partitore rimane acceso - ad alta resistenza, mantiene il livello di tensione durante il resto della fase dell'impulso.

Da un punto di vista circuitale, il convertitore interno è ideale per l'uso, in quanto ha molte capacità di controllo, mentre richiede un solo condensatore esterno.

A conclusione di questa sezione, nomineremo i vantaggi e le caratteristiche del modulo LCD integrato in STM8L:

  • Il modulo è in grado di pilotare LCD con un elevato numero di pixel, con diversi livelli di multiplexing e diversi livelli di offset (Tabella 2).
  • Il controller LCD ha una RAM integrata per i pixel del display.
  • Il convertitore integrato consente di generare tutti i livelli di tensione necessari e regolare in modo programmatico la tensione di alimentazione del VLCD, richiedendo un solo condensatore esterno.
  • Possibilità di utilizzare l'effetto hardware del lampeggiamento con una frequenza di 0,5 Hz, 1 Hz, 2 Hz, 4 Hz.

Considerando le caratteristiche di STM8L e LCD, è possibile valutare i vantaggi del loro utilizzo combinato in termini di riduzione dei consumi energetici.

Ottimizzazione del consumo energetico quando si utilizzano insieme STM8L e LCD

Se il prezzo e il controller integrato sono i vantaggi innegabili del sistema STM8L + LCD, allora la questione dei consumi deve essere considerata con maggiore attenzione. Per fare ciò, determineremo i modi principali per ridurre il consumo di energia.

Riso. 7. Formazione dei livelli di tensione
segnali di uscita del driver

Ottimizzazione del consumo LCD. Come descritto sopra, il display LCD principale è il consumo energetico dinamico. Puoi ridurlo in diversi modi. Innanzitutto, riduci la frequenza di aggiornamento dei pixel. In questo caso la soglia inferiore sarà di circa 30 Hz. Man mano che la frequenza diminuisce ulteriormente, si noterà uno sfarfallio. In secondo luogo, se i parametri LCD lo consentono, è possibile ridurre la tensione di alimentazione.

Il modulo LCD integrato offre maggiore flessibilità nella gestione dell'alimentazione aggiungendo più modi per ridurre la potenza. Innanzitutto, il controller LCD consente di controllare in modo programmatico il valore della tensione. In secondo luogo, diventa possibile utilizzare il "tempo morto" nelle fasi dei segnali di controllo. In terzo luogo, il controller controlla il tempo di utilizzo dei divisori master resistivi (Figura 4). Riducendo il tempo di utilizzo del divisore a bassa resistenza si possono ridurre i consumi.

Ancora una volta, va sottolineato che, sfortunatamente, i metodi elencati presentano degli svantaggi: portano a una diminuzione del contrasto o rendono evidente lo sfarfallio. Pertanto, ha senso parlare non di una semplice riduzione dei consumi, ma di trovare un compromesso tra il consumo energetico e il comfort dell'indicazione per l'utente.

Un vantaggio estremamente importante del modulo LCD integrato è la sua piena compatibilità con le modalità a basso consumo STM8L (Tabella 3). Poiché il modulo LCD è sincronizzato con lo stesso segnale dell'orologio in tempo reale, il controllo LCD è possibile in tutte le modalità tranne la modalità HALT.

Ottimizzazione del consumo energetico STM8L. I microcontrollori STM8L possono modificare dinamicamente la quantità di consumo energetico e ottenere un consumo estremamente basso attraverso l'uso delle loro funzionalità:

  • il sistema di alimentazione flessibile incorpora due regolatori di tensione e può funzionare con tensioni di alimentazione fino a 1,65 V (1,8 V per STM8L052x);
  • Un sistema di clocking flessibile consente di utilizzare un'ampia gamma di sorgenti di segnale di clock, di eseguire la divisione di frequenza e di sincronizzare individualmente le periferiche integrate. Al momento opportuno, il microcontrollore può aumentare la propria frequenza per risolvere un problema, per poi ridurla ad un minimo accettabile;
  • ci sono modalità a basso consumo.

Oltre al basso consumo, i dispositivi basati su una combinazione di LCD + STM8L hanno la prospettiva di un rapido sviluppo. Ciò è possibile grazie alla disponibilità di kit di valutazione e software gratuiti, tradizionali per i microcontrollori prodotti da ST Microelectronics.

Kit di valutazione e software per STM8L

Per padroneggiare rapidamente l'STM8L, è possibile utilizzare i kit di valutazione prodotti da ST Microelectronics. Ce ne sono molti: STM8L-Discovery, STM8L1526-EVAL, STM8L1528-EVAL, STM8L15LPBOARD, STM8L101-EVAL. La loro caratteristica principale è che includono tutti un display LCD e una serie di software gratuiti. I kit si differenziano per il tipo di microcontrollore, le periferiche esterne installate e il tipo di display LCD.

Il kit di valutazione STM8L-Discovery (Figura 8) è perfetto sia per familiarizzare con STM8L che per padroneggiare il lavoro in combinazione con STM8L + LCD.

Il kit STM8L-Discovery è alimentato tramite USB e presenta le seguenti caratteristiche:

  • microcontrollore STM8L152C6T6 (32 KB FLASH, 2 KB RAM, 1 KB EEPROM, pacchetto LQFP a 48 pin);
  • debugger USB ST-LINK integrato;
  • LED e pulsanti personalizzati;
  • circuito di misurazione della corrente di consumo;
  • tutte le 48 gambe del controller vengono portate ai pad di contatto;
  • Display LCD SPI (122×32 pixel) con controller integrato;
  • Display LCD a sintesi di caratteri alfanumerici (24×4 segmenti).

Caratteristiche dell'LCD:

  • 24×4 segmenti;
  • metodo di controllo: multiplexing 1/4, offset 1/3;
  • tensione di alimentazione: 3 V;
  • temperatura di esercizio: 0…50°C.

Ogni kit viene fornito con il software gratuito stsw-stm8008. Questo set di software contiene due cartelle.

Nella cartella Libreria è Libreria standard periferica STM8L, che contiene file di intestazione (ad esempio, stm8l15x_lcd.h - il file di intestazione per il modulo LCD) e file di implementazione (ad esempio, stm8l15x_lcd.c) per ciascuna unità periferica integrata. Ti consente di lavorare con le periferiche senza la necessità di familiarizzare a fondo con i registri di controllo.

Quindi, invece di ricordare quali bit impostare nei registri per inizializzare il controller LCD, basterà utilizzare la funzione LCD_Init (stm8l15x_lcd.c), compilando tutti i campi richiesti:

LCD_Prescaler_TypeDef LCD_Prescaler, //dividi la frequenza di input per un divisore a 16 bit

LCD_Divider_TypeDef LCD_Divider, //dividendo la frequenza di ingresso per un divisore aggiuntivo

LCD_Duty_TypeDef LCD_Duty, //definisce la durata del fotogramma

LCD_Bias_TypeDef LCD_Bias, //definizione dell'offset

LCD_VoltageSource_TypeDef LCD_VoltageSource //Selezione della sorgente di tensione.

I valori dei parametri validi sono descritti in stm8l15x_lcd.h. Ad esempio, la durata di un fotogramma viene specificata utilizzando l'enumerazione LCD_Duty_TypeDef:

LCD_Duty_Static = (uint8_t)0x00, /*!< Static duty */

LCD_Duty_1_2 = (uint8_t)0x02, /*!<1/2 duty */

LCD_Duty_1_3 = (uint8_t)0x04, /*!<1/3 duty */

LCD_Duty_1_4 = (uint8_t)0x06, /*!<1/4 duty */

LCD_Duty_1_8 = (uint8_t)0x20 /*!<1/8 duty */

LCD_Duty_TypeDef;

Lavorare con questa libreria semplifica enormemente lo sviluppo del proprio software.

La cartella Project Project_template contiene un modello per la creazione di progetti basati su STM8L negli ambienti EWSTM8 e STVD.

I progetti di esempio si trovano nello stesso posto, nella cartella Progetto. Vengono presentati due progetti: Discovery e WavesGenerator. Lo scopo di questi esempi è mostrare le capacità della scheda STM8L stessa. Tuttavia, i file di intestazione che descrivono la piattaforma (la cartella inc) - stm8l_discovery_lcd.h, stm8l-discovery.h, discover_board.h, così come le loro corrispondenti implementazioni C (la cartella src) possono essere utili anche nelle tue applicazioni.

Conclusione

I microcontrollori STM8L hanno le più ampie possibilità di ottimizzare il rapporto consumo energetico / prestazioni, pur avendo un ricco set di periferiche e mantenendo un basso costo.

Il modulo LCD integrato è in grado di gestire LCD fino a 320 pixel utilizzando otto linee comuni. Il convertitore di tensione integrato richiede un solo condensatore esterno.

La combinazione di display LCD e microcontrollori STM8L con un modulo LCD integrato è promettente nella creazione di dispositivi a basso costo e bassa potenza con un'interfaccia molto amichevole, grazie alla possibilità di utilizzare kit di valutazione già pronti e software proprietario gratuito di ST Microelectronics, ci vorrà poco tempo per sviluppare tali dispositivi.

Letteratura

  1. RM0031. Manuale di riferimento Famiglia di microcontrollori STM8L05xx, STM8L15xx, STM8L162x, STM8AL31xx e STM8AL3Lxx. Rev. 10. ST Microelettronica, 2012.
  2. AN3114. Nota applicativa. Come utilizzare i controller LCD STM8AL3Lxx, STM8L152xx e STM8L162xx. Rev 3. ST Microelettronica, 2012.
  3. UM0684. Scheda di valutazione del manuale utente STM8L1526-EVAL. Rev. 1. ST Microelettronica, 2010.
  4. UM1037. Scheda di valutazione del manuale utente STM8L1528-EVAL. Rev. 1. ST Microelettronica, 2010.
  5. UM0970. Manuale utente STM8L-DISCOVERY. Rev 2. ST Microelettronica, 2011.
  6. Documentazione per microcontrollori e software.

STMicroelectronics ha lanciato sul mercato una nuova linea di microcontrollori a bassa potenza STM8L05x "Value Line". La principale caratteristica distintiva della linea rispetto ai rappresentanti più anziani è il rapporto tra prezzo e funzionalità. Il microcontrollore economico STM8L051F3P6, che costa meno di $ 0,5, fornisce allo sviluppatore una potenza di elaborazione di 16 MIPS (16 MHz) e un set completo di periferiche, da un ADC a 12 bit (10 linee) a un DMA a quattro canali per una semplice interazione con interfacce seriali SPI, I2C e USART o per un rapido accesso all'ADC a velocità fino a 1 Msps.

La potenza di calcolo del microcontrollore è sufficiente per risolvere una varietà di attività: il set di istruzioni include la moltiplicazione a 8 bit e la divisione a 16 bit e uno spazio di indirizzi lineare comune semplifica la scrittura di codice "veloce". Il consumo di corrente in modalità di arresto con l'orologio in tempo reale in funzione è pari o inferiore a 1,3 µA; quando si opera a una bassa frequenza di clock - 5,1 μA; alla massima frequenza di clock di 16 MHz, il core consuma meno di 5 mA (il codice viene eseguito dalla memoria Flash con le periferiche spente). Un nodo aggiuntivo (PVD) controlla l'alimentazione e informa il programma principale sulla diminuzione della tensione della batteria a una soglia predeterminata (sette livelli 1,85 ... 3,05 V). La periferia del microcontrollore STM8L051F3P6 ha quasi la stessa struttura di quella della linea STM32, il che facilita notevolmente il successivo passaggio alla famiglia di microcontrollori a 32 bit.

Caratteristiche di STM8L05x "Value Line":

  • Quarzo esterno da 1…16 MHz; 32 kHz;
  • Flash fino a 64 KB, RAM fino a 1 KB, EEPROM da 256 byte;
  • 5 modalità a basso consumo, 400nA in modalità STANDBY;
  • Oscillatori integrati da 16 MHz e 38 kHz;
  • Calendario (RTC) accurato a ± 0,5 ppm;
  • Timer 2×16 bit + 1×8 bit; encoder in quadratura.

Una volta mi è venuta l'idea di collegare un display LCD esterno da un telefono cellulare Motorola V-180 al microcontrollore. Non ho trovato librerie già pronte per lavorarci sulla rete. Ma è molto bello avere un tale display nel tuo arsenale per lo sviluppo del circuito. Si è deciso di scriverli io stesso, poiché c'è già una certa esperienza in questa direzione. Questa esperienza è. L'intera libreria è ottimizzata per funzionare AVR Studio 6- recentemente passato ad esso.

In generale, le impressioni sono diverse. Scrivere lì è un po 'più difficile di codevisione, ma il codice risulta essere più compatto in termini di quantità di memoria occupata. La cosa principale qui è capire cosa devi prendere da dove, beh, devi lavorare più da vicino con il foglio dati. Chi ha bisogno di biblioteche codevisione, può rivolgersi al forum. Al momento, non è ancora stato completato: è necessario aggiungere una funzione di output di linea.

Torniamo al display. Può essere acquistato o prelevato dal telefono sotto forma di un cavo con due display. Per ora, metti da parte il colore. Forse ci torneremo più avanti. Siamo interessati a uno schermo monocromatico esterno con una distribuzione di 32 per 96 pixel. Sfortunatamente, non c'è retroilluminazione incorporata. Il pinout delle uscite del display può essere visto nel diagramma.

Il condensatore è sul cavo, la sua capacità è di 1 microfarad.

Il pin CS è collegato a 0. È responsabile dell'accensione della scheda video. In teoria, puoi controllare più display in parallelo, basta collegare il pin CS a gambe MK separate. A seconda dello stato dell'uscita CS del display, è possibile passare da una all'altra.

Diamo un'occhiata alla biblioteca stessa. In archivio MOTOV180.h è possibile assegnare una porta per il lavoro e numeri di uscita della porta per il display. Non è necessario configurare i pin di uscita separatamente. La biblioteca ha tutto.

  • void MOTOV180_send_byte(modalità int8_t, uint8_t d); è possibile inviare un byte di dati o un comando al display.
  • void MOTOV180_init(void); - funzione per inizializzare il display.
  • vuoto MOTOV180_clear(vuoto); - funzione per azzerare il display.
  • void MOTOV180_gotoxy(int8_t x,int8_t y); - Con questa funzione, puoi andare al punto di coordinate specificato.
  • void MOTOV180_Putc(uint8_t c); funzione per emettere una variabile dalla memoria del programma.
  • void MOTOV180_Print(char* messaggio); - utilizzato per emettere una stringa.

Il timing controller, noto anche come T-con o matrix controller, è un dispositivo indipendente dai comandi del processore centrale per convertire i dati video trasmessi dalla scheda madre in segnali comprensibili alla matrice LCD del televisore. Come risultato del suo lavoro, osserviamo l'immagine di cui abbiamo bisogno sullo schermo della TV. La violazione della riproduzione del colore, l'integrità, la brillantezza e la naturalezza dell'immagine, le increspature e la sfocatura sullo schermo possono essere il risultato di un difetto di questa unità.

Schema a blocchi T-con

Il controller di temporizzazione include

  • Processore per elaborare le pipeline di dati LVDS in ingresso in pipeline R, G, B indipendenti e segnali di clock per driver a matrice orizzontale e verticale. Il processore comunica con la RAM e la ROM Eeprom. Una tensione di alimentazione fissa di 5 o 12 volt fornita dalla scheda madre viene convertita in diverse tensioni secondarie richieste dal controller utilizzando convertitori CC/CC.
  • Generatore di tensione di riferimento per driver DAC che forniscono la curvatura necessaria dell'istogramma dell'immagine. Altrimenti, questo processo è chiamato correzione gamma.
  • Un'unità di generazione di tensione per alimentare i driver, solitamente realizzata su un controller PWM e un transistor ad effetto di campo chiave.

Diagnostica e riparazione di T-con

La diagnosi di un malfunzionamento in un controller di temporizzazione a volte può essere estremamente difficile. Il fatto è che la connessione di questo blocco con scheda principale e la matrice LCD è così grande che a volte non è possibile determinare visivamente qual è l'origine del difetto. Solo le misurazioni nei punti di controllo T-con possono indicare indirettamente la sua inoperabilità. Quando si ripara da soli il controller della matrice, è necessario disporre di una grande quantità di informazioni che, con una ricerca attenta e scrupolosa, Internet può fornire. Il controller stesso è considerato parte integrante del pannello LCD e i produttori non forniscono schemi elettrici per questa unità. Questa situazione fa sì che il telemaster, durante la riparazione di questa unità, sia guidato principalmente dal suo istinto professionale e dall'esperienza in tali riparazioni.

Se il televisore inizia a mostrare un'immagine biancastra negativa a basso contrasto con motivi moiré di varie tonalità nelle aree chiare o scure dell'immagine, è probabile che l'unità di controllo a matrice non funzioni correttamente. Per escludere l'influenza della scheda madre e per eseguire la diagnostica, molti produttori di matrici LCD prevedono l'inclusione di T-con in modalità offline. In questo caso, il cavo che collega queste schede viene rimosso, viene fornita solo la tensione di alimentazione al controller e, chiudendo i contatti di servizio, il pannello viene messo in modalità test. Se il pannello LCD e la temporizzazione del controller sono in buone condizioni, l'autodiagnosi del pannello viene osservata sullo schermo sotto forma di campi e strisce colorate alternate, come da un generatore di segnale televisivo di prova. Ogni nome del pannello LCD ha il proprio metodo per accedere alla modalità test.

Per eliminare l'influenza del pannello LCD sul controller a matrice durante la misurazione della tensione di alimentazione dei driver o delle tensioni di riferimento per i driver DAC, viene utilizzata una disconnessione a breve termine dei loop, uno o due, sul pannello LCD. Dalla natura del cambiamento nelle letture dello strumento e dalla percezione visiva dell'immagine sullo schermo, è possibile trarre alcune conclusioni sulle cause del malfunzionamento. Per un controllo affidabile delle prestazioni dell'unità durante le misurazioni, è necessario controllare la presenza, la forma, l'ampiezza, la frequenza e il ciclo di lavoro degli impulsi, che possono essere eseguiti utilizzando un oscilloscopio. La presenza di un oscilloscopio facilita la ricerca di un difetto e viene sempre utilizzata per la diagnostica in un centro di assistenza fisso.

In alcuni casi, è necessario dubitare della salute del controller della matrice in assenza di un'immagine con uno schermo del monitor scuro o molto chiaro (bianco). E' necessario controllare il passaggio della tensione di alimentazione dalla scheda principale e la formazione di tensioni secondarie da parte dei convertitori DC/DC nel blocco stesso. A volte possono sorgere problemi con il controller di temporizzazione, e anche con la matrice stessa, per colpa del proprietario che è troppo attento, pulendo lo schermo del televisore con un panno troppo umido o, al contrario, sciatto, versando liquido sul pannello LCD o all'interno del dispositivo. Se l'umidità penetra nella matrice, possono verificarsi conseguenze irreparabili sotto forma di distruzione dei circuiti conduttivi, loro corrosione, cortocircuito dei driver e guasto del controller della matrice a causa di una violazione critica della sua modalità operativa.

La riparazione del controller di temporizzazione non è fornita dal produttore di matrici LCD, solo la sua sostituzione. Pertanto, non vengono fornite informazioni tecniche sul ripristino del blocco e non ci sono schemi per esso. Tuttavia, nel nostro laboratorio usiamo Valutazione 4.33 /5 (20 Voti)

E i suoi analoghi, ad esempio, come S6A0069, KS0066, ecc. Questi indicatori LCD sono testuali e possono visualizzare testo e caratteri pseudografici. La loro dimensione di familiarità è di 5x8 pixel, gli indicatori LCD sono disponibili in diverse dimensioni e con diverse risoluzioni, ad esempio: 8 caratteri per 2 righe: 8x2, 16x2, 20x2, 40x2, 16x4, 20x4, ecc.

In questa lezione considereremo una connessione a 4 bit di un indicatore LCD a un microcontrollore AVR e scriveremo un programma in formato .

Tali indicatori LCD hanno conclusioni:
VSS - Gnd (Potenza meno)
VDD - Vcc (più alimentazione 5v)
VO - Impostazione del contrasto della matrice LCD
RS - Linea di controllo RS
RW (lettura/scrittura) – linea di controllo RW
E (Abilita) - E linea di controllo
D0 - Linea dati D0 (Non utilizzato in modalità 4 bit)
D1 - Linea dati D1 (non utilizzata in modalità a 4 bit)
D2 - Linea dati D2 (non utilizzata in modalità 4 bit)
D3 - Linea dati D3 (non utilizzata in modalità 4 bit)
D4 - Linea dati D4
D5 - Linea dati D5
D6 - Linea dati D6
D7 - Linea dati D7
A - Anodo LED retroilluminazione display
K - Catodo del LED di retroilluminazione del display

Attenzione! Diversi indicatori LCD hanno la propria disposizione dei pin, puoi trovare l'esatta disposizione dei pin nella documentazione tecnica (scheda tecnica) per il tuo indicatore LCD.

Il pin VO dell'indicatore LCD controlla il contrasto della matrice LCD in base alla tensione di alimentazione applicata a questo pin. L'uscita RW, se non è necessario leggere le informazioni dal display, è collegata al power minus.

Un esempio di connessione a 4 bit di un indicatore LCD a un microcontrollore Attiny2313:

La resistenza trimmer RV1 regola la luminosità del display LCD.
In BASCOM-AVR, prima che l'indicatore LCD funzioni, è necessario specificare quali pin del display sono collegati a quali porte del microcontrollore, per questo esiste un comando Config Lcdpin, un esempio di utilizzo di questo comando: Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 e specificare anche la risoluzione di l'indicatore LCD con il comando Config L cd, esempio: Config Lcd = 16 * 2 e inizializzare l'indicatore LCD con il comando Initlcd, dopodiché l'indicatore LCD sarà pronto per il funzionamento.

Ecco un elenco di comandi per lavorare con l'indicatore LCD in BASCOM-AVR:
configlcdpin– Impostazione della configurazione delle uscite dell'indicatore LCD e del microcontrollore
Lcd config– Impostazione della risoluzione del display LCD
initlcd– Inizializzazione LCD
lcd– Emissione di testo su LCD, esempio: Lcd "Ciao"
Cls– Pulizia del display LCD
Individuaresi,X– Imposta il cursore sulla posizione x, y
linea inferiore– Spostare il cursore sulla riga inferiore
linea superiore- Sposta il cursore sulla riga superiore
Sposta LCD a destra– Sposta l'immagine del display LCD verso destra di un carattere
Sposta LCD a sinistra– Sposta l'immagine del display LCD verso sinistra di un carattere
Cursore disattivato- Disattiva cursore
Cursore attivato- Abilita cursore
Cursore acceso lampeggiante– Abilita il cursore lampeggiante
Cursore su Noblink- Disabilita il cursore lampeggiante

Attenzione! Quando si utilizza un LCD 8x2 sul BASCOM-AVR, configurarlo come 16x2 in quanto non esiste alcuna configurazione per un LCD 8x2 sul BASCOM-AVR.

Un programma di esempio in BASCOM-AVR per lo schema precedente:

$regfile = "attiny2313.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config Lcd = 16 * 2 Initlcd Cls Locate 1 , 1 Lcd "Ciao," Lowerline Lcd "mondo!" FINE

Ecco come funziona con il display LCD 8x2:

Bit di fusibile per il firmware:

Puoi scaricare i file per la lezione (progetto in , sorgente, firmware) qui sotto

Se noti un errore, seleziona una parte di testo e premi Ctrl + Invio
CONDIVIDERE:
Computer e gadget moderni