MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Sériový přenos informace (Stručný přehled) České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek, 2017
Sériový digitální přenos - princip Během sériového přenosu informace se v daném časovém okamžiku přenáší pouze jeden bit (viz následující snímky). Časování přenosu (hodiny) musí být mezi vysílačem (Transmitter) a přijímačem (Receiver) synchronizované. Výhody sériového přenosu: Menší počet vodičů mezi vysílačem a přijímačem. Snazší ošetření menšího počtu vodičů proti rušení. Nevýhody sériového přenosu: V principu pomalejší než paralelní přenos. Výhody paralelního přenosu: V principu rychlejší než sériový přenos. Nevýhody paralelního přenosu: Větší (velké) množství vodičů mezi vysílačem a přijímačem. Na větší vzdálenost nemožnost ošetřit vodiče proti rušení. A1B14MIS Mikroprocesory pro výkonové systémy 12 2
Sériový digitální přenos - princip A1B14MIS Mikroprocesory pro výkonové systémy 12 3
Sériový přenos - princip A1B14MIS Mikroprocesory pro výkonové systémy 12 4
Sériový přenos - synchronizace Metod sériového přenosu je velké množství. Tato presentace uvádí jen některé (často používané) metody. Mezi vysílačem a přijímačem musí být synchronizace (hodiny). Základní typy přenosu z hlediska synchronizace vysílače a přijímače: Asynchronní (znakově asynchronní), kdy je na přijímací straně znovu synchronizován každý vysílaný znak pomocí Start bitu. Synchronní, kdy jsou hodiny přenosu vedeny zvlášť. Synchronní, kdy jsou hodiny přenosu sloučeny s daty a na přijímací straně jsou hodiny vysílače znovu z dat odvozeny (pomocí hran signálu) a použity pro průběžné doladění přijímacích hodin. A1B14MIS Mikroprocesory pro výkonové systémy 12 5
Sériový přenos - asynchronní Start bit A1B14MIS Mikroprocesory pro výkonové systémy 12 6
Sériový přenos synchronní (hodiny zvlášť) A1B14MIS Mikroprocesory pro výkonové systémy 12 7
Sériový přenos synchronní (hodiny v datech) Nutné kódování dat s dostatkem hran pro synchronizaci hodin přijímače A1B14MIS Mikroprocesory pro výkonové systémy 12 8
Sériový přenos přenosová rychlost Při sériovém přenosu je jednou ze základních charakteristik přenosová rychlost (viz následující snímek). Přenosová rychlost je odvozena od tzv. bitového intervalu T tj. doby, kdy je vysílána informace o jednom bitu. Přenosová rychlost je pak reciproká hodnota intervalu T (viz následují snímek). Přenosová rychlost v se vyjadřuje v bitech za vteřinu (bps bits per second) Další jednotkou je Baud [Bd] kde bps = Bd * počet přenesených bitů za vteřinu V této presentaci se zabýváme jen metodami, kdy je během bitového intervalu přenášena hodnota jen jednoho bitu (záleží na modulační metodě), tedy v tomto případě je: Bd = bps A1B14MIS Mikroprocesory pro výkonové systémy 12 9
Přenosová rychlost A1B14MIS Mikroprocesory pro výkonové systémy 12 10
Kódování bitu - NRZ Sériově přenášený bit muže být kódován různým způsobem. Různé kódování má odlišnou odolnost proti rušení, různé vlastností synchronizační (počet hran v signálu) i různou složitost realizace jak na vysílací tak na přijímací straně. NRZ (Non Return to Zero) kódování bitů je na následujícím snímku. Je to hladinové kódování (1 = vyšší úroveň, 0 = nižší úroveň) Při vysílání bitů stejné úrovně nejsou v signálu žádné hrany a synchronizace na přijímací straně (při větším počtu stejných bitů) je obtížná. NRZ kódování se používá např. ve vysílači typu UART (viz dále), kdy je synchronizován každý znak (tj. krátká skupina bitů) znovu tzv. Start bitem. A1B14MIS Mikroprocesory pro výkonové systémy 12 11
Kódování bitu - NRZ A1B14MIS Mikroprocesory pro výkonové systémy 12 12
Kódování bitu - NRZI NRZI (Non Return to Zero Inverted) kóduje bit úrovně 1 hranou a bit úrovně 0 žádnou změnou stavu linky (viz následující snímek). Tento způsob kódování bitu snižuje nároky na přenášené kmitočtové pásmo přenosové trasy (v porovnání s NRZ), ale při vysílání posloupnosti nul nejsou v signálu žádné hrany (problém synchronizace přijímače). Bit stuffing/destufing (vkládání/vyjímání bitů) je metoda, kdy se do NRZ kódu (případně do NRZI při hodnotě 0), po určitém počtu za sebou následujících stejných hodnot, vkládá umělá hodnota opačná (např. po 5 nulách) a na přijímací straně se umělá hodnota zase odebere. Tento způsob zaručí dostatečný počet hran pro synchronizaci přijímače i při dlouhé posloupnosti vysílaných dat stejné úrovně. A1B14MIS Mikroprocesory pro výkonové systémy 12 13
Kódování bitu NRZI A1B14MIS Mikroprocesory pro výkonové systémy 12 14
Kódování bitu Manchester (Fázové) Fázové kódování (Manchester) je velmi odolné proti rušení. Náběžná hrana uprostřed bitového intervalu kóduje 1, sestupná hrana uprostřed bitového intervalu kóduje 0 (viz následující snímek). U tohoto způsobu kódování je vždy dostatek hran pro synchronizaci hodin přijímače. Fázové kódování (Manchester) má i nevýhody. Protože během bitového intervalu mohou být i dvě hrany, vyžaduje tento kód bitu dvojnásobné kmitočtové propustné pásmo proti kódování NRZ. A1B14MIS Mikroprocesory pro výkonové systémy 12 15
Kódování bitu Manchester (fázové) A1B14MIS Mikroprocesory pro výkonové systémy 12 16
Kódování bitu MLT3 (Tříhladinové NRZI) MLT3 je tříhladinové kódování NRZI (viz následující dva snímky). Hodnota 1 je kódována hranou vždy k nejbližší hladině, Hodnota 0 je kódována ponecháním stávající úrovně bez změny. Účelem kódování MLT3 je dále snížit požadavek na propustné kmitočtové pásmo oproti kódování NRZI. Tento způsob kódování využívá 100Mbps Ethernet (víz dále v presentaci) Nevýhodou je složitější dekódování na straně přijímače, kde je nutné rozlišit tři hladiny u přicházejícího signálu (proti dvěma u NRZ a NRZI). A1B14MIS Mikroprocesory pro výkonové systémy 12 17
Kódování bitu MLT3 A1B14MIS Mikroprocesory pro výkonové systémy 12 18
Kódování bitu MLT3 A1B14MIS Mikroprocesory pro výkonové systémy 12 19
Topologie Point-to-Point Počítače (nebo mikrokontroléry) komunikující sériovým způsobem mohou být propojeny různým způsobem. Point to Point (bod bod) je způsob propojení pouze dvou komunikujících zařízení (viz následující snímek). Half Duplex tento způsob používá sériové propojení v časovém sdílení, kdy buď vysílá jedno zařízení a druhé signál přijímá, nebo vysílá druhé zařízení a první signál přijímá. Full-Duplex zde jsou dvě oddělená propojení mezi zařízeními a obě mohou vysílat současně (každé po své lince) a obě přijímat bez časového sdílení. A1B14MIS Mikroprocesory pro výkonové systémy 12 20
Topologie Point-to-Point Half-Duplex Full-Duplex A1B14MIS Mikroprocesory pro výkonové systémy 12 21
Topologie Bus (Sběrnice) Common Bus (Bus)(Společná sběrnice) více zařízení je propojeno společnou sběrnicí (viz následující snímek). Half-Duplex při tomto způsobu propojení může vysílat vždy jen jedno připojené zařízení a ostatní mohou signál přijímat. Společnou sběrnici je možné vždy používat jen v časovém sdílení (Half-Duplex). Přístup na společnou sběrnici (Bus Access) je možnéřídit různým způsobem (Master-Slave, Multi-Master) viz dále v presentaci. A1B14MIS Mikroprocesory pro výkonové systémy 12 22
Topologie Bus (Sběrnice) Vždy Half-Duplex..... A1B14MIS Mikroprocesory pro výkonové systémy 12 23
Topologie Star (Hvězda) Star (Hvězda) více zařízení je připojeno na Hub (Rozbočovač) nebo na Router (Směrovač) či Switch (Přepínač) viz následující snímek. Hub pak přenáší přijímaný signál do dalších zařízení k němu připojených Jednotlivé vyjmenovaná zařízení (Hub, Router, Switch) se vlastnostmi poněkud liší. Připojení zařízení k Hub je možní metodou Half-Duplex i Full-Duplex. Topologii typu Star používá např. USB nebo Ethernet (některý typy). Propojení typu Star je možné použít pro propojení zařízení optickými kabely. A1B14MIS Mikroprocesory pro výkonové systémy 12 24
Topologie Star (Hvězda) Rozbočovač Full Duplex nebo (Half Duplex) Hub (Router, Switch) Směrovač, Přepínač A1B14MIS Mikroprocesory pro výkonové systémy 12 25
Topologie Loop (Kruh) Loop (Kruh) výstup jednoho zařízení je propojen se vstupem dalšího zařízení a jeho výstup se vstupem dalšího atd. až se kruh uzavře. Tento způsobu vyžaduje aby každé zařízení bylo vybaveno odděleným sériovým výstupem a vstupem. Každé zařízení připojené do kruhu může data z přijímaného signálu odebrat nebo je jen předat na svůj výstup nebo do datovéčásti přidat svoji zprávu a upravený signál předat na svůj výstup. Topologii typu Loop používá např. EtherCat. A1B14MIS Mikroprocesory pro výkonové systémy 12 26
Topologie Loop (Kruh) A1B14MIS Mikroprocesory pro výkonové systémy 12 27
Přístup na společnou sběrnici Master-Slave Common Bus (Bus)(Společná sběrniice) tento způsob propojení lze používat pouze v módu Half-Duplex, kdy jedno ze zařízení vysílá ostatní mohou pouze přijímat. Bus Access (Přístup na sběrnici) typu Master-Slave deleguje časové sdílení sběrnice na zařízení typu Master. Master řídí přístup na sběrnici, vyzývá zařízení typu Slave k vysílání nebo vysílá sám. Výhodou této organizace je velmi dobré využití propustnosti sběrnice (při správném časovém plánu Mastera). Nevýhodou je možnost poruchy zařízení typu Master, kdy nikdo neorganizuje přístup na sběrnici a celý systém se odmlčí. Celkové schéma je někdy doplněno o tzv. Weak-Master (Slabý Master) zařízení, kdy tento blok sleduje provoz na sběrnici a když se provoz zastaví (pro poruchu Mastera) tak převezme řízení sběrnice (typicky s omezenými funkcemi). A1B14MIS Mikroprocesory pro výkonové systémy 12 28
Přístup na společnou sběrnici Master-Slave Master - Slave..... Master Slave 1 Slave n Weak Master A1B14MIS Mikroprocesory pro výkonové systémy 12 29
Přístup na společnou sběrnici Multi-Master Common Bus (Bus)(Společná sběrniice) tento způsob propojení lze používat pouze v módu Half-Duplex, kdy jedno ze zařízení vysílá ostatní mohou pouze přijímat. Bus Access (Přístup na sběrnici) typu Multi-Master považuje všechny na společnou sběrnici připojené jednotky za rovnocenné (z pohledu získání přístupu na sběrnici). CSMA/CD (Carrier Sense Multi Access/Collision Detection) všechny jednotky sledují provoz na sběrnici (Carrier Sense). Pokud provoz na sběrnici ustane, může libovolná jednotka začít vysílat (Multi Access). Zároveň dále sleduje zda se kód který vysílá objeví i na sběrnici. Pokud ne, došlo ke kolizi (současně začaly vysílat dvě nebo více jednotek). Všechny jednotky, které začaly vysílat zjistí kolizi (CD Collision Detection) (na sběrnici není to co vysílají) a od vysílání ustoupí. V každé jednotce, která se pokoušela vysílat, se spustí pseudonáhodný časový interval, během kterého jednotka nesmí znovu na sběrnici přistoupit. Po uplynutí časového intervalu jednotka buď získá přístup na sběrnici nebo při další kolizi musí znovu ustoupit a čekat na uplynutí dalšího (delšího) pseudonáhodného intervalu a pak se znovu pokusit získat sběrnici. CSMA/CR (Carrier Sense Multi Access/Collision Resolution) viz CAN dále. A1B14MIS Mikroprocesory pro výkonové systémy 12 30
Přístup na společnou sběrnici Multi-Master Multi Master (CSMA/CD, CSMA/CR)..... Master 1 Master 2 Master n A1B14MIS Mikroprocesory pro výkonové systémy 12 31
Některé používané protokoly Protokolů (formátů dat) používaných pro sériovou komunikaci je velmi mnoho. Jednotlivé protokoly se liší: Přenosovou rychlostí. Strukturou přenášené jednotky dat (Frame). Možnou maximální vzdáleností mezi komunikujícími bloky. Způsobem kódování bitů. Metodou přístupu na sběrnici (pokud sběrnici používají). Typem přenosového média (vodič, optické vlákno). Odolností proti rušení (chybám v přenosu). Dalšími parametry. V této presentaci uvádíme jen výběr protokolů (často používaných) se základními parametry. Některé protokoly jsou značně složité (rozsáhlé) a podrobnosti o jejich struktuře jsou mimo možný rozsah naší presentace. A1B14MIS Mikroprocesory pro výkonové systémy 12 32
UART Universal Asynchronous Receiver Transmitter UART (Universal Asynchronous Receiver Transmitter) je zařízení (přítomné téměř v každém mikrokontroléru), které vysílá a přijímá krátké datové zprávy (typicky 8 bitů). Tyto zprávy se nazývají znaky (Characters). Každý znak je uveden Start bitem (0) a končí Stop bitem (1). Znak lze doplnit o paritní bit někdy též o další bit rozlišující význam znaku (data, adresa). Po odvysílání znaku lze vysílat další znak nebo nechat linku v klidu (1). Každý znak je tedy na přijímací straně synchronizován Start bitem. Uvedený typ přenosu se nazývá asynchronní (znakově asynchronní). Mezi komunikujícími jednotkami je dohodnuta (programátorem) shodná přenosová rychlost. UART používá kódování bitu typu NRZ. UART má oddělený vysílač a přijímač znaků. Není definován žádný protokol pro delší data, uživatel musí definovat sám. A1B14MIS Mikroprocesory pro výkonové systémy 12 33
UART Universal Asynchronous Receiver Transmitter UART pracuje s počítačovými úrovněmi (0-5V nebo 0-3,3V), které nejsou vhodné pro přenos na větší vzdálenost. Proto se používají konvertory úrovně (tzv budiče/přijímače (Driver/Receiver = Transceiver)(viz následující snímky): RS232 napěťový proti zemi (viz následující snímek). Přenosová rychlost cca do 250kbps, kabel malé desítky metrů pro nižší přenosové rychlosti. RS422 diferenciální (pro přenos se používá kroucená dvoulinka se zakončovacími impedancemi). Budič není vypínatelný (jen Full-Duplex). Přenosová rychlost cca až do 100Mbps, kroucená impedančně zakončená dvoulinka, velké stovky metrů. RS485 diferenciální (pro přenos se používá kroucená dvoulinka se zakončovacími impedancemi). Budič je vypínatelný a je možné organizovat společnou sběrnici (Half-Duplex). Přenosová rychlost cca až do 100Mbps, kroucená impedančně zakončená dvoulinka, velké stovky metrů. Proudová smyčka 4/20mA (tj. 0/1) velmi odolné proti rušení. Přenosová rychlost cca do 20kbps, kabel stovky metrů. A1B14MIS Mikroprocesory pro výkonové systémy 12 34
UART + RS232 A1B14MIS Mikroprocesory pro výkonové systémy 12 35
RS422 Diferenciální budič (driver) Kroucená dvoulinka (Twisted Pair) Full - Duplex A1B14MIS Mikroprocesory pro výkonové systémy 12 36
RS485 Vypínatelný diferenciální budič (driver) Master Slave Bus Kroucená dvoulinka (Twisted Pair) Half - Duplex A1B14MIS Mikroprocesory pro výkonové systémy 12 37
SPI Serial Peripheral Interface SPI (Serial Peripheral Interface) synchronní sériový přenos s oddělenými hodinami. Master-Slave metoda. Master vysílá hodiny a svoje data, Slave zároveň vysílá svoje data viz následující snímek. Master aktivuje Slave nastavením signálu SS (Chip Select). Full-Duplex přenos. Určeno pro komunikaci na krátké vzdálenosti (v rámci plošného spoje). Přenosová rychlost vysoká (cca max 50Mbps). Přenos probíhá vzájemnou výměnou data mezi posuvnými registry v Master a Slave. Data mohou mít šířku 8 bitů, některé mikrokontroléry dovolují i větší šířku dat (programovatelné). Na dalším snímku je ukázka, jak zorganizovat přenos z více jednotek Slave (v časovém sdílení), pomocí aktivace vždy jen jednoho signálu SSx pro vybraný Slave. A1B14MIS Mikroprocesory pro výkonové systémy 12 38
SPI Serial to Peripheral Interface A1B14MIS Mikroprocesory pro výkonové systémy 12 39
SPI Serial to Peripheral Interface A1B14MIS Mikroprocesory pro výkonové systémy 12 40
SPI Serial to Peripheral Interface A1B14MIS Mikroprocesory pro výkonové systémy 12 41
OSI model - Open Systems Interconnection OSI (Open Systems Interconnection)(ISO/IEC7498-1) poskytuje ideu (model), jak by mohlo vypadat sériové komunikační spojení mezi počítači od jednoho uživatel ke druhému (viz následující snímky). OSI model je rozdělen do 7mi vrstev, kde každá vrstva organizuje určitou část celkového datového spojení. Skutečné protokoly často realizuji jen část OSI modelu (viz např. USB, CAN, Ethernet). Vrstvy 1 a 2 OSI modelu jsou typicky realizované v hardware (v křemíku mikrokontroléru nebo samostatné obvodu). Vrstva 3 je někdy software jindy hardware. Vrstvy 4 7 jsou napsány v software. A1B14MIS Mikroprocesory pro výkonové systémy 12 42
OSI model - Open Systems Interconnection Stručně činnost jednotlivých vrstev OSI Modelu: (7) Application (SW) Definuje způsob komunikace aplikace se sítí (elektronická pošta, databázové systémy, ). Používá služeb nižších vrstev a tím je izolována od problémů technických síťových prostředků. (6) Presentation (SW) Definuje způsob formátování, transformování a kódování dat, kompresi dat a šifrování dat. (5) Session (SW) Koordinace komunikaci, udržuje relaci dokud je třeba. Řeší přihlašování a správní funkce. (4) Transport (SW) Definice protokolů strukturovaných zpráv. Provádí některé chybové kontroly. Řeší dělení na pakety a potvrzování. (3) Network (HW nebo SW) Definuje protokoly pro směrování dat. V lokální síti nemusí být pokud se nepoužívá směrování. (2) Data Link (HW) Zajišťuje integritu dat mezi uzly komunikace. Provádí synchronizaci bloků dat a řízení jejich toku. (1) Physical (HW) Definuje prostředky pro komunikaci s přenosovým médiem a technickými prostředky interface. Definuje parametry fyzického propojení jednotlivých komunikujících zařízení. A1B14MIS Mikroprocesory pro výkonové systémy 12 43
OSI Model Open Systems Interconnection A1B14MIS Mikroprocesory pro výkonové systémy 12 44
USB Universal Serial Bus USB (Universal Serial Bus) definuje vysokorychlostní propojení mezi PC a periferiemi. Definuje standardní a robustní jednotné propojovací konektory. Umožňuje připojit další periferie za provozu PC bez jeho restartování (Plug and Play). Umožňuje adresovat 127 zařízení (adresa 7 bitů). Existuje několik vývojových versí: USB 1.0 přenosová rychlost 12Mbps USB 1.1 přenosová rychlost 12Mbps a 1,5Mbps USB 2.0 přenosová rychlost 480Mbps, 12Mbps, 1,5Mbps USB 3.0 přenosová rychlost 4,8Gbps. Je kompatibilní s předchozími versemi Fyzické propojení je typu hvězda (Star). Logické propojení (jak to vidí uživatel) je sběrnice (Common Bus)(viz následující snímky). Řízení činnosti je Master-Slave (PC je Master). A1B14MIS Mikroprocesory pro výkonové systémy 12 45
USB Universal Serial Bus Propojení mezi zařízeními má 4 vodiče: Master (PC) zajišťuje napájení konektoru. Z konektoru lze pro zařízení typu Slave odebírat proud (500mA při 1,5Mbps nebo 2,5mA pro 12Mbps). U verse USB 3.0 až 1A. Několik typů konektorů je standardizováno (uvádíme dva nejběžnější): Pohled zepředu do konektoru A1B14MIS Mikroprocesory pro výkonové systémy 12 46
USB Universal Serial Bus Fyzické propojení (Star Hvězda) Rozbočovač (Hub) A1B14MIS Mikroprocesory pro výkonové systémy 12 47
USB Universal Serial Bus Logické propojení (Bus Sběrnice) Pohled uživatele Myš Klávesnice Modem... A1B14MIS Mikroprocesory pro výkonové systémy 12 48
USB Universal Serial Bus Master-Slave System PC je Master sběrnice ostatní zařízení jsou typu Slave (logický pohled) viz předchozí snímek. Bit je kódován metodou NRZI a vkládáním/vyjímáním bitů (Bit Stuffing/Destuffing) Při připojení nového zařízení PC provede identifikaci (Enumeration) a zjistí, který driver (SW) je nutný pro komunikaci. Při běžnéčinnosti pak Master (PC) postupně testuje (Round-Robin) zda připojené zařízení je připraveno komunikovat a vyzve ho k aktivitě (čtení nebo zápis dat). Dílčí bloky dat s řídící informací se zde nazývají pakety (Packets) USB definuje několik typů paketů, detaily zde nejsou uvedeny. Formát jednoho typu paketu (Data Packet) (protokol) je na následujícím snímku. PID (4bity+jejich negace) definují typ paketu CRC (Cyclic Redundancy Check) kontrolní hodnota EOP (End of Packet) konec paketu A1B14MIS Mikroprocesory pro výkonové systémy 12 49
USB Universal Serial Bus A1B14MIS Mikroprocesory pro výkonové systémy 12 50
USB Universal Serial Bus Nevýhodou USB pro vývojáře driveru pro PC je jeho velká složitost. Další překážkou vývoje je nutnost získat interní číslo dodavatele (VendorID VID), které je přidělováno organizací usb.org. Zařízení je možné dodávat jen s platným VID. Situaci řeší tzv. převodník USB-UART, který je možné běžně zakoupit a připojit na UART vždy dostupný v mikrokontroléru. Příkladem takových převodníků jsou obvody firmy FTDI, ke kterým lze zdarma z webu firmy FTDI stáhnout i driver pro operační systémy používané na PC. Převodník USB-UART se konfiguruje z PC (viz http://www.ftdichip.com) VID má obvody od FTDI přiděleno. A1B14MIS Mikroprocesory pro výkonové systémy 12 51
I2C Inter Integrated Circuits Bus I2C (čteme I kvadrát C ) je sběrnice určená především pro počáteční programování integrovaných programovatelných obvodů v rámci jednoho plošného spoje (zařízení spotřební elektroniky, průmyslová zařízení,...) I2C je dvoudrátová synchronní sběrnice typu Master-Slave s možností zařadit další zařízení typu Master a předávat si řízení sběrnice (viz následující snímek). Aktivní Master vysílá hodiny (SCL) a data vysílá aktivní zařízení (Master nebo adresovaný Slave) na vodiči SDA. Budiče sběrnice jsou typu otevřený kolektor (Open Collector) s upínacími odpory k Vcc (Pull-up Resistors). Master používá adresu o 7bitech. 6 adres je reservovaných, tedy je možné adresovat 112 zařízení. Sběrnice I2C je relativně pomalá: Přenosová rychlosti jsou 100kbps nebo 400kbps. Později do standardu přidaná rychlost typu HS (High Speed) 1,7Mbps. Tato rychlost ale vyžaduje aktivní (polovičové) Pull-up prvky. Protokol sběrnice I2C je na dalším snímku. Master přenos dat aktivuje, přenáší se 8mibitové bloky s potvrzováním (ACK) od jednotky Slave. A1B14MIS Mikroprocesory pro výkonové systémy 12 52
I2C Inter Integrated Circuits Bus Master-Slave Open Collector Bus Microcontroller A1B14MIS Mikroprocesory pro výkonové systémy 12 53
I2C Communication Protocol A1B14MIS Mikroprocesory pro výkonové systémy 12 54
CAN Controller Area Network CAN (Controller Area Network) je sběrnice určená do obtížných podmínek z hlediska rušení. Původně vyvinutá pro automobily, dnes rozšířená do průmyslových zařízení, lékařské elektroniky atp. CAN je optimalizovaný pro řízení v reálném čase s množstvím krátkých zpráv. CAN je definován normou ISO 11898. Multi-Master sběrnice je typu Multi-Master, jednotlivé připojené jednotky si nejsou co do přístupu na sběrnici rovny, přístup je řízen prioritou zprávy (viz dále)(viz následující snímek) Broadcasting (Veřejné vysílání) zprávy v systému CAN obsahují jméno zprávy (číselný identifikátor ID), ve zprávě není žádná adresa vysílajícího zařízení ani adresa příjemce. Zprávu přijmou ty jednotky, které obsah zprávy zajímá (to identifikují podle jména zprávy). NRZ+bit stuffing/destuffing CAN kóduje bit formou NRZ a pro zajištění synchronizace přijímačů vkládá umělý bit opačného znaménka po každých 5ti stejných bitech zprávy. Na přijímací straně jsou pak uměle vložený bity odstraněny. A1B14MIS Mikroprocesory pro výkonové systémy 12 55
CAN Controller Area Network CSMA/CR (Carrier Sense Multi Access/ Collision Resolution) pro zajištění přístupu na společnou sběrnici CAN používá nedestruktivní arbitrážnířízení. Recessive/Dominant bit (slabý/silný bit) CAN používá speciální budiče sběrnice, které se chovají podobně jako budiče s otevřeným kolektorem. Dominant bit vždy potlačí Recessive bit, pokud připojené jednotky vysílají různé hodnoty. Arbitration (rozhodovacířízení) uvedené vlastnosti Dominant bitů (viz výše) se používá pro arbitrážnířízení. Arbitrážního řízení se účastní pouze bity jména zprávy (ID hodnoty v protokolu). Každá připojená jednotka sleduje provoz na sběrnici. Pokud provoz utichne, může se jednotka (jednotky), která chce vysílat pokusit získat sběrnici. Vyšle Start bit a potom začne vysílat jednotlivé bity ID (nejvyšší bit nejdříve) a sleduje zda se vysílané hodnoty objeví též na sběrnici. Pokud ne, došlo ke kolizi s jinou jednotkou s nižším ID a jednotka okamžitě opustí sběrnice. Takto bit po bitu vysílané ID jednotek požadující sběrnici zvítězí to ID (to jméno zprávy) s nejnižší binární hodnotou. ID se všemi bity nulovými má tedy nejvyšší prioritu. Jednotka s nejnižší ID během rozhodovacířízení získá sběrnici (bez časové ztráty) a začne vysílat (na rozdíl od CSMA/CD, kdy všechny jednotky při konfliktu odstupují od vysílání a čekají po pseudonáhodný interval na další pokus) A1B14MIS Mikroprocesory pro výkonové systémy 12 56
CAN Controller Area Network ID (jméno zprávy) má dvě formy, Standard ID = 11 bitů tj. celkem 2047 různých ID a Extended ID = 29 bitů tj celkem 536870912 různých ID. V této presentaci je popsán jen standardní protokol s ID = 11 bitů. Jednoznačnost ID - všechny zprávy s daným ID musí být unikátní, tj. žádná dvojice (či více jednotek) nesmí vysílat zprávy s totožným ID. Acceptance filtering (přijímacířízení) řadič CAN má na přijímací straně filtr, který umožňuje přijmout jen zprávu (nebo skupinu zpráv) s určitým ID. Ostatní zprávy ze sběrnice se ignorují. RTR Remote Transmission Request (žádos o zprávu) v protokolu CAN je bit RTR, který určuje zda vysílaná zpráva s určitým ID obsahuje data (RTR = 0) nebo jde o žádost ostatním jednotkám o vyslání zprávy (RTR = 1) s tímto ID na sběrnici. Zpráva s RTR = 1 neobsahuje žádná data. Jednotka, která je schopná vyslat zprávu s tím ID odpoví včetně vložení dat. Ztráta sběrnice pokud jednotka nezvítězí v rozhodovacím řízení, řadič CAN opakuje pokus o získání sběrnice, po utichnutí provozu na sběrnici, automaticky. A1B14MIS Mikroprocesory pro výkonové systémy 12 57
CAN Controller Area Network Error Confinement (zapouzdření chyb) CAN má velmi důslednou kontrolu chyb během přenosu zpráv. Mimo kontrolu dodržení protokolu a metodiky vkládání bitů CAN rovněž rozlišuje mezi náhodnými chybami (náhodné rušení) a trvalými chybami (porucha budiče). Při zjištění chyby se inkrementuje čítač chyb v řadiči CAN. Při překročení určité hranice řadič CAN zprávy pouze přijímá a při překročení další hranice řadič zcela odpojí budič od sběrnice. Při úspěšném odeslání zprávy se čítač chyb postupně dekrementuje. Typy vysílaných zpráv: Data Frame (Datová zpráva). Remote Frame - Žádost o vyslání zprávy pro jiné jednotky (RTR). Error Frame - Chybová zpráva (6 jedniček, poruší bit stuffing a znamená chybu detal zde neuveden). Overload Frame (přetížení) žádost o pozdržení vysílání (6 jedniček po konci datové zprávy detail zde neuveden). A1B14MIS Mikroprocesory pro výkonové systémy 12 58
CAN Controller Area Network Multi Master CSMA/CR, s prioritou..... Master 1 Master 2 Master n A1B14MIS Mikroprocesory pro výkonové systémy 12 59
CAN Controller Area Network CAN and OSI Model vztah CAN obvodů a OSI modelu je na následujícím snímku. Úplná sestava CAN se skládá z řadiče CAN (zajišťuje Data Link Layer a část Physical Layer) a CAN budiče (Driver/Receiver). Řadič CAN (CAN Controller) je buď součástí mikrokontroléru nebo samostatná součástka, CAN driver je vždy samostatná součástka. Transfer Rate (přenosová rychlost) až 1Mbps pro délku sběrnice 40m. Pro delší sběrnice je nutné přenosovou rychlost snížit. Medium Twisted Pair with Terminators (kroucená dvoulinka se zakončovacími odpory) (120Ω) na obou koncích sběrnice. Odbočky k jednotlivým jednotkám kratší než 0,3m. CAN protocol (Standard CAN ID = 11bits) protokol je dalším snímku, přenos je potvrzovaný (ACK bity) z každé jednotky, která úspěšně přijala zprávu. User View (uživatelský pohled) na CAN přenos je v obrázku protokolu vybarven (ID = 11bitů, DLC (Data Length Control) délka datovéčásti, Data 0 až 8 byte (musí být násobek byte)) A1B14MIS Mikroprocesory pro výkonové systémy 12 60
CAN vs. OSI A1B14MIS Mikroprocesory pro výkonové systémy 12 61
CAN Protocol Format (Standard 11 bit ID) Color = Application View A1B14MIS Mikroprocesory pro výkonové systémy 12 62
CAN Dominant and Recessive Bits CAN Bus A1B14MIS Mikroprocesory pro výkonové systémy 12 63
CAN Controller Area Network - Bus Multi-Master Bus with Priority Kroucená dvoulinka (Twisted Pair) Half - Duplex A1B14MIS Mikroprocesory pro výkonové systémy 12 64
Ethernet Ethernet je v současné době nejrozšířenější protokol pro komunikaci mezi počítači v lokálních počítačových sítích. Existuje řada versí Ethernetu, které se liší přenosovou rychlostí, použitým mediem, způsobem přístupu k mediu, kódováním atp. Ethernet realizuje nejnižší dvě vrstvy OSI modelu Data Link Layer a Physical Layer (viz následující snímky). Data Link Layer sestává z Logical Link Control Layer a MAC (Medium Access Control). Logical Link Control tvoří rozhraní mezi MAC a vyššími vrstvami protokolů. MAC (Medium Access Control) sestavuje Ethernet protokol (Frame - Rámec) pro vysílání. Rozděluje přijaté údaje na jednotlivé relevantníčásti a detekuje chyby během příjmu rámce. PHY (Physical Layer) kóduje bity rámce, řídí přistup na medium, dekóduje příchozí signál. MAC a PHY jsou realizovány v hardware. Blok MAC je typicky součástí mikrokontroléru, blok PHY je samostatná součástka. A1B14MIS Mikroprocesory pro výkonové systémy 12 65
Ethernet A1B14MIS Mikroprocesory pro výkonové systémy 12 66
Ethernet vs. OSI Model MAC PHY A1B14MIS Mikroprocesory pro výkonové systémy 12 67
Ethernet MAC a PHY jsou propojeny MII (Medium Independent Interface) rozhraním. Jak zkratka MII naznačuje jde o rozhraní nezávislé na použitém mediu, kde je zodpovědný blok PHY. Výstup bloku PHY je přes transformátor (nazývá se Magnetics ) (při použití kroucené dvoulinky) připojen na standardní konektor RJ45. Blokové zapojení Ethernetu rozdělené do jednotlivých částí je na následujícím snímku. Transfer Rate (přenosová rychlost) jednotlivé verse Ethernetu používají tyto přenosové rychlosti: 10Mbps. 100Mbps. 1Gbps. 10Gbps (v přípravě). Media (přenosové prostředí): UTP (Unshielded Twisted Pair) nestíněná kroucená dvoulinka. Fiber Optics optické vlákno. A1B14MIS Mikroprocesory pro výkonové systémy 12 68
Ethernet A1B14MIS Mikroprocesory pro výkonové systémy 12 69
Ethernet Struktura IEEE802.3 TRAFO UTP Unshielded Twisted Pair Medium Independent Interface A1B14MIS Mikroprocesory pro výkonové systémy 12 70
Ethernet - 10BASE-2 Half-Duplex Vzhledem k šířce problematiky se v presentaci budeme dále stručně zabývat jen: 10BASE-2 Half-Duplex tj. versí s rychlostí 10Mbps a CSMA/CD. 100BASE-TX Full-Duplex tj. versí s rychlostí 100Mbps. 10BASE-2 Half-Duplex Přenosová rychlost 10Mbps. Multi-Master systém všechny připojené jednotky jsou si v možnosti přístupu na sběrnici rovnocenné (nemají žádnou vzájemnou prioritu). Adresní metoda protokol obsahuje adresu odesilatele i příjemce (nebo skupiny příjemců) zprávy (paketu) (srovnej s CAN, kde veřejné vysílání). Přenosové medium UTP nestíněná kroucená dvoulinka kategorie CAT-3 (kategorie udává počet závitů linky na metr, průměr vodičů, ) CSMA/CD (Carrier Sense Multi Acess/Collision Detection) kolizní přístup na sběrnici s náhodným časem čekání na další pokus (jak bylo popsáno na začátku presentace). Kódování bitů na mediu fázové (Manchester). A1B14MIS Mikroprocesory pro výkonové systémy 12 71
Ethernet 10Mbps, Bus, Half-Duplex Multi Master (CSMA/CD), Half-Duplex..... Master 1 Master 2 Master n A1B14MIS Mikroprocesory pro výkonové systémy 12 72
Ethernet - 10BASE-2 Half-Duplex 10BASE-2 Half-Duplex (pokrač.) Délka sekce (bez opakovače) 185m. Protokol je na následujícím snímku. Preamble (úvodní sekvence) slouží k synchronizaci hodin přijímače. SFD začátek rámce (končí dvěma za sebou jdoucími jedničkami). DA (Destination Address) adresa příjemce rámce. SA (Source Address) - adresa odesílatele rámce. Length/type hodnota 1500 značí délku dat, hodnota 1536 značí typ rámce (datový, řídící, typ protokolu vyšší vrstvy ). Payload vlastní přenášená data (musí být v rozsahu 46 až 1500 byte (Octet)). Pokud je délka dat menší než 46 byte, MAC vloží na konec dat výplň. FCS 16ti bitové CRC (Cyclic Redundancy Check) kód se při vysílání vypočítá počínaje od DA do konce Payload a na příjmu se výpočet opakuje z přijatého signálu a porovná s hodnotou CRC v rámci. A1B14MIS Mikroprocesory pro výkonové systémy 12 73
Ethernet 10 Mbps Frame format Octet = Byte Přenosová rychlost 10Mbps Preamble úvod SFD Start of Frame DA Destination Addres SA Source Addres Payload User Data FCS Frame Check Sequence (CRC). TP_IDL- Idle Bus LPT Link Test Pulse (NLP Normal Link Pulse) 11 SFD END Microchip A1B14MIS Mikroprocesory pro výkonové systémy 12 74
Ethernet - 100BASE-TX Full-Duplex 100BASE-TX Full-Duplex Přenosová rychlost 100Mbps. Multi-Master systém všechny připojené jednotky jsou si v možnosti přístupu na sběrnici rovnocenné (nemají žádnou vzájemnou prioritu). Adresní metoda protokol obsahuje adresu odesilatele i příjemce (nebo skupiny příjemců) zprávy (paketu) (srovnej s CAN, kde veřejné vysílání). Přenosové medium UTP nestíněná kroucená dvoulinka kategorie CAT-5 (kategorie udává počet závitů linky na metr, průměr vodičů, ). Způsob propojení Star (Hub Router, Switch) každá jednotka je připojena dvěma páry UTP (nestíněných kroucených dvoulinek). Kódování bitů na mediu MLT3 (tříhladinové) viz dále. Délka sekce (bez opakovače) 100m. A1B14MIS Mikroprocesory pro výkonové systémy 12 75
Ethernet - 100Mbps, Star, Full-Duplex Full Duplex nebo (Half Duplex) Hub (Router, Switch) A1B14MIS Mikroprocesory pro výkonové systémy 12 76
Ethernet - 100BASE-TX Full-Duplex 100BASE-TX Full-Duplex (pokrač.): Kódování bitu MLT3 podrobněji: Telefonní kabely používané pro přenos mají šířku pásma cca 30MHz. Proto bylo nutné pro 100Mbps zvolit jiné kódování (než Manchester). Způsob kódování je na následujících snímcích: (1) Standardní rámec z MAC je nejprve překódován metodou 4B/5B, kdy je každá skupina čtyřech bitů zakódována do pěti bitů, tak aby v každé platné kódové kombinaci byly alespoň dvě jedničky (synchronizace přijímače). (2) Pro snížení vyzařování je signál rozmítán (Scrambler)(rozšíří a zploští kmitočtové spektrum) a převeden do sériové podoby. (3) Pak jsou sériové bity signálu zakódovány metodou NRZI (viz na začátku presentace). (4) Nakonec je NRZI signál překódován do tříhladinového kódu MLT3, kde log 1 je hrana a log 0 je předchozí úroveň. Uvedeným způsobem se podařilo snížit nárok na propustné pásmo použitých kabelů poblíž požadovaných 30MHz. A1B14MIS Mikroprocesory pro výkonové systémy 12 77
Ethernet Kódování 4B/5B V každé kódové kombinaci jsou alespoň dvě jedničky tj. v NRZI dvě hrany pro synchronizaci přijímače SSD Start of Stream Delimiter ESD End of Stream Delimiter A1B14MIS Mikroprocesory pro výkonové systémy 12 78
Ethernet Kódování 100Mbps verse A1B14MIS Mikroprocesory pro výkonové systémy 12 79
Ethernet - 100BASE-TX Full-Duplex 100BASE-TX Full-Duplex (pokrač.) Protokol je na následujícím snímku: Standardní protokol od Preamble FCS je obklopen dalšími kódovými znaky z tabulky 4B/5B. I (Bus Idle) znak I značí neaktivní spojení. JK (SSD Start of Streem Delimiter) dvojice znaků ( J a K ) značí začátek vlastního rámce. Následuje standardní formát rámce tj. Preamble FCS (viz popis protokolu 10BASE2 na předchozích snímcích). TR (ESD - End of Streem Delimiter) dvojice znaků ( T a R ) značí konec vlastního rámce. I (Bus Idle) následují znaky I neaktivní spojení.. Auto-Negotiation některéřadiče PHY mají blok, který dokáže (s ostatními připojenými jednotkami na síti, které též mají tento blok) vyjednat co nejlepší dosažitelné parametry. Tento postup se nazývá Auto-Negotiation. A1B14MIS Mikroprocesory pro výkonové systémy 12 80
Ethernet 100 Mbps Frame format 1) Octet = byte (8 bits) 2) I Bus Idle 3) JK Start of Stream Delimiter (SSD) 4) TR End of Stream Delimiter (ESD) 6) Signal is Srambled (Rozmítán) to reduce radiated emissions Microchip A1B14MIS Mikroprocesory pro výkonové systémy 12 81
Ethernet - shrnutí Ethernet je v současné době nejrozšířenější protokol pro spojení počítačů v lokálních počítačových sítích. Ethernet existuje v několika rychlostní versích a pro různá media. Dnes nejpoužívanější verse je 100BASE-TX 100Mbps případně 10BASE-T 10Mbps v propojení hvězda a Full-Duplex a nestíněné kroucené dvoulinky (pro 100Mbps UTP CAT5, pro 10Mbps stačí UTP CAT3). Pro páteřní sítě se používá 1Gpbs a optická vlákna. Ethernet je vhodný pro masivní přenos dat. Délka dat (na jeden Frame) je omezená od 46 byte do 1500 byte. V terminologii Ethernetu se byte nazývá Octet. Ethernet není vhodný pro aplikace reálného času, kde se požaduje zaručený čas doručení zprávy a stačí krátké zprávy často vysílané. Ethernet je Multi-Master systém, kde jsou si všechny připojené jednotky do sítě rovny co do priority přístupu. A1B14MIS Mikroprocesory pro výkonové systémy 12 82
EtherCat EtherCat je relativně nový systém, ale rychle se šíří. Je určený pro řídící účely a automatizaci procesů. Vyvinula ho firma Backhoff Automation a drží licenci, za kterou se musí platit ale i prodává obvody (hradlové pole typu ASIC) s funkcí EtherCat Slave. EtherCat je modifikovaný Ethernet do podoby Master-Slave a zapojení Loop Kruh (viz následující snímky). Master EtherCat je běžný počítač s Ethernetem (musí mít ale dva kanály) Master EtherCat vkládá informaci pro EtherCat Slave do běžného rámce Ethernetu hodnotou Legth/Type = 0x88A4 (hex). Slave EtherCat je specializovaný obvod (licence Backhoff), který je schopen během příjmu rámce informaci z rámce odebírat a novou informaci tam vkládat. Další informace na: https://www.beckhoff.com https://www.ethercat.org A1B14MIS Mikroprocesory pro výkonové systémy 12 83
EtherCat (Navrženo pro řídící aplikace) EtherCat Master (Standard Ethernet PC) EtherCat Slave 1 (Beckhoff licence) EtherCat Slave 2 (Beckhoff licence) EtherCat Slave n (Beckhoff licence) EtherCat Slave 3 (Beckhoff licence) A1B14MIS Mikroprocesory pro výkonové systémy 12 84
EtherCat Slave Texas Instruments A1B14MIS Mikroprocesory pro výkonové systémy 12 85
EtherCat - Network Standart Ethernet PC (2 Ethernet connection needed) EtherCat Slaves Texas Instruments A1B14MIS Mikroprocesory pro výkonové systémy 12 86
EtherCat - Datagram Texas Instruments A1B14MIS Mikroprocesory pro výkonové systémy 12 87
EtherCat - Datagram EtherCat Technology Group A1B14MIS Mikroprocesory pro výkonové systémy 12 88
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Sériový přenos informace (Stručný přehled) Konec České vysoké učení technické Fakulta elektrotechnická