LinkedIn YouTube Facebook
Szukaj

Wstecz
Artykuły

e-paper: wyświetlacze w teorii i praktyce [1]

 

Uwaga! Wszystkie odcinki kursu są dostępne pod adresem.

Na naszych oczach odbywa się teraz rewolucja w jednych z ważniejszych elementach współczesnej elektroniki – wyświetlaczach graficznych. Wyświetlacze te maja coraz lepsze parametry: relatywnie duże przekątne matrycy, duże głębie kolorów i wierność odtwarzania barw, stosunkowo łatwe sterownie. Jednocześnie spada cena, a konstruktorzy mogą liczyć na wsparcie (często darmowe) w postaci bibliotek graficznych. Do znanych i popularnych wyświetlaczy LCD , TFT i OLED w ostatnim czasie dołączyły bardzo ciekawe elementy nazywane popularnie e-papier lub EPD. W cyklu artykułów pokażemy od strony praktycznej sposób użycia modułu KAmodEPAPER z wyświetlaczem tego typu we współpracy z mikrokontrolerem STM32.

 

 

Wyświetlacze e-papier są dobrze znane z rynku konsumenckiego. Wykorzystuje się je w popularnych czytnikach książek dystrybuowanych w formie elektronicznej czyli e-book’ów. Równolegle z nazwą e-papier jest stosowany termin wyświetlacz bistabilny. Co to oznacza? Obraz na ekranie zostaje zachowany bez zmiany jakości (kontrastu, jasności) po wyłączeniu napięcia zasilającego. Ta właściwość pozwala na tworzenie interfejsów użytkownika z ekstremalnie małym poborem mocy. Wyświetlacz potrzebuje energii tylko w momencie zmiany wysiedlanej treści , a potem można ją wyłączyć aż do następnej zmiany. W aplikacjach , w których zmiany na wyświetlaczu nie zachodzą zbyt często to olbrzymia zaleta. W klasycznym wyświetlaczu LCD wyświetlana treść niezależnie czy się zmienia czy nie musi być odświeżana ok. 30 razy na sekundę. Kolejnym czynnikiem znacznie ograniczającym pobór mocy jest brak wymogu podświetlania. Odczytywanie informacji z ekranu e-papier odbywa się dokładnie tak samo jak w przypadku czytania z zadrukowanej kartki. Jeżeli w pomieszczeniu jest wystarczająca ilość światła, to podświetlenie nie jest potrzebne. Matryce LCD do działania potrzebują sporych ilości energii do podświetlania.

Atrament elektroniczny składa się z milionów maleńkich mikrokapsułek o średnicy ludzkiego włosa. Każda mikrokapsułka zawiera dodatnio naładowane cząstki  białe i ujemnie naładowane cząstki czarne. Cząstki są zawieszone w przeźroczystej cieczy. Jeżeli poddamy mikrokapsułki działaniu pola elektrycznego, to białe i czarne cząstki będą się przemieszczać. Wyświetlacz ma wbudowane 2 elektrody. Jedna przeźroczysta jest umieszczona na powierzchni ekranu wyświetlacza, a druga pod mikrokapsułkami (rysunek 1).

 

Rys. 1. Budowa matrycy EPD

 

 

Kiedy górna elektroda będzie miała potencjał dodatni a dolna ujemny, to ujemnie naładowane cząstki czarne zostaną przez pole elektryczne przesunięte do góry i wyświetlacz w tym miejscu będzie „świecił” na czarno. Odwrotnie, kiedy górna elektroda będzie ujemna a dolna dodatnia (rysunek 2), to białe dodatnio naładowane cząstki będą się gromadziły przy powierzchni ekranu wyświetlacza, a ujemnie naładowane w głębi i wyświetlacz będzie „świecił” na biało. Po zaniku napięcia na elektrodach cząstki pozostają w swoim ostatnim położeniu i informacja na ekranie pozostaje bez zmian.

 

Rys. 2. Zasada działania wyświetlacza e-paper

 

Standardowy driver sterujący elektrodą przy powierzchni wyświetlacza może wystawiać na wyjściu trzy napięcia względem elektrody umieszczonej pod mikrokapsułkami:

  1. Napięcie dodatnie (ok. +15V) – piksel jest czarny
  2. Napięcie ujemne (ok. -15V) – piksel jest biały
  3. Napięcie 0V – piksel się nie zmienia

Sterowanie kapsułek jest zorganizowane matrycowo. Przykładowy wyświetlacz GDE035A4 użyty w module KAmodEPAPER ma 600 linii po 800 kapsułek, czyli inaczej mówiąc ma rozmiar 800×600 pikseli. Trudno sobie wyobrazić by elektrody sterujące dla tak wielkiej liczby elementów nawet w połączeniu matrycowym były wyprowadzone na jakieś złącze. Dlatego sterowaniem driverów kapsułek zajmują się specjalizowane układy scalone z bardzo dużą ilością wyprowadzeń sterujących. W moduł GDE035A4 użyty w zestawie KAmodEPAPER wbudowano układ HX8705, który zgodnie z dokumentacją ma w sumie 1683 wyprowadzenia. Schemat blokowy sterownika został pokazany na rysunku 3.

 

Rys. 3. Schemat blokowy układu HX8705 (użyty w KAmodEPAPER)

 

Jak widać elektrody sterujące również są matrycowo: do każdego z pikseli jest doprowadzona jedna z 800 elektrod drivera SOURCE i jedna z 600 elektrod drivera GATE.

Driver SOURCE jest przeznaczony do sterowania elektrodami kolumn matrycy i ma 800 wyprowadzeń pracujących z trzema napięciami wyjściowymi: +15V, -15V i 0V. Z driverem jest połączony dwukierunkowy rejestr o długości 800 „słów” 2 bitowych. Rejestr jest podzielony na 4 grupy. Każde słowo 2 bitowe wpisane do rejestru odpowiada za napięcie na wyjściu drivera według zależności pokazanej w tabeli 1.

 

Tab. 1. Programowanie napięcia wyjściowego drivera SOURCE

Bit D[2n+1] (starszy) Bit D[2n] (młodszy) Napięcie na wyjściu bufora[n+1=4k]
0 0 VSSA (AGND)
0 1 VPOS (+15V)
1 0 VNEG(-15V)
1 1 VSSA(AGND)

n=0..3, k=0…199

 

Każdy bajt zapisany do rejestru odpowiada za stan wyjść 4 driverów. Żeby zapisać cała linijkę o długości 800 pikseli trzeba wpisać do rejestru 200bajtów(200*8/2=800).

Na wyjściu rejestru przesuwnego jest umieszczony rejestr LATCH, tak by stany sterujące buforem wyjściowym mogły się pojawić dopiero po zapisaniu całego bufora i uaktywnieniu sygnałów: LE (latch enable) przepisującego zawartość rejestru przesuwnego do rejestru LATCH i aktywującego wyjścia rejestru LATCH OE (oputput enable). Ponieważ rejestr jest dwukierunkowy, to potrzebny jest dodatkowy sygnał sterujący kierunkiem przepływu danych. Tą rolę spełnia sygnał R/L.

Driver GATE jest przeznaczony do sterowania elektrodami wierszy matrycy i ma 600 wyprowadzeń. W odróżnieniu od drivera SOURCE jego wyjścia mogą przybierać tylko 2 stany: aktywny lub nie aktywny. Podobnie jak w przypadku SOURCE driver jest połączony z 2-kierunkowym rejestrem przesuwnym.

Interfejs komunikacyjny HX8705 jest zbudowany z 8-bitowej magistrali danych oraz sygnałów sterujących: LE, OE, SHR i STH drivera SOURCE i STV, CPV drivera GATE . Oprócz linii sterujących wyświetlaczem na 24-pinowym wyprowadzeniu umieszczono tez linie zasilające.

Jak już wspomniałem zapis rejestru SOURCE polega na zapisaniu 200 bajtów przez równoległy 8-bitowy interfejs komunikacyjny. Dane z linii D0…D7 są zapisywane do rejestru przy narastającym zboczu na linii CLK. Szczegóły są dostępne w dokumentacji sterownika (do pobrania poniżej).

Testowany wyświetlacz jest sterowany przez moduł ewaluacyjny z mikrokontrolerem STM32 (STM32Butterfly) z mikrokontrolerem z rodziny STM32F107VB. Na listingu 1 pokazano definicje linii sterujących i magistrali danych.

 

List. 1. Definicje linii sterujących i magistrali danych

//linie sterujące
#define EPD_CL_PORT			GPIOE
#define EPD_CL     	GPIO_Pin_0		//CL		
#define EPD_OE_PORT			GPIOE
#define EPD_OE       GPIO_Pin_1		// OE  
#define EPD_LE_PORT			GPIOE
#define EPD_LE       GPIO_Pin_2		//LE  
#define EPD_SHR_PORT		GPIOE
#define EPD_SHR       GPIO_Pin_3		//SHR 

//lnie magistrali danych
#define EPD_DB_PORT     GPIOD
#define EPD_DB_0      GPIO_Pin_0		//PD0	
#define EPD_DB_1      GPIO_Pin_1		//PD1
#define EPD_DB_2      GPIO_Pin_2		//PD2
#define EPD_DB_3      GPIO_Pin_3		//PD3
#define EPD_DB_4      GPIO_Pin_4		//PD4
#define EPD_DB_5      GPIO_Pin_5		//PD5
#define EPD_DB_6      GPIO_Pin_6		//PD6
#define EPD_DB_7      GPIO_Pin_7		//PD7

#define EPD_CL_H      EPD_CL_PORT->BSRR =EPD_CL
#define EPD_CL_L      EPD_CL_PORT->BRR =EPD_CL

#define EPD_LE_H      EPD_LE_PORT->BSRR =EPD_LE
#define EPD_LE_L      EPD_LE_PORT->BRR =EPD_LE

#define EPD_OE_H      EPD_OE_PORT->BSRR =EPD_OE
#define EPD_OE_L      EPD_OE_PORT->BRR =EPD_OE

Dane do bufora SOURCE są zapisywane przez procedurę SendSOURCEData – listing 2.

 

Absolwent Wydziału Elektroniki Politechniki Wrocławskiej, współpracownik miesięcznika Elektronika Praktyczna, autor książek o mikrokontrolerach Microchip i wyświetlaczach graficznych, wydanych nakładem Wydawnictwa BTC. Zawodowo zajmuje się projektowaniem zaawansowanych systemów mikroprocesorowych.