whycomputer.com >> Wiedza o Internecie >  >> Oprogramowanie

Jak zbudować prosty nadajnik UART w Verilog HDL

Wprowadzenie

Wiele dostępnych w Internecie przykładów uniwersalnych odbiorników i nadajników UART (Universal Asynchronous Receiver‑Transmitter) jest skomplikowanych i trudnych do zrozumienia. Poniżej przedstawiam prostą teorię oraz przykładowy kod, które pozwolą stworzyć własny nadajnik UART.

Podstawy działania nadajnika

Główną ideą jest przesyłanie wielu bitów danych jednocześnie przez jedną linię. W naszym nadajniku dane są początkowo w formacie równoległym, a następnie zamieniane na szeregowy strumień, który odbiorca konwertuje z powrotem na równoległy.

Co jest potrzebne?

  1. Dzielnik zegara (licznik) – umożliwia nadawanie danych z określoną prędkością (baud rate). Odbiornik będzie próbkował sygnał bit po bicie.
  2. Rejestr przesuwający – określa liczbę bitów wysyłanych jednocześnie. Zawiera bit startu, bity danych, opcjonalny bit parzystości oraz bit stopu.
  3. Diagram stanów – przed napisaniem kodu warto opracować diagram stanów. Dla prostego nadajnika wystarczą dwa stany: IDLE (bezczynny) i TRANSMITTING (nadawanie).

Obliczanie dzielnika zegara

Wartość licznika wylicza się ze wzoru:

counter = częstotliwość_zegara_FPGA / baud_rate

Przykładowo, przy baud rate 9600 i zegarze FPGA 50 MHz otrzymujemy counter = 5208.

Rejestr przesuwający

W przykładowym kodzie użyto następującej struktury:

  • bit startu
  • bit parzystości (opcjonalny)
  • 8 bitów danych
  • bit stopu

Łącznie daje to 11 bitów, które są kolejno wyprowadzane na linię wyjściową.

Implementacja w Verilog HDL

Po przygotowaniu diagramu stanów, licznika i rejestru przesuwającego można przejść do kodu. Moduł łączy wszystkie elementy w jedną całość i może współpracować z innym FPGA podłączonym szeregowo, z programem Windows HyperTerminal lub z dowolnym innym sprzętem obsługującym UART. Kod jest łatwy do modyfikacji – wystarczy zmienić parametry licznika lub liczbę bitów, aby dostosować go do innych prędkości i formatów.

Testowanie

Na koniec warto stworzyć testbench, który pozwoli zasymulować działanie nadajnika i wykryć ewentualne błędy przed wgraniem projektu na FPGA.

Wskazówka

zarówno nadajnik, jak i odbiornik muszą być skonfigurowane na tę samą prędkość transmisji (baud rate).


URL:https://pl.whycomputer.com/oprogramowanie/100313349.html

Oprogramowanie
  • Jak wstawić symbol obrotu przeciwnie do ruchu wskazówek zegara

    Symbol obrotu przeciwnie do ruchu wskazówek zegaraOtwarty okrąg ze strzałką skierowaną w lewo oznacza obrót przeciwnie do ruchu wskazówek zegara. Najłatwiej wstawić go do dokumentu, kopiując ze źródła lub wybierając w sekcji „symbole” edytora tekstu. Istnieje także metoda, która pozwala dodać znak b

  • Jak stworzyć plik XMP w programach Adobe

    Co to jest plik XMP? Plik z rozszerzeniem XMP to format Adobe Extensible Metadata Platform, który przechowuje szablon metadanych ułatwiający organizację wielu plików. Szablon można stworzyć w dowolnym programie Adobe (np. Photoshop, Fireworks), a następnie zastosować go do innych dokumentów przy pom

  • Jak stworzyć nowy plik Shapefile w ArcGIS

    Co to jest Shapefile?Shapefile to popularny wektorowy format danych geoprzestrzennych używany w systemach GIS. Składa się z zestawu plików przechowujących geometrie (punkty, linie, wielokąty) oraz atrybuty, co ułatwia precyzyjną analizę przestrzenną.Kroki tworzenia nowego Shapefile w ArcGISInstalacj

Wiedza o Internecie © https://pl.whycomputer.com