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!
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.
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.
- 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ó