Jít k navigaci - Jít k vyhledávání


Seriál - PIC16F84 - 25 - Sériový přenos

19. 02. 08 - 21:53. Napsal Jiří Chytil. Přečteno 6837x. 9 komentářů

Touto sérií kapitol se pomalu dostávám k závěru této stručné publikace zabývající se mikrořadiči PIC16F84A. Tuto kapitolu jsme se rozhodl zařadit proto, že sériový přenos poskytuje spoustu výhod a hlavně velice jednoduché propojení s počítačem a umět komunikovat s počítačem je v dnešní době velice důležité. Sériové přenosy rozeznáváme dva základní a to je synchronní a asynchronní.

U synchronního přenosu nám situaci usnadňují synchronizační pulzy. Ty obvodu na přijímací straně říkají kdy má a kdy nemá data číst.

U asynchronního přenosu je situace jiná zde nejsou žádné synchronizační pulzy. Přístroje proto musí být ?dohodnuty? na určité rychlosti komunikace. Jako synchronizační impulz zde sloučí takzvaný ?start bit?. Ten je vyslán obvodem, který data posílá (pulz se posílá po stejném vodiči, po kterém budou proudit data). Tento pulz má domluvenou délku. Přijímací obvod zaregistruje změnu na vstupu a připraví se na příjem dat, počká než skončí doba start bitu a čte první bit. Potom počká určitou dobu (délku trvání jednoho bitu) a čte další hodnotu, tak si zapíše všechny hodnoty a přenos je ukončen stop bitem, který má také dánu určitou nutnou délku. Dalším signálem, který se u sériových přenosů používá, je signál DSR. Ten informuje vysílač o tom, že přijímač je připraven přijmout data. A dále signál CTS, který informuje vysílač o tom, že data byla přijata.

Synchronní sériový přenos

Synchronní sériový přenos je tedy řízen synchronizačními hodinovými pulzy a navíc jsou na začátku každého vysílaného slova vyslány synchronizační pulzy. Synchronního přenosu se využívá například při programování mikrořadičů PIC. Využívají se zde dvě linky. První linka je linka datová a druhá linka je linka hodinová. Někdy může být přidána linka, pomocí které se ověřuje správnost dat. Synchronním přenosem se nebudu příliš zabývat.

Jen okrajově bez programu. Tohoto přenosu se dá využít pro řízení libovolného počtu (tolik zase ne) sedmi segmentových displejů. A to pouze po třech vodičích. Jeden z vodičů slouží pro krátkodobé strobování registrů po nahrávání nových dat jeden je datový a další je hodinový. Použijeme totiž sériové osmibitové registry a bude jich za sebou tolik kolik bude 7seg displejů. Během nahrávání dat do registrů se na výstupech nic neděje a až budou příslušné bity nastaveny nebo vynulovány strobujeme registry a nahrané hodnoty se naráz objeví na výstupech. Jako posuvné registry jsou využity obvody 74LS164 nebo 4094.

Asynchronní sériový přenos

Asynchronní přenos je mnohem zajímavější. Probíhá bez hodinového signálu a doba trvání jednotlivých částí signálu je dána přenosovou rychlostí. Obě zařízení musejí mít nastavenu stejnou přenosovou rychlost. Vysílaný signál, jak jsem se již výše zmínil, začíná synchronizačním impulzem, ten je tvořen přechodem z H na L. Pokud bychom brali v úvahu rozhraní RS232, potom by šlo o změnu z -12 na +12V. Doba trvání je rovna 1/přenosová rychlost. Ta se udává v baudech (bity za sekundu). Po začátku start bitu, který je stejně dlouhý jako datové bity počkáme asi 1,5 doby délky jeho trvání tak, aby jsme se dostali poloviny délky trvání prvního datového bitu, a otestujeme jeho hodnotu. Potom se posuneme od další čas 1/přenosová rychlost a testujeme další bit. Až takto otestujeme všech 8 bitů (pokud jich 8 posíláme), zkontrolujeme stop bit, jestli vypadá tak, jak vypadat má a jestli je dost dlouhý (podle nastavení jedna, jedna půl nebo dvě délky datového impulzu). A můžeme čekat na další impulz.

Přenosové rychlosti se pohybují od 300bd až do 38400bd po dvojnásobcích. Můžeme posílat až 8 bitů. Menší hodnoty jsou zde pro kompatibilitu se staršími stroji. Dále zde můžeme ověřovat paritu a tak dále.

seriový přenos
Obrázek č. 1 - Asynchronní sériový přenos

Stop bit je vlastně vysílán po celou dobu, co vysílač nevysílá žádná data. A jeho minimální délku nastavujeme na jednou nebo dvakrát délku běžného datového bitu. Maximální délka trvání není omezena.



Autor
Jiří Chytil

Jiří Chytil24 let

Šéfredaktor 8bitu.cz. V současné době je studentem prvního ročníku magisterského studia na Fakultě elektrotechické na VUT v Brně. Mezi jeho koníčky patří elektrotechnika, bastlení, programování a hudba. Pracuje na částečný úvazrek ve společnosti Honeywell HTS ACS.


Novinky Další novinky

[10. 03.]  Tak jsem pro Vás připravil novou anketu. A snažím se pokračovat na projektu jehož výsledky bych zde rád zveřejnil, ale poněkud mě brzdí diplomová práce a práce.
[30. 01.]  Omlouvám se za nečinnost způsobenou značným nedostatkem času. Nevím, ale jestli se mi to podaří změnit. To víte, člověk stárne a jeho čas je potřeba jinde než na internetu.
[07. 03.]  Po dlouhé době jsme pro vás přichystali novou anketu - najdete ji níže v pravém panelu.
[12. 12.]  Zajímavý počin v oblasti měřící techniky jsou Real-time spektrální analyzátory - odkaz
[07. 12.]  Sice již starší video, ale stále mě uchvacuje. Výroba elektronek "doma" - odkaz

Reklama

Morphy Richards elektronika Okruháři.cz

Programujte.com

Léčivé obrazy - enkaustika Lenka Blažíková

Keramika Věra Coufalová - užitková keramika

Anketa

Jaký obchod preferujete při nákupu součástek?

TME

GES

GME

Farnell

SOS electronic

TIPA

EZK

PS Electronic

Mouser

Buček

Denkl Electronic

FK Technics

Hadex

Conrad

Jiný český

Jiný zahraniční