Teknologian jakaminen

UART-sarjaviestintäkokeilu

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Viestinnän tyypit

1.1 Tiedonsiirtotavan mukaan

1.1.1 Sarjaliikenne

etu: Varaa vähemmän nastoja ja sen hinta on alhainen

puute: Siirtonopeus on hidas

SovelluksetPitkän matkan, hitaita viestintätilanteita

1.1.2 Rinnakkaisviestintä

etu: Nopea lähetysnopeus

puute: Miehittää monta nastaa ja korkea hinta

Sovellukset: Lyhyen matkan tilanteet.

1.2 Tiedonsiirtosuunnan mukaan

1.2.1 Yksinkertainen viestintä:

      Tietoja voidaan siirtää vain yhteen suuntaan.

1.2.2 Half-duplex-yhteys:

Tietoa voidaan siirtää molempiin suuntiin, mutta se on jaettava aika-ajoin.

1.2.3 Kaksisuuntainen tiedonsiirto:

Tietoja voidaan siirtää molempiin suuntiin samanaikaisesti.

1.3 Luokittelu tietojen synkronoinnin suunnan mukaan

1.3.1 Synkroninen viestintä

Tiedonsiirto kelloportilla

1.3.2 Asynkroninen viestintä

Kelloporttia ei ole, ja lähettäjä ja vastaanottaja käyttävät omia kellojaan tiedon lähetys- ja vastaanottoprosessin ohjaamiseen.

2. UART-sarjaportti

Merkitys: Universal Asynchronous Receiver -lähetin, sarjatietoväylä, Se muuntaa rinnakkaiset tiedot sarjatiedoiksi lähetettäväksi dataa lähetettäessä ja muuntaa vastaanotetut sarjatiedot rinnakkaisdataksi vastaanottaessaan tietoja. Tämän saavuttamiseksi tarvitaan kaksi signaalilinjaa, ja toinen vastaa sarjaporttivastaanotosta kahden laitteen välillä.

1.fyysinen kerros: Liitäntätyyppi, tasostandardi jne.

2.Protokollakerros: Viestintäprotokolla (mukaan lukien datamuoto, siirtonopeus jne.)

UART Lähetyksen tai vastaanoton aikana oleva datakehys koostuu 4 Se koostuu aloitusbitistä, databitistä, pariteettibitistä ja lopetusbitistä. 。

        aloita vähän: Kehyksen alussa alhainen bitti matalalla tasolla 0 on säilytettävä.

        databittejä: Lähetettävät databitit, databitit voivat olla 5-8 bittiä, LSB ensin, MSB viimeisenä.

        Tarkista numero: Valinnainen bitti, vie yhden bitin, eikä sitä tarvitse tarkistaa.

        Pysähdy vähän: Kehyksen loppu, pakollinen, valinnaisesti 0,5/1/1,5/2 bittiä, ylläpitäen logiikkaa korkealla tasolla.

Tiedonsiirtonopeus: Sarjaliikenteen nopeus ilmaistaan ​​tiedonsiirtonopeudella, joka edustaa sekunnissa siirrettyjen binääritietojen bittien määrää. Yksikkö on bps (bittiä sekunnissa).Yleisesti käytetyt baudinopeudet ovat 96001920038400, 57600 ja 115200 odota.

UART on vastuussa datan sarja-rinnakkaismuunnoksen loppuun saattamisesta, kun taas signaalin lähetys toteutetaan ulkoisella ohjainpiirillä.Sähköisten signaalien siirtoprosessilla on eri tasostandardit ja liitäntämääritykset Asynkronista sarjaliikennettä vartenKäyttöliittymästandarditSiellä on RS232RS422, RS485 jne., jotka määrittelevät rajapinnan erilaiset sähköiset ominaisuudet, kuten RS-232 on yksipäinen tulo ja lähtö, while RS-422/485 Differentiaalituloon ja -lähtöön

odota.

3. Kokeilutehtävät

        Tämän osion kokeellinen tehtävä on, että isäntätietokone lähettää tietoja Venus Development Boardille ja Venus Development Board PL:lle sarjaportin virheenkorjausavustajan kautta. Pääte vastaanottaa tiedot USB_UART-sarjaportin kautta ja lähettää vastaanotetut tiedot isäntätietokoneelle sarjaportin datasilmukan suorittamiseksi loppuun. UART-siirtonopeus: 115200. Pysäytysbitti: 1, databitti 8, ei pariteettibittiä.

4. Piirrä järjestelmän lohkokaavio

uart_rx-moduulissa: uart_rxd on sarjaportin vastaanottama data, ja uart_rx_done osoittaa, että tietojen muuntaminen on valmis (tiedot muunnetaan rinnakkaistiedoista sarjatiedoiksi). uart_rx_data edustaa sarjatietoja muuntamisen jälkeen. Huomautus: Vastaanotettu rinnakkaisdata on 1 bittiä ja muunnettu sarjatieto on 8 bittiä.

uart_tx-moduulissa: uart_tx_dat edustaa 8-bittistä sarjatietoa, joka on muunnettu, uart_tx_en edustaa, että tiedot on muunnettu rinnakkaistiedosta sarjamuotoon, uart_txd edustaa muunnettua rinnakkaisdataa ja uart_tx_busy edustaa, että tiedot on muunnettu tiedostosta s. sarja ja sitä muunnetaan.

       

5. Piirrä aaltomuotokaavio

Koska uart_rxd on asynkroninen signaali ja aloitusbitti on matalalla tasolla, laskevan reunan muutos on tarpeen siepata, joten se on käsiteltävä kolmella tahdilla, jotta tiedon vastaanoton aloitusbittisignaali voidaan saadastart_enSignaali ilmaisee, että rinnakkainen data on tulossa, ja sitten voidaan suorittaa rinnakkaismuunnos sarjamuotoiseksi;

                  rx_lippu Osoittaa, että rinnakkaisten tietojen muuntaminen sarjatiedoksi on käynnissä, alkaen start_en ja päättyen rx_cnt=9 ja baud_cnt arvoon 216. Näin vältetään tilanne, jossa seuraavan kehysdatan aloitusbitti tulee ennen kuin kehysdata loppuu, joten lopetusbitti ohjataan 0,5 bittiin;

                 baud_cnt: Järjestelmän kello on 50Mhz, mikä on 50000000, ja siirtonopeus tässä on 115200, eli 50000000/115200=434, eli yhden databitin lähettämiseen kuluu 434 järjestelmän kellojaksoa, joten baud_cnt-laskuri tarvitaan.

                rx_data : Koska sarjadata on 8 bittiä, on parasta lisätä indeksi, joka helpottaa tietyn databitin löytämistä ja arvon määrittämistä. Siksi rx_cnt vaaditaan.

                 rx_data_t: Muunnetut sarjatiedot.

uart_rx-aaltomuotokaavio

uart_tx_en: Osoittaa, että sarjadatan muunnos on valmis, eli uart_rx_done-signaali.

uart_data_t: Tallentaa tilapäisesti sarjatietobitit muuntamisen jälkeen myöhemmän lähetyksen helpottamiseksi.

baud_cnt: Sama kuin yllä.

tx_cnt: Sama kuin yllä.

uart_tx-aaltomuotokaavio

6. Simulointi

uart_rx-simuloinnin aaltomuoto

uart_tx aaltomuodon simulointi

uart yleinen aaltomuotokaavio

7. Hallitustason tarkastus

Avaa sarjaportin virheenkorjaustyökalu

Lisää debug-attribuutti signaaliin, jonka virheenkorjaus on tehtävä, polta ohjelma kehityslevylle ja syötä seuraavat tiedot sarjaporttiavustajaan.

Koska nelinumeroiset heksadesimaalikoodit 55 66 77 ovat 0101 0101, 0110 0110 ja 0111 0111.