Na zobrazenie informácií v elektronike a elektrotechnike sa používajú
rôzne typy zobrazovacích jednotiek. Najväčšiu skupinu z nich tvoria
zobrazovacie jednotky – displeje. Majú nízku spotrebu vysokú spoľahlivosť
a životnosť a v dnešnej dobe už majú veľmi vysoké rozlíšenia, čo zabezpečuje
zobrazenie všetkých dôležitých detailov. Počas posledných 30-tich rokov sa
stali "tekuté kryštály" z akademickej kuriozity základom priemyslu s obratom
vyše 7,5 miliardy dolárov - displeje využívajúce technológiu tekutých kryštálov
sa používajú od náramkových hodiniek cez kalkulačky a mobilné telefóny až
po notebooky a domáce počítače. A experti očakávajú , že nepotrvá dlho a LCD
displeje úplne nahradia klasické monitory a televízie pracujúce na princípe
katódovej trubice.
V module je použitý monochromatický STN grafický displej
s rozlíšením 128x64 pixelov EA dogl128 od firmy Electronic Assembly.
Ovládanie displeja zabezpečuje 8-bitový mikrokontrolér ATMega128L od
firmy Atmel, ktorý implementuje všetky grafické funkcie a fonty
písem pre display. Disponuje 128kB Flash pamäťou, ktorá je nutná na uloženie
fontov rôznych veľkostí a rôznych bitových máp.
Popis mikrokontroléra
V grafickej jednotke je použitý 8-bitový mikrokontrolér ATMega128L od firmy Atmel.
Na programovanie som použil modul ISP pripojený cez USB port a programové vybavenie AVR Studio 4,
ktorý obsahuje všetky potrebné moduly (linker, compiler...) s modulom AVR
GCC. Aby bolo možné mikrokontrolér naprogramovať, bolo nutné nastaviť
v module AVR GCC hodnoty:
- Device: atmega128
- Frequency: 7372800 (frekvencia kryštálu použitého na jednotke)
Aby zdrojový kód plnil svoju funkciu správne, bolo nutné
preprogramovať dva fuse bity mikrokontroléra.
- Ext. Crystal/Resonator High Freq. Start-up time 16K CK + 4ms
- Atmega103 Compatibility mode
Dôležité bolo vypnúť režim kompatibility so starším typom mikrokontroléra,
ktorý používa iné mapovanie pinov.
Popis zobrazovacej jednotky
Ako zobrazovacia jednotka je použitý typ EA dogl128 od firmy
Electronic Assembly.
Základné vlastnosti:
- vysoko-kontrastná zobrazovacia jednotka s 15µm medzi-bodovou šírkou medzery
- rozlíšenie 128x64 pixelov
- obsahuje kontrolér ST7565R s SPI (4-vodičovým) rozhraním
- napájanie 3V – 3.3V pri zapojení s jedným napájaním
- odber typicky 320µA
- rôzne farebné prevedenia
- voliteľné podsvietenie (7 druhov)
- možnosť pripojenia dotykového panelu
Zobrazovacia jednotka vie pracovať s jedným napájaním (3V-3,3V)
alebo dvoma napájacími napätiami (1,8V – 3,3V + napájanie 10,5V-13,5V pre
kontrast). Kontrast sa nastavuje v programe pre zobrazovaciu jednotku a je
nutné ho nastaviť raz a udržiavať v rozsahu pracovných teplôt (zabezpečené
pomocou vnútornej teplotnej kompenzácie).
Prenos dát cez SPI rozhranie je jednosmerný, to znamená, že dáta môžu
byť len zapísané bez možnosti spätného čítania (neobsahuje BUSY).
Tlačidlá:
Modul bol navrhnutý ako súčasť väčšieho a komplikovanejšieho systému, kde funkciu tlačidiel
určoval nadradený modul. Napriek tomu je možné úpravou programu využiť tlačidlá aj v tomto module.
Podsvietenie zobrazovacej jednotky
Zobrazovacia jednotka potrebuje podsvietenie, aby zrozumiteľne
zobrazovala prijaté dáta. Dostupných je sedem variantov: biele, žlto-zelené,
zelené, modré, červené, oranžové a RBG verzia.
Pre zvolený typ zobrazovacej jednotky je určené biele podsvietenie.
Podsvietenie sa skladá z troch separátnych častí pre osvetlenie ľavej časti,
pravej časti a strednej časti zobrazovacej jednotky. Zvolený typ podsvietenia
má typický odber 45mA jednej sekcie pri napätí 3,3V, spolu teda 135mA. Nie
je určené na priame pripojenie na 3,3V (doporučuje sa prúdový zdroj, aby sa
nezničili LED diódy) alebo pripojenie na 5V cez obmedzujúce rezistory
39Ohmov.
Program:
Program je napísaný v jazyku C pre ATMega128 v programe AVR
Studio 4. Program využíva základné knižnice a využíva aj matematickú knižnicu. Zoznam funkcií obsiahnutých v súbore ovládača: driver.h
spi_init_master() - inicializácia ako Master
spi_init_slave() - inicializácia ako Slave
spi_master_send_char() - odoslanie znaku cez SPI
spi_slave_receive() - prijatie znaku cez SPI
dogl_send() - odoslanie príkazu/dát displeju
dogl_reset() - reset displeja (150ms)
disp_init() - inicializácia displeja
disp_send_frame() - odoslanie dátovej RAM
disp_clear() - vymazanie displeja
disp_clear_dont_refresh() - vymazanie dátovej RAM
disp_frame_end() - volá send_frame()
disp_set_pixel() - zobrazenie/vymazanie bodu
Obvody zdroja
Zobrazovacia jednotka potrebuje pre svoju činnosť napájacie napätie 5V
a 3,3V. Toto napätie sa získava s lineárnych stabilizátorov TS78M05 (5V)
a LM2937 (3,3V) v SMD prevedeniach. LM 2937 je v puzdre TO-263 a je pre
prúdovú zaťažiteľnosť maximálne 500mA. TS78M05 je v puzdre T0-252 a je
pre prúdové zaťaženie 500mA. Ako chladič obom stabilizátorom slúži plocha
na plošnom spoji. Napájanie celej zobrazovacej jednotky je 12V a odber je
typicky 140mA.
Rozhrania
Zobrazovacia jednotka obsahuje tri konektory:
- konektor pre pripojenie nadradeného modulu
- port E mikrokontroléra pre neskoršie použitie
- programovací konektor
Bloková schéma Schéma zapojenia DPS - BOTTOM DPS - TOP