Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Sériová rozhraní
2
Úvodní problém Představme si, že jsme zaměstnanci autosalonu ve městě A a potřebujeme přepravit n aut do města B. Jakým způsobem je možno tuto operaci uskutečnit?
3
Paralelní přenos dat Nejoptimálnější by bylo poslat přímo auta čase t po n silnicích do města B. Problém je však, že si těžko můžeme dovolit n silnic na delší vzdálenosti (cena).
4
Sériový přenos Předpokládejme, že máme jednu silnici. Po této silnici pošleme v řadě n aut do města B v časech 0, t, 2t, 3t … výhoda: stačí jedna silnice nevýhoda: převoz aut z místa A do místa B bude časově náročnější než předchozí možnost
5
Jak rozdělit data? „Serializace“: vezmeme např. bajt , zvolme nejvyšší/nejnižší bit a pošleme jej po datové lince, danou operaci zopakujme pro zbylé nižší/vyšší bity „Deserializace“: z příchozích bitů sestavíme znovu bajt. Je nějak nutné rozlišit správné pořadí jednotlivých bitů, začátky a konce bajtů a jejich správnost.
6
Parita nejjednodušší způsob jak bez nároků na výpočetní výkon zabezpečit přenos dat vysílač sečte počet jedničkových bitů a doplní doplní paritním bitem dle předem dohodnuté podmínky SUDÁ PARITA – Počet jedničkových bitů + paritní bit = SUDÉ ČÍSLO LICHÁ PARITA – Počet jedničkových bitů + paritní bit = LICHÉ ČÍSLO SPACE PARITY – Tzv. nulová parita – paritní bit je vždy v log. 0 MARK PARITY - Paritní bit je vždy log. 1
7
Start/stop bit(y) start/stop bit se používá k rozlišení začátku a konce rámce logická hodnota start a stop bitu bývá rozdílná
8
Přenosová rychlost přenosová rychlost se vyjadřuje počtem bitů přenesených za jednotku času její jednotkou je bit/s při dvoustavovém přenosu tato jednotka splývá s jednotkou tzv. modulační rychlosti Bd (baud) do počtu bitů patří i start, stop a paritní bity
9
Typy sériového přenosu
Synchronní Asynchronní
10
Synchronní přenos (1) K datové lince se ještě přidá jedna linka s „synchronizačním“ signálem, který nám určuje, kdy je na datové lince platný bit.
11
Synchronní přenos (2) (blokové schéma)
12
Synchronní přenos (3) (časový průběh)
v ukázce se přenáší po sériové lince bajt B
13
Synchronní přenos (4) výhody, nevýhody
Výhodné pro velké objemy dat, přenášené po více vodičích Nutno jednoznačně určit, kdo vysílá synchronizační impulsy Možno použít spojitě proměnnou rychlost přenosu, například podle poměru chybovosti Nutnost synchronizačního vodiče „navíc“ – v podstatě „nepřenáší žádnou informaci“ Na straně zařízení nepotřebuje nijak složitou elektroniku
14
Asynchronní přenos (1) pro přenos máme k dispozici 1 datovou linku
přijímač a vysílač má vlastní zdroj synchronizačního signálu přenos začíná start bitem, následuje n datových bitů, a končí stop bitem (u něj je definovaná minimální délka) přijímač se musí umět synchronizovat na start bit start bit a stop bit mají rozdílnou logickou úroveň
15
Asynchronní přenos (2) (blokové schéma)
16
Asynchronní přenos (3) (časový průběh)
v ukázce se přenáší po sériové lince bajt B
17
Asynchronní přenos (4) (řešení sériového přenosu)
obvody UART (Universal Asynchronous Receiver Transmitter ): 8251 (Intel, AMD, NEC), 6851 (Motorola), 9902 (Texas Instruments) … přímo na čipu (8051, PIC, AVR …) absence, softwarová emulace
18
Asynchronní přenos (5) (emulace sériového rozhraní)
spočítáme délku datového bitu dle přenosové rychlosti (doba trváni bitu (s)=1/přenosová rychlost (Bd) každý bajt začíná start bitem, následují datové bity, (parita), a končí stop bit(y) uspořádání bitů za sebou první MSB (nejvýznamnější bit) První LSB (nejméně významný bit) [startbit][databit1]...[databitn][paritnibit][stopbit(y)] (nazýváme rámcem) stav linky na přijímači: v klidu 1, rozpojeno 0
19
Asynchronní přenos (6) (příjem bajtu)
Dokud je na vstupu 1 čekej Čekej t/2 (start bit ?) Pokud není na vstupu 0 jdi na 1 i:=počet bitů bez start bitu, j:=počet datových, příchozí:=0 Čekej t if (j>0) { příchozí:=příchozí posun do leva + vstup (v případě na začátku MSB) příchozí:=příchozí + vstup posun do leva o j (v případě na začátku LSB) --j; --i; goto 5} if (i==1+poces stop bitu) {test parity; --i; goto5} if (i!=0) if (příchozí==1) --i; goto 5; else goto error; 7. v příchozí se nachází přijatý bajt
20
Asynchronní přenos (7) (odeslání bajtu)
Nastav linku na 0, počkej t (start bit) Natav linku na hodnotu 1. bitu, počkej t Opakuj 2 pro zbylých n-1 bitů Jako v 2 pošli paritní bit Jako v 2 pošli stop bit(y) (stop bit=1)
21
Asynchronní přenos (8) výhody, nevýhody
Nevýhodné pro velké objemy dat Levné vedení Lze použít pro komunikaci mezi mnoha zařízeními Nutno definovat jednoznačně přenosové rychlosti, změnu rychlosti je třeba ošetřit softwarovou sekvencí Celkem složitá a drahá elektronika, nutno použít krystalové oscilátory Až o 20% menší přenosová rychlost užitečných dat při stejné rychlosti komunikace, vzhledem k nutnosti startovacích a paritních bitů
22
Rozhraní RS-232, RS-422,RS-423,RS-485
23
RS The Electronics Industry Association (EIA)
RS = recommended standard
24
Parametry Specifikace RS232 RS423 RS422 RS485 Mode of Operation
SINGLE-ENDED DIFFERENTIAL Total Number of Drivers and Receivers on One Line (One driver active at a time for RS485 networks) 1 DRIVER / 1 RECEIVER 10 RECEIVER 32 DRIVER / 32 RECEIVER Maximum Cable Length 15 M 1,5KM Maximum Data Rate (40ft ft. for RS422/RS485) 20kbps 100kbps 100kbps-10mbps Maximum Driver Output Voltage +/-25V +/-6V -0.25V to +6V -7V to +12V Driver Output Signal Level (Loaded Min.) Loaded +/-5V to +/-15V +/-3.6V +/-2.0V +/-1.5V Driver Output Signal Level (Unloaded Max) Unloaded Driver Load Impedance (Ohms) 3k to 7k >=450 100 54 Max. Driver Current in High Z State Power On N/A +/-100uA Max. Driver Current in High Z State Power Off +/-2v Slew Rate (Max.) 30V/uS Adjustable Receiver Input Voltage Range +/-15V +/-12V -10V to +10V Receiver Input Sensitivity +/-3V +/-200mV Receiver Input Resistance (Ohms) 4k min. >=12k
25
Proudová smyčka vysoce odolná proti rušení
logické logické úrovně: teče, nebo neteče proud 20 mA odpor vedení až 200 W možné galvanické oddělení (MIDI optoelektronické)
26
RS 232C (1)
27
RS232C (2) převod RS232/TLL
28
RS-423
29
RS422
30
RS485
31
Sériové rozhraní počítače
32
Základní údaje sériový port PC je standardu RS 232
přenosové rychlosti: 110Bd, 150Bd, 300Bd, 600Bd, 1200Bd, 2400Bd, 4800Bd, 9600Bd, 19200Bd, Bd délka slabiky: 5, 6, 7, 8 bitů parita: sudá, lichá, mark, space stop bity: 1, 1.5, 2 napěťové úrovně: max I=10 mA vysílá se od LSB po MSB Úroveň Vysílač Přijímač Logická 0 +5 až +15V +3 až +15V Logická 1 -5 až-15V -3 až -15V Nedefinováno - -3 až +3V
33
Sériový konektor DCD (‹) - Data Carrier Detect RxD (‹) - Receive Data
RLSD - Receive Line Signal Detect RxD (‹) - Receive Data TxD (›) - Transmit Data DTR (›) - Data Term. Ready GND - Ground DSR (‹) - Data Set Ready RTS (›) - Req. To Send CTS (‹) - Clear To Send RI (‹) - Ring Indicator
34
Popis signálů DCD - Data Carrier Detect Detekce nosné (někdy jen "CD). Modem oznamuje terminálu, že na telefonní lince detekoval nosný kmitočet. RXD - Receive Data Tok dat z modemu (DCE) do terminálu (DTE). TXD - Transmit DataTok dat z terminálu (DTE) do modemu (DCE). DTR - Data Terminal Ready Terminál tímto signálem oznamuje modemu, že je připraven komunikovat *). SGND - Signal Ground Signálová zem DSR - Data Set Ready Modem tímto signálem oznamuje terminálu, že je připraven komunikovat *). RTS - Request to Send Terminál tímto signálem oznamuje modemu, že komunikační cesta je volná *). CTS - Clear to Send Modem tímto signálem oznamuje terminálu, že komunikační cesta je volná *). RI - Ring Indicator Indikátor zvonění. Modem oznamuje terminálu, že na telefonní lince detekoval signál zvonění.
35
Rozdělení linek datové: TxD (out), RxD (in) Pomocné (řídicí):
vstupní: CTS, RI, DSR, DCD výstupní: DTR, RTS
36
Sériové rozhraní - porty
Bázová adresa (0x3f8,0x2f8,0x3e8,0x2e8) POST - nalezené porty do 0:0400-0:0406 base I/O (RW), DLo (W) base+1 maska přerušení (W), DHi (W) base+2 id. přerušení (R), řízení FIFO (W) base+3 řízení linek (RW) base+4 řízení modemu (W) base+5 stav linek (R) base+6 stav modemu (R)
37
Porty podrobný popis base Zápis Čtení
DLAB = 1 dolní byte dělitele (baud = /div) jinak vysílací registr - znak k odvysílání Čtení přijímací registr - přijatý znak
38
Podrobný popis base + 1 Zápis DLAB = 1 horní byte dělitele
jinak registr povolení přerušení bit 0: od přijatého znaku bit 1: po odvysílání znaku bit 2: od stavu linky (error, break) bit 3: od stavu modemu (CTS, DSR, RI, CD)
39
Podrobný popis base + 2 Zápis Čtení řídící registr fronty
bit 0: povolení FIFO bit 1: reset přijímací fronty bit 2: reset vysílací fronty bity 6,7: velikost fronty (1B, 4B, 8B, 14B) Čtení identifikace přerušení bit 0: 1 - není přerušení, 0 - viz. bity 1,2 bity 1,2: příčina (změna stavu modemu, vysílání, příjem, změna stavu linky)
40
Podrobný popis base + 3 Zápis řízení modemu bit 0: aktivace DTR
bit 1: aktivace RTS bit 2: aktivace OUT1 bit 3: aktivace OUT2 (nutné pro fci přerušení v PC)
41
Podrobný popis base + 4 Čtení registr stavu linky
bit 0: data ready (příjetí znaku) bit 1: overrun error (ztráta znaku) bit 2: parity error bit 3: framing error (špatný stop-bit) bit 4: break indicated (0 na vstupu) bit 5: output buffer empty bit 6: transmit data finished
42
Podrobný popis base + 5 Čtení registr stavu modemu
bit 0: DCTS - změna stavu CTS bit 1: DDSR - změna stavu DSR bit 2: TERI - vzestupná hrana RI bit 3: DDCD - změna stavu DCD (RLSD) bit 4: CTS - stav CTS bit 5: DSR - stav DSR bit 6: RI - stav RI bit 7: DCD - stav DCD (RLSD)
43
Sériové rozhraní - přerušení
COM1 (IRQ4, int 0x0c), COM2 (IRQ3, int 0x0b) Nastavení obsluha - vektor přerušení (0x0c resp. 0x0b) povolit IRQ3,4 na řadiči přerušení in al, 21h; and al,f7h; out 21h, al registr povolení přerušení (0x3f9) - požadovaný typ registr řízení modemu (0x3fc) - OUT2 Obsluha odhlásit přerušení řadiči přerušení mov al, 20h; out 20h, al zjištění příčiny přerušení (0x3fa)
44
Řízení toku dat (HANDSHAKING)
potvrzení příjmu dat či připravenost k přenosu a jeho zahájení na úrovni hardwarového nebo softwarového rozhraní softwarové: na úrovni komunikačního protokolu, specielní znaky v ASCI (XON/XOF) hardwarové: realizováno pomocnými linkami (DTR/DSR nebo RTS/CTS)
46
Použitá literatura Využití rozhraní PC, Kainka B., HEL 1998
Počítačová rozhraní, Vlach J., BEN 200 Projektování mikropočítačových systémů, Janeček J., ČVUT 1999 Sysman
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.