TeleVGA. Dokumentacja wer. 1.03



Podobne dokumenty
Programowanie Mikrokontrolerów

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

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

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

Zespół Szkół Technicznych. Badanie wyświetlaczy LCD

Programowanie mikrokontrolerów. 8 listopada 2007

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

Czytnik kart zbliżeniowych PROX 4k Instrukcja obsługi kartą Master

Komunikacja w mikrokontrolerach Laboratorium

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Instrukcja obsługi elektronicznego licznika typu 524. Model 524. Licznik sumujący i wskaźnik pozycji typu Opis. 1. Opis

Technika mikroprocesorowa. Konsola do gier

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

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

INSTRUKCJA OBSŁUGI K3-3. Czytnik kart i zamek kodowy z kontrolerem dostępu i interfejsem Wiegand. Copyright Domster T. Szydłowski

interfejs szeregowy wyświetlaczy do systemów PLC

Q3 Autonomiczny czytnik kart i zamek kodowy z kontrolerem dostępu, przyciskiem dzwonka i interfejsem Wiegand

Kod produktu: MP01611-ZK

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

Kod produktu: MP01611

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

TRD-MINI COMBO. Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM. Podstawowe cechy :

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

Moduł temperatury TMB-880EXF Nr produktu

Mikroprocesory i Mikrosterowniki Laboratorium

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

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

Ćwiczenie 7 Matryca RGB

Kod produktu: MP01105T

GND(VSS) i VCC - masa i zasilanie. V0 - regulacja kontrastu

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Kod produktu: MP01611-ZK

Układy Cyfrowe. Symulacje komputerowe Realizacja prototypu projektu z wykorzystaniem systemu CAD. Projekt: Realizacja:

ZESTAW PRZEDŁUŻAJĄCY HDMI, FULL HD

Instrukcja obsługi czytnika MM-R32

1W-H3-04P (K)* *Litera K odnosi się do wersji czytnika ze wspólną katodą. Czytnik RFID 125 khz Unique. Karta produktu

Technika Mikroprocesorowa

Wstęp Architektura... 13

Enkoder magnetyczny AS5040.

Kod produktu: MP01105

SML3 październik

Moduł licznika położenia LP 2.

Dokumentacja Techniczna. Czytnik RFID UW-M4GM

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

Opis układów wykorzystanych w aplikacji

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

Politechnika Wrocławska

Programator układów HCS

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

Sterownik nagrzewnic elektrycznych HE module

Opis czytnika TRD-FLAT 2LN ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Interfejs analogowy LDN-...-AN

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

Dokumentacja Techniczna. Konwerter USB/RS-232 na RS-285/422 COTER-24I COTER-24N

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Wersja polska PROLIGHT

Programowany układ czasowy

Dokumentacja Licznika PLI-2

MultiTool instrukcja użytkownika 2010 SFAR

Częstościomierz wysokiej rozdzielczości

Kontroler Xelee Master DMX64/512 - Instrukcja obsługi. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi.

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

Moduł przełączania temperatury Nr produktu

Opis ultradźwiękowego generatora mocy UG-500

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

T2200HD/T2200HDA Szerokoekranowy monitor LCD 21,5 Podręcznik użytkownika

KONTROLER AUTONOMICZNY K601-UK-KR

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Instrukcja obsługi Elektroniczny licznik nastawny Typ 903

Układ pomiarowy CoachLab II

1W-H0-04P (K)* *Litera K odnosi się do wersji czytnika ze wspólną katodą. Czytnik RFID MHz Mifare. Karta produktu

Moduł monitoringu energii elektrycznej

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

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

Licznik rewersyjny MD100 rev. 2.48

Terminal zasilający VersaPoint

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

Układy czasowo-licznikowe w systemach mikroprocesorowych

d&d Labo Dekoder Ledv.4 Przeznaczenie, działanie: Montaż:

Moduł rozszerzeń ATTO dla systemu monitorującego SMOK.

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

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

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

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Zamek Szyfrowy BC Instrukcja Obsługi

dokument DOK wersja 1.0

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

INSTRUKCJA OBSŁUGI R3/R4 R3-K/R4-K. Czytnik kart z interfejsem Wiegand. Czytnik kart i zamek kodowy z interfejsem Wiegand

T2210HD/T2210HDA Szerokoekranowy monitor LCD 21,5 Podręcznik użytkownika

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Moduł wejść/wyjść VersaPoint

INSTRUKCJA PANEL STERUJĄCY MT-5

Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

ORVALDI ATS. Automatic Transfer Switch (ATS)

Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m

AWZ516 v.2.1. PC1 Moduł przekaźnika czasowego.

Mikroprocesorowe Liczniki Rejestrujące MLR-2.1 RS-232 Modbus, MLR-2.1 RS-485 Modbus

Transkrypt:

Dokumentacja wer. 1.03

Spis treści Wprowadzenie... 3 Opis złącz karty... 4 Złącze komunikacyjne - J1... 4 Złącze monitora - J2... 4 Złącze serwisowe - J3... 4 Złącze zasilania - J4 (opcja)... 5 Schemat blokowy karty... 5 Rozmieszczenie złącz oraz rozstaw otworów montażowych... 6 Komunikacja z kartą... 6 Poziomy napięć sygnałów interfejsu SPI... 7 Zasilanie karty... 7 Tabela rejestrów... 8 Rejestr VGA_CONTROL... 8 Podział pamięci karty... 9 Programowanie karty... 10 Inicjalizacja... 10 Programowanie generatora znaków... 10 Czyszczenie pamięci obrazu... 11 Konfiguracja karty... 11 Tworzenie obrazu... 12 Przykłady... 12 Przebiegi sygnałów synchronizacji poziomej i pionowej... 14 Historia dokumentacji... 15

Wprowadzenie Moduł TeleVGA jest układem karty graficznej pracującej w trybie tekstowym. Rozdzielczość obrazu karty to 30 linii po 80 znaków (640x480 punktów) z 3-bitową głębią kolorów. Obsługuje dwie strony pamięci obrazu i 4 generatory znaków (po 256 znaków każdy). Umożliwia jednoczesne wyświetlanie znaków z różnych generatorów co pozwala na tworzenie obrazu składającego się z tekstu i semigrafiki. Dzięki szeregowemu interfejsowi SPI wymaga tylko 4-6 linii do podłączenia mikrokontrolera. Karta przystosowana jest do pracy z zasileniem 3.3V lub 5V (opcja), umożliwia podłączenie monitora poprzez standardowe złącze D-Sub (15HD). Wymienione cechy sprawiają, że TeleVGA może być dodatkowym modułem dla nowoprojektowanych lub gotowych systemów mikroprocesorowych. W prosty sposób rozbuduje projekt o obsługę monitora np. panelu LCD. Podstawowe cechy: rozdzielczość 30x80 znaków (tryb monitora 640x480 60Hz) 3-bitowa głębia koloru 4 generatory znaków (po 256 znaków każdy) 2 strony pamięci obrazu 2 rodzaje kursora atrybuty podkreślenia i migania interfejs szeregowy SPI tryb niskiego poboru prądu - uśpienia zasilanie 3.3V lub 5V (opcja) złącze monitora DB15-HD złącze interfejsu i zasilania IDC10 3

Opis złącz karty Złącze komunikacyjne - J1 Pin Symbol Opis 1 CLK Sygnał zegarowy 2 MOSI Sygnał danych 3 CS Sygnał wyboru karty 4 MISO Sygnał danych 5 RESET Sygnał resetu karty 6 SLEEP Sygnał wybory trybu niskiego poboru mocy 7,8 3.3V Zasilanie karty 9,10 GND Masa GND IDC2x5 raster 2.54mm (J1-CONTROL) Złącze monitora - J2 Pin Symbol Opis 1 R Sygnał koloru czerwonego 2 G Sygnał koloru zielonego 3 B Sygnał koloru niebieskiego 4 ID2 Niewykorzystane 5 GND Niewykorzystane 6 R GND Masa GND 7 G GND Masa GND 8 B GND Masa GND 9 KEY Niewykorzystane 10 SYNCGND Masa GND 11 ID0 Niewykorzystane 12 ID1 Niewykorzystane 13 HSYNC Sygnał synchronizacji poziomej 14 VSYNC Sygnał synchronizacji pionowej 15 ID3 Niewykorzystane Złącze monitora D-Sub 15HD żeńskie (J2-VGA) Złącze serwisowe - J3 Pin Symbol Opis 1 GND Masa GND 2 3.3V Zasilanie 3.3V 3 TDI JTAG-TDI 4 TDO JTAG-TDO 5 TCK JTAG-TCK 6 TMS JTAG-TMS Pin6x1 raster 1,27mm (J3-JTAG) 4

Złącze zasilania - J4 (opcja) Pin Symbol Opis 1 GND Masa GND 2 5V Zasilanie 5V Pin 2x1 raster 2.54mm. (J4-5V) Złącze występuje tylko w wersji do systemów zasilanych napięciem 5V. Schemat blokowy karty 5

Rozmieszczenie złącz oraz rozstaw otworów montażowych Komunikacja z kartą Komunikacja z kartą odbywa się poprzez interfejs szeregowy SPI składający się z następujących linii: Nazwa sygnału Funkcja MASTER VGA CS Sygnał wyboru karty Wyjście Wejście CLK Sygnał wyboru karty Wyjście Wejście MOSI Sygnał danych Wyjście Wejście MISO Sygnał danych Wejście Wyjście RESET* Sygnał resetu karty Wyjście Wejście SLEEP** Sygnał wybory trybu niskiego poboru mocy Wyjście Wejście *Sygnał RESET inicjuje tylko układ generacji sygnałów synchronizacji i video oraz powoduje wyzerowanie wszystkich rejestrów jednak nie wpływa na zawartości pamięci VRAM i CGRAM. Sygnał RESET aktywny jest poziomem 0. **Sygnał SLEEP powoduje przejście karty w tryb obniżonego poboru mocy. Zawartość pamięci VRAM,CGRAM zostaje zachowana. Po wyjściu z trybu SLEEP karta musi zostać zresetowana a rejestry ponownie skonfigurowane. Sygnał SLEEP aktywny jest poziomem 1. Maksymalna częstotliwość zegara CLK wynosi 10MHz. Przykładowy przebieg transmisji SPi przedstawiono na rysunku. 6

Poziomy napięć sygnałów interfejsu SPI Tabela dla VCC = 3,3 V Min [V] Max [V] Opis VIH 2,4 5* Napięcie wejściowe dla stanu 1 VIL - 0,8 Napięcie wejściowe dla stanu 0 VOH IOH = -50µA 3,2 - IOH = -4mA 2,8 - Napięcie wyjściowe dla stanu 1 VOL IOL = 50µA - 0,1 IOL = 4mA - 0,4 Napięcie wyjściowe dla stanu 0 *Linie wejściowe są odporne na napięcie +5 V Układ nadrzędny sterują kartą poprzez zapis i odczyt 7 rejestrów (patrz Tabela rejestrów ). Dostęp do rejestru składa się z dwóch etapów: 1. Pierwszy etap to przesłanie adresu rejestru i znacznika kierunku 2. Drugi etap do przesłanie danych do/z rejestru. Karta rozpoznaje początek cyklu na podstawie zmiany sygnału CS z 0 na 1 a koniec na podstawie zmiany sygnału CS z 1 na 0. Dane do karty są zapisywane na narastającym zboczu sygnału CLK a odczytywane na opadającym zboczu CLK. (SPI Mode 0). Wszystkie transmisje odbywają się w cyklu najstarszy bit (MSB) pierwszy, najmłodszy bit (LSB) ostatni. Zasilanie karty Karta wymaga zasilania stabilizowanym napięciem 3,3 V. Pobór prądu wynosi <35mA dla trybu aktywnego (SLEEP= 0 ) a <300µA dla trybu uśpienia (SLEEP= 1 ). W przypadku współpracy karty z systemami zasilanymi napięciem +5 V istnieje opcja montażu na karcie, dodatkowego stabilizatora napięcie +3,3 V. W takim przypadku karta zasilana jest przez złącze J4 a PINy 7 i 8 na złączu J1 pozostają niewykorzystane. 7

Tabela rejestrów TeleVGA Nazwa rejestru Adres rejestru Funkcja rejestru Bit 7 6 5 4 3 2 1 0 Dostęp VGA_ADDR_WR_LO 80h Adres VRAM/CGRAM zapis A7 A6 A5 A4 A3 A2 A1 A0 zapis VGA_ADDR_WR_HI 90h Adres VRAM/CGRAM zapis A15 A14 A13 A12 A11 A10 A9 A8 zapis VGA_ADDR_RD_LO A0h Adres VRAM/CGRAM odczyt A7 A6 A5 A4 A3 A2 A1 A0 zapis VGA_ADDR_RD_HI B0h Adres VRAM/CGRAM odczyt A15 A14 A13 A12 A11 A10 A9 A8 zapis VGA_DATA_WR C0h Dana do zapisu VRAM/CGRAM D7 D6 D5 D4 D3 D2 D1 D0 zapis VGA_DATA_RD 40h Dana odczytana z RAM/CGRAM D7 D6 D5 D4 D3 D2 D1 D0 odczyt VGA_CONTROL D0h Konfiguracja karty LCEN VM VEN CT CEN PNR CHG1 CHG0 zapis Rejestr VGA_CONTROL W tabeli przedstawiono opis poszczególnych bitów dla rejestru VGA_CONTROL Nazwa bitu LCEN VM VEN CT CEN PNR CHG0, CHG1 Funkcja kursor podwójnej szerokości tryb video 0 - tryb z atrybutami migania i podkreślenia znaków 1 - tryb z czterema generatorami znaków załączenie sygnału video tryb kursora 0 - kursor podkreślenie 1 - kursor pełny załączenie kursora numer strony VRAM numer generatora znaków (tylko gdy VM=0) 8

Podział pamięci karty Pamięć karty podzielona jest na 6 obszarów: Nazwa Funkcja Adres Wielkość VRAM VPAGE0 Pamięć obrazu strona 0 0000h 8192 bajty (4800+3392)* VRAM VPAGE1 Pamięć obrazu strona 1 2000h 8192 bajty (4800+3392)* CGRAM CHARGEN0 Pamięć generatora znaków 0 4000h 4096 bajtów CGRAM CHARGEN1 Pamięć generatora znaków 1 5000h 4096 bajtów CGRAM CHARGEN2 Pamięć generatora znaków 2 6000h 4096 bajtów CGRAM CHARGEN3 Pamięć generatora znaków 3 7000h 4096 bajtów *3392 bajty niewykorzystane, mogą zostać użyte jako np. zewnętrzny RAM dla mikroprocesora. Każdy wyświetlany znak jest opisywany poprzez kod znaku i atrybuty wyświetlania. Atrybuty opisują kolor znaku, kolor tła, numer generatora znaków (dla VideoMode=0), załączenie migania BLINK (dla VideoMode=1) i załączenie podkreślenia UNDERLINE (dla VideoMode=1). Pozycja bitu Funkcja Uwagi B2,B1,B0 Kolor znaku 000 - czarny (BLACK) 001 - czerwony (RED) 010 - zielony (GREEN) 100 - niebieski (BLUE) 011 - żółty (YELLOW) 101 - purpurowy (MAGENTA) 110 - cyjan (CYAN) 111 - biały (WHITE) B5,B4,B3 Kolor tła 000 - czarny (BLACK) 001 - czerwony (RED) 010 - zielony (GREEN) 100 - niebieski (BLUE) 011 - żółty (YELLOW) 101 - purpurowy (MAGENTA) 110 - cyjan (CYAN) 111 - biały (WHITE) B6 Miganie (BLINK) Tylko gdy VM=0 B7 Podkreślenie(UNDERLINE) Tylko gdy VM=0 B7,B6 Numer generatora znaków Tylko gdy VM=1 9

Programowanie karty Inicjalizacja Proces inicjalizacji karty powinien przebiegać w następujący sposób: załączenie zasilania karty ustawnie linii CS i SLEEP w stan nieaktywny podanie impulsu 1->0->1 na linii RESET zaprogramowanie jednego lub wszystkich generatorów znaków wyczyszczenie pamięci VRAM strona0 i strona1 skonfigurowanie trybu pracy karty poprzez zapis do rejestru VGA_CTRL Od tego momentu karta jest gotowa do pracy. Programowanie generatora znaków Wyświetlane znaki mają format 8x16 punktów. Definicja pojedynczego znaku składa się z 16 bajtów. Przykładowy znak i opowiadający mu ciąg danych przedstawiono poniżej: Programowanie generatora znaków polega na: 1. Obliczeniu adresu definiowanego znaku. Adres wyliczany jest w następujący sposób: adres początku wybranego generatora znaków + numer znaku*16 2. Zapisaniu wyliczonego adresu do rejestrów VGA_ADDR_WR_LO (młodsze 8 bitów) oraz VGA_ADDR_WR_HI (starsze 8 bitów). Wymagana jest kolejność zapisu LO HI. 3. Zapisaniu 16 bajtów danych do rejsteru VGA_DATA_WR Zapis do rejestru VGA_DATA_RD powoduje automatyczne inkrementację adresu (rejestry VGA_ADDR_WR_HI i VGA_ADDR_WR_LO). Definiując kolejny znak nie jest wymagane ustawianie adresu a tylko dalszy zapis do rejestru VGA_DATA_WR. Po osiągnięciu końca pamięci wybranego generatora, następuje przesunięcie adresu na następny generator. UWAGA: W przypadku zapisu definicji ostatniego znaku w generatorze CHARGEN3 nastąpi ustawienie adresu na 0000h czyli początek pamięci obrazu VRAM strona 0. 10 18h 18h 7Ch C6h C2h C0h 7Ch 06h 06h 86h C6h 7Ch 18h 18h 00h 00h

Czyszczenie pamięci obrazu Wyczyszczenie pamięci obrazu polega na wypełnieniu pamięci VRAM znakami Spacji. Konfiguracja karty Skonfigurowanie karty polega na zapisie bajtu konfiguracji do rejestru VGA_CTRL. Aby nastąpiło załączenie sygnału video wymagane jest ustawienie bitu VEN (Video Enable). Karta może pracować w dwóch trybach: VM (Video Mode)=0 VM=1 Pierwszy tryb umożliwia wyświetlanie znaków z czterech dostępnych generatorów. Mamy tym samych dostępne 1024 znaki, co pozwala na wyświetlanie tekstu i np. definiowanej sami-grafiki. Tryb drugi umożliwia dostęp tylko do jednego generatora znaków jednak powala nadawać znakom dodatkowe atrybuty migania (BLINK) i podkreślenia (UNDERLINE). W przypadku tego trybu bity CHG0 (Character Generator 0) i CHG1 (Charakter Generator 1) określają, który generator znaków jest wykorzystywany przy wyświetlaniu. Praca kursora definiowana jest poprzez 3 bity CEN (Kursor Enable), CT (Kursor Type) i CLEN (Large Kursor Enable). Bit CEN odpowiada za załączanie i wyłączanie wyświetlania kursora. Bit CT określa typ wyświetlanego kursora, gdy CT=0 wyświetlany jest kursor typu migające podkreślenie natomiast gdy CT=1 wyświetlany jest kursor typu migające pole. Bit LCEN załącza wyświetlanie kursora o podwójnej szerokości. Obsługa wyświetlania znaków o podwójnej szerokości (16x16 punktów) jest realizowana w trybie programowym. Wymaga zdefiniowania lewej i prawej części znaku oraz odpowiednie ich wyświetlenie. Gdy LCEN=1 to kursor jest automatycznie wyświetlany na obydwu częściach znaku. Bit PNR (Page Numer) określa, która strona pamięci VRAM jest aktualnie wykorzystywana do wyświetlania. Karta umożliwia wyświetlanie jednej strony pamięci gdy w międzyczasie możliwe jest przygotowywanie informacji na drugiej stronie. 11

Tworzenie obrazu Wyświetlenie znaku na określonej pozycji na ekranie polega na: 1. Obliczeniu adresu kursora. Adres kursora wyliczany jest w następujący sposób: Adres początku strony pamięci VRAM + pozycjay *256 + pozycja X*2. Pozycje kursora są numerowane od 0-79 dla osi X oraz od 0-29 dla osi Y. 2. Zapisaniu wyliczonego adresu kursora do rejestrów VGA_ADDR_WR_LO (młodsze 8 bitów) oraz VGA_ADDR_WR_HI (starsze 8 bitów). Wymagana jest kolejność zapisu LO HI. 3. Zapisaniu kodu znaku do rejestru VGA_DATA_WR 4. Zapisaniu atrybutu znaku do rejestru VGA_DATA_WR Zapis do rejestru VGA_DATA_RD powoduje automatyczne inkrementację adresu kursora (rejestryvga_addr_wr_hi i VGA_ADDR_WR_LO). Wyświetlając znak na kolejnej pozycji nie jest wymagane ustawianie adresu kursora. Po osiągnięciu końca linii nastąpi przejście kursora do nowej linii. Należy pamiętać, że zawsze zapisywana jest para danych kod znaku i jego atrybut. Karta umożliwia odczyt pamięci VRAM i CGRAM. Dzięki temu możliwe jest uproszczenie procedur przewijania ekranu lub jego fragmentów (scrolling). Procedura odczytu znaku i jego atrybutów jest analogiczna do procedury zapisu z tym że po zapisaniu adresu kursora musi nastąpić dwukrotny odczyt z rejestru VGA_DATA_RD. Przykłady Przykładowe procedury w języku C przedstawiono poniżej. Pełna biblioteka obsługi karty i przykłady są dostępne na stronie www.televox.pl // Wyświetlenie czerwonego znaku A na pozycji X=5 Y=7 bcurx=5; bcury=7; VGA_Write_Addr_Set (bcury<<8 bcurx<<1); VGA_Put_Char ( A, BLACK<<3 RED); //------------------------------------------------------------------------------ // Wyświetlenie znaku na aktualnej pozycji kursora. // Wej: bchar - kod znaku // battr - atrybut znaku void VGA_Put_Char (uint8_t bchar, uint8_t battr) { VGA_Transmit (VGA_DATA_WR, bchar); VGA_Transmit (VGA_DATA_WR, battr); } //------------------------------------------------------------------------------ // Zapis adresu do pary rejestrów VGA ADDR_WR (ustawienie pozycji kursora) // Wej: wdata - adres void VGA_Write_Addr_Set (uint16_t wdata) { VGA_Transmit (VGA_ADDR_WR_LO, wdata&0xff); VGA_Transmit (VGA_ADDR_WR_HI, (wdata>>8)&0xff); } 12

//----------------------------------------------------------------------------- // Zapis rejestru karty VGA // Wej: bregadrr - adres rejestru // bdata - dana do zapisu void VGA_Transmit (uint8_t bregaddr, uint8_t bdata) { SPI_CS = 1; SPI_Transmit (bregaddr); SPI_Transmit (bdata); SPI_CS = 0; while (SPI_MISO); // oczekiwanie na koniec cyklu zapisu } // karta sygnalizuje gotowość poprzez wystawienie '0' // na linii MISO 13

Przebiegi sygnałów synchronizacji poziomej i pionowej Obraz Wartość Jednostka Ilość punktów w poziomie 640 - Ilość linii w pionie 480 - Synchronizacja pozioma (H) Częstotliwość 31.25 khz Polaryzacja (Polarity) - Okres (Period) 32 [ s] Aktywny obszar (Active Area) 25.6 [ s] Szerokość impulsu (Pulse Width) 3.84 [ s] Okres nieaktywny przed impulsem(front Porch) 0.64 [ s] Okres nieaktywny za impulsem (Back Porch) 1.92 [ s] Synchronizacja pionowa (V) Częstotliwość 60.56 Hz Polaryzacja (Polarity) - Okres (Period) 16.512 [ms] Aktywny obszar (Active Area) 15.36 [ms] Szerokość impulsu (Pulse Width) 64 [ s] Okres nieaktywny przed impulsem(front Porch) 64 [ s] Okres nieaktywny za impulsem (Back Porch) 896 [ s] Synchronizacja pozioma (H) Synchronizacja pionowa (V) 14

Historia dokumentacji Wersja Data Opis zmian 1.00 22 listopada 2010-1.01 3 grudnia 2010 Poprawienie grafiki 1.02 20 stycznia 2012 Poprawa rejestrów tabeli VGA_CONTROL 1.03 17 kwietnia 2012 Zmiana w procedurze inicjalizacji. Dodatkowa informacja o sygnałach RESET i SLEEP 15

ul. Dobrego Pasterza 100 31-416 Kraków tel (012) 415-67-00 fax (012) 415-67-15 e-mail: biuro@televox.pl http://www.televox.pl