Microcontrolador AVR (Atmel 8) Comunicació sèrie Configuració USART

Proveu El Nostre Instrument Per Eliminar Problemes





El microcontrolador és un dispositiu de control que conté diversos perifèrics com RAM, ROM TIMERS, comunicació de dades en sèrie , etc., que són necessaris per realitzar algunes tasques predefinides. Avui en dia, tipus avançat de microcontroladors s'utilitzen en una gran varietat d'aplicacions segons la seva capacitat i viabilitat per realitzar algunes tasques desitjades i inclouen aquests controladors 8051, microcontrolador AVR i PIC . En aquest article, coneixerem el microcontrolador avançat de la família AVR i la seva programació .

Microcontrolador AVR

L'AVR és un tipus de dispositiu de control fabricat per Atmel Corporation el 1996. L'AVR no significa res, és només un nom. L'AVR els microcontroladors consisteixen en l'arquitectura de Harvard i, per tant, el dispositiu funciona molt ràpid amb un nombre reduït d'instruccions a nivell de màquina (RISC). Els microcontroladors AVR consten de funcions especials en comparació amb altres microcontroladors, com ara modes de 6 paus, ADC integrat, oscil·lador intern i comunicació de dades serials, etc. Microcontroladors AVR estan disponibles en diferents configuracions de 8 bits, 16 bits i 32 bits per realitzar diverses operacions.




Microcontrolador AVR

Microcontrolador AVR

Comunicació de dades serials USART en microcontrolador AVR

USART significa receptor i transmissor síncrons i asíncrons universals. És una comunicació en sèrie de dos protocols. Aquest protocol s’utilitza per transmetre i rebre les dades bit per bit respecte als polsos de rellotge en un sol cable. El Microcontrolador AVR té dos pins: TXD i RXD, que s’utilitzen especialment per transmetre i rebre les dades en sèrie. Qualsevol microcontrolador AVR consta de protocol USART amb les seves pròpies funcions.



Comunicació USART en microcontrolador AVR

Comunicació USART en microcontrolador AVR

Les principals característiques d'AVR USART

  • El protocol USART admet el protocol full-duplex.
  • Genera una velocitat de transmissió en alta resolució.
  • Admet la transmissió de bits de dades en sèrie de 5 a 9 i consta de dos bits de parada.

Configuració del pin USART

El USART d'AVR consta de tres pins:


  • RXD: pin receptor USART (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
  • TXD: pin transmissor USART (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
  • XCK: pin de rellotge USART (ATMega8 PIN 6 ATMega16 / 32 Pin 1)

Modes de funcionament

El microcontrolador AVR del protocol USART funciona en tres modes:

  • Mode normal asíncron
  • Mode de doble velocitat asíncron
  • Mode síncron
Modes de funcionament

Modes de funcionament

Mode normal asíncron

En aquest mode de comunicació, les dades es transmeten i reben bit a bit sense impulsos de rellotge per la velocitat de transmissió predefinida establerta pel registre UBBR.

Mode de doble velocitat asíncron

En aquest mode de comunicació, les dades transferides al doble de velocitat en bauds són establertes pel registre UBBR i estableixen bits U2X al registre UCSRA. Es tracta d’un mode d’alta velocitat per a la comunicació síncrona per transmetre i rebre les dades ràpidament. Aquest sistema s’utilitza quan es requereix una configuració precisa de la velocitat de transmissió i un rellotge del sistema.

Mode síncron

En aquest sistema, la transmissió i recepció de dades respecte al pols del rellotge s’estableix UMSEL = 1 al registre UCSRC.

Configuració USART al microcontrolador AVR

USART es pot configurar mitjançant cinc registres com ara tres registres de control , un registre de dades i un registre de selecció de velocitat en bauds, com ara UDR, UCSRA, UCSRB, UCSRC i UBRR.

7 passos per a la composició del programa

Pas 1: Calculeu i definiu la velocitat en bauds

El registrador UBRR estableix la velocitat en bauds d’USART / UART. Aquest registre s’utilitza per generar la transmissió de dades a la velocitat específica. El UBRR és un registre de 16 bits. Atès que l'AVR és un microcontrolador de 8 bits i la seva mida de registre és de 8 bits. Per tant, aquí el registre UBRR de 16 bits es compon de dos registres de 8 bits com UBRR (H), UBRR (L).

La fórmula de la velocitat en bauds és

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

La fórmula del registre UBRR és

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

La freqüència del microcontrolador AVR és de 16 MHz = 16000000 Suposem que la velocitat en bauds és de 19200Bps,

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

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

UBRR = 51.099

Finalment, trobeu la velocitat en bauds

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

Pas 2: Selecció del mode de dades

El mode de transmissió de dades, el bit d’inici i el bit d’aturada i la mida del caràcter la defineix el registre de control i estat UCSRC.

Selecció del mode de dades

Selecció del mode de dades

Pas 3: Selecció del mode de transmissió de dades

El mode síncron i asíncron és seleccionat pel bit UMSEL del registre d'estat de control. Si donem UMSEL = 0, llavors USART funciona en mode asíncron, en cas contrari, funciona en mode síncron.

Selecció del mode de transmissió de dades

Selecció del mode de transmissió de dades

Pas 4: Start Bit i Stop Bit

Els bits d’inici i d’aturada són una manera d’enviar i rebre les dades en sèrie. Generalment, qualsevol fama de dades consisteix en un bit estadístic i un bit d’aturada, però el microcontrolador AVR té un bit d’inici i dos bits d’aturada per processar les dades. El bit de parada addicional pot ser útil per afegir una mica de temps de processament de recepció addicional. És especialment útil per a taxes de transferència de dades elevades, mentre que la velocitat de transferència de dades és molt alta, de manera que no obtenim dades adequades. Per tant, podem augmentar el temps de processament utilitzant dos bits de parada per obtenir les dades adequades.

Start Bit i Stop Bit

Start Bit i Stop Bit

El nombre de bits d'aturada és seleccionat pel bit USBS d'UCSRC, el registre d'estat de control. El USBS = 0, per a un bit d'aturada i USBS = 1, per a dos bits d'aturada.

Pas 5: Definiu la mida del caràcter

Com en el cas del microcontroladors bàsics enviant i rebent el byte de dades (8 bits) alhora, ja sigui en un microcontrolador AVR, podem triar un format de trama de dades en cada trama pel bit UCSZ del registre UCSRC.

Format de marc de dades

Format de marc de dades

Pas 6: Emmagatzemeu les dades rebudes

El microcontrolador AVR consisteix en un registre de memòria intermèdia UDR per transmetre i rebre dades. La UDR és un registre de memòria intermèdia de 16 bits on s’utilitzen 8 bits per rebre (RXB) les dades i altres bits s’utilitzen per transmetre les dades (TXB). La transmissió del registre de memòria intermèdia de dades serà la destinació al registre UDR per a les dades escrites sobre la seva ubicació. La recepció del registre de memòria intermèdia de dades retornarà el contingut del registre UDR.

Pas 7: Habilitació del transmissor i del receptor

Les dades transmeses i rebudes seran permeses pels pins RXC i TXC del microcontrolador establerts pel registre UCSRA del microcontrolador. Aquest bit de senyal configurat pel microcontrolador per a les dades es completa mitjançant la recepció i la transmissió (TXC = RXC = 1).

Doble la velocitat en bauds

Podem duplicar la velocitat de transferència de la comunicació USART de l’AVR microcontrolador de 16 bits a 8 bits efectivament pel bit U2X al registre UCSRA. Aquest bit només afecta a l'operació asíncrona. Si podem configurar aquest bit (U2X = 1), reduirà la velocitat en bauds de 16 bits a 8 bits, duplicant efectivament la velocitat de transferència per a la comunicació síncrona.

Aquesta és una característica avançada del microcontrolador AVR per al processament ràpid de les dades.

USART Program

Tots els microcontroladors estan predefinits amb un IDE específic i basat en aquest IDE, els microcontroladors estan programats amb C incrustat o llenguatge assemblador. La programació de microcontroladors AVR és desenvolupada per l’estudi AVR. A més, si voleu informació addicional sobre el fitxer passos per construir projectes basats en microcontroladors , o informació detallada sobre aquest tema, podeu posar-vos en contacte amb nosaltres fent un comentari a continuació.