Proč funguje datový kabel mobilu se stolním počítačem, ale ne s kapesním? Jak propojím kapesní počítač nebo komunikátor s přijímačem GPS a jak s „pozemním“ modemem? Proč k tomu nemohu požít modemový kabel? Proč jsou na některém sériovém konektoru zdířky a na jiném kolíky? To a ještě více se dozvíte v dalším díle našeho seriálu.
Připraven? Ano! Stíháš? Stíhám!
Obě komunikující zařízení nemohou zahájit přenos dat, aniž by si vzájemně ověřily, zda je jejich protějšek zapnutý a připraven komunikovat. Proto byl zaveden tzv. handshake, kdy se pomocí speciálních datových signálů nebo znaků obě strany vzájemně ujistí, že přenos může začít. A další možná komplikace - některé ze zařízení může z povahy své konstrukce nebo z jiných technických příčin zpracovávat dodávaná data pomaleji než jakou rychlostí do něj proudí. Pokud by se přísun dat nijak neřídil, pak data, která by se nestihla v reálném čase zpracovat, by se ztratila. Zařízení sice mohou mít nějakou vyrovnávací paměť (buffer), ale ta slouží jen k vyrovnávání občasných zakolísání v rychlosti zpracování, zajišťuje tedy pouze plynulost práce. K řízení toku dat (data flow control), čili přizpůsobení rychlosti toku dat nejpomalejšímu článku řetězce, se využívají opět signály či znaky pro handshake. Představte si situaci, kdy jeden člověk jinému diktuje text a kromě „přenášených dat“, tedy diktovaného textu, si vzájemně předávají doplňkové informace, kterými potvrzují a ověřují příjem či zpracování došlých dat („Máš? Mám, můžeš diktovat dál …. Počkej, nestačím. Diktuj pomaleji.“ atd). Je jasné, že tato komunikace se nestane součásti zapsaného textu, ale slouží jen k řízení toku dat.
U RS-232 může být řízení toku dat buď hardwarové (pomocí řídících signálů) nebo softwarové (pomocí řídících znaků). Řízením toku dat si jednak příjemce dávkuje přísun dat a jednak odesílatel říká příjemci, že má data k odeslání připravena a přenos může začít.
Odkud kam ta data tečou?
Signály na sériovém konektoru PC (25- i 9-kolíkovém) a jejich směr (pro DTE i DCE)
DB-25 |
DE-9 |
signál |
DTE DCE |
popis |
|
|
|
|
|
8 |
1 |
DCD – Data Carrier Detect |
ß |
Detekce nosné (někdy jen „CD“). Modem oznamuje terminálu, že na telefonní lince detekoval nosný kmitočet. |
3 |
2 |
RXD – Receive Data |
ß |
Tok dat z modemu (DCE) do terminálu (DTE). |
2 |
3 |
TXD – Transmit Data |
à |
Tok dat z terminálu (DTE) do modemu (DCE). |
20 |
4 |
DTR – Data Terminal Ready |
à |
Terminál tímto signálem oznamuje modemu, že je připraven komunikovat *). |
7 |
5 |
SGND – Signal Ground |
--- |
Signálová zem. |
6 |
6 |
DSR – Data Set Ready |
ß |
Modem tímto signálem oznamuje terminálu, že je připraven komunikovat *). |
4 |
7 |
RTS – Request to Send |
à |
Terminál tímto signálem oznamuje modemu, že komunikační cesta je volná *). |
5 |
8 |
CTS – Clear to Send |
ß |
Modem tímto signálem oznamuje terminálu, že komunikační cesta je volná *). |
22 |
9 |
RI – Ring Indicator |
ß |
Indikátor zvonění. Modem oznamuje terminálu, že na telefonní lince detekoval signál zvonění. |
*) Jak už jsme se zmínili, různé komunikační programy často s řídícími (handshakovými) signály zacházejí odlišně a využívat je po svém. Pro některé aplikace či zařízení mohou dokonce existovat speciální zapojení sériových kabelů. Dříve plnily řídící „handshakové“ signály funkci jakýchsi „semaforů“ pro řízení poloduplexní komunikace s modemy, zatímco jejich dnešní význam je spíše „řízení toku dat“ ve smyslu koordinace práce obou komunikujících zařízení. U dnešních plně duplexních komunikačních zařízení ztrácejí řídící signály částečně svůj původní význam a programy je využívají spíše způsobem „zařízení DTE hlásí, že je momentálně připraveno (nepřipraveno) přijmout data“ – k tomu může programátor využít jak signál DTR, tak signál RTS – a právě tak lze pro zařízení DCE obdobně použít signál DSR nebo CTS. Proto některé programy umožňují zvolit, které handshakové signály se pro řízení toku dat použijí – v nastavení takových programů můžete proto někdy najít více variant hardwarového řízení toku – „hardware (RTS/CTS)“, „hardware (DTR/DSR)“ apod. Takto použitý řídící signál se pak podle nových definic nazývá správně Ready for receiving.
Na PC se již řada signálů z původně plně osazených 25-kolíkových rozhraní podle definice standardu nepoužívá, proto se zde časem přešlo na menší, 9-kolíkové konektory.
Modemový kabel (1:1) DTE-DCE
Modemový kabel je tedy velmi prostý a představuje propojení všech signálů 1:1. Používá se pro spojení PC s modemem, ale lze jej použít také jako prodlužovací kabel mezi PC a datovým kabelem mobilního telefonu či PDA.
strana PC (DTE) |
|
strana modemu (DCE) |
25-kolíkový konektor |
9-kolíkový konektor |
signály a směr toku dat |
9-kolíkový konektor |
25-kolíkový konektor |
„F“ (samice, female) |
|
„M“ (samec, male) |
8 |
1 |
DCD |
ß |
DCD |
1 |
8 |
3 |
2 |
RXD |
ß |
RXD |
2 |
3 |
2 |
3 |
TXD |
à |
TXD |
3 |
2 |
20 |
4 |
DTR |
à |
DTR |
4 |
20 |
7 |
5 |
SGND |
--- |
SGND |
5 |
7 |
6 |
6 |
DSR |
ß |
DSR |
6 |
6 |
4 |
7 |
RTS |
à |
RTS |
7 |
4 |
5 |
8 |
CTS |
ß |
CTS |
8 |
5 |
22 |
9 |
RI |
ß |
RI |
9 |
22 |
1 |
- |
|
|
|
- |
1 |
Dvoudrátový modemový kabel (light modem cable) je určený pro případ, kdy se používá softwarový handshake a řídící signály nejsou potřeba ani pro jiné účely, a je velmi zjednodušený – propojeny jsou jen signály RXD, TXD a SGND. Všechny řídící signály (DCD, DTR, DSR, RTS, CTS, případně RI) jsou na každém konci vzájemně zkratovány (některým programům dokonce stačí jen zkratované RTS a CTS).
Tento článek je zkrácenou a upravenou verzí metodického materiálu firmy Agora plus (www.agora.cz).