Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałSzczepan Usarek Został zmieniony 11 lat temu
1
Pomysł Sukces Wstępne rozwiązanie Symulacja Wynik zadowala? Poprawa rozwiązania Nie Tak Podstawowa pętla projektowania
2
Tworzenie prototypu Implementacja Wersja finalna Tworzenie prototypu Testowanie Wszystko OK? Modyfikacja prototypu Nie Tak Drobne błędy ? Tak Nowy prototyp Zalety układów programowalnych i płytek testowych Nie
3
Automat o skończonej liczbie stanów w VHDL-u
4
deklaracje bibliotek
5
entity model_name is end model_name;
6
deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name;
7
deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name; architecture behavior of model_name is end behavior;
8
deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name; architecture behavior of model_name is internal signal declarations begin end behavior;
9
deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name; architecture behavior of model_name is internal signal declarations begin –– proces state definije elementy pamięciowe state: process ( lista czułości –– clock, reset, wejścia next_state ) begin vhdl statements for state elements end process state; end behavior;
10
deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name; architecture behavior of model_name is internal signal declarations begin –– proces state definije elementy pamięciowe state: process ( lista czułości –– clock, reset, wejścia next_state ) begin vhdl statements for state elements end process state; –– proces comb definiuje logikę kombinacyjną comb: process ( lista czułości –– zwykle zawiera wszystkie wejścia) begin vhdl statements which specify combinational logic end process comb; end behavior;
11
Deklaracje zmiennych pomocniczych architecture zachowanie of automat is type stan is (stan1, stan2, stan3…); -- lista możliwych stanów signal aktualny_stan, nastepny_stan : stan; begin ….
12
Proces kombinacyjny polecenie case case wyrażenie is when wartość => przypisania wyjść; warunkowe przypisania następnych stanów; ….. end case;
13
Proces kombinacyjny Nie zapomnieć o przypisaniu standardowych wartości wyjść na początku procesu!!!
14
Proces sekwencyjny state: process(clk, reset) begin if (reset = 0) then aktualny_stan <= wartość; elsif (clkevent and clk = 1) then aktualny_stan <= nastepny_stan; end if; end process state;
15
Protokół PS/2 Wybrane szczegóły
16
Wiadomości ogólne synchroniczna, dwukierunkowa komunikacja szeregowa między hostem a urządzeniem tylko jedna strona może nadawać w danej chwili ogólnie standard umożliwia przesyłanie różnorodnych komend w obie strony nas interesuje tryb "Stream mode, kiedy urządzenie nadaje spontanicznie pakiety danych do hosta opisujące ruch myszy lub naciskanie przycisków
17
Schemat połączeń PS/2 wykorzystuje dwie linie sygnałowe, zasilanie +5V i masę. Linie CLK i DATA są dwukierunkowe (standard otwarty kolektor); normalnie podciągnięte do poziomu wysokiego (+5V) przez rezystory 5-10K po stronie hosta. Obie strony mogą wymuszać na liniach stan niski. W stanie ciszy obie linie są w stanie wysokim. Host może zablokować transmisję z urządzenia przez wymuszenie na CLK stanu niskiego.
18
Komunikacja szeregowa do hosta Sygnał CLK przy przesyłaniu każdego bitu jest przez 30-50ms (t1) w stanie niskim i przez 30-50ms (t2) w stanie wysokim. Poziom linii DATA ustala się na co najmniej 5ms (t3) przed opadającym zboczem CLK i co najmniej 5ms (t4) po narastającym zboczu zegara.
19
Transmisja pojedynczego bajtu Każdy transmitowany bajt zawiera: - bit startu ( logiczne 0), - 8 bitów danych (pierwszy LSB), - bit parzystości (parzystość nieparzysta) - i bit stopu (logiczne 1). Nieparzysta parzystość oznacza, że w 8 bitach danych i bicie parzystości przy prawidłowej transmisji musi znajdować się nieparzysta liczba jedynek. Podczas transmisji urządzenie generuje sygnał CLK dla wszystkich 11bitów i jednocześnie wymusza na linii DATA stan niski dla przesłania logicznego 0 lub nie robi nic i wtedy linia DATA jest podciągana na logiczne 1.
20
Stany pomiędzy transmisją danych Idle - CLK i DATA w stanie wysokim, brak aktywności na magistrali. Inhibit - host wymusza na CLK stan niski, urządznienie nie może transmitować danych. Wewnętrzne działanie myszy trwa. Request to send - host wymusza na linii DATA stan niski i stan wysoki na CLK – oznacza to, że jest gotów do przesłania komendy lub bajtu z argumentem do urządzenia.
21
Domyślny format danych tzw. tryb Stream mode Y ovfl: 1 = wartość Y delta jest spoza zakresu -256….255, 0 = brak przepełnienia. Jeśli 1, Y delta ma wartość -256 lub +255. X ovfl: 1 = wartość X delta jest spoza zakresu -256….255, 0 = brak przepełnienia. Jeśli 1, X delta ma wartość -256 lub +255. Y sign: 1 = wartość Y ujemna, 0 = Y delta zero lub dodatnia X sign: 1 = wartość X ujemna, 0 = X delta zero lub dodatnia. Middle: 1= przycisk środkowy naciśnięty, 0 = zwolniony. Right: 1= prawy przycisk naciśnięty, 0 = zwolniony. Left: 1= lewy przycisk środkowy naciśnięty, 0 = zwolniony. X delta : wielkość przesunięcia w kierunku X (poziomym) od ostatniego przesunięcia. Wraz z bitem X sign bajt ten tworzy 9 bitową liczbę ze znakiem w kodzie z uzupełnieniem do 2. Y delta : jak wyżej dla kierunku pionowego. Wartości dodatnie – ruch w górę.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.