[MBED] STM32 i SSD1306 – sterowanie dwukolorowym OLED [1]
W artykule przedstawiamy miniaturowy wyświetlacz OLED z dwukolorową matrycę i wbudowanym sterownikiem SSD1306 (druga część publikacji jest dostępna pod adresem). Ma on matrycę o przekątnej 0,96 cala o organizacji 128×64 piksele, z których 16 górnych linii świeci na kolor źółty, pozostałe na niebieski. Podstawowe właściwości sterownika pokazano w tabeli poniżej.
Podstawowe właściwości sterownika SSD1306
| Rozdzielczość | Matryca 128×64 piksele |
| Napięcie zasilania | Układy logiczne od +1,65V do +3,3V |
| Drivery panelu matrycy od +7V do +15V | |
| Maksymalny prąd segmentu | 100µA |
| Maksymalny całkowity prąd matrycy | 15mA |
| Kontrast matrycy | 256 poziomów (programowany) |
| Wbudowana pamięć obrazu | SRAM 128×64 bity |
| Interfejsy komunikacyjne | Równoległy 8-bitowy 8080/6800 |
| Szeregowy SPI 3- lub 4-liniowy | |
| Szeregowy I2C | |
| Funkcje akceleratora graficznego | Skrolowanie w poziomie |
| Skrolowanie w pionie | |
| Remapowanie | Kolumn i wierszy |
| Oscylator | Wbudowany w układ |
| Zakres temperatur pracy | -40 ˚V do +85˚C |
Schemat blokowy sterownika pokazano na rysunku 1.
Aktywny interfejs jest wybierany sprzętowo przez wymuszenie stanów logicznych na wyprowadzeniach konfiguracyjnych BS0, BS1 i BS2 – tabela poniżej.
Możliwe konfiguracje interfejsu komunikacyjnego
| I2C | Motorola 6800 | Intel 8080 | SPI 4-wire | SPI 3-wire | |
| BS0 | 0 | 0 | 0 | 0 | 1 |
| BS1 | 1 | 0 | 1 | 0 | 0 |
| BS2 | 0 | 1 | 1 | 0 | 0 |
Wyprowadzenie BS2 określa, czy będzie użyty interfejs szeregowy (BS2=0) czy równoległy (BS2=1). W naszym wyświetlaczu BS2 jest na stałe dołączony do masy i mamy możliwość wyboru tylko jednego z trzech interfejsów szeregowych. Na płytce drukowanej wyświetlacza są umieszczone dwa pola lutownicze umożliwiające ustawianie stanów na BS0 i BS1 – fotografia 2. Fabrycznie są tam wymuszone stany BS0=0 i BS1=0, czyli 4-przewodowy interfejs SPI. Zgodnie z tym ustawieniem są opisane wyprowadzenia płytki wyświetlacza.
Ponieważ nie przewidziano odczytywania jakichkolwiek danych ze sterownika, interfejs SPI ma jedną linię danych DIN (MOSI z punktu widzenia hosta), oraz linię zegarową CLK. Oprócz tych linii do przesyłania danych wykorzystywana jest linia CS i D/C. CS jest standardowym sygnałem SPI uaktywniającym układ, do którego są wysyłane dane. Wykorzystując CS można do jednej magistrali dołączyć kilka wyświetlaczy – każdy ze swoją linią CS. Linia D/C jest wykorzystywana do kierowania danych albo do rejestru komend (D/C=0) albo do pamięci obrazu (D/C=1). Przy 3-przewodowym interfejsie SPI brak jest sygnału D/C i konieczne jest przesłanie dodatkowego bitu informującego sterownik gdzie dane z magistrali maja trafić. Komplikuje to obsługę transmisji, bo dane są 9–bitowe i nie można wykorzystać standardowych sprzętowych interfejsów SPI. W przypadku interfejsu I2C trzeba dodatkowo wysłać po adresie slave bajt kontrolny. Z jednej strony dodatkowa linia D/C wymaga linii portu sterownika, a z drugiej strony jej użycie przyspiesza i upraszcza transfer danych.
Pamięć obrazu GDDRAM (Graphic Dispaly Data)
Pamięć obrazu jest statyczną pamięcią RAM o rozmiarze 128×64 bity. Każdy bit odpowiada jednemu pikselowi na matrycy OLED. Pamięć o takiej organizacji nie może być bezpośrednio zapisywana przez mikrokontroler dlatego została logicznie podzielona na 8 stron Page0….Page 7 – rysunek 3.




Technologie End of Life i bezpieczeństwo sieci – wyzwania Europy związane z tzw. długiem technologicznym
Najczęstsze błędy firm przy wyborze dostawcy energii i jak ich uniknąć
Fotorezystor, czyli czujnik światła dwojakiego działania. Przykład innowacji w automatyce i elektronice możliwej dzięki technologii fotooporników 



