Mikrokrmilnik AVR (Atmel 8) Konfiguracija USART za serijsko komunikacijo

Preizkusite Naš Instrument Za Odpravo Težav





Mikrokrmilnik je krmilna naprava, ki vsebuje številne zunanje naprave, kot so RAM, ROM TIMERS, serijska podatkovna komunikacija itd., ki so potrebne za izvajanje nekaterih vnaprej določenih nalog. Dandanes napredni tip mikrokrmilnikov se uporabljajo v najrazličnejših aplikacijah glede na njihovo sposobnost in izvedljivost za izvajanje nekaterih želenih nalog in ti krmilniki vključujejo 8051, AVR in PIC mikrokrmilnik . V tem članku bomo spoznali napredni mikrokrmilnik družine AVR in njegovo programiranje .

Mikrokrmilnik AVR

AVR je vrsta krmilne naprave, ki jo je leta 1996 izdelala družba Atmel Corporation. AVR ne pomeni ničesar, je samo ime. AVR mikrokrmilniki so sestavljeni iz harvardske arhitekture , zato naprava deluje zelo hitro z zmanjšanim številom navodil na ravni stroja (RISC). Mikrokrmilniki AVR so v primerjavi z drugimi mikrokrmilniki sestavljeni iz posebnih lastnosti, kot so načini 6-spanja, vgrajeni ADC, notranji oscilator in serijska podatkovna komunikacija itd. AVR mikrokrmilniki so na voljo v različnih konfiguracijah 8-bitne, 16-bitne in 32-bitne različice za izvajanje različnih operacij.




Mikrokrmilnik AVR

Mikrokrmilnik AVR

USART serijska podatkovna komunikacija v mikrokrmilniku AVR

USART pomeni univerzalni sinhroni in asinhroni sprejemnik in oddajnik. Gre za serijsko komunikacijo dveh protokolov. Ta protokol se uporablja za prenos in sprejemanje podatkov po bitov glede na urne impulze na eni žici. The AVR mikrokrmilnik ima dva zatiča: TXD in RXD, ki se posebej uporabljata za serijski prenos in sprejem podatkov. Vsak mikrokrmilnik AVR je sestavljen iz protokola USART s svojimi lastnostmi.



USART Komunikacija v mikrokrmilniku AVR

USART Komunikacija v mikrokrmilniku AVR

Glavne značilnosti AVR USART

  • Protokol USART podpira protokol full-duplex.
  • Ustvari hitrost prenosa v visoki ločljivosti.
  • Podpira prenos serijskih podatkovnih bitov od 5 do 9 in je sestavljen iz dveh zaustavitvenih bitov.

Konfiguracija PIN USART

USART AVR je sestavljen iz treh zatičev:


  • RXD: USART sprejemni zatič (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
  • TXD: USART oddajniški zatič (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
  • XCK: USART zatič za uro (ATMega8 PIN 6 ATMega16 / 32 Pin 1)

Načini delovanja

Mikrokrmilnik AVR protokola USART deluje v treh načinih, in sicer:

  • Asinhroni običajni način
  • Asinhroni način dvojne hitrosti
  • Sinhroni način
Načini delovanja

Načini delovanja

Asinhroni običajni način

V tem načinu komunikacije se podatki prenašajo in sprejemajo bit po bit brez impulzov ure z vnaprej določeno hitrostjo prenosa, nastavljeno z registrom UBBR.

Asinhroni način dvojne hitrosti

V tem načinu komunikacije podatke, ki se prenašajo z dvojno hitrostjo prenosa, nastavi UBBR register in nastavi U2X bitove v registru UCSRA. To je način visoke hitrosti za sinhrono komunikacijo za hiter prenos in sprejem podatkov. Ta sistem se uporablja tam, kjer so potrebne natančne nastavitve hitrosti prenosa in sistemska ura.

Sinhroni način

V tem sistemu je prenos in sprejem podatkov glede na impulz ure nastavljen UMSEL = 1 v registru UCSRC.

Konfiguracija USART v mikrokrmilniku AVR

USART je mogoče konfigurirati s petimi registri, kot so trije kontrolni registri , en podatkovni register in register za izbiro hitrosti prenosa, kot so UDR, UCSRA, UCSRB, UCSRC in UBRR.

7 korakov za sestavljanje programa

Korak 1: Izračunajte in nastavite hitrost prenosa

Hitrost prenosa podatkov USART / UART nastavi registrar UBRR. Ta register se uporablja za generiranje prenosa podatkov s posebno hitrostjo. UBRR je 16-bitni register. Ker je AVR 8-bitni mikrokrmilnik in je njegova katera koli velikost registra 8-bitna. Zato je tukaj 16-bitni register UBRR sestavljen iz dveh 8-bitnih registrov, kot sta UBRR (H), UBRR (L).

Formula hitrosti prenosa je

BAUD = Temno / (16 * (UBBR + 1))

Formula registra UBRR je

UBRR = Temno / (16 * (BAUD-1))

Frekvenca mikrokrmilnika AVR je 16MHz = 16000000 Predpostavimo, da je hitrost prenosa podatkov 19200Bps, nato

UBRR = 16000000 / (16 * (19200-1))

UBRR = 16000000 / (16 * (19200-1))

UBRR = 51.099

Sčasoma poiščite hitrost prenosa

BAUD = 16000000 / (16 * (51 + 1))
UBRR = 19230bps

2. korak: Izbira podatkovnega načina

Način prenosa podatkov, začetni bit in končni bit ter velikost znakov nastavi nadzorni in statusni register UCSRC.

Izbira podatkovnega načina

Izbira podatkovnega načina

3. korak: Izbira načina prenosa podatkov

Sinhroni in asinhroni način izbere bit UMSEL registra stanja nadzora. Če damo UMSEL = 0, potem USART deluje v asinhronem načinu, sicer deluje v sinhronem načinu.

Izbira načina prenosa podatkov

Izbira načina prenosa podatkov

4. korak: Start Bit in Stop Bit

Bit in začetni bit sta način za serijsko pošiljanje in prejemanje podatkov. Na splošno je vsaka podatkovna slava sestavljena iz enega bitnega in enega zaustavitvenega bita, vendar ima mikrokrmilnik AVR en zagonski bit in dva zaustavitvena bita za obdelavo podatkov. Dodatni zaustavitveni bit je lahko koristen za dodajanje dodatnega časa obdelave prejema. Še posebej je uporaben pri visokih hitrostih prenosa podatkov, medtem ko je hitrost prenosa podatkov zelo velika, zato ne dobimo ustreznih podatkov. Tako lahko čas obdelave podaljšamo z uporabo dveh zaustavitvenih bitov, da dobimo ustrezne podatke.

Start Bit in Stop Bit

Start Bit in Stop Bit

Število zaustavitvenih bitov izbere bit USBS UCSRC - registra stanja nadzora. USBS = 0, za en stop-bit, in USBS = 1, za dva stop-bita.

5. korak: Nastavite velikost znakov

Kot v primeru osnovni mikrokrmilniki pošiljanje in prejemanje bajta podatkov (8-bitov) naenkrat, ne glede na to, ali gre za mikrokrmilnik AVR, lahko izberemo format podatkovnega okvira v vsakem okviru z bitom UCSZ registra UCSRC.

Oblika podatkovnega okvira

Oblika podatkovnega okvira

6. korak: Shranite prejete podatke

Mikrokrmilnik AVR je sestavljen iz vmesnega registra UDR za prenos in sprejem podatkov. UDR je 16-bitni vmesni register, v katerem se za sprejem (RXB) podatkov uporabljajo 8-bitni in drugi prenosi za prenos podatkov (TXB). Prenos podatkovnega registra vmesnega pomnilnika bo cilj v register UDR za zapisane podatke o njegovi lokaciji. Sprejem registra medpomnilnika podatkov bo vrnil vsebino registra UDR.

7. korak: Omogočanje oddajnika in sprejemnika

Preneseni in prejeti podatki bodo dovoljeni z zatiči RXC in TXC mikrokrmilnika, ki jih nastavi UCSRA register mikrokrmilnika. Ta bit zastavice, ki ga za podatke nastavi mikrokrmilnik, se zaključi s sprejemom in prenosom (TXC = RXC = 1).

Podvojite hitrost prenosa

Hitrost prenosa komunikacije USART AVR lahko podvojimo mikrokrmilnik od 16 do 8 bitov učinkovito z U2X -bitom v registru UCSRA. Ta bit vpliva samo na asinhrono delovanje. Če lahko nastavimo ta bit (U2X = 1), bo hitrost prenosa s 16-bitne na 8-bitno zmanjšala, kar bo učinkovito podvojilo hitrost prenosa za sinhrono komunikacijo.

To je napredna funkcija mikrokrmilnika AVR za hitro obdelavo podatkov.

Program USART

Vsak mikrokrmilnik je vnaprej določen z določenim IDE in na osnovi tega IDE, mikrokrmilniki so programirani z vgrajenim C ali montažni jezik. Programiranje mikrokrmilnika AVR je razvil studio AVR. Poleg tega, če želite dodatne informacije o koraki za izdelavo projektov na osnovi mikrokrmilnika ali podrobne informacije o tej temi, nas lahko kontaktirate s komentarjem spodaj.