Hledat:

Invia.cz Last minute Tunisko Dovolená v Chorvatsku Pojeďte do Egypta Bulharsko Vydělávejte peníze s INVIA.CZ
 

USART

Zapojení USARTu na PIC16F877
Zapojení USARTu na PIC16F877

Synchroní a asynchroní seriové rozhraní USART (Addressable universal Synchronous Asynchronous Receiver Transmitter) je jeden ze dvou seriových I/O modulů používáných v PICmicro® MCU. Někdy je nazýván též seriové komunikační rozhraní (SCI - Serial Communications Interface). Nastavení pinů pro vstup a výstup v mikropočítači se provádí prostřednictvým nastavení v registrech SPEN (bit RCSTA<7>) a TRISC<bity 7:6>.

Obsah

[editovat] Módy USARTu

USART může být nakonfigurován v následujících módech:

Synchroní mód používá hodinovou a datovou linku, ale v asynchroním není tento hodinový signál použit. Jeden pin je použit pro vysílání a jeden pro příjem. Obě oparace mohou probíhat nezávisle na sobě. A mohou dokonce probíhat zároveň – proto mluvíme o asynchroním módu jako o plně duplexním. Nejčastější použití USARTu v asynchroním módu je pro komunikaci s PC prostřednictvím seriového portu a protokolu RS-232.
USART můžeme nastavit pro vysílání (transmit), resp. příjem (receive) v osmi nebo devíti bitovém režimu v registru TXSTA v bitu TX9, resp. v registru RCSTA v bitu RX9.

[editovat] Způsob odeslání bytu

Blokový diagram pro odeslání 8 bitů
Blokový diagram pro odeslání 8 bitů

Jakmile jsou data zapsána do registru TXREG, všechny bity jsou přepsány do registru pro vysílání (Transmit Shift Register). A odtud jsou dále přeposlány na TX pin, přičemž je jim přiřazen na začátek start a na konec stop bit. Použití speciálního registru pro vysílání umožňuje načítání nových dat do registru TXREG už během vysílání dat předchozích. To maximálně zefiktivňuje komunikaci.

[editovat] Způsob příjmutí bytu

Blokový diagram pro příjem 8 bitů
Blokový diagram pro příjem 8 bitů

Po detekci star bitu na pinu RX, se další data bit po bitu přesunou do registru pro příjem (receive shift register). Po přesunutí posledního bitu se skontroluje stop bit a data se pošlou do bufferu, který je předá registru RCREG, pokud je prázdný. Tento buffer a registr RCREG jsou dva elementy FIFO. Separatní použití registru pro příjem a FIFO bufferu poskytuje softwaru bežícímu na PICmicro® MCU čas k přečtení doručených dat bez rizika přepsání těchto dat dalšími doručenými. Je tedy možné obdržet první dva byty a dále přijímat třetí byte ještě předtím, než jsou data „vytažena“ z registru RCREG.

[editovat] Asynchroní 8 bitový přenos

Asynchroní 8-bitový přenos
Asynchroní 8-bitový přenos

USART vysílá a přijímá na TX a RX pinech PICmicro® MCU logické úrovně signálů. Signál je na vysoké úrovni, pokud neprobíhá vysílání ani příjem a klesne na nízkou úroveň pokud začne vysílání. Tento pokles při vysílání je pro synchronizaci příjemce pro příjem dat. Tento signál zůstane na nízké úrovni během celého start bitu a dále je jeho úroveň podle posílaných dat. První se posílá byt nejnižší, poslední nejvyšší bit je následován stop bitem, který je opět na vysoké úrovni. Poté, co je stop bit kompletní, může začít přenos dalšího bytu. Na obrázku je toto vyznačeno tečkovaně.

[editovat] Převodíky úrovní

USART používá pětivoltovou logickou úroveň. To znamená, že pokud je signál okolo 5-ti voltů jedná se o úroveň vysokou (high) a pokud je okolo nuly, bude úroveň nízká (low). Pokud PICmicro® MCU komunikuje s přístroji, které potřebují jiné úrovně signálů, použivá se konvertor signálů, který převádí tyto úrovně do požadovaných velikostí. Firma Microchip doporučuje svůj konvertor TC232, ale na trhu je více podobných součástek – např. HIN232 od společnosti Intersil nebo jeden z nejpoužívanějších - Integrovaný obvod MAX232 vyráběný firmou Texas Instruments.

[editovat] Registry používané pro nastavení USARTu

[editovat] Externí odkazy

 
USART v jiných jazycích: Dansk, Deutsch, English, Español, Français, Bahasa Indonesia, Italiano, עברית, Lietuvių, 日本語, Polski, Português, Basa Sunda, Suomi, Українська, 中文
Tento článek je převzat z české wikipedie - otevřené encyklopedie, originální článek naleznete na adrese: „http://cs.wikipedia.org/wiki/USART
Stránka byla naposledy upravena v Stránka byla naposledy editována 6. 7. 2008 v 19:22.
Veškerý text je dostupný za podmínek GNU Free Documentation License (Autorské právo pro podrobnosti).
Další služby: Portál | Katalog | Hledej | Zprávy | Počasí | Kurzy | Práce | Slovník | TV | Online hry | Java hry | SMS | Loga a melodie | Chat | Fórum | Kontakt