Vad är RS232 seriellt kommunikationsprotokoll?
RS-232 är en standard som introducerades i början av 60-talet för seriell dataöverföring och som fortfarande används i stor utsträckning, främst eftersom den är mångsidig, enkel att använda och underhålla, tillgänglig och har brett stöd. Den definierar inte bara elektriska signalegenskaper, såsom signalöverföringshastighet, spänningsnivåer, kabellängd, timing och kortslutningsbeteende, utan även många andra saker, inklusive gränssnittets mekaniska egenskaper, kontakter och pinoutar.
Enligt RS-232-standarden överförs all data i en tidsserie av bitar. För PC är den vanligaste konfigurationen en asynkron länk som skickar 7-bitars- eller 8-bitars-paket. Denna standard stöder dock synkron överföring också.
Med alla sina förtjänster har RS-232 några allvarliga begränsningar när det gäller räckvidd och datagenomströmning, så dess huvudsakliga användningsområde är industriell utrustning, nätverk och laboratorieutrustning.
Huvudspecifikationer för RS-232
Driftsläge: single-ended
Max. kabellängd: 15,24 meter (50 ft)
Max. datagenomströmning: 20 kbps
Max. drivrutinens utgångsspänning: +/-25V
Max. stigtakt: 30V/uS
Max. drivrutinsström i High Z-läge: +/-6mA @ +/-2v (avstängd)
Drivrutinens lastimpedans: 3000-7000 Ohm
Drivrutinens utgångssignalnivå: +/-5V till +/-15V (belastad) eller +/-25V (obelastad)
Mottagarens ingångsresistans: 3000-7000 Ohm
Mottagarens ingångsspänningsområde: +/-15V
Mottagarens ingångskänslighet: +/-3V
Totalt antal drivrutiner och mottagare på en linje: 1 drivrutin och 1 mottagare
RS232 Standardbegränsningar
Vilka är de kända problemen med RS-232-serieporten? Att använda den standardiserade COM-porten medför en mängd begränsningar som du måste hantera. Här är de uppenbara begränsningarna med standarden:
- Ökad strömförbrukning på grund av stora spänningssvängningar är en stor komplikation för nätaggregatets design.
- Många enheter använder inte handskakningslinjerna för flödeskontroll, vilket gör RS-232 opålitligt.
- Även om problemet med multi-drop-anslutningar har åtgärdats med mer tillförlitliga alternativ, kompenserar det fortfarande inte för kompatibilitets- och hastighetsbegränsningarna hos RS232-porten.
- Behovet av en nullmodem- eller korskopplingskabel varje gång en periferienhet ansluts till en dator.
- RS-232 löser inte problemet som enkeländad signalering innebär.
RS-232-kontakter
En RS-232-enhet är antingen kretsavslutande utrustning (DCE) eller dataterminalutrustning (DTE) beroende på vilka ledningar som används för att skicka och ta emot varje signal.
I enlighet med RS-232-standarden är DCE avsett för honkontakter och DTE för hankontakter. Det finns dock enheter med alla möjliga kombinationer av kontaktdonets kön/stiftdefinitionskombinationer. Till exempel uppfyller en terminal som har inbyggda honkontakter och levereras med en kabel som har en hankontakt i vardera änden fullt ut RS-232-standarden.
Fram till revision C rekommenderar standarden att använda en D-subminiature 25-polig kontakt, även om den är obligatorisk först från och med revision D. Det beror på att den stora majoriteten av enheter egentligen inte behöver alla de 20 standardspecificerade signalerna, och RS-232 9-poliga anslutningar är mycket billigare och tar upp väldigt lite plats. Mer kompakt och billigare. Denna 9-poliga RS-232-kontakt används i stor utsträckning för persondatorer och liknande prylar.
DB25-kontakter
Det är värt att notera att inte varje 25-polig D-sub-kontakt har ett gränssnitt som uppfyller RS-232-C. Vissa PC-tillverkare väljer icke-standardiserade signaler och spänningar på vissa stift i sin PC COM-portens stiftkonfiguration. På den ursprungliga IBM PC användes till exempel den honliga D-sub-kontakten för den parallella Centronics-skrivarporten.
25-polig seriell stiftkonfiguration:
Stift 1: GND − Skärmjord.
Stift 2: TxD → Sända data. För data från dataterminalen till datamängden.
Stift 3: RxD ← Mottagna data. För data från datamängden till dataterminalen.
Stift 4: RTS → Begäran om sändning. Dataterminalen signalerar till datamängden att förbereda för dataöverföring.
Stift 5: CTS ← Klar att sända. Datamängden signalerar till dataterminalen att den är redo att ta emot data.
Stift 6: DSR ← Datamängd redo. DCE är redo att ta emot och skicka data.
Stift 7: GND − Systemjord. Nollvoltsreferens.
Stift 8: CD ← Bärardetektering. Datamängden signalerar till dataterminalen om den detekterade bärvågen från en annan enhet.
Stift 9: Reserverad
Stift 10: Reserverad
Stift 11: STF → Välj sändkanal.
Stift 12: S.CD ← Sekundär bärardetektering.
Stift 13: S.CTS ← Sekundär klar att sända.
Stift 14: S.TXD → Sekundära sända data.
Stift 15: TCK ← Tidsättning av transmissionssignalens element.
Stift 16: S.RXD ← Sekundära mottagna data.
Stift 17: RCK ← Tidsättning av mottagarsignalens element.
Stift 18: LL → Lokal loopkontroll.
Stift 19: S.RTS → Sekundär begäran om sändning
Stift 20: DTR → Da fjärrloopkontroll.
Stift 22: RI ← Ringindikator. Datamängden signalerar till dataterminalen om ett detekterat ringtillstånd.
Stift 23: DSR → Väljare för datasignalhastighet.
Stift 24: XCK → Tidsättning av sändsignalens element.
Stift 25: TI ← Testindikator.
Under asynkron kommunikation är både RTS och CTS aktiva hela sessionen igenom. Men om DTE är ansluten till en multipunktlinje sänds data av en station i taget (på grund av delning av återgående telefonpar), så den enda användningen av RTS är att slå på och av modemets bärvåg. En station höjer RTS när den är redo att sända. Modemet slår på sin bärvåg, väntar tills den är stabiliserad (normalt tar det ett par millisekunder) och höjer CTS. Medan CTS är aktiv sänder DTE. När överföringen är klar sänker stationen RTS och sedan sänker modemet både CTS och bärvågen.
Alla klocksignaler på seriekabelns stift 15, 17 och 24 i COM-portens stiftkonfiguration är endast för synkron kommunikation. Klockan extraheras ur dataströmmen av DSU eller modemet, eller så extraherar DSU den och skickar den till DTE för att tillhandahålla en stabil klocksignal. Det är viktigt att understryka att mottagna och sända klocksignaler inte behöver vara identiska och kan ha olika baudtal.
9-polig RS-232-stiftkonfiguration
Så här är en förenklad version av stiftkonfigurationen för den seriella anslutningen som används på persondatorer: RS-232 9-poliga stiftkonfigurationen.
Stift 1: DCD ← Detektering av databärare
Stift 2: RxD ← Mottagna data
Stift 3: TxD → Sända data
Stift 4: DTR → Dataterminal klar
Stift 5: 0V/COM − 0V eller systemjord
Stift 6: DSR ← Dataset klar
Stift 7: RTS → Begäran om sändning
Stift 8: CTS ← Klar att sända
Stift 9: RI ← Ringindikator
RS-232-signaler
Spänningsnivåer som representerar signalerna för RS232-seriportens pinout i förhållande till en gemensam systemreferens (matnings-/logikjord). Den aktiva signalnivån (SPACE) är positiv och vilosignalnivån (MARK) är negativ i förhållande till referensen. Ett kommunikationsprotokoll måste specificeras av RS-232. Dessutom har RS-232 flera handskakningslinjer att använda med modem (i de flesta fall).
RS-232-gränssnittet förutsätter att både DTE och DCE har liknande elektriska bussar med identiska jordar. Uppenbarligen kan detta antagande vara helt fel när det gäller de långa ledningarna mellan DTE och DCE.
Den maximala öppenkretsspänningen som anges av RS232-standarden är 25 V, men normalt är signalnivåerna 5 V, 10 V, 12 V och 15 V.
Enligt RS-232-standarden är all data bipolär. För de flesta utrustningar indikeras ett PÅ- eller 0-tillstånd (SPACE) av spänning från +3 V till +12 V och ett AV- eller 1-tillstånd (MARK) av spänning från -3 V till -12 V. Vissa enheter känner dock inte igen några negativa nivåer och 0 V räcker för AV-tillståndet. Och ibland kan mindre spänningar räcka för att uppnå PÅ-tillståndet. Därmed är det möjligt att avsevärt minska det totala spannet för RS-232-sändning/mottagning.
Normal spänning för utsignal är från +12 V till -12 V. Det finns också ett så kallat ”dött område” i intervallet +3 V till -3 V som är avsett för att absorbera linjebrus. I andra seriportspinouts som liknar RS-232 kan detta intervall vara annorlunda (t.ex. har V.10-definitionen ett dött område på +0,3 V till -0,3 V). Väldigt många RS-232-mottagare kan enkelt känna av differentialer på 1 V, eller till och med mindre.
RS-232-kablars specifikationer
Det finns inga kabelängdsgränser definierade direkt av RS-232-standarden, så den främsta avgörande faktorn är den maximala kapacitans som tolereras av en kompatibel drivkrets. Som en allmän regel kommer den kritiska längden att vara 15 m (eller cirka 300 m under förutsättning att endast lågkapacitanskablar användes). Ärligt talat är RS-232-standarden inte det bästa alternativet för höghastighetsöverföring av data över långa avstånd.
Med tanke på att inte alla enhetstillverkare följer standarden hela vägen igenom är det god praxis att läsa dokumentationen och att använda en breakout-box för att testa varje ny anslutning. I vissa fall kan endast metoden med försök och misstag hjälpa till att hitta rätt kabel för att ansluta varje par av enheter.
I enlighet med RS-232-standarden måste en DCE-enhet anslutas till en DTE via en kabel som har identiska pinnummer i varje kontakt (känd som ”rak kabel”). Eventuella könsmissmatchningar för kabel/kontakt kan enkelt åtgärdas med könsbyten. Vanliga är också kablar med en 25-polig D-sub-kontakt i ena änden och en RS-232 9-polig kontakt i den andra. Utrustning med 8P8C-kontakter levereras vanligtvis med en kabel som har en DB-9 eller en DB-25. Vissa har till och med utbytbara kontakter för extra flexibilitet.
Om det inte finns något behov av att utnyttja RS-232 till full kapacitet kan du använda en minimal 3-trådsanslutning: sänd, mottag och jord. För ett enkelriktat dataflöde finns ett 2-trådsalternativ: data och jord. Och för tvåvägs, hårdvarustyrd dataöverföring är det bästa alternativet en 5-trådsversion, som är densamma som 3-tråd men med RTS- och CTS-ledningarna tillagda.
RS-232 dataflödesdiagram
Enligt RS-232-standarden kan data överföras i många varianter. Den vanligaste är dock att skicka paket som innehåller ett 7–8-bitars ord samt start-, stopp- och paritetsbitar. Som du kan se i diagrammet nedan kommer först startbiten (aktiv låg, +3 V till +15 V), därefter databitarna, följt av paritetsbiten (om den krävs av protokollet) och slutligen stoppbiten (används för att återgå till logisk hög, -3 V till -15 V).
Förhållandet mellan RS232 och andra standarder
RS-232-kompatibla portar kanske inte nödvändigtvis fungerar med flera andra seriella signaleringsstandarder som RS-422, RS-423, RS-449, RS-422, 423, RS-485 och så vidare. För GPS-mottagare och ekolod som använder en TTL-nivå nära +5 och 0 volt flyttas marknivån till ett odefinierat område i standarden. Du behöver en strömomvandlare för att använda RS-232-standarden i en sådan miljö.
Hur de relaterar:
- RS-422 har en liknande hastighet som RS-232 men skiljer sig i signalering
- RS-423-hastigheten är densamma utan balanserad signalering
- Rs-449 avvecklad
MIL-STD-188 liknar RS-232, men har en mycket bra kontroll av stigtiden med bättre impedans. Funderar du på att göra dig av med din RS-232-enhet? Inte så snabbt! Som du kan se fortsätter detta seriella protokoll att trotsa alla påståenden om att det helt har ersatts av USB. Även om moderna kommunikationssystem kräver ett mer sofistikerat system som USB, kommer vi att fortsätta använda de seriella standardportarna.
Tredjepartsapplikationer har lyckats väl med att förbättra sättet vi arbetar med RS-232-serieporten. Ett exempel är RS232 till Ethernet Connector utvecklad av Electronic Team. Du kan hitta intressanta användningsscenarier i Användarguiden.
Moderna användningsområden för seriella portar
Seriella portar kanske inte är särskilt flashiga, men de är fortfarande en av de mest pålitliga och mest använda kommunikationsmetoderna inom elektronik och IT.
Oavsett om du arbetar med industriella system, inbyggda enheter eller nätverkshårdvara är det fortfarande en värdefull färdighet att förstå seriella portars pinouts.
Seriella portar har utvecklats bortom äldre PC-datorer.
1. USB-till-seriell kommunikation
Adaptrar gör det möjligt för moderna bärbara datorer att enkelt ansluta till seriella enheter.
2. Virtuella seriella portar
Virtual Serial Port Driver kan emulera COM-portar för testning och fjärrkommunikation.
- Användbar i IoT- och molnanslutna system
- Möjliggör portdelning över nätverk
3. Inbyggd utveckling
Seriell är fortfarande det primära felsökningsgränssnittet för:
- Mikrokontroller
- IoT-enheter
- Firmwareutveckling
4. Nätverksenhetskonfiguration
Många routrar och switchar för företag förlitar sig fortfarande på seriell konsolåtkomst.
Vanliga frågor
RS (rekommenderad standard) utvecklades av Electronic Industries Association redan på 60-talet för att underlätta kommunikationen mellan ett modem och datorterminaler.
De flesta industriella automations- och mätlaboratorier fortsätter att använda serieportteknik trots dess begränsningar. Återinförandet av DB-9M-kontakten på Tecra-persondatorn av Toshiba visar att dessa standarder är här för att stanna, åtminstone tills vidare. Trots sina skillnader stöder både USB- och RS-232-standarderna de flesta programvaror i de stora operativsystemen.