Zaawansowane zadania laboratoryjne zwalniające z kolokwium (ćwiczenie nr 9):
1. Generator funkcji z odczytem częstotliwości.
Należy zrealizować układ generatora funkcji: trójkąt, sinus, prostokąt o częstotliwości regulowanej za pomocą potencjometru (dołączonego do przetwornika A/C). Sygnał trójkątny powinien być wytwarzany w przetworniku DAC 08 (wyjście X). Sygnał sinus powinien być wytwarzany w przetworniku R2R (wyjście Y – port dodatkowy) (można zrealizować aproksymację schodkową lub odcinkami liniową). Sygnał prostokątny powinien być generowany na wyjściu Z (najbardziej znaczący bit portu dodatkowego). Częstotliwość powinna być regulowana w zakresie 1 dekady. Generator powinien pracować w 4 zakresach dekadowych obejmujących częstotliwości 1 Hz – 10 Hz, 10 Hz – 100 Hz, 100 Hz – 1000 Hz, 1000 Hz – 10000 Hz. Zmiana zakresu powinna się dokonywać za pomocą klawiszy ze strzałkami ¯ . Numer aktualnego zakresu (1-4) powinien być wyświetlany na wyświetlaczu mozaikowym.
Nadobowiązkowo: Aktualna częstotliwość powinna być wyświetlona na wyświetlaczu LCD. Drugi potencjometr powinien regulować współczynnik wypełnienia przebiegu prostokątnego – współczynnik ten powinien być również wyświetlany na wyświetlaczu LCD.
Do zrealizowania zadania należy wykorzystać dodatkowy układ laboratoryjny nr 1.
2. Częstotliwościomierz – okresomierz cyfrowy z
interfejsem RS232.
Należy zrealizować układ częstotliwościomierza – okresomierza cyfrowego dokonującego pomiaru f z rozdzielczością 1 Hz i okresu z rozdzielczością 1 ms (równocześnie). Wynik pomiaru powinien być wyświetlany na ekranie oscyloskopu z wykorzystaniem trybu X-Y-Z (wyjścia na płytce dodatkowej) lub monitora VGA lub wyświetlacza LCD. Na końcu wyniku pomiaru powinna być wyświetlana jednostka (Hz lub ms). Wynik powinien być 6 cyfrowy. Jako wejście sygnałowe wykorzystać Uniwersalne Wejście Cyfrowe.
Nadobowiązkowo: Zrealizować wygaszanie zer nieznaczących. Rezultaty pomiaru powinny być także wysyłane do komputera za pomocą portu szeregowego przez Uniwersalne Wyjście Cyfrowe (9600 bps, bez parzystości, 1 bit stopu).
Do zrealizowania zadania należy wykorzystać dodatkowy układ laboratoryjny nr 1.
3. Gra elektroniczna „ping-pong”
Gra powinna być zrealizowana na ekranie oscyloskopu (wyjścia: X-Y-Z na płytce dodatkowej) lub monitora VGA. Sterowanie paletek za pomocą dwóch potencjometrów (przetwornik A/C). Na ekranie oscyloskopu/monitora lub na wyświetlaczu LCD powinna wyświetlać się aktualna punktacja, odbiciu piłeczki powinny towarzyszyć efekty dźwiękowe.
Nadobowiązkowo: Zdobycie punktu zasygnalizować dźwiękiem i efektami wizualnymi na wyświetlaczu mozaikowym.
Do zrealizowania zadania należy wykorzystać dodatkowy układ laboratoryjny nr 1.
4. Oscyloskop cyfrowy z pamięcią (wyświetlanie na
monitorze VGA).
Podstawa czasu powinna być zmieniana w zakresie od 100 ms do 10 sek skokowo, maksymalnie co dekadę, za pomocą klawiszy ze strzałkami ¯ (aktualna podstawa czasu powinna się wyświetlać na wyświetlaczu LCD). Wyzwalanie ręczne (klawiszem ENTER). Wejściem oscyloskopu powinien być przetwornik A/C – port analogowy nr 1 lub 2 (kabelek z wtykiem BNC).
Nadobowiązkowo: Wyzwalanie automatyczne (próg regulowany potencjometrem). Przełączanie trybu wyzwalania klawiszem „backspace” (aktualny tryb wyzwalania powinien wyświetlać się na wyświetlaczu mozaikowym – symbole dowolne).
Do zrealizowania zadania należy wykorzystać dodatkowy układ laboratoryjny nr 1.
5. System mikroprocesorowy 8051 z generatorem obrazu VGA.
Należy zintegrować układ FPGA i mC w system mikroprocesorowy wyposażony w możliwość wyświetlania obrazu w trybie graficznym. Część pamięci SRAM powinna być wykorzystana do generacji obrazu graficznego i być wspólna dla mC i FPGA. Obraz z generatora powinien mieć rozdzielczość 256 x 192. Każdemu pixelowi powinny odpowiadać 4 bity pamięci video (3 bity kodują kolor RGB a czwarty rozjaśnienie). Pamięć wideo zajmie górne 24 kB SRAM. Dolne 8 kB powinno pozostać dostępne dla pamięci programu.
Wskazówki:
- należy zastosować podział czasu w dostępie do SRAM – układ FPGA ma wyłączność w czasie wyświetlania obrazu, zaś mC ma wyłączność w czasie wygaszania pionowego.
- mikrokontroler powinien być wprowadzany w tryb uśpienia – z opcją wprowadzania końcówek w stan wysokiej impedancji – na czas wyświetlania obrazu przez FPGA.
- FPGA powinien rozpocząć dostęp do pamięci video dopiero po potwierdzeniu przejścia mC w tryb uśpienia.
- do budzenia mC ze stanu uśpienia (przez FPGA po zakończeniu wyświetlania ramki) wykorzystać sygnał T0.
W celu demonstracji napisać program „LIFE”, zegar „analogowy” (ze wskazówkami) lub inny program wykorzystujący grafikę zaproponowany przez studentów.
Do zrealizowania zadania wystarczy sama płytka XS40 – ze sprawnym mC.
DODATKI:
Dokumentacja mikrokontrolera M80C154S:
Program
assemblera 8051:
Plik definicji rejestrów mikrokontrolera 80154 (dla assemblera):
Przykładowy plik wejściowy dla assemblera:
Pytania do kolokwium:
Wkrótce zadania związane z dodatkowym układem laboratoryjnym nr 2.