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:

MSM80C154S.pdf

 

Program assemblera 8051:

ASM51.EXE

 

Plik definicji rejestrów mikrokontrolera 80154 (dla assemblera):

MOD154

 

Przykładowy plik wejściowy dla assemblera:

program.asm

 

 

Pytania do kolokwium:

kolokwium



Wyniki kolokwium:
WYNIKI

 

 

Wkrótce zadania związane z dodatkowym układem laboratoryjnym nr 2.