AVR mikrokontrolleris (Atmel 8) Sērijas komunikācijas USART konfigurācija

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Mikrokontrolleris ir vadības ierīce, kas satur vairākas perifērijas ierīces, piemēram, RAM, ROM TIMERS, datu sērijveida sakari utt., kas nepieciešami, lai veiktu dažus iepriekš noteiktus uzdevumus. Mūsdienās uzlabota tipa mikrokontrolleri tiek izmantoti visdažādākajās lietojumprogrammās atbilstoši to spējai un iespējamībai veikt dažus vēlamos uzdevumus, un šie kontrolieri ietver 8051, AVR un PIC mikrokontrolleris . Šajā rakstā mēs uzzināsim par uzlaboto AVR ģimenes mikrokontrolleru un tā programmēšanu .

AVR mikrokontrolleris

AVR ir vadības ierīces veids, ko 1996. gadā ražoja Atmel Corporation. AVR neko neuzstāda, tas ir tikai nosaukums. AVR mikrokontrolleri sastāv no Hārvardas arhitektūras , un tāpēc ierīce darbojas ļoti ātri, samazinot mašīnu līmeņa instrukciju (RISC) skaitu. AVR mikrokontrolleri sastāv no īpašām funkcijām salīdzinājumā ar citiem mikrokontrolleriem, piemēram, 6 miega režīmi, iebūvēts ADC, iekšējais oscilators un sērijveida datu sakari utt. AVR mikrokontrolleri ir pieejamas dažādās 8 bitu, 16 bitu un 32 bitu konfigurācijās, lai veiktu dažādas darbības.




AVR mikrokontrolleris

AVR mikrokontrolleris

USART sērijveida datu komunikācija AVR mikrokontrollerī

USART ir universāls sinhronais un asinhronais uztvērējs un raidītājs. Tā ir divu protokolu sērijveida saziņa. Šis protokols tiek izmantots datu pārraidei un saņemšanai pa bitiem attiecībā pret pulksteņa impulsiem uz viena vada. The AVR mikrokontrolleris ir divas tapas: TXD un RXD, kuras īpaši tiek izmantotas datu sērijveida pārsūtīšanai un saņemšanai. Jebkurš AVR mikrokontrolleris sastāv no USART protokola ar savām funkcijām.



USART komunikācija AVR mikrokontrollerī

USART komunikācija AVR mikrokontrollerī

AVR USART galvenās iezīmes

  • USART protokols atbalsta pilna dupleksa protokolu.
  • Tas ģenerē augstas izšķirtspējas datu pārraides ātrumu.
  • Tas atbalsta sērijveida datu bitu pārraidi no 5 līdz 9, un tas sastāv no diviem stop bitiem.

USART tapu konfigurācija

AVR USART sastāv no trim tapām:


  • RXD: USART uztvērēja tapa (ATMega8 PIN 2 ATMega16 / 32 tapa 14)
  • TXD: USART raidītāja tapa (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
  • XCK: USART pulksteņa tapa (ATMega8 PIN 6 ATMega16 / 32 1. tapa)

Darbības režīmi

USART protokola AVR mikrokontrolleris darbojas trīs režīmos, kas ir:

  • Asinhronais parastais režīms
  • Asinhronais dubultā ātruma režīms
  • Sinhronais režīms
Darbības režīmi

Darbības režīmi

Asinhronais parastais režīms

Šajā komunikācijas režīmā dati tiek pārraidīti un saņemti pa bitiem bez pulksteņa impulsiem ar iepriekš noteiktu datu pārraides ātrumu, ko iestatījis UBBR reģistrs.

Asinhronais dubultā ātruma režīms

Šajā komunikācijas režīmā datus, kas pārsūtīti ar dubultu pārraides ātrumu, nosaka UBBR reģistrs un UCSRA reģistrā iestata U2X bitus. Šis ir ātrdarbīgs režīms sinhronai saziņai, lai ātri pārsūtītu un saņemtu datus. Šo sistēmu izmanto, ja ir nepieciešami precīzi datu pārraides ātruma iestatījumi un sistēmas pulkstenis.

Sinhronais režīms

Šajā sistēmā datu pārraide un saņemšana attiecībā uz pulksteņa impulsu UCSRC reģistrā ir iestatīta kā UMSEL = 1.

USART konfigurācija AVR mikrokontrollerī

USART var konfigurēt, izmantojot piecus reģistrus, piemēram, trīs kontroles reģistri , viens datu reģistrs un datu pārraides ātruma izvēles reģistrs, piemēram, UDR, UCSRA, UCSRB, UCSRC un UBRR.

7 soļi programmas sastādīšanai

1. solis: Aprēķiniet un iestatiet pārraides ātrumu

USART / UART datu pārraides ātrumu nosaka UBRR reģistrators. Šo reģistru izmanto, lai ģenerētu datu pārraidi ar noteiktu ātrumu. UBRR ir 16 bitu reģistrs. Tā kā AVR ir 8 bitu mikrokontrolleris un tā jebkura reģistra izmērs ir 8 bitu. Tādējādi šeit 16 bitu UBRR reģistrs sastāv no diviem 8 bitu reģistriem, piemēram, UBRR (H), UBRR (L).

Pārraides ātruma formula ir

BAUD = tumšs / (16 * (UBBR + 1))

UBRR reģistra formula ir

UBRR = tumšs / (16 * (BAUD-1))

AVR mikrokontrollera frekvence ir 16MHz = 16000000 Pieņemsim, ka datu pārraides ātrums ir 19200Bps, tad

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

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

UBRR = 51.099

Galu galā atrodiet datu pārraides ātrumu

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

2. solis: Datu režīma izvēle

Datu pārraides režīmu, sākuma bitu un apstāšanās bitu un rakstzīmju lielumu nosaka vadības un statusa reģistrs UCSRC.

Datu režīma izvēle

Datu režīma izvēle

3. solis: Datu pārraides režīma izvēle

Sinhrono un asinhrono režīmu izvēlas vadības statusa reģistra UMSEL bits. Ja mēs dodam UMSEL = 0, tad USART darbojas asinhronā režīmā, pretējā gadījumā darbojas sinhronā režīmā.

Datu pārraides režīma izvēle

Datu pārraides režīma izvēle

4. solis: Start Bit un Stop Bit

Sākuma bits un stop biti ir veids, kā datus nosūtīt un saņemt sērijveidā. Parasti jebkura datu slava sastāv no viena stat bita un viena stop bita, bet AVR mikrokontrollerim ir viens sākuma bits un divi stop biti datu apstrādei. Papildu pieturas bits var būt noderīgs, lai pievienotu nedaudz papildu saņemšanas apstrādes laiku. Tas ir īpaši noderīgi lieliem datu pārraides ātrumiem, turpretī datu pārsūtīšanas ātrums ir ļoti liels, tāpēc mēs nesaņemam pareizus datus. Tādējādi mēs varam palielināt apstrādes laiku, izmantojot divus stop bitus, lai iegūtu pareizus datus.

Start Bit un Stop Bit

Start Bit un Stop Bit

Apturēšanas bitu skaitu izvēlas UCSRC USBS bits - vadības statusa reģistrs. USBS = 0 vienam pieturas bitam un USBS = 1 diviem stop bitiem.

5. solis: Iestatiet rakstzīmju lielumu

Tāpat kā gadījumā ar pamata mikrokontrolleri nosūtot un saņemot datu baitu (8 bitus) vienlaikus, neatkarīgi no tā, vai tas ir AVR mikrokontrollerī, katrā kadrā mēs varam izvēlēties datu rāmja formātu ar UCSRC reģistra UCSZ bitu.

Datu rāmja formāts

Datu rāmja formāts

6. solis: Saglabājiet saņemtos datus

AVR mikrokontrolleris sastāv no UDR bufera reģistra datu pārsūtīšanai un saņemšanai. UDR ir 16 bitu bufera reģistrs, kurā datu saņemšanai (RXB) tiek izmantoti 8 biti, bet datu pārraidei (TXB) tiek izmantoti citi biti. Datu bufera reģistra pārsūtīšana būs UDR reģistra galamērķis rakstītajiem datiem par tā atrašanās vietu. Saņemot datu bufera reģistru, tiks atgriezts UDR reģistra saturs.

7. solis: Raidītāja un uztvērēja iespējošana

Pārraidītos un saņemtos datus atļaus mikrokontrollera RXC un TXC tapas, kuras nosaka mikrokontrollera UCSRA reģistrs. Šis karodziņš, ko mikrokontrolleris iestatījis datiem, tiek pabeigts, saņemot un pārsūtot (TXC = RXC = 1).

Divkāršojiet Bauda ātrumu

Mēs varam dubultot AVR sakaru USART pārsūtīšanas ātrumu mikrokontrolleris no 16 bitiem līdz 8 bitiem efektīvi, izmantojot U2X –bit UCSRA reģistrā. Šis bits ietekmē tikai asinhrono darbību. Ja mēs varam iestatīt šo bitu (U2X = 1), tas samazinās datu pārraides ātrumu no 16 bitu līdz 8 bitu, efektīvi divkāršojot pārsūtīšanas ātrumu sinhronai komunikācijai.

Šī ir uzlabota AVR mikrokontrollera funkcija ātrai datu apstrādei.

USART programma

Katrs mikrokontrolleris ir iepriekš definēts ar noteiktu IDE, un, pamatojoties uz šo IDE, mikrokontrolleri ir ieprogrammēti ar iegultu C vai montāžas valoda. AVR mikrokontrolleru programmēšanu izstrādā AVR studija. Turklāt, ja vēlaties saņemt papildu informāciju par soļi, lai izveidotu uz mikrokontrolleru balstītus projektus vai detalizētu informāciju par šo tēmu, varat sazināties ar mums, komentējot tālāk.