Układy cyfrowe i systemy wbudowane 1 – laboratorium mgr inż. Antoni Sterna Pt 1245 - 1500
SPRAWOZDANIE
Naszym zadaniem było skonstruować układ wysyłający po naciśnięciu klawisza bajt (różne wartości) do komputera za pośrednictwem portu szeregowego. Kolejne ćwiczenie polegało na zbudowaniu układu okresowo (kilka razy na sekundę) wysyłającego różne bajty, także przez port szeregowy do komputera. Kolejny układ, który mieliśmy zbudować miał za zadanie odbierać znaki wysyłane z komputera, a następnie odsyłać odebrany znak, jeśli spełni zadany warunek. Ostatni z układów miał za zadanie odbierać przesyłane z komputera znaki i wykrywać, czy odebrany znak spełnia zadany warunek. Jeśli tak, ten znak miał być trzykrotnie odesłany do komputera. Ćwiczenia zrealizowaliśmy w programie Xilnix ISE Project Navigator i zaprogramowaliśmy je w układzie XC9572XL.
Układ wysyłający po naciśnięciu klawisza bajt (różne wartości) do komputera za pośrednictwem portu szeregowego.
W ćwiczeniu tym wykorzystaliśmy asynchroniczny licznik 8-bitowy (do generowania przesyłanej wartości), przerzutnik D (do sterowania sygnałem START) oraz gotowy moduł RS232_TX (do wysyłania danych za pomocą portu szeregowego). Parametry transmisji to: szybkość 115200bps, 8b danych, bez bitu parzystości, 1b stop. Do odbierania znaków na komputerze skorzystaliśmy z programu jsterm, który posiada już odpowiednią konfigurację.
Poniżej zamieszczony jest schemat układu:
Układ okresowo (kilka razy na sekundę) wysyłający różne bajty przez port szeregowy do komputera.
Do zrealizowania tego zadania wykorzystaliśmy układ z poprzedniego ćwiczenia, trochę jednak go modyfikując poprzez dodanie asynchronicznego licznika 4-bitowego (w celu uzyskania wolniejszego sygnału zegarowego). Transmisja przez port szeregowy odbywa się analogicznie jak w ćwiczeniu 1. Schemat układu został zamieszczony poniżej:
Układ odbierający znaki wysyłane z komputera, a następnie odsyłający odebrany znak, jeśli spełni zadany warunek.
W tym układzie skorzystaliśmy z gotowego układu RS232_RX (do odbierania danych z komputera) i dwóch 8-bitowych komparatorów, do których kolejno podłączyliśmy stałe 2F i 3A – w ten sposób stworzyliśmy warunek, który sprawdza układ – czy przesłany kod ASCII jest większy od 47 i mniejszy od 58, co odpowiada kodom cyfr. Jeśli warunek jest spełniony, to układ odsyła taki znak do komputera. Podobnie jak w poprzednich układach zastosowaliśmy także przerzutnik D i układ RS232_TX do wysyłania danych do komputera. Parametry transmisji szeregowej są identyczne, jak w poprzednich ćwiczeniach. Poniżej schemat układu:
Układ odbierający przesyłane z komputera znaki i wykrywający, czy odebrany znak spełnia zadany warunek. Jeśli tak, ten znak trzykrotnie odesłać do komputera.
Układ ten jest bardzo podobny do tego z poprzedniego ćwiczenia i różni się jedynie zastosowaniem asynchronicznego licznika 2-bitowego do zliczania nadanych znaków. W momencie, kiedy licznik doliczy do 3, następuje zresetowanie przerzutnika D, jak i samego licznika, co skutkuje przerwaniem nadawania. Schemat układu zamieszczony jest poniżej:
Wnioski:
Dzięki tym zajęciom mieliśmy okazję poznać specyfikę obsługi wysyłania danych przez port szeregowy, a także doskonalić nasze umiejętności w odbieraniu i dalszym przetwarzaniu sygnałów. Wszystkie nasze projekty zadziałały prawidłowo. Dzięki temu, że mogliśmy wykorzystać gotowe moduły odpowiedzialne za transmisję przez port szeregowy, ćwiczenia udało nam się zrealizować bez większych przeszkód. Do realizacji powyższych ćwiczeń przydały się doświadczenia, które zdobyliśmy na poprzednich zajęciach.