Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Sériová rozhraní. Ú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.

Podobné prezentace


Prezentace na téma: "Sériová rozhraní. Ú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."— Transkript prezentace:

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) 1.Dokud je na vstupu 1 čekej 2.Čekej t/2 (start bit ?) 3.Pokud není na vstupu 0 jdi na 1 4.i:=počet bitů bez start bitu, j:=počet datových, příchozí:=0 5.Čekej t 6.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) 1.Nastav linku na 0, počkej t (start bit) 2.Natav linku na hodnotu 1. bitu, počkej t 3.Opakuj 2 pro zbylých n-1 bitů 4.Jako v 2 pošli paritní bit 5.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 SpecifikaceRS232RS423RS422RS485 Mode of OperationSINGLE- ENDED DIFFERENTIAL Total Number of Drivers and Receivers on One Line (One driver active at a time for RS485 networks) 1 DRIVER / 1 RECEIVER 1 DRIVER / 10 RECEIVER 1 DRIVER / 10 RECEIVER 32 DRIVER / 32 RECEIVER Maximum Cable Length15 M1,5KM Maximum Data Rate (40ft ft. for RS422/RS485) 20kbps100kbps100kbps-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 +/-25V+/-6V Driver Load Impedance (Ohms)3k to 7k>= Max. Driver Current in High Z State Power OnN/A +/-100uA Max. Driver Current in High Z State Power +/-2v+/-100uA Slew Rate (Max.)30V/uSAdjustableN/A Receiver Input Voltage Range+/-15V+/-12V-10V to +10V-7V to +12V Receiver Input Sensitivity+/-3V+/-200mV Receiver Input Resistance (Ohms)3k to 7k4k 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  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 -3 až +3V-Nedefinováno -3 až -15V-5 až-15VLogická 1 +3 až +15V+5 až +15VLogická 0 PřijímačVysílačÚroveň

33 Sériový konektor DCD (‹) - Data Carrier Detect –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 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 ří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)

45

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


Stáhnout ppt "Sériová rozhraní. Ú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."

Podobné prezentace


Reklamy Google