Avr kezdőknek

UART AVR mikrokontrollerek.

Az egyik leggyakoribb protokollokat mikrokontroller kommunikálni a külső eszközök egy UART (univerzális aszinkron adó-Transmitte r) - univerzális aszinkron adó-vevő. Ezt a protokollt végre hardver a legtöbb AVR mikrokontrollerek. amely lehetővé teszi a fejlesztő, hogy ne menjen át a funkciók végrehajtásának ezen a felületen. Használatához elegendő beállítani néhány regisztereket!

Avr kezdőknek

Nézzük meg röviden a működési elv UART.

Ez a protokoll következetes, azaz az adatok szigorúan egymás mögött, amely bizonyos mértékig korlátozza a működési sebesség. Mivel a protokoll aszinkron adó és vevő kell, hogy pontosan ugyanazon a frekvencián, amit be kell állítani, mielőtt a munka megkezdése.

Amikor át bájt adó kezdetben mutat logikai 0 a kimeneti TX (adó). Ez az úgynevezett start bit, jelezve a kezdete a sebességváltó. Ezt követően az adó helyezi a biteket a továbbított byte bizonyos időközönként, meghatározott gyakorisággal. Továbbá lehet továbbítani paritás bit, amelyet ellenőrizni az átvitel minőségét. Amikor az összes átvitt bitek, stop bit be van állítva, akkor a logikai 1-én a távvezeték. A stop bitek száma különböző lehet: 1; 1. 5; 2.

Avr kezdőknek

A nagy előnye ennek a felületet, hogy képes használni a kapcsolat konfigurálásához a számítógépre. Ehhez meg kell tennie UART - RS-232 vagy UART - USB adapterek alapuló chipek MAX 232 FT 232 RL, ill.

Művét UART (. Tulajdonképpen USART körülbelül dnako, ez nem fontos számunkra) megfelel a következő nyilvántartásokat:

UDR- dannyhUART nyilvántartásba. Amikor adatokat tárolják, akkor szeretnénk küldeni, és az olvasás - a kapott adatokat. Ez egyszerű.

UCSRA- regisztrációhoz ellenőrzés és statusaUART. Tekintsük a több bit regiszter:

  • RXC (ReceiveComplete) - lezárás flag adatfogadási. Úgy van beállítva, hogy 1 jelenlétében olvasatlan adatok, és visszaáll 0 meg az adatokat fogadó végén.
  • TXC (TransmitComplete) - flag adatok bezárása. Ez visszaáll 0 végén adatátvitel és 1-be, ha van át nem vitt adatokat.
  • Ūdre (DataRegisterEmpty) - zászló regisztrációhoz UDR jelezve készen kapni az új adatokat. Amikor Ūdre értéke 1, a nyilvántartás UDR üres és kész arra, hogy megkapja az új adatokat.
  • FE (Frame Error) - a keret hiba zászló.
  • DOR (DataOverRun) - az adatok nyilvántartásba túlcsordulás zászló.
  • PE (paritás hiba) - paritás hiba zászló
  • U2X - bit, lehetővé téve, hogy növelje az átviteli sebesség felére. Az 1. bejegyzés a bit előosztóval UART órajel félbevágott modul, amely megduplázza az adatátviteli sebesség.
  • MPCM - többprocesszoros kommunikációs mód.
  • RXCIE (RXCompleteInterruptEnable) - Bit engedélyezés illetve letiltás a generáció a vétel befejezése megszakítás. hagyjuk, 0 rögzítésére, amikor rögzíti az 1-bites megszakítás fogadó végén - tilos.
  • TXCIE (TXCompleteInterruptEnable) - engedélyezett 0 rögzítésére, amikor rögzíti az 1 bites megszakítási adatátvitel befejezése - tilos.
  • UDRIE (DataregisteremptyInterruptEnable) - Bit engedélyező vagy tiltó előfordulása interrupt flag Ūdre.
  • RXEN (RecieverEnable) - Record 1 a bit UART modul tartalmaz egy vevőt rekord 0 - off.
  • TXEN (TransmitterEnable) - Record 1 a bit UART modul tartalmaz egy adó, egy rekord 0 - off.
  • UCSZ2 (CharacterSize) - párosítva UCSZ bitek 0 és 1 UCSZ számát adja továbbított bit.To ott tudjuk küldeni nem csak egy byte, de bit 5,6,7,8,9.
  • RXB8 (ReceiveDataBit8) - 9 bit, a kapott adatok továbbítása a 9 bit. Meg kell olvasni, mielőtt műveletek regiszter UDR.
  • TXB8 (TransmitDataBit8) - 9 bitet küldött adatok az átviteli 9 bit. Meg kell írni, mielőtt írásban a többi bit a UDR.
  • Ursel (RegisterSelect) - válasszuk bit nyilvántartások közötti UCSRC UBRRH. Kissé furcsa bit azonban elegendő megjegyezni, hogy amikor a felvétel azt az 1-ben, munkát nyilvántartási UCSRC. és írásakor 0 - nyilvántartás UBRRH. Azaz, az ezt követő bitek vannak rögzítve a megfelelő regiszterben.
  • UMSEL (ModeSelect) - 1 rögzítésekor bit következik be a szinkron adatátvitel, és az írás 0 - aszinkron.
  • UPM0, UPM1 (ParityMode) - Ezek a bitek teszi, hogy beállítsa a paritás továbbított adatok.
  • USBS (StopBitSelect) - Ez kicsit kiválasztja a stop bitek száma. Az 1. bejegyzés bit stop bitek száma egyenlő lesz 2, és amikor a felvétel 0-1.
  • UCSZ1, UCSZ0 (CharacterSize) - Együtt bites regiszter UCSZ2 UCSRB adatok bitek számának kiválasztásához átviteli bit.

Lásd még: COM Windows port. Soros port. C # .Prodolzhenie.

Avr kezdőknek

  • Ez kicsit UCPOL- beállítani, milyen lesz az első az adatátvitel szinkron átviteli mód. Ha működik az aszinkron adatátvitel módot kell beállítani ezt a bitet 0-ra.

Nyilvántartások és UBRRL UBRRH felelős konfigurálásához adóvevő sebességet. Emlékeztetni kell arra, hogy ha foglalkoznak regiszter bitek UBRRH Ursel kell lennie 0.

Ahhoz, hogy a szükséges sebesség az UART érték UBRR (regiszterek párok UBRRH és UBRRL) úgy számítjuk ki, a következő képlet:

F OSC - mikrokontroller működési frekvencia (Hz).

B - a szükséges fordulatszám UART (bit / s).

Például, meg kell módosítani az átviteli sebességet 9600 bit / s működése közben a mikrovezérlő egy 8 MHz frekvencián (8,000,000 Hz).

UBRR = (8000000 / (9600 * 16)) - 1 = 51,083333

Kerekítve egész számra, azaz 51.I egy adott számot beírva a nyilvántartásban UBRRL: UBRRH.

Lecke kiderült elég terjedelmes, így a gyakorlati megvalósítása UART protokoll AVR mikrokontrollerek szó a következő leckét.

Köszönjük a figyelmet!

Hozzászólás navigáció

Kapcsolódó cikkek