Digilent Nexys2: implementacja stopera w VHDL
Niniejszy projekt to stoper, który dokonuje pomiaru czasu z dokładnością do 1 ms. Został on stworzony w łatwy sposób na zestawie uruchomieniowym Nexys2 500K Kit (patrz fotografia 1).
Fot. 1. Zestaw uruchomieniowy Nexys2 500K Kit
Stoper reaguje na naciśnięcie dwóch przycisków. Naciśnięcie przycisku BTN0 powoduje zatrzymanie/uruchamianie stopera, natomiast naciśnięcie przycisku BTN3 powoduje jego resetowanie. Aktualnie zmierzony czas jest wyświetlany na kaskadzie wyświetlaczy (patrz rysunek 2).
Rys. 2. Peryferia funkcyjne projektu wraz z opisem
Jeżeli stoper doliczy do wartości 99.99, na wyświetlaczu pojawi się symbol przepełnienia –.–.
Stoper ten został dodatkowo zabezpieczony przed drganiami styków przycisku BTN0.
Komponenty projektu
Do budowy stopera zastosowano wcześniej zaprojektowane komponenty. Pierwszy z nich to dzielnik częstotliwości sygnału zegarowego przez stałą wartość N. Komponent ten pokazano na rysunku 3.
Rys. 3. Komponent dzielnika częstotliwości
Opis sygnałów:
rst – sygnał reset (niewykorzystywany w tym projekcie)
clk_in – wejściowy sygnał zegarowy
clk_out – wyjściowy, podzielony przez N sygnał zegarowy
Kolejnym komponentem, który wykorzystano w tym projekcie to, również zaprojektowany wcześniej, sterownik kaskady wyświetlaczy 7-segmentowych ze wspólną anodą. Sterownik ten przedstawiono na rysunku 4.
Rys. 4. Komponent sterownika kaskady wyświetlaczy
Opis sygnałów:
clk_i – wejściowy sygnał zegarowy
rst_i – sygnał reset, który resetuje kaskadę wyświetlaczy
digit_i – szyna danych złożona z 32 bitów, każdy bit określa stan konkretnego segmentu kaskady wyświetlaczy
led7_seg_o – szyna danych złożona z 8 bitów, określa stan jednej cyfry w kaskadzie
led7_an_o – szyna danych złożona z 4 bitów, aktualnie wyświetlana cyfra jest określana poziomem niskim
Schemat blokowy projektu przedstawiono na rysunku 5.
Rys. 5. Schemat blokowy stopera
Daniel Nitecki
Autoryzowanym dystrybutorem firmy Digilent w Polsce jest Kamami, ul. Lwowska 5, 05-120 Legionowo, http://www.kamami.pl.