UART's garanderen betrouwbare lange-afstandcommunicatie voor industriële toepassingen via RS-232-, RS-422- en RS-485-interfaces
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2019-05-22
Industriële detectie en besturing stellen een communicatiebus voor vele uitdagingen. Bekabelingen met lengtes van tientallen en zelfs honderden meters zijn bijvoorbeeld aan de orde van de dag en vaak zijn de bedrijfsomstandigheden in de industrie zwaar. Industriële apparatuur kan blootstaan aan sterk uiteenlopende temperaturen, veel elektrische ruis op zowel de voedings- als de datalijnen en storingsfactoren zoals elektromagnetische interferentie (EMI), elektrostatische ontlading (ESD) of kortsluiting.
De oplossing voor deze problemen is gebruik te maken van een stabiele seriële interface, gebaseerd op een universele asynchrone ontvanger/zender (UART), door sommige leveranciers ook wel asynchroon communicatie-element (ACE) genoemd. UART's zijn beschikbaar als standalone apparaten, zoals bijvoorbeeld de TL16C752D van Texas Instruments, of kunnen in een microcontroller zitten, zoals de PIC16F688T-I/SL van Microchip Technology.
Met de juiste lijndrivers kan een UART over lange afstanden werken: van 15 meter (m) voor de RS-232 seriële databus tot 1000 m voor RS-485- of RS-422-interfaces. Alle drie deze protocollen zijn bestemd voor de besturing van op afstand bediende machines en controllers in fabriekautomatiseringstoepassingen en zijn ontworpen om de effecten van EMI en ESD bij de zwaarste omgevingsomstandigheden te minimaliseren.
Dit artikel geeft achtergrondinformatie over deze veelgebruikte industriële besturingsinterfaceprotocollen en laat zien hoe ze kunnen worden geïmplementeerd met behulp van UART's en lijndrivers.
RS-232
De RS-232-standaard voor seriële communicatie is vandaag de dag ook bekend als EIA/TIA-232-F, een standaard van de Electronic Industries Association/Telecommunications Industries Association. De letter F wijst op de meest recente revisie. De standaard is identiek aan de standaards V.24 en V.28 van de International Telecommunications Union (ITU). Deze interface was de originele seriële bus op personal computers. Oorspronkelijk werd hij gebruikt om de computer—aangeduid als data terminal equipment (DTE)—te verbinden met een modem, aangeduid als data communications equipment (DCE).
EIA/TIA-232-F definieert een standaard voor fysieke lagen, inclusief signaalniveaus en timing, stuursignalen, connectors en connectorbedrading. Tekencodering, framing en andere aspecten van het protocolniveau worden daarentegen niet gedefinieerd. Een typisch asynchrone seriële bus bevat een UART of ACE, lijndrivers, connectors en kabels (Afbeelding 1).

Afbeelding 1: een RS-232 basissysteem omvat data terminal equipment (DTE), bijvoorbeeld een computer, en data communications equipment (DCE), bijvoorbeeld een modem. Een UART/ACE dient als interface tussen de parallelle computer-achterzijde (backplane) en de seriële RS-232-interface. (Bron afbeelding: Texas Instruments)
De UART/ACE zet de interne parallelle bus van de computer om in een seriële gegevensstroom. Daarnaast levert hij geheugenbuffering volgens het first in first out (FIFO) principe voor ingangen en uitgangen, een interfaceklok (gewoonlijk aangeduid als baudrate-generator) en interface-timing- en handshaking-signalen. De UART/ACE analoge ingang en uitgang kunnen worden gebufferd door een lijndriver. De uitgang van de DTE wordt aangeduid als zendersignaal (TX) de ingang daarentegen als het ontvangen signaal (RX). De maximumlengte van de interfacekabel is beperkt tot 15 m. De lengte van de kabel bepaalt de maximale datasnelheid die zonder problemen op de interfacebus kan worden gebruikt.
De RS-232-interface verbindt twee apparaten met een full-duplex verbinding, wat betekent dat elk apparaat tegelijkertijd kan zenden en ontvangen. Het RS-232 seriële datapakket bestaat uit een startbit, ergens tussen de 5 en 8 databits, 1/1.5/2 stopbits en een pariteitsbit (Afbeelding 2).
Afbeelding 2: een RS-232 datapakket bestaat uit een startbit, 5 tot 8 databits (8 getoond), een pariteitsbit (optioneel) en 1, 1,5 of 2 stopbits. (Bron afbeelding: DigiKey)
De minimale kabelvereiste voor RS-232 is voor drie draden: een om te zenden, een om te ontvangen en de signaalmassa. De massa is de retour voor beide signaalgeleiders.
Veel van de kenmerken van RS-232 hangen samen met de originele toepassing ervan in de telecommunicatie. Hij gebruikt negatieve logica met een hoge status, aangegeven als een ruimte, en een lage status die een markering wordt genoemd. De neutrale status of ruststatus is hoog, zodat de onderlinge verbinding op afstand kan worden gecontroleerd. Aan de zenderzijde is een 0-status, of 'space', een spanning tussen +5 en +15 volt. De logische 1, of markeerstatus ('mark'), is een spanning tussen -5 en -15 volt. Aan ontvangstzijde is een niveau van 3 tot 15 volt een 0 en staat -3 tot -15 volt voor een 1.
De overdracht wordt asynchroon genoemd omdat er geen kloksignaal wordt overgedragen. RS-232 is afhankelijk van het feit of beide zijden van de bus zijn ingesteld voor een specifieke kloksnelheid of baudrate. Baudrate is een maat voor het aantal symbolen dat per seconde wordt overgedragen; voor RS-232 is dit ongeveer gelijk aan de kloksnelheid. Veel voorkomende baudrates zijn 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800 en 921600 baud.
Hoe hoger de kloksnelheid, des te beperkter de kabellengte. Bij 9600 baud kan bijvoorbeeld de volle kabellengte van 15 m worden gebruikt. Bij hogere baudrates zal de maximale kabellengte afnemen.
RS-232 stuursignalen
RS-232 heeft een aantal gespecificeerde stuursignalen. Deze rapporteren de status van de DTE- en DCE-apparaten en implementeren daarnaast een op hardware gebaseerde handshake om de gegevensoverdracht te bevorderen (Tabel 1).
|
Tabel 1: de RS-232 stuur- en handshake-signalen. (Bron tabel: DigiKey)
De hardware-handshake is geïmplementeerd met behulp van de Request to Send (RTS) en Clear to Send (CTS) stroomstuursignalen om te verzekeren dat beide apparaten klaar zijn om gegevens over te dragen en dat de gegevens door het ontvangende apparaat zijn ontvangen. Hardware-handshaking wordt als volgt geïmplementeerd:
- De dataterminal-apparatuur zet de RTS-lijn op de “1” of “Mark” status
- De datacommunicatie-apparaat zet de CTS-lijn op de “1” of “Mark” status
- De dataterminal-apparatuur zet de lijn Data Terminal Ready (DTR) voor de duur van de gegevensoverdracht op de “1” of “Mark” status.
- Na afloop van de overdracht zet de dataterminal-apparatuur de DTR- en RTS-lijnen weer op de “0” of “Space” status
- De datacommunicatie-apparatuur zet de CTS-lijn weer op de “0” of “Ruimte” status
RS-232 kan ook een software-handshake gebruiken om de gegevensstroom te sturen, waarbij de XON (ASCII DC1, hex 11) en XOFF (ASCII DC3, hex 13) tekens, meegezonden in de gegevensstroom, een soortgelijke synchronisatie van overgedragen gegevens uitvoeren.
Functioneel blokschema UART
De TL16C752D van Texas Instruments is een dubbele UART met 64-byte ontvangst- en zend-FIFO's die in staat is tot datasnelheden van maximaal 3 megabit per seconde (Mbit/s) (Afbeelding 3).

Afbeelding 3: het functionele blokschema van de 3 Mbit/s TL16C752D dubbele UART van Texas Instruments toont de 64-byte FIFO's en interfacelijnen. (Bron afbeelding: Texas Instruments)
Elke sectie van de UART heeft zijn eigen via software bestuurde baudrate-generator. De databus-interface voert de parallel/serieel-dataconversie uit en voedt beide secties van de dubbele UART. Elke sectie heeft onafhankelijke stuurlijnen. De TL16C752D werkt op voedingsspanningen van 1,8 volt tot 5,5 volt over een temperatuurbereik van -40°C tot 85°C.
Op microcontroller gebaseerde UART's
Veel microcontrollers, zoals de PIC16F688T-I/SL van Microchip Technology, bevatten seriële data-interfaces om met monitors, externe analoog-digitaalomzetters (ADC's) en digitaal-analoogomzetters (DAC's) of andere microcontrollers te communiceren (Afbeelding 4).

Afbeelding 4: de PIC16F688T-I/SL CMOS microcontroller van Microchip Technology bevat een seriële interface die gebruik maakt van een geavanceerde universele synchrone/asynchrone ontvanger/zender (EUSART). (Bron afbeelding: Microchip Technology)
De EUSART, soms ook wel seriële communicatie-interface (SCI) genoemd, kan ofwel als een full-duplex asynchrone ofwel als een half-duplex synchrone seriële datalink worden geconfigureerd. De EUSART in de PIC16F688T-I/SL bevat alle shift-registers, klokgenerators en gegevensbuffers die nodig zijn om een ingaande of uitgaande seriële gegevensoverdracht uit te voeren, onafhankelijk van de uitvoering van het microcontrollerprogramma. Hij heeft een ontvangstbuffer met twee tekens en een verzendbuffer met één teken. De full-duplex asynchrone interface is handig voor communicatie met externe randapparatuur zoals een displaymonitor, de primaire toepassing voor deze interface in de microcontroller.
Lijndrivers
Lijndrivers verhogen de werking van UART's door de zend- en ontvangstsignalen te bufferen. Ze zijn nuttig omdat ze over de gehele RS-232 spanningsniveauspecificatie werken. Een voorbeeld van een dergelijke apparaat is de dubbele RS-232/TIA/EIA-232-F zender MAX232DR van Texas Instruments (Afbeelding 5).

Afbeelding 5: het toepassen van de dubbele driver/ontvanger MAX232DR om een dubbele UART TL16C752D te bufferen. De MAX232DR kan ingangsspanningen tot ±30 volt accepteren en de uitgangen zijn beschermd tegen kortsluiting naar de massa. (Bron afbeelding: Texas Instruments)
De lijndriver/ontvanger MAX232DR biedt voordelen in industriële toepassingen waar hogere spanningen zijn vereist. Hij kan ingangsspanningen tot ±30 volt verdragen. Het apparaat bevat een capacitieve spanningsgenerator die vier externe condensators gebruikt om RS-232 spanningsniveaus van -5 tot -7 volt en +5 tot +7 volt te leveren op de uitgangen van een enkele 5 volt voeding.
Differentiële signalen
RS-232 gebruikt single-ended aansluitingen voor de zend- en ontvangstlijn. Met dergelijke single-ended aansluitingen worden signaalspanningen van de lijn naar de aarde gemeten. In industriële omgevingen is heel veel ruis die wordt opgepikt door de RS-232 signaallijnen, waardoor de lengte van de bus-runs beperkt wordt. Een klassieke manier om deze beperking te omzeilen is het gebruik van differentiële signalering.
Een differentiële bus bestaat uit twee draden voor elk signaal, waarbij signalen worden gemeten door het spanningsverschil tussen de twee draden te nemen. Aangezien ruis en crosstalk meestal op beide signaallijnen voorkomen, trekt de verschilmeting deze bijna identieke signalen af, waardoor hun amplitude aanzienlijk wordt verminderd. Bovendien zijn differentiële kabels afgeschermd om het oppikken van ruis en interferentie nog verder te beperken.
Er zijn twee veelgebruikte databusstandaards die differentiële signaallijnen gebruiken: RS-422 (TIA/EIA-422) en RS-485 (TIA/EIA-485), waarbij de laatste de meest voorkomende industriële seriële bus is. Deze standaards gebruiken twisted-pair transmissielijnen met een maximale afstand tussen de aangesloten apparaten van 1200 m. Beide standaards hebben datasnelheden van maximaal 10 Mbit/s. Er wordt een vergelijking van alle drie de seriële bussen getoond (Tabel 2).
|
Tabel 2: een vergelijking van de kenmerken van RS-232, RS-422 en RS-485 standaards. (Bron tabel: DigiKey)
Het verschil tussen RS-422 en RS-485 is dat RS-485 met maximaal 32 transceivers kan werken (er kunnen meer transceivers worden toegevoegd met behulp van bus-extenders) terwijl RS-422 beperkt is tot slechts 10 ontvangers op de bus. RS-485 vereist in full-duplex-modus vier draden vergeleken met de twee draden voor werking in half-duplex en RS-422 (Afbeelding 6).

Afbeelding 6: de full-duplex (links) en half-duplex topologieën van een RS-485-interface. De computer of master-apparaat is rood weergegeven; andere apparaten blauw. (Bron afbeelding: Texas Instruments)
De differentiële busbedrading gebruikt twee geleiders voor elke zend- of ontvangstsisgnaallijn, zoals op de afbeelding is getoond. Voor full-duplex werking zijn vier draden nodig, voor half-duplex slechts twee. Vanwege de hogere snelheid van zowel RS-422 als RS-485, moeten de transmissielijnen aan elk uiteinde worden afgesloten. Voor twisted-pair zijn de afsluitweerstanden RT 120 ohm (Ω). Zoals de dubbele UART-configuratie van de TL16C752D interface-IC doet vermoeden, heeft deze een RS-485-modus. Dit is de reden waarom vele UART's en bijbehorende lijndrivers de dubbele configuratie gebruiken.
Aan de kant van de zender zijn de spanningsniveaus voor RS-422 ±6 volt en voor RS-485 -7 tot +12 volt. Op de ontvanger bedraagt de gevoeligheid ±200 millivolt (mV) voor beide standaards.
Conclusie
De drie seriële interfaces RS-232, RS-422 en RS-485 bieden verschillende keuzemogelijkheden voor stabiele seriële communicatie over zowel korte als lange afstanden. UART's vormen de basis voor alle drie de standaards en maken het gemakkelijk om seriële communicatie toe te voegen aan ontwerpen, met name voor ontwerpen die bestemd zijn voor zware industriële omgevingen.
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.





