RS485 seriële informatie
- Inleiding in RS485
- Differentiële signalen met RS485
- Elektrische eigenschappen van RS485
- Netwerk topologie van RS485
- RS485 functionaliteit
Inleiding in RS485
RS232, RS422, RS423 en RS485 zijn seriële communicatie methoden voor computers en apparaten. RS232 is zonder twijfel de bekendste interface, omdat deze seriële interface vandaag de dag op bijna alle beschikbare computers aanwezig is. Maar sommige van de andere interfaces zijn ook interessant omdat ze kunnen worden gebruikt in situaties waar RS232 niet eenvoudig toepasbaar is. We zullen ons hier op de RS485 interface concentreren.
RS232 is een interface om één DTE, data terminal equipment met één DCE, data communication equipment te verbinden met een maximale snelheid van 20 kbps en een maximale kabellengte van 15 meter. Dit was voldoende in vroeger tijden, toen bijna alle computerapparatuur via modems was verbonden, maar snel daarna begonnen mensen te zoeken naar interfaces met één of meer van de volgende eigenschappen:
- Direct verbinden van DTE’s onderling zonder gebruik van modems
- Verbinden van meerdere DTE’s in een netwerkstructuur
- Geschiktheid om te communiceren over grotere afstanden
- Geschiktheid om te communiceren op hogere snelheden
RS485 is de meest veelzijdige communicatiestandaard in de series standaarden zoals de gedefinieerd zijn door de EIA, omdat het op alle vier punten goed presteert. Dat is waarom RS485 tegenwoordig een veel gebruikte interface is in data acquisitie en regelsystemen waar meerdere systemen met elkaar communiceren.
Differentiële signalen met RS485:
Langere afstanden en hogere snelheden
Eén van de grote problemen van RS232 is het gebrek aan immuniteit voor storing op de signaalleidingen. De zender en ontvanger vergelijken de spanningen van de data- en handshake lijnen met één gezamenlijke nullijn. Verschuivingen in het nulniveau kunnen desastreuse effecten hebben. Daarom is het triggerniveau van de RS232 interface ingesteld op een relatief hoge spanning van ±3 Volt. Storing kan eenvoudig opgepikt worden en begrenst daarmee zowel de maximale afstand, als de communicatiesnelheid. Bij RS485 daarentegen is er niet zoiets als een gezamenlijke nul als signaalreferentie. Een aantal Volts verschil in het nulniveau van de RS485 zender en de ontvanger veroorzaakt geen problemen. De RS485 signalen zweven en elk signaal wordt verzonden over een Sig+ lijn en een Sig- lijn. De RS485 ontvanger vergelijkt het spanningsverschil tussen beide lijnen, in plaats van de absolute spanning op één signaallijn. Dit werkt zeer goed en voorkomt het bestaan van aardlussen, een belangrijke bron van communicatieproblemen. Het beste resultaat wordt behaald als de Sig+ en Sig- lijnen getwist zijn. De afbeelding hieronder toont waarom.
In de afbeelding hierboven wordt storing gegenereerd door magnetische velden vanuit de omgeving. De afbeelding toont de magnetische veldlijnen en de storingsstroom in de RS485 datalijnen die het resultaat is van dat magnetische veld. In de rechte kabel gaat alle stroom in dezelfde richting, waardoor hier een rondgaande stroom wordt gegenereerd, net zoals in een normale transformator. Bij de getwiste kabel zien we dat in sommige delen van de signaalleidingen de richting van de stoorstroom tegengesteld is aan de stroom in andere delen van de kabel. De storing heft zichzelf dus grotendeels op. Daarom is de resulterende stoorstroom vele factoren lagere dan met een ordinaire rechte kabel. Afscherming—wat een gebruikelijke methode is om storing in RS232 lijnen te voorkomen—probeert de vijandige magnetische velden weg te houden van de signaalleidingen. Getwiste aders in RS485 communicatie daarentegen geeft immuniteit wat veel beter is dan proberen de storing te bannen. De magnetische velden mogen de kabel passeren, maar doen geen kwaad. Als hoge storingsimmuniteit nodig is, wordt vaak een combinatie van twisten en afschermen toegepast zoals bijvoorbeeld in STP, shielded twisted pair en FTP, foiled twisted pair netwerk kabels.
Differentiële signalen en twisten geeft de mogelijkheid aan RS485 om te communiceren over veel langere afstanden dan mogelijk met RS232. Met RS485 zijn communicatie afstanden van 1200 m mogelijk.
Differentiële signaallijnen staan ook hogere bitsnelheden toe dan mogelijk is met niet-differentiële verbindingen. Daardoor kan RS485 boven de praktische communicatiesnelheid van RS232 worden gebruikt. Op dit moment zijn RS485 drivers beschikbaar die een maximale bit-rate kunnen halen van 35 mbps.
Eigenschappen van RS485 vergeleken met RS232, RS422 en RS423
RS232 | RS423 | RS422 | RS485 | |
---|---|---|---|---|
Differentieel | nee | nee | ja | ja |
Max aantal zenders | 1 | 1 | 1 | 32 |
Max aantal ontvangers | 1 | 10 | 10 | 32 |
Gebruiksmodes | half duplex / full duplex | half duplex | half duplex | half duplex |
Netwerk topologie | point-to-point | multidrop | multidrop | multipoint |
Max afstand (vlg. standaard) | 15m | 1200m | 1200m | 1200m |
Max snelheid op 12m | 20kbps | 100kbps | 10Mbps | 35Mbps |
Max snelheid op 1200m | (1kbps) | 1kbps | 100kbps | 100kbps |
Max stijgsnelheid | 30V/μs | instelbaar | n/a | n/a |
Ontvanger ingangsweerstand | 3..7 kΩ | ≧ 4 kΩ | ≧ 4 kΩ | ≧ 12 kΩ |
Zender load impedantie | 3..7 kΩ | ≧ 450 Ω | 100 Ω | 54 Ω |
Ontvanger ingangsgevoeligheid | ±3 V | ±200 mV | ±200 mV | ±200 mV |
Ontvanger ingangsrange | ±15 V | ±12 V | ±10 V | –7..12 V |
Max zender uitgangspanning | ±25 V | ±6 V | ±6 V | –7..12 V |
Min zender uitgangsspanning (belast) | ±5 V | ±3.6 V | ±2.0 V | ±1.5 V |
Wat betekent al die informatie uit de tabel nu? Ten eerste zien we dat de snelheid van de differentiële interfaces RS422 en RS485 beduidend hoger ligt dan bij de enkelvoudige versies RS232 en RS423. We zien ook dat er een maximale slew rate gedefinieerd is voor zowel RS232 en RS423. Dit is om reflectie van de signalen te voorkomen. De maximale slew rate limiteert ook de maximale communicatiesnelheid op de lijn. Voor beide andere interfaces—RS422 en RS485—is de slew rate in principe oneinding. Om reflecties bij langere kabels te voorkomen is het noodzakelijk om daarvoor geschikte afsluitweestanden te gebruiken.
We zien ook dat de maximaal toegestane spanningsniveaus voor alle interfaces in ongeveer het zelfde bereik liggen, maar dat de signaalniveaus lager zijn voor de snellere interfaces. Hierdoor kunnen RS485 en de anderen worden gebruikt in situaties waar een behoorlijke nulverschuiving van een aantal volts aanwezig is, terwijl op hetzelfde moment hoge bitsnelheden mogelijk zijn omdat de transitie tussen logisch 0 en logisch 1 slecht een aantal honderden millivolts is.
Interessant is, dat de RS232 de enige interface is die full duplex communicatie aan kan. Dit is, omdat bij de andere interfaces het communicatiekabaal wordt gedeeld door meerdere ontvangers en—in het geval van RS485—meerdere zenders. RS232 heeft een separaat communicatiekanaal voor het zenden en ontvangen dat—met een goed geschreven protocol—hogere effectieve datasnelheden toestaat bij dezelfde bitsnelheid, dan bij de andere interfaces. De verzoek- en bevestiggegevens die in de meeste protocollen nodig zijn gebruiken niet de bandbreedte van het primaire datakanaal van RS232.
Networktopologie met RS485
Netwerktopologie is waarschijnlijk de reden waarom RS485 op dit moment de favoriete interface van de vier genoemden is voor data acquisitie en besturingstoepassingen. RS485 is de enige van de interfaces geschikt voor het internetwerken van meerdere zenders en ontvangers in hetzelfde netwerk. Wanneer de standaard RS485 ontvangers gebruikt worden met een ingangsweerstand van 12 kΩ, dan is het mogelijk om 32 apparaten aan te sluiten op het netwerk. Op dit moment beschikbare RS485 inputs met hoge ingangsweerstand maakt het mogelijk dat dit aantal uitgebreid wordt tot 256. RS485 repeaters zijn ook beschikbaar waarmee het mogelijk is het aantal gekoppelde systemen uit te breiden tot duizenden, over een afstand van vele kilometers. En dat alles met een interface die geen intelligente netwerk hardware nodig heeft: de implementatie aan de software zijde is niet veel moeilijker dan met RS232. Dit is de reden waarom RS485 zo populair is bij computers, PLC’s, microcontrollers en intelligente sensoren in wetenschappelijke en technische applicaties.
In de afbeelding hierboven wordt de algemene netwerk structuur van RS485 getoond. N systemen zijn hierbij met elkaar verbonden in een multipoint RS485 netwerk. Voor hogere snelheden en langere lijnen zijn de afsluitweerstanden nodig aan beide einden om reflecties tegen te gaan. Gebruik hiervoor 100 Ω weerstanden aan beide einden. Het RS485 netwerk moet ontworpen worden als één lijn met meerdere aansluitingen, niet als een ster. Hoewel de totale kabellengte mogelijk korter is in een ster configuratie is het dan niet meer mogelijk om op een goede manier de kabel af te sluiten waardoor de signaalkwaliteit drastisch achteruit kan gaan.
RS485 functionaliteit
En nu de belangrijkste vraag, hoe functioneert RS485 in de praktijk? Normaal zijn alle zenders op de RS485 bus in zgn. tri-state toestand met een hoge impedantie. In de meeste protocollen op hoger niveau is één van de systemen gedefinieerd als master die verzoeken of commando’s verzendt over de RS485 bus. Alle andere systemen ontvangen deze data. Afhankelijk van de informatie in het verzonden datapakket zullen nul of meer systemen over de bus reageren naar de master. In deze situatie kan de bandbreedte voor bijna de volle 100% worden benut. Er zijn andere implementaties van RS485 netwerken waar elk systeem zijn eigen data sessie kan starten. Dit is vergelijkbaar met de manier waarop ethernet netwerken functioneren. Omdat er in deze implementatie een kans is dat meerdere zenders op hetzelfde moment data versturen vertelt de theorie ons dat in dit geval slechts 37% van de bandbreedte effectief kan worden benut. Met een dergelijke implementatie van een RS485 netwerk is het nodig dat er foutdetectie aanwezig is in het hogere protocol om dataverminking te detecteren en de informatie op een later tijdstip opnieuw te verzenden.
Het is niet nodig dat de zender elke keer expliciet de RS485 driver aan of uitschakelt. RS485 drivers gaan automatisch naar de tri-state toestand met hoge impedantie binnen enkele microseconden nadat de data is verzonden. Daarom zijn vertragingen tussen de datapakketten op de RS485 bus niet nodig.
RS485 wordt gebruikt als de elektrische laag voor veel zeer bekende interface standaarden inclusief Profibus en Modbus. Daarom zal RS485 ook in de toekomst een veel gebruikte standaard zijn.
No matter what goes wrong,
it will probably look right.
SCOTT'S FIRST LAW
|