
Chciałbym przedstawić projekt sterownika do wyświetlaczy LCD/OLED z interfejsem DSI na bazie FPGA Spartan-6 XC6SLX9.
MIPI DSI to szybki szeregowy interfejs do przesyłania obrazu z GPU do wyświetlacza stosowany w większości smartfonów (Iphone4,5,6, Samsung Galaxy, etc.).
Możliwości sterownika:
- obsługa wyświetlaczy z 3/4-liniowym interfejsem DSI
- rozdzielczość do 1080x1920 przy odświeżaniu 60 Hz
- konwersja HDMI do DSI, pozwalająca na podłączenie dowolnego wyświetlacza do PC, Raspberry Pi lub innego urządzenia. Konwersja działa do rozdzielczości 720p@60 Hz lub 1080p@48 Hz
- wbudowany framebufor
- zasilanie przez port mini-USB
- wbudowany 32-bitowy soft-CPU, pozwalający uruchamiać dowolne aplikacje napisane w C
Przykładowe zastosowania:
- okulary 3D
- mini-projektor
- 5-calowy "ekranik" 1920x1080
- karta graficzna dla mikrokontrolera bez sterownika LCD.
Urządzenie mieści się na 4-warstwowej płytce w formacie shielda Arduino. Oprócz FPGA, na płytce można znaleźć:
- adapter poziomów logiki SSTL 1.8 V do DSI (rezystory)
- uniwersalne złącze wyświetlacza - zwykły pinhead 2x15, ze wszystkimi sygnałami DSI, zasilaniem i kilkoma pinami GPIO. Ponieważ nie istnieje uniwersalny standard złącz do takich LCD, trzeba zrobić oddzielną przejściówkę między złączem adaptera i tasiemką wyświetlacza.
- 32 MB DDR SDRAM (pamięć framebufora, opcjonalna)
- wejście HDMI, wykorzystujące wbudowane deserializery FPGA (IOSERDES)
- interfejs Arduino: 12 pinów podłączonych do złącz IOH/IOL Arduino. Interfejs jeszcze nie jest do końca zdefiniowany (myślę o SPI/8-bitowym równoległym).
- UART USB (CP2102) do programowania FPGA i jako bootloader.
- zasilacz (produkuje wszystkie napięcia dla FPGA, wyświetlacza, DDR, podświetlenia i biasu LCD - w sumie z 7 różnych)
Diwajs przetestowałem z ekranami z Iphone 4, LG Optimus P880 i HTC Droid DNA.
Bardziej szczegółowy opis jest dostępny tutaj.
Źródła firmware'u, schematy i projekt PCB są na Githubie: Github.
Zdjęcia:





Pozdrawiam,
TWl
Cool! Ranking DIY