120 likes | 266 Views
Vestavné mikropočítačové systémy. 6 . Týden – Datové komunikace I ( rozdělení, RS-232, RS-422 /485). Datová komunikace I. Sériový přenos dat Sériový vs. paralelní Simplexní, duplexní, poloduplexní Přenos v základním pásmu (nemodulovaný) Synchronizace přenosu Technické standardy RS-232
E N D
Vestavné mikropočítačové systémy 6. Týden – Datové komunikace I (rozdělení, RS-232, RS-422/485)
Datová komunikace I • Sériový přenos dat • Sériový vs. paralelní • Simplexní, duplexní, poloduplexní • Přenos v základním pásmu (nemodulovaný) • Synchronizace přenosu • Technické standardy • RS-232 • RS-422 a RS-485 • Možnosti AVR • USART
1 bajt data control „strobe“ 1 bajt data control Sériový vs. paralelní přenos • Paralelní přenos • v jednom okamžiku se přenese celé slovo (1/2/4/8 bajtů) • součástí sběrnice musí být řídící signály • mnoho vodičů, proto se používá téměř výhradně pouze na DPS (lokální použití) • typické použití: adresové a datové sběrnice mezi procesorem a paměťmi, příp. mezi moduly jednoho zařízení (backplane) • nevhodný pro propojování více zařízení (drahý kabel, drahé konektory, složitější galvanické oddělování – každý vodič) • Sériový přenos • data se serializují a přenáší po bitech • řídící signály nejsou nezbytné, je možné je rekonstruovat z dat • propojování přístrojů na dlouhé vzdálenosti(desítky a stovky metrů) • levné kabely a konektory, snadné galvanické oddělování, průmyslové standardy odolnost proti rušení • současným trendem je komunikovat sériově
Simplex, duplex, poloduplex • Z hlediska schopnosti komunikovat v obou směrech rozlišujeme: • (plně) duplexní přenos: komunikace může probíhat v obou směrech současně • poloduplexní přenos: přenos je možný v obou směrech, ale nikoliv současně • simplexní přenos: přenos je možný jen v jednom směru • Jde o obecnou klasifikaci komunikace • rozdělení se netýká pouze toho, co umožňuje přenosové médium • může popisovat i způsob použití: nad plně duplexním médiem můžeme provozovat protokol založený na principu otázka-odpověď a pak mluvímeo poloduplexní komunikaci • Příbuzné pojmy • semiduplex (dusimplex): každý přenosový směr je realizován jinak, jinou cestou, jinou technologíí, na jiné frekvenci (např. 2× RS-422) • asymetrický přenos: když jsou maximální/nominální rychlosti v obou směrech různé (např. ADSL)
U/I high low t 1 0 0 1 Přenos v základním pásmu (baseband, nemodulovaný přenos) • Signál je převáděn na přenosové médium přímo • Přenášené bity se reprezentují • napěťovými úrovněmi • velikostí proudu (tzv. proudová smyčka) • Na jednom přenosovém médiu probíhá pouze jeden přenos • I v případě kódované komunikace mluvíme přenosu v základním pásmu • jeden bit je „zakódován“ více změnami přenášeného signálu • motivace: větší robustnost, lepší detekce chyb, nulová SS složka signálu
Synchronizace přenosu • Bitový intervalu • přenos jednoho bitu není „okamžitý“, ale trvá určitou dobu – bitový interval • hodnotu bitu reprezentuje stav signálu během bitového intervalu • Příjemce vyhodnocuje stav signálu v rámci bitového intervalu (kde?) • rozhodující je okamžik vyhodnocení signálu • příjemce se musí „strefit“ do správného bitového intervalu • hodiny příjemce musí „tikat“ dostatečně souběžně (synchronně) • jak to udělat, pokud nemáme k dispozici hodiny vysílací strany?
start-bit pevný počet datových bitů parita stop-bit(y) synchronizační hrana 0 1 1 0 1 0 0 1 1 0 1 Asynchronní přenos • Přenáší se skupiny bitů (obvykle 8) tvořící tzv. znaky • Začátek přenosu znaku je uvozen tzv. start-bitem • příjemci slouží k zasynchronizování hodin • vychází se z předpokladu, že se během přenosu jednoho znaku udrží dostatečná synchronnost • Časové prodlevy mezi jednotlivými znaky mohou být různě dlouhé • proto se někdy také hovoří o arytmickém přenosu – postrádá rytmus
Synchronní přenos • Přenáší se celé souvislé bloky dat (libovolně dlouhé) • Synchronnost je udržována průběžně • po celou dobu přenosu souvislého bloku • někdy se udržuje i v době mezi bloky • Synchronní přenos je obecně rychlejší než asynchronní • Možnosti synchronizace hodin • samostatný synchronizační signál: přenáší „tikání“ odesilatele, obvodově nejjednodušší řešení, používá se ale pouze lokálně, ne mezi přístroji • redundantní kódování: zahrnutí časového signálu do kódování jednotlivých bitů, např. kódování Manchester – nezáleží na datech • synchronizace z dat: přenášený signál neobsahuje žádné časování, příjemce se synchronizuje podle datových bitů, problémem jsou dlouhé sekvence stejných bitů – řeší se vkládáním bitů
RS-232 • Rozhraní pro duplexní asynchronní sériový přenos • dvě zařízení proti sobě • úroveň L – vysílač: +5V +15V, přijímač: +3V +25V • úroveň H – vysílač: –5V –15V, přijímač: –3V –25V • max. délka kabelu dle specifikace je 15m nebo délka vodiče o kapacitě 2500pF, tzn. při použití kvalitního kabelu cca až 50m • max. délka závisí na použité rychlosti • nevýhody: krátká vzdálenost, propojené země různých přístrojů zemní smyčky • integrované převodníky úrovní TTL/RS-232: MAX232 (+5 kondenzátorů pro nábojovou pumpu), MAX3233 (bez kondenzátorů) • pro nově vyvíjené konstrukce určené k připojení k PC není již vhodný, stává se minulostí, nahradilo jej USB • pozor na převodníky USB/RS-232, pokud se řídící signály používají k něčemu jinému než k čemu jsou určeny, je zle, převodníky je nepřenášejí ale nanejvýš generují a zpracovávají lokálně
Vcc RS-422 a RS-485 • Průmyslové standardy pro sériovou asynchronní komunikaci • Mají stejné elektrické specifikace, liší se způsobem použití • Stejný princip přenosu dat – diferenciální napětí • úroveň L: A–B>0,3V, vysílač: +2V, přijímač: >200mV • úroveň H: A–B < –0,3V, vysílač: –2V, přijímač: <200mV • max. délka 500m (až 1600mpro vodiče s kapacitou do 65pF/m) • použití kroucených párů zvýší odolnost proti rušení • rozdíl mezi zeměmi vysílače a přijímače musí být menží než 7V • Specifikace předepisuje proudové omezení výstupu odolnost proti zkratu • Zakončení sběrnice • sběrnice by měla být zakončena odporem stejným jako je impedance vedení, aby nedocházelo k odrazům • má význam pro vysoké komunikační rychlosti • při nízkých rychlostech to vývojáři často nedodržují • Klidový stav linky
RS-422 • Jeden pár pro jeden směr, druhý pár pro druhý směr – dusimplexní komunikace • Transparentní konverze RS-232 – RS-422 – RS-232, není třeba podpora software • „Diferenciální náhrada“ RS-232 vyšší odolnost proti rušení, delší vzdálenost RS-485 • Jeden pár pro oba směry – poloduplexní provoz • Přepínání musí zajistit buď software nebo MKO • Až 16 zařízení na stejné sběrnici
AVR – USART • Duplexní komunikace – oddělený datový registr pro příjem a pro vysílání • Volitelně synchronní nebo asynchronní přenos • V synchronním režimu může být master nebo slave, volitelná aktivní hrana hodin • Dedikovaný baud-rate generátor – na rozdíl od 8051, kde se používá timer • 5, 6, 7, 8 nebo 9 datových bitů, 1 nebo 2 stop-bity • Hardwarová podpora generování i kontroly parity (liché i sudé) • Podpora multiprocesorové komunikace • první stop-bit obsahuje příznak adresy, který je hardwarově detekován a příp. filtrován