Pierwsze kroki z FPGA (9)

Podobne dokumenty
Pierwsze kroki z FPGA (9)

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Wyświetlacze graficzne : 162x64 z kontrolerem S1D x60 z kontrolerem S1D15710

m e d i a s e r v i c e Moduł kamery JPEG z komunikacją szeregową CJ0706A

Mikroprocesory i Mikrosterowniki Laboratorium

Komunikacja w mikrokontrolerach Laboratorium

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Wstęp Architektura... 13

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Technika Mikroprocesorowa

Programowanie Mikrokontrolerów

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Szkolenia specjalistyczne

2. Architektura mikrokontrolerów PIC16F8x... 13

(przykład uogólniony)

Programowalne Układy Cyfrowe Laboratorium

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Politechnika Wrocławska

STEROWNIK LAMP LED MS-1 Konwerter sygnału 0-10V. Agropian System

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

ZL8AVR. Płyta bazowa dla modułów dipavr

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Pierwsze kroki z FPGA (2)

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1

Układy Cyfrowe projekt. Korekcja jasności obrazów w 24-bitowym formacie BMP z użyciem funkcji gamma. Opis głównych modułów sprzętowych

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Instrukcja obsługi Konfigurator MLAN-1000

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

CECHY URZĄDZENIA: Podłączenie wyświetlacza

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

STEROWNIK TUBY LED STM-64

Niektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x

Instrukcja do oprogramowania ENAP DEC-1

WPROWADZENIE Mikrosterownik mikrokontrolery

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Ultradźwiękowy generator mocy MARP wersja Dokumentacja techniczno-ruchowa

4. Karta modułu Slave

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Przywracanie parametrów domyślnych. Przycisnąć przycisk STOP przez 5 sekund. Wyświetlanie naprzemienne Numer parametru Wartość parametru

Parametryzacja przetworników analogowocyfrowych

CR232.S v2 KONWERTER CAN / RS232

TWRS-21 TABLICOWY WYŚWIETLACZ CYFROWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, listopad 1999 r.

Program EDYTOR-AS-OUX

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Przemysłowy odtwarzacz plików MP3

SM Wyświetlacz 4x LED, 1x CAN, 1xRS232/485, 2x wejście analogowe

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Mikrokontrolery AVR i ARM : sterowanie wyświetlaczami LCD / Tomasz Francuz. Gliwice, cop Spis treści

Systemy Czasu Rzeczywistego FPGA

dokument DOK wersja 1.0

SML3 październik

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Ćwiczenie 7 Matryca RGB

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

interfejs szeregowy wyświetlaczy do systemów PLC

Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel

Instalowanie dodatku Message Broadcasting

PROGRAMOWALNE STEROWNIKI LOGICZNE

MultiTool instrukcja użytkownika 2010 SFAR

Opis techniczny koncentratora wejść impulsowych KWI-1. APATOR SA,

ZL10PLD. Moduł dippld z układem XC3S200

Arkadiusz Kalicki, Lech Mankiewicz Plugin Webcam dla SalsaJ Podręcznik użytkownika

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Rys. 1. Wygląd panelu milisekundomierza M-1.

Analizowanie protokołów szeregowych oscyloskopami Rohde&Schwarz (2) SPI, I 2 C

MIKROKONTROLERY I MIKROPROCESORY

Plan sytuacyjny terenu działki Mapa pamięci Schematy technologiczne komory zasuw dla przepompowni kanalizacyjnych

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

IMP Tester v 1.1. Dokumentacja Techniczno Ruchowa

Instrukcja użytkowania oprogramowania SZOB LITE

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

Opis układów wykorzystanych w aplikacji

Organizacja typowego mikroprocesora

INSTRUKCJA INSTALACJI WEB SERWER STW. DOKUMENTACJA TECHNICZNA INSTRUKCJA OBSŁUGI wersja instrukcji 1.0

Veronica. Wizyjny system monitorowania obiektów budowlanych. Instrukcja oprogramowania

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

Gdzie przyjęto, że: IR7...IR4 to starsze bity przesyłanej danej lub rozkazu, IR3...IR0 to młodsze bity przesyłanej danej lub rozkazu.

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Transkrypt:

Pierwsze kroki z FPGA (9) Obsługa z kontrolerem SSD1331 Celem projektu było obsłużenie sprzętowego kontrolera kolorowego za pomocą układu FPGA zestawu maximator. Zastosowany w przykładzie wyświetlacz wyposażono w kontroler SSD1331, z którym aplikacja użytkownika komunikuje się poprzez interfejs SPI. Więcej informacji: Projekt powstał w Katedrze Elektroniki Wydziału Informatyki, Elektroniki i Telekomunikacji AGH, pod kierunkiem dr inż. Pawła Rajdy i dr inż. Jerzego Kasperka. Rysunek 1. Schemat połączeń płytki maximatora z wyświetlaczem Prezentowany w artykule projekt wykonano z użyciem bezpłatnego oprogramowania narzędziowego Intel Quartus Prime, które można pobrać ze strony internetowej https://goo.gl/kuhmwj. Moduł z kolorowym wyświetlaczem OLED-RGB dołączono do maximatora zgodnie ze schematem pokazanym na rysunku 1 i opisem umieszczonym w tabeli 1. Dodatkowo, wyprowadzenie D14 maximatora jest używany jako wejście zerujące o aktywnym poziomie wysokim podczas normalnej pracy ta linia musi być dołączona do masy zasilania. Jednostka TOP LEVEL Pokazana na rysunku 2 jednostkatop LEVEL składa się z następujących elementów: Bloku OLED, który jest odpowiedzialny za inicjalizację oraz przesyłanie komend i danych do kontrolera wyświetlacza. Bloku EXAMPLE_OLED_Logic, w którym pokazano użycie przykładowych komponentów do sterowania wyświetlaczem: Tabela. 1. Sposób dołączenia modułu OLED-RGB Pin OLED maximator VCC +5V GND GND DIN D0 CLK D1 CS D2 D/C D3 RES D4 100 ELEKTRONIKA PRAKTYCZNA 3/2017

Rysunek 2. Wygląd projektu CLS_Command czyści wyświetlacz, SetPixel_Commmand ustawia wybrany piksel wyświetlacza na wybrany kolor, DrawImageFull_Commmand rysuje cały obrazek uprzednio pobierając go z pamięci. Bloku Flash, który implementuje blok pamięci typu Flash zainicjalizowanej plikiem onchip_ flash.dat. Przechowane są w niej mapy bitowe dwóch obrazów, które będą przesłane do wyświetlacza. Oprócz wyżej wymienionych, na schemacie blokowym możemy znaleźć jeszcze blok odpowiedzialny za debouncing przycisku zerowania oraz blok generatora pętli PLL, na którego na wyjściu występuje przebieg o częstotliwości 50 MHz. Moduł OLED Moduł OLED (rysunek 2) jest głównym elementem projektu. Odpowiada on za komunikację za pomocą interfejsu SPI, inicjalizację wyświetlacza oraz późniejsze przekazywanie komend i danych. Sygnały modułu OLED opisano w tabeli 2. Moduł OLED zawiera w sobie następujące bloki (rysunek 3): Tabela 2. Wyprowadzenie modułu OLED CLK RST DATA_INPUT[7..0] Wejście 8-bitowe dla danych DATA_LATCH Wejście zatrzaskujące wejście DATA_INPUT[7..0] COMMAND_INPUT[7..0] Wejście 8-bitowe dla komend COMMAND_LATCH Wejście zatrzaskujące wejście COMMAND_INPUT[7..0] SCLK SPI SS Slave Select wybór urządzenia slave SPI MOSI Master Output Slave Input interfejsu SPI D_C Linia informująca kontroler o tym czy przesyłamy dane czy komendy OLED_RST Sygnał służący owaniu OLED_INITIALISED Sygnał informujący o tym, że wyświetlacz został zainicjalizowany BUSY Sygnał informujący o tym, że moduł OLED jest w trakcie przetwarzania komendy, danych. Nowe komendy/dane należy przesyłać wtedy, gdy stan tego pinu jest niski. STATUS_LED Sygnał sterujący LED Rysunek 3. Bloki zawarte w module OLED ELEKTRONIKA PRAKTYCZNA 3/2017 101

spi_master będący sprzętową implementacją sterownika SPI, komunikującego się bezpośrednio z kontrolerem wyświetlacza OLED. Funkcje jego wyprowadzeń zebrano w tabeli 3. LPM_ROM to gotowy IP będący pamięcią ROM. Zapisany w nim plik.mif (SD1331_INIT.mif ) zawiera sekwencję komend służących do inicjalizacji wyświetlacza. Dokładne znaczenie poszczególnych bajtów znajduje się w dokumentacji kontrolera SSD1331. Zawartość pamięci bloku LMP_ROM opisano w tabeli 4. main_controller to blok ten jest odpowiedzialny za odczyt sekwencji inicjalizującej z bloku LPM_ROM, a także sterowaniem blokiem spi_master. Funkcje jego wyprowadzeń opisano w tabeli 5. _gen jest dzielnikiem sygnału taktującego, na wyjściu main_ występuje wejściowy sygnał zegarowy o częstotliwości dzielonej przez 2, a na wyjściu us_ sygnał zegarowy o częstotliwości dzielonej przez 6. Tabela 3. Wyprowadzenie modułu spi_master en cont data_in[7..0] miso s ss data_out[7..0] mosi Sygnał inicjujący transakcję Sygnał określający, czy mamy do czynienia z transakcją ciągłą czy pojedynczą Bajt który zostanie przesłany poprzez SPI Wejście Master Input Slave Output (nie używane) SPI Slave Select Bajt otrzymany od urządzenia slave Wyjście Master Output Slave Input Sygnał informujący o zajętości modułu spi_master Tabela 5. Funkcje wyprowadzeń bloku main_controller us_ Drugi sygnał zegarowy init_rom_input[7..0] Tryb ciągłego przesyłania danych (nie używany) Zatrzask danych data_input[7..0] Dane wejściowe command_latch Zatrzask komendy command_input[7..0] Komenda Rom en Sygnał aktywujący licznik sterujący adresacją pamięci ROM Rom clr Sygnał służący wyzerowaniu ww. licznika Spi_en Sygnał aktywujący moduł SPI D_c Sygnał określający, czy przesyłamy dany czy komendę Spi_data[7..0] Dane przesyłane do modułu SPI Oled_res Sygnał zerujący sterownik wyświetlacza Spi_ss Sygnał Slave Select Sygnał informujący o zajętości modułu initialized Sygnał informujący o tym, że wyświetlacz został zainicjalizowany Moduł Example_OLED_Logic Moduł wykonano, aby pokazać, jak należy sterować modułem OLED poprzez odpowiednie komendy. W jego architekturze zawarto trzy komponenty: CLS_Command, który ma za zadanie wyczyścić wyświetlacz, tzn. wypełnić go zadanym kolorem. Funkcje jego wyprowadzeń pokazano w tabeli 6. Tabela 4. Zawartość pamięci LMP_ROM Bajt Znaczenie 0xAE Wyłączenie 0x75 Ustawienie adresu wiersza 0x3F 0x15 Ustawienie adresu kolumny 0x5F 0xA0 Ustawienie formatu danych 0x72 RGB 565 0xA1 Ustawienie wiersza startowego RAM 0xA2 Ustawienie offsetu wyświetlacza 0xA4 Ustawienie trybu wyświetlacza 0xA8 Ustawienie multipleksera 0x3F 0xAD Ustawienia ogólnej konfiguracji 0x8F 0xB0 Konfiguracja trybu oszczędzania energii 0x1A 0xB1 Ustawienie okresu fazy 1 oraz 2 0x74 0xB3 Ustawienie stosunku dzielnika zegara do częstotliwości oscylatora 0xD0 0x8A Ustawienie poziomu Second Pre-charge Speed dla koloru A 0x81 0x8B Ustawienie poziomu Second Pre-charge Speed dla koloru B 0x82 0x8C Ustawienie poziomu Second Pre-charge Speed dla koloru C 0x83 0xBB Ustawienie wartości Pre-charge 0x3E 0xBE Ustawienie poziomu VCOMH 0x3E 0x87 Konfiguracja wartości natężenia prądu 0x0F 0x81 Konfiguracja kontrastu A 0x82 Konfiguracja kontrastu B 0x83 Konfiguracja kontrastu C 0xAF Uruchomienie wyświetlacza 102 ELEKTRONIKA PRAKTYCZNA 3/2017

Aplikacje maximatora Pod adresem https:// goo.gl/f7nshq są dostępne przykładowe projekty przygotowane za pomocą bezpłatnego programu Intel Quartus Prime dla zestawu maximator. Dostępne jest tam także kompletny zestaw plików źródłowych projektu prezentowanego w EP. Rysunek 4. Przebiegi sygnałów w module Flash podczas odczytu Tabela 6. Funkcje wyprowadzeń bloku CLS_Command Clk Reset Busy Start command_output[7..0] Magistrala komend _out CLS_Command Tabela 7. Funkcje wyprowadzeń bloku SetPixel_Command Clk Busy start pos_x Numer wiersza pos_y Numer kolumny color Kolor piksela w formacie RGB565 command_output[7..0] Magistrala komend _out DrawPixel_Command SetPixel_Command, którego zadaniem jest zaświecenie w zadanym kolorze pojedynczego piksela o ustalonym adresie. Funkcje jego wyprowadzeń pokazano w tabeli 7. DrawImageFull_Command, który pobiera zapisany w pamięci Flash obraz w celu wyświetlenia go na ekranie. Funkcje jego wyprowadzeń pokazano w tabeli 8. Moduł Flash Ten moduł służy do implementacji pamięci Flash (UFM), która może być zainicjalizowana odpowiednio przygotowanym plikiem hex lub mif (memory initialization file). Na rysunku 4 pokazano Rysunek 5. Wprowadzenie ścieżki dostępu do plików obrazu Rysunek 6. Ekran powitalny programu Konwerter_RGB565 przebiegi sygnałów podczas odczytu. Pojemność pamięci w układzie MAX10 znajdującym się w zestawie MAXimator pozwala na zapamiętanie dwóch obrazków o rozdzielczości 96 64 pikseli w formacie RGB565. Aby wybrać plik, który ma zostać wgrany należy w pliku Flash.vhd w linii 93 (rysunek 5) podać ścieżkę bezwzględną np: INIT_FILENAME => D:/Projekty/Maximator/ OLED/Test.mif. Dodatkowe oprogramowanie W ramach projektu utworzono aplikację Konwerter_RGB565, której zadaniem jest wygenerowanie pliku.mif z wybranych przez ELEKTRONIKA PRAKTYCZNA 3/2017 103

Tabela 8. Funkcje wyprowadzeń bloku DrawImage- Full_Command start flash_data Magistrala danych pamięci Flash flash_read_data_valid Sygnał informujący o gotowości danych do odczytu flash_address_offset Offset adresu pamięci Flash flash_read Sygnał inicjalizujący odczyt danych flash_address Adres z którego odczytujemy dane command_output[7..0] Magistrala komend _out DrawImageFull_Command użytkownika obrazków w formacie.bmp i wymiarach 96 64 piksele (odpowiada matrycy OLED użytego wyświetlacza). Skompilowana aplikacja jest dostępna w portalu https://goo.gl/hxtqgr. Po uruchomieniu programu (rysunek 6) należy kliknąć przycisk Wczytaj obraz(y), po czym zostanie wyświetlone okno wyboru plików do wczytania. Należy zaznaczyć jeden lub dwa obrazy (mając dwa obrazy trzeba je zaznaczyć jednocześnie, np. za pomocą klawisza CTRL). Obrazy powinny mieć format BMP, 24-bity, RGB, wymiary 94 64 piksele, 96 DPI). Po wybraniu i otwarciu obrazków są wyświetlane ich miniaturki. Przycisk Zapisz plik.mif jest aktywny. Po jego kliknięciu program zapyta się, gdzie zapisać wygenerowany plik.mif. Na fotografii 7 pokazano przykładowy efekt działania projektu: wyświetlenie obrazka, miniaturowej fotografii zestawu maximator na wyświetlaczu OLED. Mateusz Mamala, AGH Fotografia 7. Wynik działania projektu z przykładu REKLAMA Elektronika Praktyczna na 104 ELEKTRONIKA PRAKTYCZNA 3/2017