UART:er säkerställer tillförlitlig industrikommunikation på långt avstånd via RS-232, RS-422 och RS-485-gränssnitt

Av Art Pini

Bidraget med av DigiKeys nordamerikanska redaktörer

Industriell avkänning och reglering innebär många utmaningar för en kommunikationsbuss. Till exempel är kabeldragningar på hundratusentals fot vanliga medan industrimiljön i sig innebär tuffa driftförhållanden. Industriell utrustning kan exponeras för ett stort urval av temperaturer och högt elektriskt buller i både krafttillförsel- och dataledningarna och felhändelser som elektromagnetiska störningar (EMI), elektrostatiska urladdningar (ESD) eller kortslutningar.

Lösningen på de här problemen är att använda ett robust seriegränssnitt baserat på en universell asynkron mottagare/sändare (UART), som även kallas asynkront kommunikationselement (ACE) av vissa leverantörer. UART:er är tillgängliga som fristående enheter, som Texas Instruments TL16C752D, eller kan finnas i en mikrostyrenhet som Microchip Technology PIC16F688T-I/SL.

Med lämpliga drivsteg kan en UART arbeta över långa sträckor: från 15 meter (m) för RS-232 seriedatabussen till 1000 m för RS-485- eller RS-422-gränssnittet. Alla tre av dessa protokoll ger kontroll över fjärrmaskiner och styrenheter i fabriksautomationstillämpningar och är utformade för att minimera effekterna av EMI och ESD i de mest krävande tillämpningar.

Den här artikeln ger bakgrund om dessa vanligt förekommande industriella kontrollgränssnittsprotokoll och hur de kan implementeras med UART:er och drivsteg.

RS-232

RS-232-seriekommunikationsstandarden kallas även EIA/TIA-232-F, som är en standard från Electronic Industries Association/Telecommunications Industries Association. Bokstaven F indikerar den senaste revisionen. Standarden är identisk med International Telecommunications Unions (ITU) standarder V.24 och V.28. Det här gränssnittet var ursprungsseriebussen på persondatorer. Det användes ursprungligen för att ansluta datorn – som kallades dataterminalutrustning (DTE) – till ett modem, som kallades datakommunikationsutrustning (DCE).

EIA/TIA-232-F definierar en fysisk nivåstandard, inklusive signalnivåer och timing, reglersignaler, anslutningsdon och anslutningskablar. Det definierar inte teckenkodning, inramning och andra aspekter av protokollnivån. En typisk asynkron seriebuss inkluderar en UART eller ACE, drivsteg, anslutningsdon och kablar (figur 1).

Diagram över Texas Instruments grundläggande RS-232-system

Figur 1: Ett grundläggande RS-232-system inkluderar dataterminalutrustning (DTE) som en dator och datakommunikationsutrustning (DCE) som ett modem. En UART/ACE sammankopplar det parallella datorbakplanet med serie-RS-232-gränssnittet. (Bildkälla: Texas Instruments)

UART/ACE omvandlar datorns interna parallellbuss till en seriedataström. Det tillhandahåller även ingående och utgående FIFO-minnesbuffring (first in first out), en gränssnittsklocka (normalt kallad baudhastighetsgenerator) samt timing- och handskakningssignaler. UART/ACE analoga ingången och utgången kan buffras med ett drivsteg. Utsignalen från DTE kallas sändarsignalen (TX), medan insignalen kallas mottagen signal (RX). Gränssnittskabeln begränsas till en maximal längd på 15 m. Längden på kabeln avgör den maximala datahastighet som kan användas tillförlitligt via gränssnittsbussen.

RS-232-gränssnittet förbinder två enheter med en a fullduplexanslutning, vilket innebär att varje signal kan sända och ta emot samtidigt. RS-232-seriedatapaketet består av en startbit, allt från 5 till 8 databitar, 1/1,5/2 stoppbitar och en paritetsbit (figur 2).

Diagram över RS-232 datapaket (klicka för att förstora)

Figur 2: Ett RS-232-datapaket består av en startbit, 5 till 8 databitar (8 visas), en paritetsbit (tillval) samt 1, 1,5 eller 2 stoppbitar. (Bildkälla: DigiKey)

Det minimala kabelkravet för RS-232 är tre ledningar: en för sändning, en för mottagning samt signaljord. Jord är returen för båda signalledarna.

Många av egenskaperna för RS-232 är kopplade till dess ursprungstillämpning inom telekommunikation. Det använder negativ logik med hög status, vilket kallas space och en låg status som kallas mark. Neutral- eller viloläge är hög så att sammankopplingen kan verifieras på avstånd. På sändarsidan är statusen 0, eller space, en spänning mellan +5 och +15 volt. Den logiska 1:an, eller mark, är en spänning mellan -5 och -15 volt. I mottagningsänden är en nivå från 3 till 15 volt en 0:a och -3 till -15 volt motsvarar en 1:a.

Överföringen kallas asynkron eftersom ingen klocksignal överförs. RS-232 är beroende av att båda sidor av bussen ställs in för en specifik klock- eller baudhastighet. Baudhastigheten är ett mått på antalet symboler som överförs per sekund. För RS-232 är det omkring klockhastigheten. Vanliga baudhastigheter är 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800 och 921600 baud.

Ju högre klockhastighet desto mer begränsad kabellängd. Vid 9600 baud, till exempel, kan hela den maximala kabellängden på 15 m användas. Vid högre baudhastigheter minskas den maximala kabellängden.

RS-232 reglersignaler

RS-232 har ett antal specificerade reglersignaler. De rapporterar status för DTE- och DCE-enheter och implementerar en maskinvarubaserad handskakning för att anpassa dataöverföringens hastighet (tabell 1).

Signalnamn Snabbfunktion Funktion
Dataterminal redo DTR Slås på av DTE när det är klart att sända data. Den här ledningen måste vara på innan DCE kan slå på DSR.
Datauppsättning redo DSR Slås på av DCE för att indikera att DCE är online.
Bärvågsdetektering DCD Slås på av DCE när den tar emot en bärvåg från en fjärr-DCE.
Ringindikator RI Slås på av DCE när en fjärrtelefonlinje ringer
Begäran om att skicka RTS Slås på av DTE när det är klart att skicka data.
Klart att skicka CTS Slås på av DCE som reaktion på ett mottaget RTS-kommando. Fortsätter vara på tills RTS stängs av och den sista databiten har tagits emot.
Mottagningsdatalinje RX Ta emot data.
Sändningsdatalinje TX Sända data.

Tabell 1: RS-232 kontroll- och handskakningssignaler. (Tabellkälla: DigiKey)

Maskinvaruhandskakningen implementeras med flödesregleringssignalerna begäran att skicka (RTS) och klart att skicka (CTS) för att säkerställa att båda enheterna är klara att överföra data och att data har tagits emot av mottagningsenheten. Maskinvaruhandskakningen implementeras med följande åtgärder:

  1. Dataterminalutrustningen drar ner RTS-ledningen till status 1 eller Mark
  2. Datakommunikationsutrustningen drar CTS-ledningen till status 1 eller Mark
  3. Dataterminalutrustningen drar DTR-ledningen (Data Terminal Ready) till status 1 eller Mark när dataöverföringen pågår
  4. I slutet av överföringen återställer dataterminalutrustningen DTR- och RTS-ledningarna till status 0 eller Space
  5. Datakommunikationsutrustningen återställer CTS-ledningen till status 0 eller Space

RS-232 kan också använda en programvarubaserad handskakning för att styra dataflödet där XON (ASCII DC1, hex 11) och XOFF (ASCII DC3, hex 13) tecken, som skickas i dataströmmen, utför en liknande synkronisering av överförda data.

UART funktionsblockdiagram

Texas Instruments TL16C752D är en dubbel UART med 64-bytes mottagnings- och sändnings-FIFO:er med kapacitet upp till 3 megabit per sekund (Mbit/s) (figur 3).

Funktionsblockschema över 3 Mbit/s Texas Instruments TL16C752D dubbel UART

Figur 3: Funktionsblockschema över 3 Mbit/s Texas Instruments TL16C752D dubbel UART visar 64-byte FIFO:er och gränssnittsledningar. (Bildkälla: Texas Instruments)

Varje del av UART har sin egen programvarukontrollerade baudhastighetsgenerator. Databussgränssnittet utför omvandlingen av parallell- till seriedata och matar båda delarna i den dubbla UART. Varje avsnitt har oberoende kontrolledningar. TL16C752D drivs med matningsspänningar från 1,8 till 5,5 volt i ett temperaturområde från -40 °C till 85 °C.

Mikrostyrenhetsbaserade UART:er

Många mikrostyrenheter, som Microchip Technologys PIC16F688T-I/SL, inkluderar seriedatagränssnitt för kommunikation med monitorer, externa analog-till-digitalomvandlare (ADC:er) och digital-till-analogomvandlare (DAC:er), eller andra mikrostyrenheter (figur 4).

Schema över Microchip Technology PIC16F688T-I/SL CMOS-mikrostyrenhet

Figur 4: Microchip Technologys PIC16F688T-I/SL CMOS-mikrostyrenhet inkluderar ett seriegränssnitt med en förbättrad universell synkron/asynkron mottagare/sändare (EUSART). (Bildkälla: Microchip Technology)

EUSART, som ibland kallas seriekommunikationsgränssnitt (SCI), kan konfigureras som antingen hel duplex asynkron eller halv duplex synkron seriedatalänk. EUSART i PIC16F688T-I/SL innehåller alla skiftregister, klockgeneratorer och databuffertar som krävs för att utföra en ingående eller utgående seriedataöverföring oberoende av körning av mikrostyrenhetsprogram. Den har en mottagningsbuffert på två tecken och en sändningsbuffert på ett tecken. Det asynkrona gränssnittet med full duplex är användbart för att kommunicera med extern kringutrustning som en display, som är den huvudsakliga tillämpningen för det här gränssnittet i mikrostyrenheten.

Linjedrivenheter

Linjedrivenheter förstärker användningen av UART:er genom att buffra sändnings- och mottagningssignaler. De är användbara eftersom de används i hela RS-232 spänningsnivåspecifikationen. Ett exempel på en sådan enhet är Texas Instruments MAX232DR dubbla RS-232/TIA/EIA-232-F-transceiver (figur 5).

Schema över Texas Instruments MAX232DR dubbla drivkrets/mottagare för att buffra en TL16C752D dubbel UART

Figur 5: Tillämpa MAX232DR dubbel drivkrets/mottagare för att buffra en TL16C752D dubbel UART. MAX232DR kan tolerera ingångsspänningarna upp till ±30 volt, medan utgångarna skyddas mot kortslutning till jord. (Bildkälla: Texas Instruments)

MAX232DR linjedrivenhet/mottagare har fördelar i industritillämpningar där högre spänningar krävs. Den kan hålla ingångsspänningar upp till ±30 volt. Enheten inkluderar en kapacitiv spänningsgenerator som använder fyra externa kondensatorer för att tillföra RS-232-spänningsnivåer på -5 till -7 volt och +5 till +7 volt i utgångarna från en enskild 5-voltsförsörjning.

Differentialsignalering

RS-232 använder enledaranslutningar för sändnings- och mottagningsledningen. Med sådana enpoliga anslutningar mäts signalspänningarna från ledning till jord. I industrimiljön förekommer mycket brus som fångas upp av RS-232-signalledningarna, som begränsar längden på bussledningarna. Ett klassiskt sätt att ta sig förbi den här begränsningen är att använda differentialsignalering.

En differentialbuss består av två ledningar för varje signal, där signalerna mäts genom att uppmäta spänningsskillnaden mellan de två ledarna. Eftersom brus och överhörning är vanligt i båda signalledningarna subtraherar differensmätningen dessa nästan identiska signaler och minskar deras amplitud betydligt. Dessutom är differentialkablar skärmade för att ytterligare minska upptagning av brus och störningar.

Det finns två gemensamma databusstandarder som använder differentialsignalledningar: RS-422 (TIA/EIA-422) och RS-485 (TIA/EIA-485), där den senare är den industriseriebuss som är vanligast. Dessa standarder använder partvinnade sändningsledningar där anslutna enheter kan vara upp till 1200 m (4000 fot) isär. Båda standarderna har maximala datahastigheter upp till 10 Mbit/s. En jämförelse av alla tre seriebussar visas (tabell 2).

Standard RS-232 RS-422 RS-485
Ledningskonfiguration Enpolig Differentiell Differentiell
Typ av överföring Full duplex Full duplex Halv duplex (2 ledare)
Full duplex (4 ledare)
Använda signaler TX, RX, RTS, CTS, DTR, DSR, DCD, jord TXA, TXB, RXA, RXB, jord Data A, Data B, jord
Busstopologi Punkt-till-punkt Punkt-till-punkt Flerpunkt
Maximalt antal anslutna enheter 1 10 (i mottagningsläge) 32
Maximal Längd 15 meter vid 9600 bit/s 1,2 km vid 100 kbit/s 1,2 km vid 100 kbit/s
Maximal datahastighet 1 Mbit/s 10 Mbit/s 10 Mbit/s
Mottagarkänslighet ±3 volt ±200 millivolt ±200 millivolt

Tabell 2: En jämförelse av egenskaperna hos standarderna RS-232, RS-422 och RS-485. (Tabellkälla: DigiKey)

RS-422 och RS-485 skiljer sig genom att RS-485 kan arbeta med upp till 32 sändtagare (fler kan läggas till med bussförlängare) medan RS-422 begränsas till endast 10 mottagare på bussen. RS-485 i full duplex-läge kräver fyra ledare jämfört med två i halv duplex och RS-422 (figur 6).

Schema över topologier med full duplex (vänster) och halv duplex i ett RS-485-gränssnitt

Figur 6: Topologier med full duplex (vänster) och halv duplex i ett RS-485-gränssnitt. Datorn eller huvudenheten markeras i rött och övriga enheter i blått. (Bildkälla: Texas Instruments)

Differentialbusskablarna har två ledare för varje sändnings- eller mottagningssignalledning enligt figuren. Full duplex-användning kräver fyra ledare medan halv duplex endast kräver två. På grund av den höga hastigheten hos både RS-422 och RS-485 måste sändningsledningarna avslutas i båda ändar. Vid partvinning är anslutningsresistorerna RT på 120 ohm (Ω). Som man kan gissa på grund av den dubbla UART-konfigurationen hos TL16C752D-gränssnittskortet har det ett RS-485-läge. Därför använder UART:er och relaterade linjedrivenheter den dubbla konfigurationen.

Spänningsnivåerna på sändarsidan för RS-422 är ±6 volt och för RS-485 är de -7 till +12 volt. Vid mottagaren är känsligheten ±200 millivolt (mV) för båda standarderna.

Slutsatser

De tre seriegränssnitten RS-232, RS-422 och RS-485 erbjuder ett antal val för robust seriekommunikation på både kort och långt avstånd. UART:er utgör grunden för alla tre standarderna och gör det enkelt att lägga till seriekommunikation till konstruktioner, särskilt för utmanande industrimiljöer.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Om skribenten

Image of Art Pini

Art Pini

Arthur (Art) Pini arbetar som skribent på DigiKey. Han har en kandidatexamen i elteknik på City College i New York och en master i elteknik från City University i New York. Arthur har mer än 50 års erfarenhet inom elektronik och har innehaft nyckelroller inom konstruktion och marknadsföring på Teledyne LeCroy, Summation, Wavetek och Nicolet Scientific. Han är intresserad av mätteknik och har lång erfarenhet av oscilloskop, spektrumanalysatorer, arbiträra vågformsgeneratorer, digitaliserare och effektmätare.

Om utgivaren

DigiKeys nordamerikanska redaktörer