Instrukcja

Transkrypt

Instrukcja
Technika Cyfrowa i Układy Programowalne
Bramki
Instrukcja do laboratorium
AGH w Krakowie
Katedra Elektroniki
Ernest Jamro
Aktualizacja: 21-10-2016
1. Podłączenie układu
Podłącz wyprowadzenia płytki z układem FPGA (i płytki BNC) do oscyloskopu zgodnie z numeracją
kanałów oraz kabel SUB do komputera PC zgodnie z poniższym rysunkiem. Włącz zasilanie na płytce
(przełącznikiem POWER – zaświeci się czerwona dioda).
2. Programowanie układu FPGA
Sprawdź czy istnieje katalog: C:/tc/bramki − w tym katalogu znajdują się pliki konfiguracji układu
FPGA. Jeśli nie istnieje ten katalog, to stwórz go oraz ściągnij ze strony
http://www.fpga.agh.edu.pl/tc/ materiały do tego laboratorium a następnie rozpakuj ten plik do tego
katalogu.
Następnie uruchom program Vivado klikając odpowiednią ikonę na pulpicie lub wybierając Start /
Programy / Xilinx Design Suit ??? / Vivado ??? / Vivado ???, gdzie ??? to wersja programu Vivado.
W programie Vivado kliknij ikonę: Open Hardware Manager. Następnie kliknij link Open target
i wybierz menu Auto Connect co przedstawia poniższy rysunek.
Następnie kliknij link Program Device i wybierz układ xc7a100. Następnie w ustawieniach Bitstream
file wybierz ścieżkę C:/tc/bramki oraz plik bramki_typy.bit. Naciśnij przycisk Program. W przyszłości
aby zaprogramować układ FPGA innym plikiem konfiguracyjnym należy powtórzyć czynności
opisane w tym akapicie.
3. Typy Bramek
Po zaprogramowaniu układu FPGA plikiem bramki_typy.bit i ustaw przełącznik S1 (na płytce z
wyjściami BNC) w pozycji OFF.
W zależności od przełączników SW0 i SW1 realizowane są różne funkcje logiczne:
ch3 = F3(ch1, ch2) oraz ch4 = F4(ch1, ch2)
kanały: ch1, ch2 − wymuszenia (wejścia)
kanały: ch3, ch4 − wyjścia.
Ustaw przełączniki SW0 i SW1 w różnych pozycjach i zaobserwuj stany czterech kanałów na
oscyloskopie (synchronizacja kanał ch2). Określ jakie funkcje logiczne realizuje układ FPGA:
SW1, SW0
00
01
10
11
Ch3
Ch4
4. Charakterystyka przejściowa
Zaprogramuj układ FPGA plikiem bramki_chrakterystyka.bit oraz ustaw przełącznik S1 w pozycję
ON, SW0 w stan Lo. Schemat połączeń układu został przedstawiony na poniższym rysunku. W wyniku
otrzymujemy na ch1 przebieg przypominający przebieg piłokształtny (wyjście układu całkującego
RC) a na ch2 otrzymujemy odpowiedz bufora na ten przebieg. Ustaw synchronizację na kanał ch1 lub
ch3.
Płytka
FPGA
ch1
ch2
R=10kΩ
ch3 ch4
C=1nF
oscyloskop
Zaobserwuj przebieg na kanałach 1 i 2. Zwiększ czułość do 0.5V/dz. Zaobserwuj przy jakim
wejściowym napięciu progowym (na kanale ch1) następuje zmiana stanu na wyjściu (ch2), zarówno
dla zbocza opadającego jak i narastającego ch1. Czy napięcie progowe różni się dla sygnału
narastającego i opadającego. W sprawozdaniu napisz z czego to wynika. Jakie napięcie wyjściowe
odpowiada stanom 0 i 1 - jest to standard LVCMOS3.3. Następnie przełącz oscyloskop w tryb XY
(menu: Display / Format XY) i zaobserwuj (i zapisz) charakterystykę przejściową bramki Uwy =
F(Uwy) (określ na charakterystyce gdzie znajduje się zero!).
Następnie przejdź na standardowy przebieg YT. Przełącz przełącznik SW0 w stan Hi. Spowoduje to
generację złożonego przebiegu na kanale ch1, o czym świadczy ten przebieg? Powiększ wybrane
zbocze sygnału ch2.
5. Czasy propagacji od sygnału wewnętrznego
Zaprogramuj układ FPGA plikiem bramki_propag.bit. Konfiguracja ta prezentuje czasy propagacji od
wewnętrznego (znajdującego się w układzie FPGA) sygnału zegarowego.
Przełącznik SW0 = Lo:
Kanały wskazują następujące sygnały:
ch1 − wyjście o obniżonej wydajność prądowa 2 mA i dodatkowo obciążone pojemnością 1 nF (S1
w pozycji ON);
2
ch2 − wyjście o obniżonej wydajności prądowej do 2 mA;
ch3 − wyjście bramki Open Drain (wydajność prądowa 2mA);
ch4 − wyjście o wydajności prądowej 24 mA.
Uwaga: Pomiędzy wyjściem bramek a oscyloskopem znajduje się rezystor zabezpieczający 200Ω.
Oszacuj czasy propagacji (a właściwie różnice w czasach propagacji od najszybszego sygnału) i omów
je (w sprawozdaniu). Jak jest definiowany czas propagacji. Oszacuj ile wynosi czas narastania dla
poszczególnych sygnałów. Jest on definiowany jako czas który upłynie od przekroczenia progu 10%
napięcia nominalnego (tutaj 3.3V) do przekroczenia progu 90%. Zwróć uwagę na różnice w czasie
propagacji ze stanu niskiego do wysokiego i na odwrót dla kanału ch3. Czy czas propagacji dla tak
zniekształconych sygnałów może być wiarygodny? Co jest przyczyną zniekształceń. W jaki sposób
zniekształcenia mogą być zmniejszone. Spróbuj dla kanału ch2 użyć dużo dłuższego kabla łączącego
układ FPGA i oscyloskop a następnie użyć sondy oscyloskopowej z podziałem 1:10. Zaobserwuj
różnice.
6. Czasy propagacji sygnału zewnętrznego
Zaprogramuj układ FPGA plikiem bramki_propag_ext.bit. Ustaw przełącznik SW0 w pozycję Lo oraz
S1 w pozycję OFF. Schemat połączeń jest podany na poniższym rysunku − należy połączyć kablem
BNC za pomocą rozdzielacza BNC wyjście kanały ch1 z wejściem kanału ch2 i dodatkowo połącz je z
oscyloskopem − najlepiej jak rozdzielacz jest umiejscowiony przy oscyloskopie):
Płyta PCB
FPGA
ch1
ch2
ch3
Rozdzielacz
BNC
Do oscyloskopu
ch4
Zaobserwuj przebieg na kanale ch4. Co on przedstawia: jak powinien wyglądać w teorii a jak wygląda
w praktyce. Jak nazywa się to zjawisko?
A co się stanie jak połączy się wejście z wyjście inwertera? W tym celu przełącz przełącznik SW0 w
stan Hi, schemat konfiguracji układu FPGA dla tego ustawienia przełącznika przedstawia poniższy
rysunek.
Płyta
FPGA
ch1
ch2
ch3
ch4
S1
Do oscyloskopu
3
W ogólnym przypadku odpowiedź nie jest jednoznaczna − w tym przypadku stosujemy bardzo długie
połączenia co ułatwia otrzymanie oscylacji. Jeśli nie powstaną oscylacje to jaki otrzymamy stan?
Aby lepiej zaobserwować przebiegi na oscyloskopie można przejść w tryb rejestracji pojedynczego
przebiegu (przycisk: RUN/STOP).
A co się stanie jak dodatkowo dołączy się kondensator (przełącznik S1 w stan ON)?
7. Bramka Open Drain
Zaprogramuj układ FPGA plikiem bramki_mux_od.bit. Schemat wewnętrzny konfiguracji jest
przedstawiony na poniższym rysunku (przełącznik S1 ustaw w stan OFF). Użyte bramki są typu Open
Drain (OD). Jaką logikę można uzyskać z bramkami OD. W sprawozdaniu napisz jak przy użyciu
tych bramek można uzyskać multiplekser, czy będzie on szybko działał?
Płyta
FPGA
OD
OD
ch1
VDD
ch2
ch3 ch4
Do oscyloskopu
8. Łączenie bramek trójstanowych
Zaprogramuj układ FPGA plikiem bramki_mux_ts.bit. Schemat połączeń został przedstawiony na
poniższym rysunku. W momencie kiedy wejście T jest w stanie '1' bramka znajduje się w stanie
wysokiej impedancji. Opisz 4 różne stany zaobserwowane na oscyloskopie. W sprawozdaniu
porównaj szybkość bramek trójstanowych i Open Drain. Uwaga: w celu lepszego zilustrowania co się
dzieje w stanie wysokiej impedancji użyto rezystora podciągającego.
Płyta
FPGA
GND
T
T
VDD
ch1
ch2
ch3 ch4
Vdd
Do oscyloskopu
9. Realizacja funkcji logicznej za pomocą multipleksera
Zaprogramuj układ FPGA plikiem: bramki_mux_logic.bit. Schemat układu został przedstawiony na
poniższym rysunku (należy podłączyć wszystkie kanały do oscyloskopu). Za pomocą multipleksera
(podobnie jak za pomocą pamięci LUT) można zrealizować dowolną zaprogramowaną przez
użytkownika funkcję y = f(sel). Należy na wejścia wyboru (sel) podać wartości wejściowe, a na
wejścia multipleksera odpowiednie wartości funkcji. Przedstawia to poniższy rysunek. Wejścia
wyboru multipleksera (sel) są sterowane kolejnymi stanami od 0 do 7 z licznika. Odpowiednio
ustawiając stan przełączników SW0-SW7 możemy zrealizować dowolną funkcję logiczną trzech
zmiennych wejściowych ch1, ch2, ch3 (sygnał wejściowy sel). Ustaw synchronizację oscyloskopu na
4
kanał ch3. Na przykład ustawiając SW0 w pozycji Hi oraz SW1−SW7 w pozycji Lo otrzymujemy
funkcję: NOR(ch1, ch2, ch3). Odpowiednio ustawiając stan SW0-SW7 zaprogramuj następującą
logikę: ch1 xor ch2 xor ch3, oraz inną logikę podaną przez prowadzącego.
GND
Płyta
VDD
GND
SW0
FPGA
VDD
SW7
0
7
mux
ch1
ch2
ch3
ch4
Do oscyloskopu
5

Podobne dokumenty