Sprzętowy dekoder protokołu RC5

Wielkość: px
Rozpocząć pokaz od strony:

Download "Sprzętowy dekoder protokołu RC5"

Transkrypt

1 Sprzętowy dekoder RC5 1 Sprzętowy dekoder protokołu RC5 Współcześnie, w większości przypadków, dekodowanie sygnałów zdalnego sterowania realizowane jest w sposób programowy z wykorzystaniem mikrokontrolerów. Alternatywnie, do dekodowania poszczególnych protokołów zdalnego sterowania można zastosować rozwiązania całkowicie sprzętowe. Dzięki zastosowaniu współcześnie bardzo dynamicznie rozwijających się układów programowalnych i komputerowych narzędzi syntezy logicznej jest to zadanie stosunkowo nieskomplikowane (w porównaniu z klasycznymi metodami projektowania i realizacji układów cyfrowych z wykorzystaniem katalogowych układów scalonych) i tanie w realizacji. W niniejszym opracowaniu przedstawiono sprzętowy dekoder protokołu RC5, z interfejsem równoległym oraz szeregowym interfejsem kompatybilnym z SPI, opisany w języku Verilog i zrealizowany z wykorzystaniem układów CPLD firmy Xilinx. Dekodowanie protokołu RC5 W protokole RC5 do kodowania przesyłanych bitów stosowany jest kod Manchester. Czas trwania bitu jest stały i wynosi 1.778ms. Bit o wartości logicznej 1 kodowany jest jako zmiana poziomu sygnału z niskiego na wysoki (zbocze narastające) w połowie czasu trwania bitu. Bit o wartości logicznej 0 kodowany jest jako zmiana poziomu sygnału z wysokiego na niski (zbocze opadające) również w połowie czasu trwania bitu. Inaczej można też powiedzieć, że jedynka logiczna kodowana jest jako kolejno: przerwa o czasie trwania równym połowie czasu trwania bitu, czyli 889µs i impulsu o identycznym czasie trwania. Podobnie zero logiczne kodowane jest jako kolejno: impuls o długości 889µs (połowa czasu trwania bitu) oraz przerwa o takim samym czasie trwania S1 S T A4 A3 A A1 A0 C5 C4 C3 C C1 C0 Rys.. Ramka danych protokołu RC5. Na rys. przedstawiono przykładową ramkę danych protokołu RC5. Pierwsze dwa przesyłane bity S1 i S to bity startowe, których wartość logiczna zawsze równa jest 1. Kolejnym, trzecim przesyłanym bitem jest bit T informujący o przytrzymaniu klawisza w pilocie zdalnego sterowania. Bit ten zmienia swoją wartość na przeciwną, za każdym razem, kiedy naciskany jest klawisz w pilocie (wysyłane jest polecenie). W przypadku, kiedy klawisz w pilocie przytrzymany zostanie dłużej, kolejno wysyłane są identyczne ramki danych w odpowiednich odstępach czasowych bit T nie jest wówczas cyklicznie negowany i ma cały czas stałą wartość. Kolejne przesyłane bity A4...A0 to bity adresu urządzenia RC5. Ostatnie 6 bitów ramki danych C0...C5 stanowią bity kodu polecenia. Ponieważ protokół RC5 wykorzystuje kodowanie Manchester, dlatego też do jego dekodowania można zastosować metody identyczne jak dla tego kodu. Dekodowanie kodu Manchester realizowane jest bądź z użyciem układów czasowych, bądź automatu synchronicznego. Na rys. 3 przestawiono ideę dekodowania protokołu RC5 z wykorzystaniem układu czasowego. Układ różniczkujący wytwarza impulsy przy każdej zmianie sygnału wejściowego. Impulsy te wyzwalają monowibrator (generator monostabilny), który generuje impulsy o szerokości równej 3/4 czasu trwania bitu w protokole RC5 (ok. 1.3ms). Jeżeli następny impuls wyzwalający (następne zbocze) pojawi się wówczas, gdy monowibrator nie zakończył jeszcze generowania impulsu, to powtórne wyzwolenie mo-

2 Sprzętowy dekoder RC5 nowibratora nie nastąpi. Zanegowane impulsy monowibratora stanowią sygnał zegarowy taktujący przerzutnik D, na którego wyjściu Q występują wartości zdekodowanych bitów. A układ różniczkujący B monowibrator C D SET CLR Q Q wy zegar A B C 3/4T wy T Rys. 3. Ilustracja idei dekodowania protokołu RC5 z wykorzystaniem układu czasowego START, 1 sp S0 S1 sg, 1 lg, 1 lp, 0 sg S S3 sp, 0 Rys. 4. Graf automatu dekodowania protokołu RC5 Na rys. 4 przedstawiono graf automatu (inaczej graf przejść i wyjść dla modelu automatu Mealy ego), wykorzystywanego do dekodowania protokołu RC5. Etykiety opisujące łuki oznaczają odpowiednio rodzaj zdarzenia, oraz po przecinku wartość logiczną zdekodowanego bitu. Zdarzenia opisane są następującymi symbolami: sp krótki impuls, sg krótka przerwa, lp długi impuls, lg długa przerwa. Zdarzenia te sklasyfikowane są w sposób podany w tabeli (czas podany w mikrosekundach). zdarzenie ideał min max sp sg lp lg Automat rozpoczyna swoje działanie od stanu S0, przy czym wejście do tego stanu powodowane jest pojawieniem się zbocza narastającego dekodowanego sygnału i jednocześnie oznacza, że odebrany został pierwszy bit o wartości logicznej 1. Następnie dekodowanych jest pozostałych 13 bitów (odebranie kolejno 14 bitów stanowi warunek zatrzymania automatu). Każde inne występujące zdarzenie, nie opisane grafem z rys. 4, traktowane jest jako błąd, powodujący przerwanie działania automatu

3 Sprzętowy dekoder RC5 3 Sprzętowy dekoder RC5 wykorzystujący układ czasowy Na rys. 5 przedstawiony został bardziej szczegółowy schemat implementacji dekodera protokołu RC5 wykorzystującego układ czasowy. 1MHz LICZNIK 11bit REJESTR PRZESUWNY A0..A4 C0..C5 T DET 0 INTERFEJS SPI S0 SCK CS IN DETEKTOR 1/0 0/1 LICZNIK 3bit STEROWANIE RDY Rys. 5. Schemat blokowy dekodera RC5 z wykorzystaniem układu czasowego Dekoder składa się tutaj z: detektora zboczy wykrywającego zmiany poziomu sygnału z 1 na 0 oraz z 0 na 1, 3 bitowego licznika zliczającego ilość pojawiających się zboczy sygnału wejściowego w momencie gdy odmierzany jest czas przez licznik 11 bitowy, 11 bitowego licznika z wpisem równoległym liczącego wstecz, służącego do odmierzania czasu 3/4T (T czas trwania bitu w protokole RC5), detektora (komparatora) wykrywającego stan osiągnięcia przez licznik wartości 0, 14 bitowego rejestru przesuwnego zapamiętującego w odpowiednich chwilach czasu (wyznaczonych przez układ sterowania i licznik 11 bitowy) stan wejścia dekodera (wyjścia odbiornika podczerwieni), układu sterowania. Opcjonalnie dekoder może być wyposażony w interfejs kompatybilny z SPI, służący do szeregowej wymiany danych np. z mikrokontrolerem. Układ sterowanie realizuje następujące funkcje: Na podstawie informacji z detektora zboczy steruje pracą licznika 11 bitowego: w momencie wystąpienia zbocza do tego licznika ładowana jest wartość stałej czasowej odpowiadająca 3/4T. Jeżeli pojawi się kolejne zbocze sygnału wejściowego w momencie, gdy licznik nie zakończy jeszcze odmierzania czasu 3/4T od momentu wystąpienia poprzedniego zbocza (licznik nie osiągnie jeszcze stanu 0), wówczas powtórne załadowanie stałej czasowej do licznika nie nastąpi. Sprawdza ilość występujących zboczy sygnału wejściowego (za pośrednictwem licznika 3 bitowego), w czasie gdy licznik 11 bitowy odmierza czas 3/4T. Wystąpienie w tym czasie więcej niż jednego zbocza sygnału wejściowego układ sterowania interpretuje jako błąd (dekodowany protokół nie jest protokołem RC5) i wznawia proces dekodowania od początku (zerowana jest zawartość rejestru przesuwnego). Na podstawie informacji z detektora osiągnięcia przez licznik 11 bitowy wartości 0, kieruje pracą rejestru przesuwnego wyznaczając moment próbkowania stanu sygnału wejściowego. Jeżeli od momentu ostatniego zakończenia odmierzania czasu 3/4T upłynął czas dłuższy niż 3/4T układ sterowania interpretuje taką sytuację jako błąd (normalnie w protokole RC5 następne zbocze powinno pojawić się po czasie 1/4T) i proces dekodowania rozpoczynany jest od początku. W celu wyznaczenia momentu przekroczenia czasu oczekiwania na zbocze układ sterujący odpowiednio steruje pracą licznika 11 bitowego: licznik automatycznie ładowany jest wartością stałej czasowej 3/4T, w momencie gdy osiągnie stan 0 (czyli, gdy ukończy odmierzanie poprzedniej wartości 3/4T).

4 Sprzętowy dekoder RC5 4 Określa moment zakończenia dekodowania ramki protokołu RC5 ustawiając na pewien czas (3/4T) wyjście RDY. Aby określić moment zakończenia dekodowania (odebranie wszystkich 14 stu bitów) układ sterowania analizuje stan najstarszego bitu (najbardziej znaczącego) wyjścia w rejestrze przesuwnym. Jeżeli bit ten ma wartość 1, wówczas oznacza to zakończenie procesu dekodowania. W celu implementacji sprzętowej tak zdefiniowanego dekodera RC5, z zastosowaniem narzędzi EDA i języków HDL najlepiej posłużyć się opisem mieszanym: strukturalno behawioralnym. Strukturę dekodera określa sposób połączenia poszczególnych bloków funkcjonalnych, podczas gdy działanie tych bloków można opisać behawioralnie. Podstawową jednostką projektową w języku Verilog jest tzw. moduł. Może więc on zawierać opis behawioralny działania poszczególnych bloków z rys. 5. Jednak w przedstawionym na listingu 1 kodzie specyfikującym działanie dekodera RC5 wygodniej było zintegrować bloki: detektora zboczy, licznika 3 bitowego, detektora osiągnięcia przez licznik 11 bitowy stanu zerowego, rejestru przesuwnego oraz układu sterowania w module głównym dekodera. Osobny moduł zawiera jedynie definicję działania bloku licznika 11 bitowego. W przedstawionym kodzie, celem zmniejszenia niezbędnych do implementacji zasobów sprzętowych układu programowalnego, zredukowano do liczbę bitów licznika zliczającego ilość pojawiających się zboczy sygnału wejściowego w czasie gdy odmierzany jest czas 3/4T (co jednak wiąże się ze zmniejszeniem skuteczności wykrywania opisanych sytuacji, ale w praktyce okazało się zupełnie wystarczające). Listing 1. Dekoder kodu RC5 opisany w języku Verilog, wykorzystujący układ czasowy. module rc5decoder(clk,in,rdy,rc5code); // deklaracja portów we/wy input clk,in; output rdy; output [13:0] rc5code; //deklaracja zmiennych reg [13:0] rc5code; reg rc5ready,in1,load,start,to,onair; reg [13:0] rc5temp; wire [10:0] qcntr; reg [1:0] ecnt; cntr c1(.clk(clk),.load(load),.d(11'd1333),.q(qcntr)); //konkretyzacja (utworzenie instancji) modułu licznika //(licznik zdefiniowany jest w oddzielnym module) //poniżej opis behawioralny działania dekodera clk) in1<=in; //zapamiętanie stanu wejścia w poprzednim takcie zegara if((in1&~in) (~in1&in)) // jeżeli zbocze 0/1 lub 1/0 sygnału wejściowego // (realizacja detektora zboczy) if(~start) // jeżeli nie rozpoczęto jeszcze dekodowania - // ustaw odpowiednie wartości początkowe start=1'b1; onair=0; rc5temp=14'd1; ecnt=0; ecnt=ecnt+1; //inkrementuj wartość licznika błędu if(~onair) // jeżeli wystąpiło zbocze na wejściu // i nie trwa odmierzania czasu 3/4T load=1'b1; // załaduj licznik stałą 3/4T onair=1'b1;

5 Sprzętowy dekoder RC5 5 to=0; load=0; if(ecnt=='b11) // jeżeli zbyt dużo zboczy rozpocznij dekodowanie od początku start=0; to=0; if(qcntr==11'd0) //licznik osiągnął stan 0 onair=0; ecnt=0; if(~to) to=1'b1; //jeżeli to=1, licznik odmierza czas oczekiwania na następne zbocze if(start) rc5temp={rc5temp[1:0],in}; //realizacja rejestru przesuwnego // jeżeli przekroczono czas oczekiwania na zbocze start=0; to=0; rc5ready=0; if(rc5temp[13]==1'b1) // jeżeli odebrano już 14 bitów koniec dekodowania rc5code=rc5temp; rc5ready=1; start=0; assign rdy=rc5ready; module // definicja działania licznika 11-bitowego module cntr(clk,load,d,q); input clk,load; input [10:0] d; output [10:0] q; reg [10:0] tmp; clk) if(load) tmp=d; if(tmp==11'd0) tmp=d; tmp=tmp-1; // jeżeli licznik osiągnął 0 ładuj automatycznie stałą // czasową d, w przeciwnym przypadku dekrementuj zawartość licznika assign q=tmp; module Tak zdefiniowany wirtualny komponent dekodera RC5 może być postrzegany jako pewna czarna skrzynka z następującymi sygnałami wejściowymi i wyjściowymi: clk zegarowy sygnał taktujący (musi być 1MHz), in wejście dekodera, które powinno być połączone z wyjściem odbiornika podczerwieni (aktywny poziom niski nie trzeba więc negować sygnału z odbiornika),

6 Sprzętowy dekoder RC5 6 rdy wyjście informujące o pomyślnym zakończeniu dekodowania protokołu (na tym wyjściu pojawia się impuls o czasie trwania ok. 3ms) rc5code 14-sto bitowe wyjście danych zdekodowanych (stan poszczególnych bitów w odebranej ramce danych protokołu RC5) Sprzętowy dekoder RC5 wykorzystujący automat sekwencyjny W przypadku implementacji sprzętowej dekodera z wykorzystaniem automatu sekwencyjnego odpowiedni schemat blokowy układu dekodera może wyglądać tak jak pokazano na rys. 6. AUTOMAT SEKWENCYJNY REJESTR PRZESUWNY A0..A4 C0..C5 T SP SG LP LG KOMPARATORY TO INTERFEJS SPI S0 SCK CS 1MHz STEROWANIE RDY IN DETEKTOR 1/0 0/1 RST LICZNIK Rys. 6. Schemat blokowy dekodera RC5 z wykorzystaniem automatu sekwencyjnego Dekodera składa się tutaj z: detektora zboczy (1/0 lub 0/1) zerującego licznik (wystąpienie zbocza sygnału wejściowego powoduje wyzerowanie licznika), licznika 11 bitowego odmierzającego czas z rozdzielczością 1us (przy taktowaniu 1MHz), zespołu komparatorów, który określa wystąpienie odpowiednich zdarzeń dla automatu sekwencyjnego (krótki impuls SP, długi impuls LP, krótka przerwa SG, długa przerwa LG, przekroczenie czasu oczekiwania na zbocze TO), automatu sekwencyjnego, działającego według grafu z rys. 3.16, będącego zasadniczą częścią dekodera, rejestru przesuwnego, zapamiętującego kolejne odebrane bity ramki protokołu RC5, wyznaczone przez automat sekwencyjny, prostego układu sterująco nadzorującego, odpowiedzialnego m. in. za wyznaczania końca transmisji ramki danych RC5. Kod źródłowy implementacji dekodera z wykorzystaniem automatu sekwencyjnego przedstawiono na listingu. Listing. Dekoder RC5 opisany w języku Verilog, wykorzystujący automat sekwencyjny module rc5decoder_ii(clk,in,rdy,rc5code); input clk,in; output rdy; output [13:0] rc5code; wire short_pulse,long_pulse,short_gap,long_gap; reg[3:0] state; wire time_out; reg [13:0] rc5temp; reg rc5ready; reg [13:0] rc5code; timer t1(.clk(clk),.in(~in),.lp(long_pulse),.sp(short_pulse),.lg(long_gap),.sg(short_ gap),.to(time_out));

7 Sprzętowy dekoder RC5 7 //Konkretyzacja modułu timera (licznik wraz z komparatorami) //Poniżej realizacja automatu always@(posedge clk) if(time_out) // jeżeli przekroczono czas oczekiwania na zbocze - // automat wraca do stanu początkowego state= 4'd0; rc5ready=0; case(state) 4'd0: rc5temp=0; if(~in) state=4'd1; state=4'd0; // jeżeli zmiana poziomu wejścia na niski // przejdź do stanu 1, w przeciwnym przypadku pozostań w 0 4'd1: rc5temp={rc5temp[1:0],1'b1}; //wpisanie jedynki do rejestru przesuwnego //(pierwszy bit startu ramki RC5) state=4'd; //przejdź do stanu czyli S0 4'd: //stan S0 automatu (rys. 3.16) if(short_pulse&&long_pulse) state=4'd0; //jeżeli inne zdarzenie niż krótki impuls lub długi impuls //wróć do stanu 0 if(short_pulse&&!long_pulse) state=4'd3; //jeżeli krótki impuls przejdź do stanu 3 //S1 (S1) if(long_pulse&&!short_pulse) state=4'd4; // jeżeli długi impuls przejdź do stanu pośredniego 4 state=4'd; // w przeciwnym przypadku pozostań w bieżącym stanie 4'd3: //stan S1 if(short_gap&&long_gap) state=4'd0; //jeżeli zdarzenie inne niż spodziewane if(short_gap&&!long_ gap) state=4'd5; //jeżeli krótka przerwa wróć do stanu S0 następny stan 0 state=4'd3; 4'd4: // odebrano bit o wartości 0 rc5temp={rc5temp[1:0],1'b0}; //wpisanie 0 do rejstru przesuwnego state=4'd6; //przejdź do stanu S 4'd5:

8 Sprzętowy dekoder RC5 8 // odebrano bit o wartości 1 rc5temp={rc5temp[1:0],1'b1}; wpisanie 1 do rejestru przesuwnego state=4'd; //przejdź do stanu S0 4'd6: //stan S if(short_gap&&long_gap) state=4'd0; //jeżeli zdarzenie inne niż spodziewane następny stan 0 if(long_ gap&&!short_gap) state=4'd5; //jeżeli długa przerwa przejdź do stanu pośredniego 5 if(short_gap&&!long_ gap) state=4'd7; // jeżeli krótka przerwa przejdź do stanu S3 state=4'd6; 4'd7: //stan S3 if(short_pulse&&long_pulse) state=4'd0; //jeżeli zdarzenie inne niż spodziewane następny stan 0 if(short_pulse&&!long_pulse) state=4'd4; //jeżeli krótki impuls idź do stanu pośredniego 4 state=4'd7; case if(rc5temp[13]==1'b1) //jeżeli bit MSB rejstru przesuwnego zapalony //dekodowanie zakończone rc5code=rc5temp; //zapamiętaj odebrane bity w rejestrze zatrzaskowym rc5ready=1; state=4'd0; //ustaw flage zakończenia dekodowania i przejdź do stanu 0 assign rdy=rc5ready; //przepisanie flagi zakończenia dekodowania do portu wyjściowego module //Poniżej kod modułu timera module timer(clk,sp,lp,sg,lg,in, to); input clk,in; output sp,lp,sg,lg,to; reg sp1,lp1,sg1,lg1,rst,in1,to; wire [11:0] time1; wire [4:0] tm; cntr c1(.clk(clk),.q(time1),.rst(rst)); //konkretyzacja modułu licznika assign tm={time1[11],time1[10],time1[9],time1[8]}; //zmienna tm zawiera 4 najbardziej znaczące bity licznika assign sp=sp1; assign lp=lp1; assign sg=sg1; assign lg=lg1; //poniżej opis behawioralny działania układu licznik - komparatory clk)

9 Sprzętowy dekoder RC5 9 if(time1>1'd300) to=1; to=0; //jeżeli oczekiwanie na zbocze dłużej niż.3ms ustaw flagę to in1<=in; //przypisanie nie blokujące //(zapamiętanie stanu wejścia w poprzednim takcie zegara) if(in1&~in) //zbocze opadające na wejściu rst=1; //wyzeruj licznik (w następnym takcie) if(tm>4'd&&tm<4'd5) //krótki impuls sp1=1; lp1=0; sg1=0; lg1=0; if(tm>4'd4&&tm<4'd8) //długi impuls sp1=0; lp1=1; sg1=0; lg1=0; //jeżeli impuls spoza przedziału - błąd sp1= 1; lp1=1; sg1=0; lg1=0; if(~in1&in) //zbocze narastające na wejściu rst=1; //zeruj licznik if(tm>4'd&&tm<4'd5) //krótka przerwa sg1=1; lg1=0; sp1=0; lp1=0; if(tm>4'd4&&tm<4'd8) //długa przerwa sg1=0; lg1=1; sp1=0; lp1=0; //jeżeli przerwa spoza przedziału błąd sg1=1; lg1=1; sp1=0; lp1=0; rst=0; module //Poniżej kod licznika module cntr(clk,rst,q); input clk,rst; output [11:0] q; reg [11:0] tmp; clk) if (rst) tmp=0; //synchroniczne zerowanie tmp=tmp+ 1; //inkrementacja licznika assign q=tmp; module

10 Sprzętowy dekoder RC5 10 Tak zaimplementowany, według kodu z listingu, wirtualny komponent dekodera RC5, z punktu widzenia sygnałów wejścia wyjścia zachowuje się identycznie jak opisany już poprzednio dekoder. Wymaga jednak nieco więcej zasobów sprzętowych danego układu programowalnego (dla przykładu: w przypadku implementacji z zastosowaniem układu Xilinx XC957XL i narzędzi XST zawartych w pakiecie Xilinx ISE 5.i, dekoder ten zajmuje 63 makrokomórki, podczas gdy poprzednia wersja 57, w obu przypadkach dla strategii silnej optymalizacji powierzchni). Szeregowy interfejs SPI Budując sprzętowy dekoder RC5 z wykorzystaniem układów PLD, można wyposażyć go w szeregowy interfejs kompatybilny z SPI. Interfejs ten może być przydatny w przypadku współpracy dekodera z mikrokontrolerem (odciążając mikroprocesor z realizacji zadania dekodowania protokołu RC5) lub innymi urządzeniami peryferyjnymi. Szeregowy interfejs SPI (Serial Peripheral Interface) do transmisji danych wykorzystuje trzy linie: CS wybór danego urządzenia SPI (aktywny poziom niski), SCK sygnał zegarowy, S0 wyjście danych. Za pośrednictwem interfejsu SPI dane przesyłane są w sposób synchroniczny. W pewnym uproszczeniu działanie interfejsu można opisać następująco. Transmisję danych inicjuje układ nadrzędny ustawiając linię CS układu podrzędnego w stan niski. Układ podrzędny ustawia wówczas linię wyjściową S0 w stan odpowiadający pierwszemu transmitowanemu bitowi (bit najbardziej znaczący przesyłany jest jako pierwszy). Stan linii S0 może być próbkowany przez układ nadrzędny podczas opadającego zbocza sygnału zegarowego SCK. Układ podrzędny może zmieniać stan linii wyjściowej tylko wówczas, gdy sygnał SCK generowany przez układ nadrzędny znajduje się w stanie niskim. Wygenerowanie impulsu na linii SCK przez układ nadrzędny powoduje pojawienie się na linii S0 kolejnego transmitowanego bitu, itd. Na listingu 3 przedstawiono kod w języku Verilog opisujący działanie interfejsu szeregowego SPI dla układu sprzętowego dekodera RC5. Listing 3. Wirtualny komponent realizujący interfejs SPI dla układu podrzędnego module spi_core(clk,data,cs,sck,s0); input clk,cs,sck; input [13:0] data; output s0; reg [15:0] sreg; reg f1,f; clk) if(~cs) //jeżeli linia CS znajduje się w stanie niskim if(~f1) f1=1; f=0; sreg=data; //równoległy wpis do rejestru przesuwnego sreg //wartości danych wejściowych podczas opadającego //zbocza sygnału CS if(~sck&&f) sreg={sreg[1:0],sreg[13]}; f=0; //zeruj flagę f //rejestr przesuwny sreg przesuwany jest podczas gdy //SCK zmieni swój stan na niski if (sck&&~f) f=1; //jeżeli SCK zmienił poziom na wysoki ustaw flagę f f1=0; // jeśli CS=1, zeruj flagę f1 assign s0=sreg[13];

11 Sprzętowy dekoder RC5 11 //SO to najstarszy bit rejestru przesuwnego module Przedstawiona na listingu 3 implementacja interfejsu szeregowego wykorzystuje rejestr przesuwny z wpisem równoległym. Jak wykazały doświadczenia tego typu realizacja interfejsu zajmuje relatywnie dużo zasobów sprzętowych układu programowalnego (co jest istotne w przypadku implementacji na tanich układach programowalnych klasy CPLD, wyposażonych w dość ograniczone zasoby logiczne). Można jednak zastosować nieco prostszą konstrukcję interfejsu, tak jak zilustrowano to na rys. 7. Zamiast rejestru przesuwnego można wykorzystać licznik sprzężony z multiplekserem. Wystąpienie zbocza opadającego na linii CS spowoduje wyzerowanie licznika. Wyjścia licznika połączone są z wejściami wyboru multipleksera. Pojawienie się impulsów na wejściu zegarowym licznika spowoduje zwiększanie wartości licznika i odpowiadające tej wartości połączenie wyjścia multipleksera z jednym z wejść danych multipleksera. Efekt końcowy będzie identyczny jak z użyciem rejestru przesuwnego. MUX DANE SO E SEL SCK RST LICZNIK CS DETEKTOR 1/0 Rys. 7. Inna realizacja interfejsu SPI SPI. Na listingu 4 przedstawiono kod w języku Verilog opisujący alternatywną realizację interfejsu Listing 4. Alternatywna implementacja interfejsu SPI module spi_core(data,clk,cs,sck,s0); input cs,clk,sck; input [13:0] data; output s0; wire [3:0] qcntr; cntr4 c1(.sck(sck),.clk(clk),.q(qcntr),.cs(cs)); mux m1(.data(data),.sel(qcntr),.out(s0)); //definicja sposobu połączenia licznika i multipleksera //(konkretyzacja modułów licznika i multipleksera) module //definicja modułu licznika module cntr4(cs,clk,sck,q); input sck,clk,cs; output [3:0] q; reg [3:0] q; reg clrcnt,f; wire rst; clk) if(~cs&&f) f=0; clrcnt=1;

12 Sprzętowy dekoder RC5 1 clrcnt=0; //sygnał zerowanie clrcnt dla licznika ustawiany //w momencie wystąpienia zbocza opadającego na CS if(cs&&~f) f=1; assign rst=~clrcnt; //zmiana polaryzacji sck or negedge rst) if( ~rst) q=4'd0; // asynchroniczne zerowanie licznika q=q+1; //inkrementacja licznika module //opis behawioralny modułu multipleksera module mux(data,sel,out); input [13:0] data; input [3:0] sel; output out; reg out; or data) case (sel) 4'd0: out=data[13]; 4'd1: out=data[1]; 4'd: out=data[11]; 4'd3: out=data[10]; 4'd4: out=data[9]; 4'd5: out=data[8]; 4'd6: out=data[7]; 4'd7: out=data[6]; 4'd8: out=data[5] ; 4'd9: out=data[4] ; 4'd10: out=data[3]; 4'd11: out=data[]; 4'd1: out=data[1]; 4'd13: out=data[0]; 4'd14: out=0; 4'd15: out=0; case module CS SCK SO S1 S T A4 A3 A A1 A0 C5 C4 C3 C C1 C0 S1 S Rys. 8. Ilustracja działania interfejsu SPI Na rys. 8 przedstawiono ilustrację sposobu działania interfejsu SPI zrealizowanego według opisu z listingu 3. Ilość bitów interfejsu dostosowana jest do długości ramki protokołu RC5 i wynosi 14 bitów. Dlatego też w przypadku, gdy na linii SCK interfejsu wystąpi więcej niż 14 impulsów, wówczas dane pojawiają się na wyjściu od początku (czyli po najmniej znaczącym bicie kodu polecenia RC5 pojawia się pierwszy bit startu, itd.).

13 Sprzętowy dekoder RC5 13 Działanie interfejsu SPI z listingu 4 jest analogiczne, przy czym po 14 bitach ramki danych RC5, w przypadku dalszego taktowania linii SCK, pojawiając się dwa bity, których wartość zawsze jest równa 0 i dopiero wówczas kolejne bity ramki RC5 transmitowana jest od początku. Dane z interfejsu SPI mogą być odczytywane w dowolnej chwili z szybkością wyznaczoną przez układ nadrzędny (mikrokontroler). Jednak w przypadku interfejsu z listingu 3 maksymalna częstotliwość impulsów na wejściu SCK musi być mniejsza niż częstotliwość taktowania na wejściu zegarowym (clk) interfejsu. W przypadku implementacji interfejsu według listingu 4, częstotliwość impulsów na linii SCK może być znacznie większa niż częstotliwość taktowania na wejściu clk (licznik, będący głównym elementem interfejsu, taktowany jest bezpośrednio impulsami z linii SCK, podczas gdy pomocniczy sygnał taktujący clk wykorzystywany jest tylko do wykrywania opadającego zbocza sygnału na linii CS). Listing 5. Funkcja odczytu danych z interfejsu SPI, napisana w języku C dla mikrokontrolera unsigned int spi_rx(void) { char j, b; unsigned int w; w=0; } CS=0; SCK=0; for (j=0;j<14;j++) { SCK=1; w<<=1; b=so; w =b; SCK=0; } CS=1; return w; Na listingu 5 przedstawiono dodatkowo kod źródłowy funkcji w języku C, napisanej dla mikrokontrolera, dzięki której można odczytać dane z przedstawionego powyżej interfejsu SPI. Funkcja zwraca pełne 14 bitów ramki danych RC5. Przykładowa aplikacja Wykorzystując opisane powyżej wirtualne komponenty dekoderów RC5 oraz interfejsu SPI można zbudować rzeczywisty, sprzętowy dekoder protokołu RC5. Na rys. 9 przedstawiono przykładowy schemat ideowy takiego układu, a na rys. 10 widok płytki drukowanej. JP1 1 3 C1 100n U LM317L Vin Adj 1 Vout Vcc 3.3V R1 40 C 100n JP JTAG Vcc U4 4 VCC GND GND VS OUT TSOP1736 OUT 1 3 U3 3 R 390 GEN MHz R4 10 C3 0n D1 LED RDY CS SCK SO GND R3 80 JP I/O/MC1- I/O/MC1-5 I/O/MC1-6 I/O/MC1-8 I/O/GCK1/MC1-9 I/O/GCK/MC1-11 I/O/GCK3/MC1-14 I/O/MC1-15 I/O/MC1-17 I/O/MC4- I/O/MC4-5 I/O/MC4-8 I/O/MC4-9 I/O/MC4-11 I/O/MC4-14 VCCINT 4 10 TDO 9 TMS 11 TDI TCK 6 35 VCCIO 15 VCCINT 14 I/O/MC I/O/MC I/O/MC I/O/MC4-15 GND 5 GND 17 4 GND I/O/MC- I/O/MC-5 I/O/MC-6 I/O/MC-8 I/O/GSR/MC-9 I/O/GTS/MC-11 I/O/GTS1/MC-14 I/O/MC-15 I/O/MC-17 I/O/MC3- I/O/MC3-5 I/O/MC3-8 I/O/MC3-9 I/O/MC3-11 I/O/MC3-14 U XC957XL-VQ44 JP JP C0 C1 C C3 C4 C5 T A4 A3 A A1 A0 Rys. 9. Schemat ideowy układu sprzętowego dekodera RC5

14 Sprzętowy dekoder RC5 14 Rys. 10. Widok płytki drukowanej dekodera Jako układ programowalny wybrano tutaj Xilinx CPLD z rodziny XC9500XL typu XC957XL w obudowie VQFP44. Układ zasilany jest napięciem 3.3V, ale od strony wejść akceptuje napięcia o standardzie TTL. Jako stabilizator 3.3V zastosowano typowy stabilizator uniwersalny typu LM317 z odpowiednio dobranymi wartościami rezystorów określającymi wartość napięcia wyjściowego. W układzie wytwarzania przebiegu taktującego pracuje typowy, cztero końcówkowy (w metalowej obudowie) zintegrowany generator zegara o częstotliwości MHz (można zastosować generator o innej częstotliwości, ale wówczas należy odpowiednio zaprogramować dzielniki częstotliwości dla układu dekodera RC5, który musi być taktowany z częstotliwością 1MHz). Do przetwarzania sygnałów podczerwieni, nadawanych przez pilota zdalnego sterowania, wykorzystano zintegrowany odbiornik podczerwieni firmy Vishay (TSOP1736). Na listingu 6 przedstawiono kod źródłowy w języku Verilog modułu implementującego dekoder RC5 i interfejs SPI. Listing 6. Kompletny sprzętowy dekoder RC5 z interfejsem SPI module top(clock,in,cs,sck,s0,rdy,ld,c,a,t); //definicja portów we - wy input clock,in,cs,sck; output ld,s0,rdy,t; output [4:0] A; // adres RC5 output [5:0] C; // kod polecenia wire clk; reg rc5ready; wire [13:0] rc5code; module clock_divider cd1(.clock(clock),.clk(clk)); //konkretyzacja modułu dzielnika częstotliwości //sygnał clk ma teraz częstotliwość 1MHz rc5decoder dec(.clk(clk),.in(in),.rdy(rdy),.rc5code(rc5code)); //konkretyzacja opisanego wcześniej modułu dekodera assign ld=rdy; //dioda LED połączona z sygnałem rdy assign C={rc5code[5],rc5code[4],rc5code[3],rc5code[], rc5code[1],rc5code[0]}; //przypisanie do odpowiednich wyjść kodu polecenia RC5 assign A={rc5code[10],rc5code[9],rc5code[8],rc5code[7],rc5code[6]}; //przypisanie adresu urządzenia RC5 assign T=rc5code[11]; //bit informujący o przytrzymaniu klawisza w pilocie spi_core spi1(.clk(clk),.cs(cs),.sck(sck),.s0(s0),.data(rc5code)); //konkretyzacja modułu interfejsu SPI //moduł dzielnika częstotliwości module clock_divider(clock,clk); input clock; output clk; reg q; clock)

15 Sprzętowy dekoder RC5 15 q=~q; assign clk=q; module Po zaimportowaniu do środowiska EDA dla układów programowalnych kodów źródłowych z listingu 5 modułu nadrzędnego w hierarchicznej strukturze projektu oraz jednego z modułów dekodera RC5 (których kody źródłowe zamieszczono na listingach 1 i ) i modułu interfejsu SPI (listing A.3 lub A.4), i jeszcze przypisując portom wejścia / wyjścia modułu nadrzędnego odpowiednie numery końcówek układu PLD kompletny projekt można poddać kompilacji. Jako środowisko EDA wykorzystano tutaj pakiet Xilinx ISE w wersji 5.i. W wyniku procesu kompilacji (implementacji) otrzymuje się plik w standardowym, dla układów CPLD, formacie JEDEC, który służy do zaprogramowania nieulotnej pamięci konfiguracji w danym układzie PLD. Zastosowany układ PLD posiada możliwość programowania w systemie ISP (In-System Programming), poprzez intefejs JTAG, którego odpowiednie linie wyprowadzono na złącze JP płytki drukowanej. W celu zaprogramowania układu można wykorzystać uniwersalny programator ISP opisany w Elektronice Praktycznej 1/004 lub też prosty programator, którego schemat można znaleźć w dokumentacji firmy Xilinx (programator ten był opisany również w Elektronice Praktycznej 4/001). Po zaprogramowaniu układu PLD sprzętowy dekoder RC5 jest gotowy do pracy. Poprawne odebranie przez dekoder ramki danych protokołu RC5 sygnalizowane jest krótkim mignięciem diody LED. Jednocześnie na wyjściu RDY (złącze JP3) pojawia się w tym momencie stan wysoki. Na złączu JP5 występują kolejne bity (C0..C5) kodu polecenia RC5 oraz bit T (informujący o przytrzymaniu klawisza w pilocie), a na złączu JP4 dostępne są bity adresu urządzenia (A0..A4). Zdekodowane bity ramki danych RC5 można również odebrać poprzez wbudowany interfejs SPI (linie CS, SCK, SO złącza JP3). Sprzętowy dekoder RC5 można również tak skonfigurować, by odbierał tylko ramkę danych z określonym adresem urządzenia RC5 (podobnie jak robił to wycofany już z produkcji układ SAA3049 firmy Philips). W tym celu wystarczy nieco zmienić kod w module nadrzędnym tak jak pokazano to na listingu 7. Listing 7. Kod sprzętowego dekodera RC5 akceptującego określony adres urządzenia RC5 module top(clock,in,cs,sck,s0,rdy,ld,c,a,t); input clock,in,cs,sck; output ld,s0,rdy,t; input [4:0] A; output [5:0] C; wire [4:0] rc5addr; reg [5:0] C; wire clk; reg T,ready; wire rdy; wire [13:0] rc5code; clock_divider cd1(.clock(clock),.clk(clk)); rc5decoder dec(.clk(clk),.in(in),.rdy(rdy),.rc5code(rc5code)); spi_core spi1(.clk(clk),.cs(cs),.sck(sck),.s0(s0),.data(rc5code)); assign rc5addr={rc5code[10],rc5code[9], rc5code[8],rc5code[7],rc5code[6]}; //wydzielenie adresu urządzenia clk) if(rdy) if(rc5addr==a) //jeżeli zgadza się adres RC5 z adresem ustawionym //na liniach zewnętrznych układu PLD C={ rc5code[5],rc5code[4],rc5code[3],rc5code[],

16 Sprzętowy dekoder RC5 16 rc5code[1],rc5code[0]}; T=rc5code[11]; ready=1; ready=0; assign ld=ready; module W tym przypadku adres urządzenia RC5 odebrany z ramki danych porównywany jest z adresem odczytanym z zewnętrznych końcówek układu dekodera (stan linii A0...A4 złącza JP3). Jeżeli oba adresy są zgodne, wówczas ustawiane jest wyjście RDY (złącze JP3) i na krótką chwilę zapala się dioda LED. Na wyjściach C0...C5 oraz T dostępne są wówczas odpowiednie dane. Dane odczytane za pomocą interfejsu SPI dostępne są niezależnie od tego czy oba adres urządzeń RC5 są zgodne, czy też nie. Na kolejnych rysunkach przedstawiono przebiegi czasowe w wybranych punktach sprzętowego dekodera RC5 otrzymane przy pomocy analizatora stanów logicznych. Na rys. 11 pokazano przebiegi czasowe dla układu dekodera opisanego kodem z listingu 1. Pierwszy kanał analizatora ilustruje stan sygnału wejściowego dekodera (wyjście zintegrowanego odbiornika podczerwieni) w momencie nadawania ramki danych RC5 z kodem polecenia równym 01h oraz adresem urządzenia 16h. Drugi kanał przedstawia zachowanie sygnału onair (listing 1 sygnał wyprowadzono na zewnętrzne końcówki układu PLD). Sygnał ten odpowiada sygnałowi z wyjścia monowibratora z rys. 3. Jego opadające zbocze wyznacza moment próbkowania sygnału wejściowego przez rejestr przesuwny (czyli stan dekodowanego bitu). Trzeci kanał analizatora ilustruje przebieg sygnału na wejściu rdy. Poziom wysoki na tym wyjściu oznacza pomyślne zakończenie dekodowania ramki danych RC5. Rys. 11. Przebiegi czasowe w układzie dekodera RC5 zaimplementowanego według kodu z listingu 1 Rys. 1. Przebiegi czasowe w układzie dekodera RC5 zaimplementowanego według kodu z listingu Rys. 1 przedstawia przebiegi czasowe w układzie sprzętowego dekodera RC5 wykorzystującego ideę automatu sekwencyjnego (kod z listingu ). Kanały pierwszy i ostatni analizatora stanów logicznych ilustrują zachowanie sygnałów wejściowego in oraz wyjściowego rdy. Na pozostałych kanałach widoczne są przebiegi sygnałów określające rodzaj zdarzenia dla automatu sekwencyjnego wykorzystywanego do dekodowania protokołu RC5 (sygnały: lg długa przerwa, sg krótka przerwa, lp długi impuls, sp krótki impuls). Zbigniew Hajduk

17 Sprzętowy dekoder RC5 17 UWAGA Przedstawione powyżej wirtualne komponenty sprzętowego dekodera RC5 przeznaczone są bezpośrednio do syntezy. W przypadku symulacji wyniki symulacji funkcjonalnej mogą nie odpowiadać rezultatom symulacji czasowej (po syntezie). Literatura 1. Łuba T., Rawski M, Tomaszewicz P., Zbierzchowski B., Synteza układów cyfrowych, WKŁ, Warszawa Pasierbiński J., Zbysiński P., Układy programowalne w praktyce, WKŁ, Warszawa Synopsys Inc., FPGA Compiler II / FPGA Express Verilog HDL Reference Manual, Xilinx Inc., Xilinx Synthesis Technology (XST) User Guide, Zbysiński P., UnISProg uniwersalny programator ISP, Elektronika Praktyczna, Nr 1, str. 1 5, styczeń Zwoliński M., Projektowanie układów cyfrowych z wykorzystaniem języka VHDL, WKŁ, Warszawa 00.

Dekoder RC5 z interfejsem SPI, opisany w języku Verilog, część 1

Dekoder RC5 z interfejsem SPI, opisany w języku Verilog, część 1 P R O J E K T Y Dekoder RC5 z interfejsem SPI, opisany w języku Verilog, część 1 AVT-545 W artykule przedstawiono sprzętowy dekoder protokołu RC5 z interfejsem równoległym oraz szeregowym interfejsem kompatybilnym

Bardziej szczegółowo

Konwerter 1 Wire > SPI opisany P R Ow JVerilogu

Konwerter 1 Wire > SPI opisany P R Ow JVerilogu Konwerter 1 Wire > SPI opisany P R Ow JVerilogu E K T Y Konwerter 1 Wire > SPI opisany w Verilogu, część 1 AVT 443 Prezentowany konwerter jest przeznaczony szczególnie do współpracy z układami termometrów

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

Laboratorium przedmiotu Technika Cyfrowa

Laboratorium przedmiotu Technika Cyfrowa Laboratorium przedmiotu Technika Cyfrowa ćw.3 i 4: Asynchroniczne i synchroniczne automaty sekwencyjne 1. Implementacja asynchronicznych i synchronicznych maszyn stanu w języku VERILOG: Maszyny stanu w

Bardziej szczegółowo

(przykład uogólniony)

(przykład uogólniony) Serial Peripheral Interface (przykład uogólniony) Brak standardu. Inne stosowane nazwy: Synchronous Serial Port (SSP), 4 wire SSI (Synchronous Serial Interface, Texas Instrument), Microwire (National Semiconductor).

Bardziej szczegółowo

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia. Kilka informacji o przerzutnikach Jaki układ elektroniczny nazywa się przerzutnikiem? Przerzutnikiem bistabilnym jest nazywany układ elektroniczny, charakteryzujący się istnieniem dwóch stanów wyróżnionych

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG OPIS BEHAWIORALNY proces Proces wątek sterowania lub przetwarzania danych, niezależny w sensie czasu wykonania, ale komunikujący się z innymi procesami.

Bardziej szczegółowo

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania). Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów

Bardziej szczegółowo

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10. Projekt z przedmiotu Systemy akwizycji i przesyłania informacji Temat pracy: Licznik binarny zliczający do 10. Andrzej Kuś Aleksander Matusz Prowadzący: dr inż. Adam Stadler Układy cyfrowe przetwarzają

Bardziej szczegółowo

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych. Ćwiczenie 9 Rejestry przesuwne i liczniki pierścieniowe. Cel. Poznanie właściwości i zasady działania rejestrów przesuwnych.. Poznanie właściwości i zasady działania liczników pierścieniowych. Wprowadzenie.

Bardziej szczegółowo

Programowanie mikrokontrolerów 2.0

Programowanie mikrokontrolerów 2.0 Programowanie mikrokontrolerów 2.0 Sterowanie podczerwienią, zaawansowane tryby liczników Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 8 grudnia 2016 Sterowanie podczerwienią

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,

Bardziej szczegółowo

Programowalne Układy Cyfrowe Laboratorium

Programowalne Układy Cyfrowe Laboratorium Zdjęcie opracowanej na potrzeby prowadzenia laboratorium płytki przedstawiono na Rys.1. i oznaczono na nim najważniejsze elementy: 1) Zasilacz i programator. 2) Układ logiki programowalnej firmy XILINX

Bardziej szczegółowo

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu f wy f P Podzielnik częstotliwości: układ, który na każde p impulsów na wejściu daje

Bardziej szczegółowo

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Licznik binarny Licznik binarny jest najprostszym i najpojemniejszym licznikiem. Kod 4 bitowego synchronicznego licznika binarnego

Bardziej szczegółowo

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW POLITECHNIKA POZNAŃSKA FILIA W PILE LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW numer ćwiczenia: data wykonania ćwiczenia: data oddania sprawozdania: OCENA: 6 21.11.2002 28.11.2002 tytuł ćwiczenia: wykonawcy:

Bardziej szczegółowo

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak 3.12.2015 Przypomnienie - podział układów cyfrowych Układy kombinacyjne pozbawione właściwości pamiętania stanów, realizujące funkcje

Bardziej szczegółowo

Ćw. 7: Układy sekwencyjne

Ćw. 7: Układy sekwencyjne Ćw. 7: Układy sekwencyjne Wstęp Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną następujące układy

Bardziej szczegółowo

Elektronika i techniki mikroprocesorowe

Elektronika i techniki mikroprocesorowe Elektronika i techniki mikroprocesorowe Technika cyfrowa ZłoŜone one układy cyfrowe Katedra Energoelektroniki, Napędu Elektrycznego i Robotyki Wydział Elektryczny, ul. Krzywoustego 2 PLAN WYKŁADU idea

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

Układy czasowo-licznikowe w systemach mikroprocesorowych Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość

Bardziej szczegółowo

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja 0.1 29.10.2013 Przypomnienie - podział układów cyfrowych Układy kombinacyjne pozbawione właściwości pamiętania stanów, realizujące

Bardziej szczegółowo

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS Język VERLOG w praktyce RUS RUS VERLOG Specyfikacja układów kombinacyjnych RUS RUS Operator warunkowy Conditional_expression?

Bardziej szczegółowo

ZL10PLD. Moduł dippld z układem XC3S200

ZL10PLD. Moduł dippld z układem XC3S200 ZL10PLD Moduł dippld z układem XC3S200 Moduły dippld opracowano z myślą o ułatwieniu powszechnego stosowania układów FPGA z rodziny Spartan 3 przez konstruktorów, którzy nie mogą lub nie chcą inwestować

Bardziej szczegółowo

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur Piotr Fita Elektronika cyfrowa i analogowa Układy analogowe - przetwarzanie sygnałów, których wartości zmieniają się w sposób ciągły w pewnym zakresie

Bardziej szczegółowo

Układy sekwencyjne. 1. Czas trwania: 6h

Układy sekwencyjne. 1. Czas trwania: 6h Instytut Fizyki oświadczalnej UG Układy sekwencyjne 1. Czas trwania: 6h 2. Cele ćwiczenia Poznanie zasad działania podstawowych typów przerzutników: RS, -latch,, T, JK-MS. Poznanie zasad działania rejestrów

Bardziej szczegółowo

dwójkę liczącą Licznikiem Podział liczników:

dwójkę liczącą Licznikiem Podział liczników: 1. Dwójka licząca Przerzutnik typu D łatwo jest przekształcić w przerzutnik typu T i zrealizować dzielnik modulo 2 - tzw. dwójkę liczącą. W tym celu wystarczy połączyć wyjście zanegowane Q z wejściem D.

Bardziej szczegółowo

Mikrokontrolery AVR techniczne aspekty programowania

Mikrokontrolery AVR techniczne aspekty programowania Andrzej Pawluczuk Mikrokontrolery AVR techniczne aspekty programowania Białystok, 2004 Mikrokontrolery rodziny AVR integrują w swojej strukturze między innymi nieulotną pamięć przeznaczoną na program (pamięć

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów

Bardziej szczegółowo

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

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz

Bardziej szczegółowo

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D AGH Katedra Elektroniki Podstawy Elektroniki dla Elektrotechniki Liczniki synchroniczne na przerzutnikach typu D Ćwiczenie 7 Instrukcja do ćwiczeń symulacyjnych 2016 r. 1 1. Wstęp Celem ćwiczenia jest

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM Strona 1 z 7 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1.Budowa przetwornika ADC procesora

Bardziej szczegółowo

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232.

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232. Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232. Opracowanie: Andrzej Grodzki Do wysyłania znaków ASCII zastosujemy dostępny w

Bardziej szczegółowo

LITEcomp aplikacje Zdalnie sterowany włącznik ośmiu urządzeń

LITEcomp aplikacje Zdalnie sterowany włącznik ośmiu urządzeń LITEcomp aplikacje Zdalnie sterowany włącznik ośmiu urządzeń Pilot zdalnego sterowania używany jest od wielu lat do sterowania domowym sprzętem RTV. Ostatnimi czasy piloty stosowane są również do sterowania

Bardziej szczegółowo

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

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/

Bardziej szczegółowo

Programowany układ czasowy

Programowany układ czasowy Programowany układ czasowy Zbuduj na płycie testowej ze Spartanem-3A prosty ośmiobitowy układ czasowy pracujący w trzech trybach. Zademonstruj jego działanie na ekranie oscyloskopu. Projekt z Języków Opisu

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

Bardziej szczegółowo

Technika Mikroprocesorowa

Technika Mikroprocesorowa Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa

Bardziej szczegółowo

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Politechnika Śląska w Gliwicach Wydział Automatyki Elektroniki i Informatyki Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Promotor dr inż. Jacek Loska Wojciech Klimeczko

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Laboratorium

Mikroprocesory i Mikrosterowniki Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TEHNIKA YFOWA 2 T1300 020 Ćwiczenie Nr 6 EALIZAJA FUNKJI EJETOWYH W TUKTUAH

Bardziej szczegółowo

Język opisu sprzętu VHDL

Język opisu sprzętu VHDL Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów

Bardziej szczegółowo

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

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

Programowany układ czasowy APSC

Programowany układ czasowy APSC Programowany układ czasowy APSC Ośmiobitowy układ czasowy pracujący w trzech trybach. Wybór trybu realizowany jest przez wartość ładowaną do wewnętrznego rejestru zwanego słowem sterującym. Rejestr ten

Bardziej szczegółowo

Automat skończony FSM Finite State Machine

Automat skończony FSM Finite State Machine Automat skończony FSM Finite State Machine Projektowanie detektora sekwencji Laboratorium z Elektroniki Współczesnej A. Skoczeń, KOiDC, WFiIS, AGH, 2019 AGH, WFiIS, Elektronika Współczesna 1 Deterministyczny

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Opis układów wykorzystanych w aplikacji

Opis układów wykorzystanych w aplikacji Opis układów wykorzystanych w aplikacji Układ 74LS164 jest rejestrem przesuwnym służącym do zamiany informacji szeregowej na równoległą. Układ, którego symbol logiczny pokazuje rysunek 1, posiada dwa wejścia

Bardziej szczegółowo

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych .Wprowadzenie do projektowania układów sekwencyjnych synchronicznych.. Przerzutniki synchroniczne Istota działania przerzutników synchronicznych polega na tym, że zmiana stanu wewnętrznego powinna nastąpić

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

Ćwiczenie 7 Matryca RGB

Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -1- Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z inną oprócz RS - 232 formą szeregowej

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek Architektura systemów komputerowych Poziom układów logicznych. Układy sekwencyjne Cezary Bolek Katedra Informatyki Plan wykładu Układy sekwencyjne Synchroniczność, asynchroniczność Zatrzaski Przerzutniki

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2 tatyczne i dynamiczne badanie przerzutników - ćwiczenie 2. Cel ćwiczenia Zapoznanie się z podstawowymi strukturami przerzutników w wersji TTL realizowanymi przy wykorzystaniu bramek logicznych NAND oraz

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne Schemat ogólny X Y Układ kombinacyjny S Z Pamięć Zegar Działanie układu Zmiany wartości wektora S możliwe tylko w dyskretnych chwilach czasowych

Bardziej szczegółowo

U 2 B 1 C 1 =10nF. C 2 =10nF

U 2 B 1 C 1 =10nF. C 2 =10nF Dynamiczne badanie przerzutników - Ćwiczenie 3. el ćwiczenia Zapoznanie się z budową i działaniem przerzutnika astabilnego (multiwibratora) wykonanego w technice TTL oraz zapoznanie się z działaniem przerzutnika

Bardziej szczegółowo

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY WYDZIAŁ ELEKTRYCZNY ELEKTRONIKA I TELEKOMUNIKACJA Projekt z kursu Programowalne układy cyfrowe Temat: Implementacja interfejsu UART (nadajnik) z portem SPI

Bardziej szczegółowo

1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów...

1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów... Spis treści 3 1. Podstawowe wiadomości...9 1.1. Sterowniki podstawowe wiadomości...10 1.2. Do czego służy LOGO!?...12 1.3. Czym wyróżnia się LOGO!?...12 1.4. Pierwszy program w 5 minut...13 Oświetlenie

Bardziej szczegółowo

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter UART Universal Asynchronous Receier- Transmiter Cel projektu: Zbudowanie układu transmisji znaków z komputera na wyświetlacz zamontowany na płycie Spartan-3AN, poprzez łacze RS i program TeraTerm. Laboratorium

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.

Bardziej szczegółowo

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1 Część 3 Układy sekwencyjne Układy sekwencyjne i układy iteracyjne - grafy stanów 18.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 1 Układ cyfrowy - przypomnienie Podstawowe informacje x 1 x 2 Układ cyfrowy

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

Przetworniki analogowo - cyfrowe CELE ĆWICZEŃ PODSTAWY TEORETYCZNE Zasada pracy przetwornika A/C

Przetworniki analogowo - cyfrowe CELE ĆWICZEŃ PODSTAWY TEORETYCZNE Zasada pracy przetwornika A/C Przetworniki analogowo - cyfrowe CELE ĆWICZEŃ Zrozumienie zasady działania przetwornika analogowo-cyfrowego. Poznanie charakterystyk przetworników ADC0804 i ADC0809. Poznanie aplikacji układów ADC0804

Bardziej szczegółowo

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Magistrale W układzie bank rejestrów służy do przechowywania danych. Wybór źródła

Bardziej szczegółowo

LABORATORIUM PODSTAWY ELEKTRONIKI REJESTRY

LABORATORIUM PODSTAWY ELEKTRONIKI REJESTRY LABORATORIUM PODSTAWY ELEKTRONIKI REJESTRY Cel ćwiczenia Zapoznanie się z budową i zasadą działania rejestrów cyfrowych wykonanych w ramach TTL. Zestawienie przyrządów i połączenie rejestru by otrzymać

Bardziej szczegółowo

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015 Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów synchronicznych Rafał Walkowiak Wersja.2 24/25 UK Funkcje wzbudzeń UK Funkcje wzbudzeń Pamieć Pamieć UK Funkcje wyjściowe

Bardziej szczegółowo

Układy sekwencyjne. 1. Czas trwania: 6h

Układy sekwencyjne. 1. Czas trwania: 6h Instytut Fizyki oświadczalnej UG Układy sekwencyjne 1. Czas trwania: 6h 2. Cele ćwiczenia Poznanie zasad działania podstawowych typów przerzutników: RS, -latch,, T, JK-MS. Poznanie zasad działania rejestrów

Bardziej szczegółowo

Politechnika Wrocławska, Wydział PPT Laboratorium z Elektroniki i Elektrotechniki

Politechnika Wrocławska, Wydział PPT Laboratorium z Elektroniki i Elektrotechniki Politechnika Wrocławska, Wydział PP 1. Cel ćwiczenia Zapoznanie z wybranymi cyfrowymi układami sekwencyjnymi. Poznanie właściwości, zasad działania i sposobów realizacji przerzutników oraz liczników. 2.

Bardziej szczegółowo

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Bardziej szczegółowo

Statyczne badanie przerzutników - ćwiczenie 3

Statyczne badanie przerzutników - ćwiczenie 3 Statyczne badanie przerzutników - ćwiczenie 3. Cel ćwiczenia Zapoznanie się z podstawowymi strukturami przerzutników w wersji TTL realizowanymi przy wykorzystaniu bramek logicznych NAND oraz NO. 2. Wykaz

Bardziej szczegółowo

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp: Licznik elektroniczny - układ cyfrowy, którego zadaniem jest zliczanie wystąpień sygnału zegarowego. Licznik złożony

Bardziej szczegółowo

Cel. Poznanie zasady działania i budowy liczników zliczających ustaloną liczbę impulsów. Poznanie kodów BCD, 8421 i Rys. 9.1.

Cel. Poznanie zasady działania i budowy liczników zliczających ustaloną liczbę impulsów. Poznanie kodów BCD, 8421 i Rys. 9.1. Ćwiczenie 8 Liczniki zliczające, kody BCD, 8421, 2421 Cel. Poznanie zasady działania i budowy liczników zliczających ustaloną liczbę impulsów. Poznanie kodów BCD, 8421 i 2421. Wstęp teoretyczny. Przerzutniki

Bardziej szczegółowo

Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18

Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18 Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18 ZADANIE 1 Komparator szeregowy 2 liczb Specyfikacja wymagań dla układu

Bardziej szczegółowo

THE HARDWARE IMPLMENTATION OF THE PS/2 PROTOCOL ON SPARTAN 3 FPGA DEVICE IMPLEMENTACJA SPRZĘTOWA PROTOKOŁU PS/2 W UKLADZIE FPGA SPARTAN 3

THE HARDWARE IMPLMENTATION OF THE PS/2 PROTOCOL ON SPARTAN 3 FPGA DEVICE IMPLEMENTACJA SPRZĘTOWA PROTOKOŁU PS/2 W UKLADZIE FPGA SPARTAN 3 Szymon Kozień IV rok Koło Naukowe Techniki Cyfrowej Dr inż. Wojciech Mysiński opiekun naukowy THE HARDWARE IMPLMTATION OF THE PS/ PROTOCOL ON SPARTAN FPGA DEVICE IMPLEMTACJA SPRZĘTOWA PROTOKOŁU PS/ W UKLADZIE

Bardziej szczegółowo

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

Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach!

Bardziej szczegółowo

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0) AVR DRAGON INSTRUKCJA OBSŁUGI (wersja 1.0) ROZDZIAŁ 1. WSTĘP... 3 ROZDZIAŁ 2. ROZPOCZĘCIE PRACY Z AVR DRAGON... 5 ROZDZIAŁ 3. PROGRAMOWANIE... 8 ROZDZIAŁ 4. DEBUGOWANIE... 10 ROZDZIAŁ 5. SCHEMATY PODŁĄCZEŃ

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM Spis treści 1. Wstęp... 9 2. Ćwiczenia laboratoryjne... 12 2.1. Środowisko projektowania Quartus II dla układów FPGA Altera... 12 2.1.1. Cel ćwiczenia... 12 2.1.2. Wprowadzenie... 12 2.1.3. Przebieg ćwiczenia...

Bardziej szczegółowo

Programowanie mikrokontrolerów 2.0

Programowanie mikrokontrolerów 2.0 13.1 Programowanie mikrokontrolerów 2.0 Sterowanie fazowe Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 19 grudnia 2016 Triak Triak jest półprzewodnikowym elementem przełączającym

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania. Badanie liczników asynchronicznych - Ćwiczenie 4 1. el ćwiczenia Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich

Bardziej szczegółowo

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych Instrukcja do ćwiczenia laboratoryjnego opracował: Łukasz Buczek 05.2015 rev. 05.2018 1 1. Cel ćwiczenia Doskonalenie umiejętności obsługi

Bardziej szczegółowo

Implementacja algorytmu szyfrującego

Implementacja algorytmu szyfrującego Warszawa 25.01.2008 Piotr Bratkowski 4T2 Przemysław Tytro 4T2 Dokumentacja projektu Układy Cyfrowe Implementacja algorytmu szyfrującego serpent w układzie FPGA 1. Cele projektu Celem projektu jest implementacja

Bardziej szczegółowo

Wstęp działanie i budowa nadajnika

Wstęp działanie i budowa nadajnika Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie LABORATORIUM Teoria Automatów Temat ćwiczenia Górnik L.p. Imię i nazwisko Grupa ćwiczeniowa: Poniedziałek 8.000 Ocena Podpis 1. 2. 3. 4. Krzysztof

Bardziej szczegółowo

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r. Sprawozdanie z projektu MARM Część druga Specyfikacja końcowa Prowadzący: dr. Mariusz Suchenek Autor: Dawid Kołcz Data: 01.02.16r. 1. Temat pracy: Układ diagnozujący układ tworzony jako praca magisterska.

Bardziej szczegółowo

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami

Bardziej szczegółowo

LICZNIKI Liczniki scalone serii 749x

LICZNIKI Liczniki scalone serii 749x LABOATOIUM PODSTAWY ELEKTONIKI LICZNIKI Liczniki scalone serii 749x Cel ćwiczenia Zapoznanie się z budową i zasadą działania liczników synchronicznych i asynchronicznych. Poznanie liczników dodających

Bardziej szczegółowo

Kod produktu: MP01611

Kod produktu: MP01611 CZYTNIK RFID ZE ZINTEGROWANĄ ANTENĄ, WYJŚCIE RS232 (TTL) Moduł stanowi tani i prosty w zastosowaniu czytnik RFID dla transponderów UNIQUE 125kHz, umożliwiający szybkie konstruowanie urządzeń do bezstykowej

Bardziej szczegółowo

Instrukcja do ćwiczenia : Matryca komutacyjna

Instrukcja do ćwiczenia : Matryca komutacyjna Instrukcja do ćwiczenia : Matryca komutacyjna 1. Wstęp Każdy kanał w systemach ze zwielokrotnieniem czasowym jest jednocześnie określany przez swoją współrzędną czasową T i współrzędną przestrzenną S.

Bardziej szczegółowo

4. Karta modułu Slave

4. Karta modułu Slave sygnały na magistralę. Można wyróżnić trzy typy układów scalonych takie jak bramki o otwartym kolektorze wyjściowym, bramki trójstanowe i bramki o przeciwsobnym wzmacniaczu wyjściowym. Obciążalność prądową

Bardziej szczegółowo

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. PTC 2015/2016 Magistrale W układzie cyfrowym występuje bank rejestrów do przechowywania

Bardziej szczegółowo

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu. E113 microkit Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100 1.Opis ogólny. Zestaw do samodzielnego montażu. Edukacyjny sterownik silnika krokowego przeznaczony jest

Bardziej szczegółowo

Badanie właściwości skramblera samosynchronizującego

Badanie właściwości skramblera samosynchronizującego Badanie właściwości skramblera samosynchronizującego Skramblery są układami służącymi do zmiany widma sekwencji cyfrowych przesyłanych torami transmisyjnymi.bazują na rejestrach przesuwnych ze sprzeżeniami

Bardziej szczegółowo

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA

Bardziej szczegółowo

Wyniki (prawie)końcowe - Elektroniczne warcaby

Wyniki (prawie)końcowe - Elektroniczne warcaby Wyniki (prawie)końcowe - Elektroniczne warcaby Zbigniew Duszeńczuk 14 czerwca 2008 Spis treści 1 Stan realizacji projektu na dzień 14 czerwca 2008 2 2 Najważniejsze cechy projektu 2 2.1 Użyte elementy..............................

Bardziej szczegółowo

Research & Development Ultrasonic Technology / Fingerprint recognition

Research & Development Ultrasonic Technology / Fingerprint recognition Research & Development Ultrasonic Technology / Fingerprint recognition DATA SHEETS & OPKO http://www.optel.pl email: optel@optel.pl Przedsiębiorstwo Badawczo-Produkcyjne OPTEL Spółka z o.o. ul. Otwarta

Bardziej szczegółowo

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci PAMIĘĆ RAM Pamięć służy do przechowania bitów. Do pamięci musi istnieć możliwość wpisania i odczytania danych. Bity, które są przechowywane pamięci pogrupowane są na komórki, z których każda przechowuje

Bardziej szczegółowo

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1. Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ.

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Klasa III Opracuj projekt realizacji prac związanych z badaniem działania cyfrowych bloków arytmetycznych realizujących operacje

Bardziej szczegółowo

Procedury obsługi monolitycznego przetwornika analogowo-cyfrowego AD 7865

Procedury obsługi monolitycznego przetwornika analogowo-cyfrowego AD 7865 Dodatek do instrukcji Ćwiczenia 8 Laboratorium AiCUE Procedury obsługi monolitycznego przetwornika analogowo-cyfrowego AD 7865 Literatura: - nota katalogowa fotodiody BPW34 - nota katalogowa przetwornika

Bardziej szczegółowo