Projektor DLP z wykorzystaniem Raspberry Pi 3 oraz modułu TI LightCrafter Display 2000

W artykule omówiono podłączenie i obsługę modułu DLP LightCrafter Display 2000 (projektor DLP) produkcji Texas Instruments do komputera jednopłytkowego Raspberry Pi 3. Moduł ten został pierwotnie zaprojektowany do łatwej współpracy z komputerami jednopłytkowymi BeagleBone. Niestety pod kątem wydajności, zwłaszcza w aplikacjach multimedialnych, BeagleBone znacznie ustępuje konkurencyjnemu rozwiązaniu jakim jest Raspberry Pi 3.

Jak jednak zostanie to przedstawione w artykule, konfiguracja Raspberry Pi do pracy z modułem LightCrafter Display 2000 jest stosunkowo prosta, a radość z samodzielnej budowy bezgłośnego i energooszczędnego projektora multimedialnego – bezcenna.

Już od dobrych kilkunastu lat na rynku komponentów elektronicznych mamy do czynienia z rewolucją w obszarze układów mikro-elektro-mechanicznych (MEMS). Układy te, które jeszcze kilka lat temu znane były wyłącznie z zastosowań w mikrofonach i czujnikach ciśnienia, dziś są niemal nieodłącznym elementem większości urządzeń mobilnych.

Badania prowadzone nad układami MEMS (pod kątem ich miniaturyzacji, nowych obszarów zastosowań i obniżenia kosztów produkcji) wymusiły również tożsamą rewolucję w obszarze układów MOEMS, czyli układów łączących zagadnienia mikrooptyki i MEMS. Jednym z najbardziej reprezentatywnych przykładów MOEMS-ów są projektory DLP oraz zastosowana w nich technologia sterowanej matrycy milionów mikroluster.

To co do niedawna wydawało się tematyką rodem z filmów science-fiction, dziś trafia „pod strzechy” i umożliwia zbudowanie własnego miniprojektora w domowym zaciszu.

Projektor DLP

W świecie elektroniki użytkowej od lat obserwujemy toczące się „wojny” standardów i rozwiązań technologicznych, jak np. rozstrzygnięte już starcia formatów Blue-ray i HD-DVD czy technologii plazmowej i LCD. W segmencie projektorów multimedialnych klienci wciąż zadają pytanie – wybrać projektor LCD bazujący na panelach ciekłokrystalicznych, czy jednak zdecydować się na technologię mikroluster zastosowaną w projektorach DLP? Nie podejmując się tutaj żadnych prób rozstrzygnięcia tego sporu, warto podkreślić jedno – w świecie projektorów DLP niepodzielny prym wiedzie firma Texas Instruments, która jest autorem i właścicielem patentów z zakresu technologii DLP. Choć przywykło się mówić, że wszystkie wojny technologiczne wygrywa końcowy klient – otrzymujący tańsze i lepsze rozwiązanie – nie mniejsze zwycięstwo odnoszą również… konstruktorzy i programiści.

Projektor DLP – zalety

Firma Texas Instruments swoją przewagę rynkową próbuje wypracować nie tylko na poziomie czysto technicznym (projektor DLP to wyższy kontrast obrazu, głębokie czernie i niższy pobór mocy), ale również w wykorzystywanym modelu biznesowym – dostarczając konstruktorom i producentom urządzeń końcowych kompleksowy zestaw układów, zestawów deweloperskich i narzędzi do szybkiego i łatwego zaadaptowania technologii DLP w konstruowanych projektorach. Przykładem takich działań jest zestaw DLP LightCrafter Display 2000 (DLPDLCR2000EVM) – rysunek 1.

Rys. 1. Moduł projektora DLP LightCrafter Display 2000

Sercem każdego projektora DLP jest układ DMD (z ang. Digital Micromirror Device),  oparty na technologii MOEMS i będący sterowaną cyfrową tablicą tysięcy mikroluster (każde o powierzchni kilkunastu mikrometrów kwadratowych) odbijających lub rozpraszających padający na nie strumień świetlny.

W zależności od konstrukcji projektora możemy wyróżnić urządzenia z pojedynczym układem DMD (wówczas światło odbite przepuszczane jest przez wirujący trójkolorowy dysk umożliwiający uzyskanie wielobarwnego obrazu) lub z wieloma matrycami mikroluster (każdy z trzech składowych kolorów RGB jest wyświetlany przez oddzielny układ DMD). Wadą pierwszego z rozwiązań jest „efekt tęczy”, natomiast drugiego wysoka cena.

Układ DMD, filtry, soczewki oraz źródło światła stanowią „część optyczną” w blokowej budowie typowego projektora DLP. Uzupełnieniem toru optycznego jest „część elektroniczna” w skład której zaliczamy układ kontrolera matrycy DMD, układ PMIC do zarządzania zasilaniem i sterowaniem diodami LED, pamięci EEPROM/Flash oraz w zależności od typu pracy projektora – wbudowany mikroprocesor lub układ interfejsowy (do konwersji sygnałów HDMI, VGA, …). Typowy projektor DLP w schemacie blokowym przedstawiono na rysunku 2.

Rys. 2. Schemat blokowy typowego projektora DLP (na podstawie: ti.com)

DMD od TI – ekspresowy przegląd

W zależności od docelowego przeznaczenia produktu (rynek IoT, projektory mobilne do automatyki domowej, kino domowe, …) firma Texas Instruments przygotowała szereg układów DMD różniących się m.in. rozmiarem matrycy, a tym samym rozdzielczością wyświetlanego obrazu – od standardu nHD (układ DLP2000) poprzez WVGA (DLP2010 i DLP3000), 720p (DLP3010), WXGA (DLP4500) aż do rozdzielczości 1080p (DLP4710) i 4K. Dla każdej z matryc DMD przygotowano również dedykowany kontroler matrycy oraz układ PMIC. Tak dobrane zestawy tworzą gotowe platformy do budowy własnych projektorów DLP. Co więcej, dla każdego z zestawów przygotowano również platformy referencyjne, ułatwiające pracę na wczesnym etapie prototypowania. Zbiorcze informacje o wybranych układach DMD oraz dedykowanych dla nich kontrolerach i układach PMIC przedstawiono w tabeli 1.

  .2″ nHD .2″ WVGA .3″ 720p .47″ 1080p
Rozdzielczość 640×360 854×480 1280×720 1920×1080
Wielkość plamki 7.6μm 5.4μm 5.4μm 5.4μm
Jasność (w lumenach) 20-30 50-100 200-300 500+
Maks, przekątna obrazu w dobrze oświetlonym pomieszczeniu 15-20″ 20-30″ 35-45″ 50-60″
Maks. przekątna obrazu w słabo oświetlonym pomieszczeniu 40″+ 50″+ 60″+ 70″+
Układ DMD DLP2000 DLP2010 DLP3010 DLP4710
Kontroler DMD DLPC2607 DLPC3430 DLPC3433 DLPC3439
Układ PMIC DLPA1000 DLPA2000 DLPA2005 DLPA3000
Zestaw ewaluacyjny DLPDLCR2000EVM DLPDLCR2010EVM DLPDLCR3010EVM DLPDLCR4710EVM

Tab. 1. Portfolio układów DMD wraz z listą dedykowanych kontrolerów (źródło: ti.com)

Moduł DLP LightCrafter Display 2000

Jak przedstawiono to w tabeli 1, zestaw DLP LightCrafter Display 2000 (DLPDLCR2000EVM) został wyposażony w układ DLP2000 o rozdzielczości nHD (640×480). Jest on przeznaczony do budowy najtańszych i energooszczędnych projektorów mobilnych. Zestaw ten nie ma wbudowanych kontrolerów interfejsów HDMI, VGA czy MHL. Na złącza szpilkowe w rozstawie kompatybilnym z komputerami BeagleBone wyprowadzone zostały sygnały interfejsu równoległego RGB. Jest to interfejs 24-bitowy RGB wraz z sygnałami HSYNC, VSYNC, CLK oraz DE. Ponadto wyprowadzono linie I2C do komunikacji z kontrolerem DLPC2607 oraz linie sterujące pracą modułu – rysunek 3.

Rys. 3. Rozkład wyprowadzeń płytki DLP LightCrafter Display 2000

Raspberry Pi – interfejs DPI oraz podłączenie projektora

Wszystkie komputery Raspberry Pi zostały wyposażone w kontroler DPI (z ang. Display Parallel Interface) umożliwiający bezpośrednie podłączenie wyświetlaczy LCD/projektorów z interfejsem równoległym RGB, do wyprowadzeń GPIO. W zależności o wybranej konfiguracji, kontroler DPI umożliwia wysterowanie wyświetlaczy pracujących w formacie RGB888/RGB24 (po 8 bitów na kolor), RGB666 (po 6 bitów na kolor) oraz RGB565 (5 linii dla koloru czerwonego i niebieskiego oraz 6 linii dla koloru zielonego). Wszystkie sygnały kontrolera (sygnały R, G, B, HSYNC, VSYNC, CLK oraz DE) zostały wyprowadzone na 40-pinowe złącze rozszerzeń, po uprzedniej konfiguracji wyprowadzeń GPIO do pełnienia alternatywnej funkcji ALT2. Przypisanie poszczególnych linii interfejsu DPI do wyprowadzeń GPIO zostało przedstawione w tabeli 2.

Wyprowadzenie GPIO Funkcja
(konfiguracja ALT2)
  Wyprowadzenie GPIO Funkcja
(konfiguracja ALT2)
GPIO 0 PCLK GPIO 14 DPI_D10
GPIO 1 DE GPIO 15 DPI_D11
GPIO 2 VSYNC GPIO 16 DPI_D12
GPIO 3 HSYNC GPIO 17 DPI_D13
GPIO 4 DPI_D0 GPIO 18 DPI_D14
GPIO 5 DPI_D1 GPIO 19 DPI_D15
GPIO 6 DPI_D2 GPIO 20 DPI_D16
GPIO 7 DPI_D3 GPIO 21 DPI_D17
GPIO 8 DPI_D4 GPIO 22 DPI_D18
GPIO 9 DPI_D5 GPIO 23 DPI_D19
GPIO 10 DPI_D6 GPIO 24 DPI_D20
GPIO 11 DPI_D7 GPIO 25 DPI_D21
GPIO 12 DPI_D8 GPIO 26 DPI_D22
GPIO 13 DPI_D9 GPIO 27 DPI_D23

Tab. 2. Przypisanie linii interfejsu DPI do wyprowadzeń GPIO

Ze względu na możliwość konfiguracji kontrolera do pracy w trybach RGB888, RGB666 oraz RGB565, poszczególne wyprowadzenia GPIO są mapowane do funkcji linii R[x], G[x] oraz B[x] zgodnie z informacjami przedstawionymi w tabeli 3.

Tab. 3. Przypisanie linii interfejsu DPI do wyprowadzeń GPIO (na podstawie: raspberrypi.org)

Raspberry Pi – konfiguracja

Czas przystąpić do konfiguracji komputera Raspberry Pi, którą rozpoczynamy od pobrania ze strony producenta ostatniej wersji dystrybucji Raspbian [1] (będącej modyfikacją Debiana dla komputerów Raspberry Pi) oraz wgrania obrazu systemu na kartę SD. Następnym krokiem jest konfiguracja wyprowadzeń GPIO do pełnienia alternatywnej funkcji ALT2, a więc funkcji przypisanej do kontrolera DPI. Konfiguracja ta zostanie przeprowadzona z wykorzystaniem pliku konfiguracyjnego config.txt – umieszczonego na partycji /boot w obrazie systemu. Potrzebne są także predefiniowane warstwy opisu Device Tree  (dostępnych również na partycji /boot w katalogu overlays).

Warstwy opisu Device Tree ułatwiają organizację wsparcia dla wielu konfiguracji sprzętowych z wykorzystaniem tego samego jądra systemu. Listę przygotowanych przez producenta warstw wraz z ich opisem i listą przyjmowanych argumentów można znaleźć w pliku /boot/overlays/README. Wśród plików z rozszerzeniem *.dtbo (a więc skompilowanych warstw opisu Device Tree), w katalogu /boot/overlays możemy odszukać również pliki dpi18.dtbo oraz dpi24.dtbo, które zgodnie z zawartym w README opisem, konfigurują wyprowadzenia GPIO do pracy w trybie DPI z magistralą 18- lub 24-bitową.

Jak możemy szybko przeliczyć, konfiguracja magistrali w trybie 24-bitowym „pochłonie” wszystkie 28 wyprowadzeń GPIO (24 linie RGB oraz cztery sygnały VSYNC, HSYNC, CLK i DE) – nie zostawiając tym samym możliwości komunikacji z kontrolerem DLPC2607 po magistrali I2C. W tym miejscu użytkownik może zdecydować się na wykorzystanie konwerterów sygnałów USB<->I2C i pełnej 24-bitowej konfiguracji lub skonfigurować interfejs DPI do pracy w trybie 18-bitowym. „Włączenie” wybranej warstwy Device Tree jest realizowane poprzez umieszczenie w pliku /boot/config.txt wpisu w postaci:

Dla omawianej 18-bitowej konfiguracji:
Podczas konfiguracji Device Tree należy upewnić się, że skonfigurowana warstwa nie koliduje z inną, uprzednio wykonaną konfiguracją sprzętu. W przypadku warstw dpi18 oraz dpi24, należy wyłączyć sprzętowe kontrolery magistral I2C oraz SPI (o ile zostały one uprzednio włączone):
lub

O autorze

Łukasz Skalski

Łukasz Skalski – absolwent Politechniki Gdańskiej, miłośnik FLOSS,
autor książki “Linux. Podstawy i aplikacje dla systemów embedded” oraz szeregu artykułów dotyczących programowania systemów wbudowanych.
Zawodowo związany z firmą Samsung. Wszystkie wolne chwile poświęca projektowaniu i programowaniu urządzeń wyposażonych w mikroprocesory 8-/16- i 32-bitowe. Szczególnym zainteresowaniem obejmuje tematykę systemu Linux w aplikacjach na urządzenia embedded.