whycomputer.com >> Datornätverk >  >> Programvara

Hur man bygger en enkel seriell UART-sändare i Verilog HDL

De flesta generella UART‑moduler jag hittat online är för komplexa och svåra att följa. I den här artikeln förklarar jag grundläggande teori och visar hur du enkelt kan bygga en UART‑sändare med Verilog HDL.

Principen bakom en UART‑sändare

En UART‑sändare skickar data bit för bit över en enda ledning. Data är parallell i källan men omvandlas till seriell för att minska antal ledningar. Vid mottagning konverteras den tillbaka till parallell data.

De grundläggande komponenterna

  1. Klockdelare (räknare)
    Gör det möjligt att skicka data med önskad baudrate. Mottagaren mätar och läser varje bit enligt denna takt.
  2. Skiftregister
    Bestämmer hur många bitar som sänds på en gång. Registrern innehåller startbit, data, (valfri) paritetsbit och stopbit.
  3. Tillståndsdiagram
    Innan koden skrivs är det viktigt att planera tillstånd. En enkel sändare kräver två tillstånd: IDLE och TRANSMITTING.

Skapa ett tillståndsdiagram

Det enklaste diagrammet för en sändare ser ut så här:

Beräkna räknaren

Räknarens värde beror på FPGA‑klockans hastighet och den önskade baudrate:

counter = FPGA‑klokkläge / baudrate

Exempel: Med en baudrate på 9600 blir räknaren 5208 (för en FPGA‑klocka på 50 MHz).

Konfigurera skiftregister och tillståndsmaskin

I exemplet följer vi 1 startbit, 8 databit, 1 paritetsbit och 1 stopbit – totalt 11 bitar. Denna konfiguration placeras i tillståndsmaskinen.

Kodexempel

// Verilog-kod för en enkel UART‑sändare
module uart_tx(
    input  wire clk,
    input  wire rst,
    input  wire [7:0] data_in,
    input  wire send,
    output reg  tx,
    output reg  busy
    );

    // ... (kod för räknare, skiftregister och tillståndsmaskin) 
endmodule

Testning och simulering

Innan FPGA:n programmeras är det viktigt att simulera koden med ett testfixture för att fånga eventuella fel. Se till att baudrate, start- och stopbitar matchar mottagaren.

Slutsats

Nu har du en fungerande UART‑sändare i Verilog HDL. Denna modul kan enkelt modifieras för fler bitar, olika paritetskontroller eller att kommunicera med andra FPGA‑enheter eller PC‑program som HyperTerminal.

Har du frågor eller känner att något saknas, lämna gärna en kommentar.

Tips

Både sändaren och mottagaren måste ha samma baudrate för korrekt kommunikation.


URL:https://sv.whycomputer.com/programvara/1014013349.html

Programvara
  • Skapa en meny med Microsoft Publisher

    Skapa en meny med Microsoft Publisher Microsoft Publisher är ett Office-program som inte är lika populärt som Word, men det ger dig möjlighet att designa publikationer som du kan vara stolt över. Känner du dig osäker på Publisher? Prova att skapa en meny för nästa middag, för ett roligt restaurang‑s

  • Hur man skapar ett CV i WordPerfect

    Steg-för-steg: Skapa ett CV i WordPerfect Att skapa ett CV kan vara tidskrävande och frustrerande. WordPerfects förinspelade mallar gör processen enkel och snabb. Steg 1 Öppna WordPerfect, välj WordPerfect‑läge och klicka OK. Steg 2 Klicka Arkiv → Ny från projekt. Välj Standard CV och klicka Skapa.

  • Hur man skapar WMV-filer

    WMV står för Windows Media Video. Dessa standardiserade Windows-filmer använder Windows Media‑komprimering, vilket gör dem mindre än t.ex. AVI‑filer. Att skapa WMV‑filer är enkelt i Windows’ inbyggda videoredigeringsprogram Movie Maker. Eftersom Movie Maker bara fungerar på Windows‑system måste du p

Datornätverk © https://sv.whycomputer.com