Konfiguracija USART-a za serijsku komunikaciju AVR mikrokontrolera (Atmel 8)

Isprobajte Naš Instrument Za Uklanjanje Problema





Mikrokontroler je upravljački uređaj koji sadrži brojne periferne uređaje poput RAM-a, ROM TIMERA, serijska komunikacija podataka itd., koji su potrebni za izvršavanje nekih unaprijed definiranih zadataka. Ovih dana, napredni tip mikrokontrolera koriste se u širokom spektru aplikacija prema njihovoj sposobnosti i izvedivosti za obavljanje nekih željenih zadataka, a ovi kontroleri uključuju 8051, AVR i PIC mikrokontroler . U ovom ćemo članku naučiti o naprednom mikrokontroleru obitelji AVR i njegovom programiranju .

AVR mikrokontroler

AVR je vrsta uređaja za upravljanje koji je proizvela tvrtka Atmel Corporation 1996. AVR ne znači ništa, to je samo ime. AVR mikrokontroleri se sastoje od arhitekture Harvarda , i stoga uređaj radi vrlo brzo sa smanjenim brojem uputa na razini stroja (RISC). Mikrokontroleri AVR sastoje se od posebnih značajki u usporedbi s drugim mikrokontrolerom, kao što su 6 načina mirovanja, ugrađeni ADC, interni oscilator i serijska komunikacija podataka, itd. AVR mikrokontroleri dostupni su u različitim konfiguracijama od 8-bitnih, 16-bitnih i 32-bitnih za obavljanje različitih operacija.




AVR mikrokontroler

AVR mikrokontroler

USART serijska komunikacija podataka u AVR mikrokontroleru

USART označava univerzalni sinkroni i asinkroni prijemnik i odašiljač. To je serijska komunikacija dvaju protokola. Ovaj se protokol koristi za prijenos i primanje podataka bit po bit s obzirom na impulse takta na jednoj žici. The AVR mikrokontroler ima dva pina: TXD i RXD, koji se posebno koriste za serijski prijenos i primanje podataka. Bilo koji AVR mikrokontroler sastoji se od USART protokola sa svojim značajkama.



USART komunikacija u AVR mikrokontroleru

USART komunikacija u AVR mikrokontroleru

Glavne značajke AVR USART-a

  • USART protokol podržava full-duplex protokol.
  • Generira brzinu prijenosa podataka u visokoj razlučivosti.
  • Podržava prijenos serijskih podatkovnih bitova od 5 do 9, a sastoji se od dva zaustavna bita.

USART konfiguracija pin-a

USART AVR-a sastoji se od tri igle:


  • RXD: USART pin prijemnika (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
  • TXD: USART pin predajnika (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
  • XCK: USART pin za sat (ATMega8 PIN 6 ATMega16 / 32 Pin 1)

Načini rada

Mikrokontroler AVR protokola USART radi u tri načina:

  • Asinkroni normalni način rada
  • Asinkroni način dvostruke brzine
  • Sinkroni način rada
Načini rada

Načini rada

Asinkroni normalni način rada

U ovom načinu komunikacije, podaci se prenose i primaju bit po bit bez impulsa takta unaprijed definiranom brzinom prijenosa postavljenom UBBR registrom.

Asinkroni način dvostruke brzine

U ovom načinu komunikacije podatke koji se prenose dvostrukom brzinom prijenosa postavlja UBBR registar i postavlja U2X bitove u UCSRA registru. Ovo je način brze sinhrone komunikacije za brzi prijenos i primanje podataka. Ovaj se sustav koristi tamo gdje su potrebne točne postavke brzine prijenosa i sistemski sat.

Sinkroni način rada

U ovom je sustavu prijenos i primanje podataka s obzirom na impuls takta postavljen UMSEL = 1 u UCSRC registru.

USART konfiguracija u AVR mikrokontroleru

USART se može konfigurirati pomoću pet registara kao što su tri kontrolna registra , jedan registar podataka i registar odabira brzine prijenosa, kao što su UDR, UCSRA, UCSRB, UCSRC i UBRR.

7 koraka za sastavljanje programa

Korak 1: Izračunajte i postavite brzinu prijenosa

Brzinu prijenosa podataka USART / UART postavlja UBRR matičar. Ovaj se registar koristi za generiranje prijenosa podataka određenom brzinom. UBRR je 16-bitni registar. Budući da je AVR 8-bitni mikrokontroler i bilo koja njegova veličina registra je 8-bitna. Stoga se ovdje 16-bitni UBRR registar sastoji od dva 8-bitna registra, poput UBRR (H), UBRR (L).

Formula brzine prijenosa je

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

Formula UBRR registra je

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

Frekvencija AVR mikrokontrolera je 16MHz = 16000000 Pretpostavimo brzinu prijenosa podataka kao 19200Bps, a zatim

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

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

UBRR = 51.099

Na kraju pronađite brzinu prijenosa

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

Korak 2: Odabir načina podataka

Način prijenosa podataka, početni bit i zaustavni bit i veličina znaka postavljaju kontrolni i statusni registar UCSRC.

Odabir načina podataka

Odabir načina podataka

Korak 3: Odabir načina prijenosa podataka

Sinkroni i asinkroni način rada odabire UMSEL bit registra statusa upravljanja. Ako damo UMSEL = 0, tada USART djeluje u asinkronom načinu, u suprotnom djeluje u sinkronom načinu.

Odabir načina prijenosa podataka

Odabir načina prijenosa podataka

Korak 4: Start Bit i Stop Bit

Početni bit i zaustavni bitovi način su serijskog slanja i primanja podataka. Općenito se svaka slava podataka sastoji od jednog statističkog bita i jednog zaustavnog bita, ali AVR mikrokontroler ima jedan startni bit i dva zaustavna bita za obradu podataka. Dodatni zaustavni bit može biti koristan za dodavanje malo dodatnog vremena obrade prijema. Posebno je korisno za velike brzine prijenosa podataka, dok je brzina prijenosa podataka vrlo velika, pa ne dobivamo odgovarajuće podatke. Dakle, možemo povećati vrijeme obrade pomoću dva zaustavna bita za dobivanje ispravnih podataka.

Start Bit i Stop Bit

Start Bit i Stop Bit

Broj zaustavnih bitova odabire USBS bit UCSRC - registar kontrolnog statusa. USBS = 0, za jedan zaustavni bit, i USBS = 1, za dva zaustavna bita.

Korak 5: Postavite veličinu znakova

Kao u slučaju s osnovni mikrokontroleri slanje i primanje bajta podataka (8-bitnih) odjednom, bilo u AVR mikrokontroleru, možemo odabrati format podatkovnog okvira u svakom okviru pomoću UCSZ bita registra UCSRC.

Format okvira podataka

Format okvira podataka

Korak 6: Spremite primljene podatke

Mikrokontroler AVR sastoji se od registra međuspremnika UDR za prijenos i primanje podataka. UDR je 16-bitni registar međuspremnika u kojem se 8-bitovi koriste za primanje (RXB) podataka, a ostali bitovi za prijenos podataka (TXB). Prenos registra međuspremnika podataka bit će odredište UDR registru za pisane podatke o njegovom mjestu. Primanje registra međuspremnika podataka vratit će sadržaj UDR registra.

Korak 7: Omogućavanje odašiljača i prijemnika

Preneseni i primljeni podaci dopustit će RXC i TXC pinovi mikrokontrolera koji su postavljeni UCSRA registrom mikrokontrolera. Ovaj bit oznake koji je mikrokontroler postavio za podatke dovršava se primanjem i prijenosom (TXC = RXC = 1).

Udvostručite brzinu prijenosa

Možemo udvostručiti brzinu prijenosa USART komunikacije AVR-a mikrokontroler od 16 do 8 bita učinkovito U2X -bitom u registru UCSRA. Ovaj bit djeluje samo na asinkroni rad. Ako možemo postaviti ovaj bit (U2X = 1), to će smanjiti brzinu prijenosa podataka sa 16-bitnih na 8-bitne, učinkovito udvostručujući brzinu prijenosa za sinkronu komunikaciju.

Ovo je napredna značajka AVR mikrokontrolera za brzu obradu podataka.

USART program

Svaki mikrokontroler unaprijed je definiran s određenim IDE-om, a na temelju ovog IDE-a, mikrokontroleri su programirani s ugrađenim C ili asemblerski jezik. Programiranje AVR mikrokontrolera razvija AVR studio. Nadalje, ako želite dodatne informacije o koraci za izgradnju projekata temeljenih na mikrokontroleru , ili detaljne informacije o ovoj temi, možete nas kontaktirati komentarom u nastavku.