Vitajte na [www.pocitac.win] Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy počítačový

Ako vytvoriť jednoduchý sériový vysielač UART vo verilogu HDL

Najuniverzálnejší asynchrónny prijímač (UART), ktorý som našiel online, je príliš komplikovaný a ťažko zrozumiteľný, tu vysvetlím jednoduchú teóriu a tiež kód o tom, ako zostaviť jeden. .

Najprv povedzme, ako fungujú vysielače. Základným princípom je posielanie viacerých bitov údajov na jednu linku. V našom vysielači sú tieto údaje paralelné, avšak na zníženie počtu požadovaných káblov používame sériovú komunikáciu, ktorá je na prijímacej strane konvertovaná na paralelnú.

Základné veci, ktoré potrebujeme, sú nasledujúce:

Rozdeľovač hodín (náš počítadlo)

To nám umožňuje odosielať údaje určitou rýchlosťou (prenosová rýchlosť). Náš prijímač bude vzorkovať a odoberať údaje po bitoch.

Posunový register

Potrebujeme vedieť, koľko bitov naraz vysielame, náš posunový register bude mať počiatočný bit, dátové bity, paritný bit (voliteľné), koncový bit.

Stavový diagram

Pred zápisom akéhokoľvek kódu musíme myslieť na to, čo je potrebné vytvoriť a najlepším spôsobom je vytvorenie stavovej schémy nášho dizajnu. Vieme, že pre vysielač potrebujeme 2 stavy, IDLE a TRANSMITTING.

Po získaní stavového diagramu teraz môžeme vypočítať, aký bude náš čítač. To sa dosahuje pomocou:

počítadlo = rýchlosť hodín /prenosová rýchlosť FPGA

V tomto príklade používam prenosovú rýchlosť 9600, takže môj počítač = 5208.

Posledný , vypočítame náš posuvný register a dokončíme písanie nášho štátneho stroja. Vo svojom ukážkovom kóde používam počiatočný bit, paritný bit, 8 bitov údajov a koncový bit. Toto je spolu 11 bitov.

Oba obrázky v krokoch 2 a 3 spolu v rovnakom module dopĺňajú náš kód vysielača, ktorý je potrebný na programovanie na FPGA. Tento kód bude fungovať s iným FPGA pripojeným sériovo alebo s hyperterminálmi Windows okrem iného hardvéru. Môže byť ľahko modifikovateľná tak, aby pracovala s omnoho viac.

Nakoniec vytvárame testovacie zariadenie, ktoré opravuje všetky chyby a simuluje náš program pred programovaním FPGA.

Týmto sa uzatvára vysielač. Prosím, zanechajte komentár, ak máte nejaké otázky alebo máte pocit, že tu niečo chýba.

Tipy

Vysielač aj prijímač musia poznať prenosovú rýchlosť, akou sa odosielajú údaje.

Copyright © počítačové znalosti Všetky práva vyhradené