RS-232

Allikas: Vikipeedia

RS-232 standardiga kirjeldatud isane DB-25 ühenduspesa
Levinud D-sub DE-9 ühenduspesa (DB-25 asemel)
USB -> RS-232 muundur

RS-232 (ka RS-232-C, ka EIA-232, ka TIA-232, Recommended Standard 232) ehk soovituslik standard 232 on normide kogum, mis defineerib binaarsete andmete ja kontrollbittide edastuse lõppseadmete (DTE) ja andmeside seadmete (DCE) vahel. RS-232 on üks järjestikliideste standarditest. Standardis määratakse ühenduse elektrilised omadused, signaalide ajastused, signaalide tähendused, ühenduspesade füüsikalised suurused ja kontaktide jaotus. Uusim versioon TIA-232-F võeti kasutusele 1997. aastal. Kuigi see standard kasutab teist nime, kutsutakse seda tavakeeles ikkagi RS-232 standardiks.

Varem kasutati RS-232 porti laialdaselt – peaaegu igas personaalarvutis. Seda kasutati modemite, printerite, arvutihiirte, andmekandjate, puhvertoiteallikate (UPS) ja teiste välisseadmete arvutiga ühendamiseks. RS-232 standardil on aga mitu puudust: piiratud andmete edastuskiirus, suhteliselt kõrged pingete tasemed ja liiga suured ühenduspesad. Standardi puudused motiveerisid välja töötama Universaalse järjestiksiini (USB) standardi, mis tänapäeval on liidesena asendanud RS-232 standardi enamikus välisseadmetest. Suurim osa kaasaegsetest arvutitest ei sisalda RS-232 porti, seega vanemate välisseadmete ühendamiseks arvutiga on vaja kasutada välist RS-232 muundurit. Tänapäeval leiduvad mõned RS-232 liidesega välisseaded, eriti tööstusmasinate ja teadusriistade hulgas.

Standardi käsitlusala[muuda | redigeeri lähteteksti]

Electronic Industries Association (EIA) 1969. aasta RS-232-C[1] standardis määratleti:

  • elektrilised omadused, signaliseerimise kiirus, signaalide ajastused ja signaalide muutumiskiirus, pinge stabiilsus, käitumine lühise korral ja mahtuvus maksimaalse koormuse korral;
  • liidese mehaanilised omadused, välja tõmmatavad ühenduspistikud ja kontaktide samastumine;
  • iga elektriahela otstarve liidese ühenduses;
  • standardsed liidese elektriahelate alamhulgad teatud rakenduste jaoks;

Mida standard ei määratle:

Märkide formaati ja andmeedastuskiirust kontrollib jadavärati riistvara. Tavaliselt muundab integraallülitus UART andmed rööpkujust asünkroonsesse jadakujusse. Pingete tasemeid, signaalide muutmiskiirust ja käitumist lühise korral kontrollib liinidraiver, mis muundab UART-i loogika seisundist RS-232 signaaliks ja sama muundur teises otsas muundab RS-232 signaalist UART loogika seisundiks.

Ajalugu[muuda | redigeeri lähteteksti]

RS-232 standard ilmus esmakordselt 1962. aastal[2]. Algsed DTE-d olid teletaibid ja algsed DCE-d tavaliselt modemid. Uuemad arvutiterminalid olid ümbervahetatavad teletaipidega. RS-232-C variant oli välja töötatud 1969. aastal osaliselt selleks, et kohandada uute seadmete elektriliste omadustega.

Hiljem hakati kasutama RS-232 standardit nii personaalarvutite kui ka teiste seadmete tootmisel. RS-232 port oli laialdaselt käsutatav jadaliidesena 1990. aastate lõpuni. Tänapäeval on RS-232 port enamasti asendatud teiste liidestega nagu USB. RS-232 on tänaseni kasutusel vanemate välisseadmete, tööstusvarustuse (nagu PLC), konsooli portide ja teadusriistade ühendamiseks, sest tavaliselt on uue kaasaegse liidese välja töötamine liiga kulukas või mõttetu.

Standardit on mitu korda ümber nimetatud aga kõnekeeles on ikkagi RS-232 kasutusele jäänud. Mõned standardi nimetused: EIA RS-232, EIA-232 ja hiliseim TIA-232. Standardi omanik oli algselt Electronic Industries Association, 1988. aastal müüdi see Telecommunications Industry Association-le[3]. Versioon C ilmus 1969. aastal, versioon D 1986. aastal. Praegune versioon TIA-232-F võeti kasutusele 1997. aastal.

Standardi piirangud[muuda | redigeeri lähteteksti]

Kuna RS-232 standardi rakenduste valdkond on kõvasti suurenenud võrreldes esialgse eesmärgiga ühendada omavahel terminali ja modemi, töötati standardi järgmised versioonid välja nii, et ületada esialgsed piirangud. RS-232 standardi piirangud[4]:

  • kõrged pingete tasemed ja vajadus kasutada positiivset ja negatiivset allikat suurendavad voolutarbimist ja muudavad toiteallika ehitamise keeruliseks. Samamoodi piirab pingete taseme erinevus liidese suurimat kiirust;
  • Mõlema seadme jaoks tavaliselt kasutatakse sama maandust, seega kui seadmete vaheline kaugus on suur, tekib rohkem müra ja ühendus osutub ebakindlaks;
  • mitmete seadmete ühendus ühel liinil on määratlemata. Mõned lahendused on välja töötatud, kuid nendel on tagasiühilduvuse ja andmeedastamiskiiruse probleemid;
  • kätlus (handshaking) ja teised kontrollsignaalid on mõeldud sissehelistamise ühenduse alustamiseks ja lõpetamiseks. Kätlus ei toimi mõningate seadmete puhul hästi;
  • standardis ei ole täpsustatud välisseadmete vooluga varustamist. Väikeseid voolu koguseid on võimalik saada DTR ja RTS juhtmetest, kuid see sobib ainult madala voolutarbega seadmete, näiteks hiirte, puhul;
  • Standardi järgi soovituslik DB-25 pistik on väga suur võrreldes tänapäeval levinud pistikutega.

Kasutus kaasaegsetes arvutites[muuda | redigeeri lähteteksti]

PCI Express x1 kaart ühe RS-232 pordiga
Next.svg Pikemalt artiklis jadavärat

Raamatus PC 97 Hardware Design Guide[5], soovitas Microsoft mitte kasutada personaalarvuti disainis RS-232 standardiga tagasiühilduvat jadaväratit. Tänapäeval kasutatakse personaalarvutites RS-232 pordi asemel USB porti. USB on võrreldes RS-232 pordiga on kiirem, kasutab madalamaid pingete tasemeid ning ühenduspesad ja -pistikud on lihtsamad. Ent USB standard lubab maksimaalset kaabli pikkust kuni 5 meetrit, seega RS-232 port on eelistatav natuke pikemate ühenduste korral. Mõlemad standardid omavad tarkvara toetust levinumate operatsioonisüsteemide poolt. USB on kavandatud selleks, et lihtsustada draiverite ühendust riistvaraga. Aga USB-l puuduvad analoogsed rakendused terminaal programmidega, mis laseks kasutajatel riistvaraga otse suhelda. USB on keerulisem, kuna see sisaldab andmevahetuse protokolli riistvaraga, mis tähendab, et USB vajab rohkem tarkvara toetust nende protokollide kasutamiseks. RS-232 standardiseerib ainult pingete tasemeid ja kontaktide otstarvet ühenduses. Jadavärateid on mõnikord ka kasutatud mõnede seadmete, näiteks releede ja lampide, juhtimiseks, sest kontrollsignaalid on lihtsasti muudetavad tarkvara poolt. Selline lähenemine ei sobi USB jaoks, kuna USB standard vajab vastuvõtja olemasolu välisseadmel, et töödelda jadakujulisi andmeid.

Alternatiivina on olemas USB dokkimise pordid, mis võimaldavad ühendusi klaviatuuri, arvutihiire, ühe või mitme jadavärati pordi ja ühe või mitme rööpvärati pordi jaoks, kuid iga seadme jaoks on USB kaudu ühendamiseks vajalik eraldi draiver. Võib kasutada USB - RS-232 pordi konverterit, kuid selline RS-232 port ei ole alati tagasiühilduv RS-232 liidese seadmetega.

Personaalarvutid võivad kasutada RS-232 porti UPS-iga ühendumiseks. Mõnikord andmeedastusvõimalusi ei kasutata, vaid jälgitakse seadmete seisundit, näiteks voolu kadu või patarei tühjenemist.

Mõningates valdkondades vajatakse RS-232 liideseid endiselt, sest vanu ja väga kalleid seadmeid juhitakse läbi RS-232 porti. Tavaliselt on palju odavam ja lihtsam kasutada vanu seadmeid RS-232 pordiga, kui seadmed välja vahetada. Lisaks sellised seadmed nagu PLC, VFD, Arvprogrammjuhtimise seadmed on programmeeritatavad ainult läbi jadaväratit. Mõned tootjad ka reageerisid sellisele vajadusele: Toshiba väljastas uue Toshiba Tecra sülearvuti seeriat, mis sisaldab D-sub DE-9M pesa.

RS-232 liideseid on ka tihti kasutatud peata arvutisüsteemidega (näiteks serverid) suhtlemiseks. Sellistel süsteemidel ei ole klaviatuuri ega arvutihiirt ja seega algkäivitamisel, kui operatsioonisüsteem pole veel töötav ja veebiühendus pole veel võimalik, on ainuke võimalus - kasutada RS-232 porti. Jadaväratit kasutatakse ka manussüsteemidega (näiteks ruuteritega) ühenduseks.

Standardi detailid[muuda | redigeeri lähteteksti]

RS-232 standardis on edastatakse andmed ühe biti kaupa aegridana. Standard toetab nii asünkroonset kui ka sünkroonset andmete edastamist. Lisaks andmesiinidele standard määratleb ka mitu kontrollsignaali, milliseid on kasutatud ühenduse ülal pidamiseks DTE ja DCE vahel. Iga andmeliin või kontrollsignaalliin on ühesuunaline. Kuna andmeliinide ja kontrollsignaalliinide elektriahelad on kõik eraldi, siis liides töötab täisdupleksühendusena. Standard ei määratle märkide kadreerimist andmevoos ega märkide kodeerimist.

Pingete tasemed[muuda | redigeeri lähteteksti]

Ostsiloskoopi diagramm, mis näitab pingete tasemeid ASCII "K" tähe märgi (0x4b) saatmisel. Sisaldab: 1 start bitt, 8 andme biti, 1 stopp bitt.

RS-232 standard määratleb pingete tasemed, mis vastavad ühe ja nulli väärtustele andmeliini ja kontrollsignaalliini korral. Kehtivad signaalid on kas +3 kuni +15 või -3 kuni -15 volti. RS-232 standardi kohaselt on vahemikus ±3 V loogiline väärtus määramata. Standard täpsustab, et maksimaalse pinge elektriahelas on ±25 volti. Signaalide pingete tasemed võivad olla ±5 V, ±10 V, ±12 V ja ±15 V sõltuvalt seadmete toiteallikast. RS-232 draiverid ja vastuvõtjad peavad vastu pidama kui tahes kaua lühises maaga ja kuni ±25 V lühise korral. Signaali muutumiskiirus on ka kontrollitav.

Andmeliinide (TxD ja RxD) loogiline üks on defineeritud negatiivse pingega ja seda nimetatakse "marking". Loogiline null on defineeritud positiivse pingega ja sellise signaali seisundit nimetatakse "spacing". Kontrollsignaalid on aga võrreldes andmeliinidega inverteeritud, kuna signaal on aktiivne kui pinge on +3 V ja +15 V vahel ja juhtsignaal on vastavalt passiivne kui pinge on -3 V ja -15 V vahel. Kontrollsignaalid näiteks on saatmisnõue (RTS), valmis vastuvõtuks (CTS), andmelõpmik (DTE) valmis (DTR), andmeside seade (DCE) valmis (DSR).

Kuna RS-232 standardi pingete tasemed on kõrgemad, kui tavaliselt kasutatud integraallülitustel, siis tuleb kasutada vahepealseid draivereid, mis muundavad pinge loogilistele tasemetele. Vahepealsed draiverid ka kaitsevad seadmesiseseid elektriahelaid lühise eest, milline võib RS-232 liidesel tekkida, samuti tagavad piisava elektrivoolu, et täita pingete muutumiskiiruse tingimusi andmete edastamiseks.

Kuna mõlemad ühenduse otsad sõltuvad sellest, kas maanduse kontakti pinge on 0 V, tuleks vältida nende seadmete ühendamist, milliste maanduse kontaktide pinge pole null. See võib tekitada maanduse tsükli (ground loop), mis lisab signaalile müra ja võib isegi kahjustada seadmeid või kasutajaid. Selle vältimiseks tuleks lühemate ühenduste korral kasutada sama maandust. Kui seadmed on päris kaugel teine teisest, siis lokaalsed maandused mõlema liini otsal ei saagi olla sama pingega. Selline pingete vahe vähendab liidese mürakindlust. On aga olemas tasakaalustatud diferentsiaalsed järjestikühendused nagu USB, RS-422 ja RS-485, mis võivad taluda suuremat pingete vahet[6].

Kasutamata signaalid, mis ühendatakse maaga on määratlemata loogilise seisundiga. Et fikseerida mingi loogiline seisund tuleks ühendada kontakt toiteallikaga vastavalt oma loogilisele väärtusele. Mõned seadmed võimaldavad mõõta pinget, et õigesti valida kuidas kontakte ühendada.

Ühenduspesad[muuda | redigeeri lähteteksti]

Võimalikud RS-232 pistikud

RS-232 liidesega seadmed võib liigitada kas lõppseadmeteks (DTE) või andmeside seadmeteks (DCE). See määrab, milliseid kontakte kasutab käesolev seade andmete saatmiseks ja milliseid andmete vastuvõtmiseks. RS-232 standard soovitas kasutada DB-25 D-subminiature ühenduspesasid, kuid ei teinud neid kohustuslikuks. Standardiga kooskõlaliselt terminaalidel ja arvutitel on DTE kontaktide jaotus. Vastavalt Modemitel ja teisetel välisseadmetel on DCE kontaktide jaotus, kuid see pole reegel. Igasugused kombinatsioonid on võimalikud ja kontaktide jaotused võivad ka erinevad olla.

DB-25 D-subminiature ühenduspesa ei tähenda kindlalt tagasiühilduvust RS-232 standardi liidesega. Näiteks originaalse IBM PC'l oli DB-25 ühenduspesa, kuid seda kasutati rööpühendusena Centronics printeri ühendamiseks. Mõned personaalarvutid kasutavad mittestandardseid pingete tasemeid või kontrollsignaale.

Standard määratleb 20 erinevat kontrollsignaalliini, kuid enamik seadmeid ei kasuta neid kõike. Järelikult on võimalik kasutada väiksemaid ühenduspesasid.

Kontaktide jaotus (pinout)[muuda | redigeeri lähteteksti]

See tabel näitab üldkasutatavate DB-25 ühenduspesa kontaktide jaotust[7]. Et näha teisi kontaktide jaotusi, vaata jadaväratit.

Signaal Päritolu DB-25 kontakt
Nimetus Tüüpiline otstarve Lühend DTE DCE
DTE valmis Ütleb DCEle, et DTE on ühenduseks valmis DTR 20
DCE tajumine Ütleb DTEle, et DCE on telefonikaabli külge ühendatud DCD 8
DCE valmis Ütleb DTEle, et DCE on valmis andmeid vastu võtma DSR 6
Helisemise märguanne Ütleb DTEle, et DCEga ühenduses olevasse telefoniliini helistatakse RI 22
Saatmisnõue Käseb DCEl valmis olla andmete vastuvõtuks DTElt RTS 4
Valmis vastuvõtuks Kinnitab saatmisnõuet ja lubab DTEl saata CTS 5
Saadetud andmed Kannab andmeid DTElt DCEle TxD 2
Vastuvõetud andmed Kannab andmeid DCElt DTEle RxD 3
Maandus GND ühine 7
Kaitsev maandus PG ühine 1

Signaalid on nimetatud vaadates DTE vaatenurgast. DB-25 ühenduspesa sisaldab kaitse eesmärgil teist maanduse kontakti.

Andmed võib saata ka sekundaarset liini mööda (kui see on rakendatud DTE ja DCE seadmetega). Sellel juhul sekundaarne liinide hulk on samaväärne esmasega. Tabelis on kirjeldatud kontaktide jaotus sellisel juhul:

Signaal Kontakt
Ühine maandus 7 (sama mis esimeses tabelis)
Sekundaarne, saadetud andmed (STD) 14
Sekundaarne, vastuvõetud andmed (SRD) 16
Sekundaarne, saatmisnõue (SRTS) 19
Sekundaarne, valmis vastuvõtuks (SCTS) 13
Sekundaarne, DCE tajumine (SDCD) 12

Kaablid[muuda | redigeeri lähteteksti]

RS-232 kaabel

RS-232 standard ei määra kaabli maksimaalset pikkust, kuid see määrab maksimaalset mahtuvust, mida elektriahel peaks taluma. Reeglina kaabel, mis on pikem kui 15 meetrit, on suurema mahtuvusega, kui on lubatud, välja arvatud juhul kui on kasutatud erilist kaablit. Madala mahtuvusega kaableid kasutades on võimalik luua täiskiirusel ühendus umbes 300 meetri taha[8]. Kui on vaja paigutada seadmed veel kaugemale, parem on kasutada teisi standardeid.

Ühenduse seadistamine[muuda | redigeeri lähteteksti]

Läbi RS-232 liidese toimiva ühenduse saamiseks on vaja kokku leppida mitmed parameetrid: andmevoo kiirus, märkide kadreerimine, ühenduse protokoll, märkide kodeerimine ja viga märkamine. Kõik need parameetrid ei ole defineeritud standardis. Vaatame läbi originaalse IBM PC jadaväratite seadistust: seadistus kasutas 8250 UART kiipi; asünkroonne märkide kadreerimisega, kus oli 7 või 8 bitti ühes kaadris; tavaliselt ASCII märkide kodeerimine; andmevoo kiirus oli programmeeritatav vahemikus 75 kuni 115200 biti sekundis. Üle 20000 biti sekundis on standardi käsitlusalalt väline andmeedastuskiirus, kuid mõnedes seadmetes kasutatakse suuremat andmeedastuskiirust. Kuna enamik seadmetest ei sisalda andmeedastuskiiruse tuvastajat, peavad kasutajad käsitsi sisestama andmeedastuskiiruse ja teised parameetrid.

RTS/CTS kätlus[muuda | redigeeri lähteteksti]

Vanades RS-232 standardi versioonides kasutati RTS-i ja CTS-i asümmeetriliselt: kui DTE oli valmis andmeid edastama, aktiveeris ta RTS kontrollisgnaali. Kui DCE oli valmis aktiveeris ta CTS signaali. Ainult pärast mõlemat signaali oli võimalik andmeid saata. See võimaldas kasutada pooldupleks modemeid, mis lülitasid oma saatjad välja, kui need polnud vajalikud. Kui saatjat sisse lülitati, modem aktiveeris kontrollsignaali. Samal põhimõttel töötavad ka tänapäevased RS-232 -> RS-485 muundurid, millel RTS kontrollsignaal määrab, millal tuleks andmeside omale võtta ja edastada andmed, RS-485 standardi korral ei ole võimalust DTE-l anda märku DCE-le, et ta ei saa andmeid vastu võtta.

2, 3 ja 5 kontaktine RS-232 ühendus[muuda | redigeeri lähteteksti]

Minimaalne 3 liini sisaldav ühendus on võimalik RS-232 standardi põhjal. Selline konfiguratsioon sisaldab andmete saatmise, andmete vastuvõtmise ja maanduse kontakte. Tavaliselt seda kasutatakse siis, kui kontrollsignaalid pole üldse vajalikud. Selline konfiguratsioon on kasulik ka testimiseks.

Isegi 2 liini sisaldav ühendus on võimalik, kui on vajalik ainult ühesuunaline andmete edastamine. Näiteks GPS moodul, mis aeg-ajalt saadab välja infot asukoha kohta (juhul kui GPS moodul ei vaja välist seadistust), või postiasutuse kaalud, millised ka aeg-ajalt saadavad välja infot kaalu kohta.

Kui lisaks andmesiinidele on vajalik ainult riistvaraline kätlus, siis andmesiinidele sisestakse ainult kaks kontrollsignaali: RTS ja CTS - mis tähendab 5 liini sisaldavat ühendust.

Seotud standardid[muuda | redigeeri lähteteksti]

Teised jadasignaalide standardid võivad RS-232-ga tagasiühilduvad olla, kuid ei pruugi. Näiteks kasutades digitaalsignaale pingetasemetega 0 V ja +5 V, RS-232 standardi järgi signaal sattub määratlemata piirkonda. Selliseid tasemeid kasutab näiteks NMEA 0183ga tagasiühilduvad GPS moodulid.

Teised RS-232 sarnased standardid

  • RS-422 - Kõrgkiirussüsteem, sarnane RS-232'ga kuid kasutab diferentsiaalset signaliseerimist;
  • RS-423 - Kõrgkiirussüsteem, sarnane RS-422'ga kuid kasutab stabiliseerimata signaliseerimist;
  • RS-449 - Funktsionaalne ja mehaaniline liides, mis kasutab RS-422 ja RS-423 signaale. Tagasitõmmatud EIA poolt;
  • RS-485 - RS-422 järglane, mis on hulkpunkt-sideliinide standard. See tähendab, et ühe liiniga võib ühendada mitu seadet;
  • MIL-STD-188 - RS-232'ga sarnane süsteem, kui parem mahtuvuse ja pinge tõuse ajakontrolliga;
  • EIA-530 - Kõrgkiirussüsteem, mis kasutab RS-422 ja RS-423 elektrilisi omadusi ja RS-232 kontaktide jaotust, ühendades parimat mõlematest standardist (Asendas RS-449 standardi);
  • EIA/TIA-562 - madalpingeline versioon RS-232 standardist;
  • TIA-574 - standartiseeris D-sub DE-9 ühenduspesa kontaktide jaotust nii, kuidas see oli originaalses IBM PC/AT'is;
  • SpaceWire - Kõrgkiirusjadasüsteem kavandatud kosmoselaeva jaoks.

Viited[muuda | redigeeri lähteteksti]

  1. (1969) EIA standard RS-232-C: Interface between Data Terminal Equipment and Data Communication Equipment Employing Serial Binary Data Interchange. Washington: Electronic Industries Association. Engineering Dept. OCLC 38637094. 
  2. "RS232 Tutorial on Data Interface and cables". ARC Electronics (2010). Vaadatud 28 July 2011.
  3. "TIA Facts at a Glance". About TIA. Telecommunications Industry Association. Vaadatud 28 July 2011.
  4. Horowitz, Paul; and Winfield Hill (1989). The Art of Electronics, 2nd, Cambridge, England: Cambridge University Press, 723–726. ISBN 0-521-37095-7. 
  5. (1997) PC 97 Hardware Design Guide. Redmond, Wash: Microsoft Press. ISBN 1-57231-381-1. 
  6. Wilson, Michael R. (January 2000). "TIA/EIA-422-B Overview". Application Note 1031. National Semiconductor. Vaadatud 28 July 2011.
  7. Ögren, Joakim (18 September 2008). "Serial (PC 9)". Hardware Book. Vaadatud 28 July 2011.
  8. Lawrence, Tony (1992). "Serial Wiring". A.P. Lawrence. Vaadatud 28 July 2011.