Spisu treści:
- Krok 1: Uzyskaj sprzęt/oprogramowanie
- Krok 2: Schemat blokowy
- Krok 3: Moduł projektu
- Krok 4: Ograniczenia
- Krok 5: Test
Wideo: Jednominutowy stoper VHDL: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
To jest samouczek, jak zbudować jednominutowy stoper przy użyciu VHDL i płyty Basys 3. Takie urządzenie jest idealne do gier, w których każdy gracz ma maksymalnie minutę na wykonanie ruchu. Stoper dokładnie wyświetla sekundy i milisekundy na siedmiosegmentowym wyświetlaczu, zaczynając od 0 sekund i 0 milisekund, do 60 sekund i 0 milisekund. Wykorzystywane są również dwa przyciski: środkowy przycisk służący do uruchamiania, zatrzymywania i kontynuacji timera oraz prawy przycisk służący do ponownego uruchamiania timera. Kiedy urządzenie jest porównywane obok siebie z wbudowanym stoperem smartfona, dokładność zegara jest zauważalna.
Krok 1: Uzyskaj sprzęt/oprogramowanie
1. Płytka szkoleniowa FPGA Basys 3 Artix-7 firmy Digilent z kablem Micro-USB na USB
2. Vivado 2016.2 Design Suite firmy Xilinx
Krok 2: Schemat blokowy
Ten obwód jest skonstruowany behawioralnie i wykorzystuje wbudowane komponenty Xilinx, ale można go również opisać strukturalnie, jak pokazano na ogólnym schemacie strukturalnym powyżej. Z diagramu widać, że obwód jest napędzany przez dwa dzielniki częstotliwości. Jeden z dzielników częstotliwości pracuje z częstotliwością 1 centysekundy i steruje licznikiem katodowym, który jest używany jako liczby wyświetlane na siedmiosegmentowym wyświetlaczu. Drugi dzielnik częstotliwości działa z częstotliwością 240 Hz i jest używany do sterowania licznikiem anod, który obraca się przez anody, tak aby wszystkie liczby wyświetlały się poprawnie na wyświetlaczu siedmiosegmentowym. Koder pobiera logikę katodową z licznika katodowego i logikę anodową z licznika anodowego i koduje ją do katody wyjściowej i anody, które uruchamiają wyświetlacz siedmiosegmentowy. Funkcją tego enkodera jest zmiana wyjścia katodowego za każdym razem, gdy zmienia się wyjście anodowe. Wyjście katodowe nie może być uruchamiane niezależnie od licznika, ponieważ anody muszą obracać się przez 4 oddzielne cyfry.
Krok 3: Moduł projektu
Po pierwsze, tworzony jest blok procesowy dla CEN, tak że po wykryciu naciśnięcia przycisku przełącza się WŁĄCZ. Służy jako stop/start licznika katodowego.
W następnym bloku procesowym sygnały zegarowe setnesekundowe i 240Hz są ustawiane tak, że ich odpowiednie liczniki wzrastają o 1 za każdym razem, gdy wewnętrzny zegar 100mHz osiąga zbocze narastające. Gdy licznik centysekund osiągnie 500000, zostanie zresetowany do 0. Tymczasem licznik 240 Hz zostanie zresetowany, gdy zliczenie osiągnie 41667.
Dla sekcji katodowej kodu, jeśli ENABLE ma wartość „0”, liczenie katod zostanie wstrzymane. Jeśli w tym czasie zostanie naciśnięty przycisk resetowania, wszystkie liczniki zostaną zresetowane do „0000”. W międzyczasie, jeśli ENABLE jest '1', zliczanie katod będzie kontynuowane, aż zliczanie katod osiągnie 60,00, w którym wyzwala sygnał stop na '1'. Sygnał stop kieruje z powrotem do bloku procesowego CEN i powoduje, że ENABLE ma wartość „0”, podczas gdy sygnał stop ma wartość „1” i nie zmieni się, dopóki nie zostanie naciśnięty przycisk resetowania.
Na koniec, wyświetlacz siedmiosegmentowy jest skonfigurowany tak, że 4 anody są prawidłowo połączone z każdą z ich 8 katod, aby jednocześnie wyświetlać odpowiednie cyfry 0-9.
Krok 4: Ograniczenia
Ten plik ograniczeń łączy określone wejścia i wyjścia z VHDL z niezbędnymi, fizycznymi częściami płyty Basys. W przypadku tego projektu komponenty obejmują cztery anody i każdą z ośmiu katod dla siedmiosegmentowego wyświetlacza, wewnętrzny zegar 100 MHz, środkowy przycisk i prawy przycisk.
Krok 5: Test
Po zakończeniu kodu możesz teraz zaprogramować FPGA za pomocą kabla USB. Wyświetlacz siedmiosegmentowy powinien pokazywać 0.00. Sprawdź, czy przyciski działają, naciskając środkowy przycisk, aby uruchomić timer, aż osiągnie 60.00 i zatrzyma się; w dowolnym momencie możesz ponownie nacisnąć środkowy przycisk, aby wstrzymać. Po wstrzymaniu możesz nacisnąć prawy przycisk, aby zresetować timer z powrotem do 0.00. Jeśli wszystko działa poprawnie, gratulacje, że właśnie zbudowałeś minutnik!
Zalecana:
Stoper Arduino z wyświetlaczem LCD I2C: 5 kroków
Stoper Arduino przy użyciu I2C LCD: W tym projekcie nauczę Cię używać wyświetlacza LCD i Arduino jako interaktywnego stopera. Gdy Twój projekt zostanie ukończony z dostarczonym kodem, powinien wyglądać jak na powyższym zdjęciu.Przejdź do następnego kroku, aby dowiedzieć się, od czego zacząć
Automatyczny stoper: 9 kroków
Automatyczny stoper: Ten instruktaż pokaże Ci, jak zbudować automatyczny stoper. Ponieważ bieganie jest fajne, ale czasami nie ma przy sobie nikogo, kto mógłby zmierzyć czas. Starałem się, aby był jak najprostszy, tani i dokładny. Nie potrzebujesz pilota
Jak zrobić stoper za pomocą Arduino: 8 kroków (ze zdjęciami)
Jak zrobić stoper za pomocą Arduino: jest to bardzo prosty stoper z wyświetlaczem LCD Arduino 16 * 2 ………… Jeśli podoba ci się ta instrukcja, zasubskrybuj mój kanał https://www.youtube.com /ZenoModiff
Podstawowy stoper z płytą VHDL i Basys3: 9 kroków
Podstawowy stoper z wykorzystaniem VHDL i płytki Basys3: Witamy w instrukcji, jak zbudować stoper przy użyciu podstawowej płytki VHDL i Basys 3. Cieszymy się, że możemy podzielić się z Tobą naszym projektem! To był ostatni projekt kursu CPE 133 (Digital Design) w Cal Poly, SLO jesienią 2016. Projekt, który zbudowaliśmy
Stoper VHDL: 8 kroków (ze zdjęciami)
Stoper VHDL: To jest samouczek na temat tworzenia stopera przy użyciu VHDL i płytki FPGA, takiej jak płytka Basys3 Atrix-7. Stoper może liczyć od 00.00 sekund do 99,99 sekund. Wykorzystuje dwa przyciski, jeden do przycisku start/stop, a drugi do