RS-232

RS-232 (ka RS-232-C, ka EIA-232, ka TIA-232, "Recommended Standard 232") ehk soovituslik standard 232 on normide kogum, mis defineerib binaarandmete ja kontrollbittide edastuse lõppseadmete (DTE) ja andmesideseadmete (DCE) vahel. RS-232 on üks jadaliideste standarditest, millega määratakse ühenduse elektrilised omadused, signaalide ajastused, signaalide tähendused, ühenduspesade füüsikalised suurused ja kontaktide jaotus. Standardi uusim versioon TIA-232-F võeti kasutusele 1997. aastal ja vaatamata teisele nimele kutsutakse seda argikeeles samuti 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 andmeedastuskiirus, suhteliselt kõrged pingetasemed ja liiga suured ühenduspesad. Standardi puudused motiveerisid välja töötama Universaalse jadasiini (USB) standardi, mis tänapäeval on liidesena asendanud RS-232 standardi enamikus välisseadmetest. Suurim osa tänapäevastest 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.
Electronic Industries Association (EIA) 1969. aasta RS-232-C standardis määratleti:
Standard ei määratle järgnevat:
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.
RS-232 standard ilmus esmakordselt 1962. aastal. Algsed DTE-d olid teletaibid ja algsed DCE-d tavaliselt modemid. Uuemad arvutiterminalid olid ümbervahetatavad teletaipidega. RS-232-C variant töötati 1969. aastal välja 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äljatöö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 Associationi"le. Versioon C ilmus 1969. aastal, versioon D 1986. aastal. Praegune versioon TIA-232-F võeti kasutusele 1997. aastal.
Standardi piirangud.
RS-232 standardi algne eesmärk oli ühendada omavahel terminal ja modem, samas on selle rakenduste valdkond ajas oluliselt kasvanud. Seepärast töötati järgmised versioonid välja nii, et kõrvaldada algsed piirangud. RS-232 standardi piirangud on:
Kasutus tänapäevastes arvutites.
Raamatus "PC 97 Hardware Design Guide", soovitas Microsoft mitte kasutada personaalarvuti disainis RS-232 standardiga tagasiühilduvat jadaväratit. Tänapäeval kasutatakse personaalarvutites RS-232 pordi asemel USB-porti, mis on võrreldes RS-232 pordiga kiirem, madalama pingetasemega ning lihtsama ühenduspesa ja -pistikuga. Kuna USB standard lubab maksimaalselt kuni 5 meetri pikkust kaablit, on RS-232 eelistatav pikemate ühenduste korral. Levinumad operatsioonisüsteemid toetavad mõlemat standardit. USB lihtsustab draiverite ühendust riistvaraga, kuid sel puuduvad analoogsed rakendused terminalprogrammidega, mis võimaldaks kasutajatel riistvaraga otse suhelda. Kuna USB sisaldab andmevahetusprotokolli riistvaraga, on see keerulisem ja vajab protokollide kasutamiseks rohkem tarkvara toetust. RS-232 standardiseerib ainult pingetasemeid ja kontaktide otstarvet ühenduses. Jadavärateid on mõnikord ka kasutatud mõnede seadmete, näiteks releede ja lampide, juhtimiseks, sest kontrollsignaalid on tarkvaraliselt lihtsasti muudetavad. Selline lähenemine ei sobi USB jaoks, kuna USB standard vajab jadakujuliste andmete töötlemiseks välisseadmel vastuvõtjat.
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 ühendumiseks UPS-iga. Mõnikord andmeedastusvõimalusi ei kasutata, vaid jälgitakse seadmete seisundit, näiteks voolu kadu või patarei tühjenemist.
Mõnes valdkonnas vajatakse endiselt RS-232 liideseid vanade seadmete juhtimiseks, kuna sageli on see seadmete väljavahetamisest tunduvalt odavam. Lisaks sellised seadmed nagu PLC, VFD, Arvprogrammjuhtimise seadmed on programmeeritatavad ainult läbi jadaväratit. Mõned tootjad ka reageerisid sellele vajadusele: Toshiba tõi turule uue Toshiba Tecra sülearvuti seeria, 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 on algkäivitamisel enne võrguühenduse loomist ainuke võimalus kasutada RS-232 porti.` Jadaväratit kasutatakse ka manussüsteemidega (näiteks ruuteritega) ühenduseks.
Standardi detailid.
RS-232 standardi kohaselt edastatakse andmeid aegreana ühe biti kaupa. Standard toetab nii asünkroonset kui ka sünkroonset andmeedastust. Lisaks andmesiinidele määratleb standard ka mitu kontrollsignaali, mida on kasutatud ühenduse ülevalhoidmiseks DTE ja DCE vahel. Iga andmeliin või kontrollsignaalliin on ühesuunaline. Kuna andmeliinide ja kontrollsignaalliinide elektriahelad on kõik eraldi, töötab liides täisdupleksühendusena. Standard ei määratle märkide kadreerimist andmevoos ega märkide kodeerimist.
Pingete tasemed.
RS-232 standard määratleb pingetasemed, mis vastavad ühe ja nulli väärtustele andmeliini ja kontrollsignaalliini korral. Kehtivad signaalid on kas +3 kuni +15 või −3 kuni −15 volti. Vahemikus ±3 V on loogiline väärtus määramata. Standard täpsustab, et maksimaalse pinge elektriahelas on ±25 volti. Signaalide pingetasemed võivad sõltuvalt seadmete toiteallikast olla ±5 V, ±10 V, ±12 V ja ±15 V. 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 väärtus 1 on defineeritud negatiivse pingega ja seda nimetatakse "marking". Loogiline 0 on defineeritud positiivse pingega ja sellise signaali seisundit nimetatakse "spacing". Kontrollsignaalid on 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 pingetasemed on tavaliselt kasutatud integraallülituste omadest kõrgemad, siis tuleb kasutada vahepealseid draivereid, mis muundavad pinge loogilistele tasemetele. Draiverid kaitsevad seadmesiseseid elektriahelaid ka võimaliku lühise eest, samuti tagavad piisava elektrivoolu andmeedastuse pingete muutumiskiiruse tingimuste täitmiseks.
Kuna mõlemad ühenduse otsad sõltuvad sellest, kas maanduse kontakti pinge on 0 V, tuleks vältida nende seadmete ühendamist, mille 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 teineteisest kaugel, siis lokaalsed maandused mõlema liini otsal ei saa olla sama pingega. Selline pingete vahe vähendab liidese mürakindlust. On aga olemas tasakaalustatud diferentsiaalsed jadaühendused nagu USB, RS-422 ja RS-485, mis võivad taluda suuremat pingete vahet.
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 kontaktide ühendamise õige viisi valimiseks mõõta pinget.
Ühenduspesad.
RS-232 liidesega seadmed võib liigitada kas lõppseadmeteks (DTE) või andmeside seadmeteks (DCE). See määrab kontaktid, mida seade kasutab andmete saatmiseks ja milliseid vastuvõtmiseks. RS-232 standard soovitab kasutada DB-25 D-subminiature ühenduspesasid, kuid ei tee neid kohustuslikuks. Standardiga kooskõlaliselt on terminalidel ja arvutitel DTE kontaktide jaotus. Vastavalt modemitel ja teisetel välisseadmetel on DCE kontaktide jaotus, kuid see pole reegel. Võimalikud on igasugused kombinatsioonid ja ka kontaktide jaotused võivad olla erinevad.
DB-25 D-subminiature ühenduspesa ei tähenda kindlalt tagasiühilduvust RS-232 standardi liidesega. Näiteks algsel IBM PC'l oli DB-25 ühenduspesa, kuid seda kasutati rööpühendusena Centronicsi printeri ühendamiseks. Mõned personaalarvutid kasutavad mittestandardseid pingetasemeid või kontrollsignaale.
Standard määratleb 20 kontrollsignaalliini, kuid enamik seadmeid neid kõiki ei kasuta, seega on võimalik kasutada väiksemaid ühenduspesasid.
Kontaktide jaotus (pinout).
See tabel näitab üldkasutatavate DB-25 ühenduspesa kontaktide jaotust. Et näha teisi kontaktide jaotusi, vaata jadaväratit.
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). Sel juhul sekundaarne liinide hulk on samaväärne esmasega. Tabelis on kirjeldatud kontaktide jaotus sel juhul:
Kaablid.
RS-232 standard ei määra kaabli maksimaalset pikkust, kuid määrab maksimaalse mahtuvuse, mida elektriahel peaks taluma. Reeglina on rohkem kui 15 meetri pikkune kaabel lubatust suurema mahtuvusega, välja arvatud juhul, kui on kasutatud erilist kaablit. Madala mahtuvusega kaableid kasutades on võimalik luua täiskiirusel ühendus umbes 300 meetri taha. Kui on vaja paigutada seadmed sellest kaugemale, on parem kasutada teisi standardeid.
Ühenduse seadistamine.
RS-232 liidese kaudu toimiva ühenduse saamiseks on vaja kokku leppida vajalikud parameetrid: andmevoo kiirus, märkide kadreerimine, ühenduse protokoll, märkide kodeerimine ja vigade märkamine. Kõik need parameetrid ei ole standardis defineeritud. Algne IBM PC jadaväratite seadistus kasutab 8250 UART kiipi, on asünkroonse märkide kadreerimisega, mille ühes kaadris on 7 või 8 bitti, tavaliselt ASCII märkide kodeerimisega ja andmevoo kiirusega programmeeritavas vahemikus 75 kuni 115 200 bitti sekundis. Üle 20 000 biti sekundis on standardi käsitlusalalt väline andmeedastuskiirus, kuid mõnedes seadmetes kasutatakse suuremat kiirust. Kuna enamik seadmetest ei sisalda andmeedastuskiiruse tuvastajat, peavad kasutajad käsitsi sisestama andmeedastuskiiruse ja teised parameetrid.
RTS/CTS kätlus.
Vanades RS-232 standardi versioonides kasutati RTS- ja CTS-kontrollsignaale asümmeetriliselt: DTE aktiveeris andmete saatmise valmisoleku märgiks RTS-i ja DCE aktiveeris CTS-i. Andmeedastus oli võimalik ainult pärast mõlemat signaali. See võimaldas kasutada pooldupleks modemeid, mis lülitasid oma saatjad välja, kui need polnud vajalikud. Saatja sisselülitamisel aktiveeris modem kontrollsignaali. Samal põhimõttel töötavad ka tänapäevased RS-232 -&gt; 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 see ei saa andmeid vastu võtta.
2-, 3- ja 5-kontaktine RS-232 ühendus.
Minimaalne ühendus on RS-232 standardi järgi võimalik kolme liini abil. Selline konfiguratsioon sisaldab andmete saatmise, andmete vastuvõtmise ja maanduse kontakte. Seda kasutatakse tavaliselt siis, kui kontrollsignaalid pole vajalikud. Selline konfiguratsioon on kasulik ka testimiseks.
On võimalik ka kahte liini sisaldav ühendus ühesuunaliseks andmete edastamiseks, näiteks asukoha andmeid väljastavas GPS-moodulis (kui moodul ei vaja välist seadistust) või postiasutuse kaaludes.
Kui lisaks andmesiinidele on vajalik ainult riistvaraline käitlus, siis andmesiinidele sisestatakse ainult kaks kontrollsignaali: RTS ja CTS – mis tähendab viite liini sisaldavat ühendust.
Seotud standardid.
Teised jadasignaalide standardid võivad, kuid ei pruugi olla RS-232-ga tagasiühilduvad. Näiteks pingetasemetega 0 V ja +5 V digitaalsignaalide kasutamisel asub signaal RS-232 standardi järgi määratlemata vahemikus. Selliseid tasemeid kasutavad näiteks NMEA 0183-ga tagasiühilduvad GPS-moodulid.
Teised RS-232 sarnased standardid: