Server » Verwarming » Technische informatie » Communicatie
Communicatieprotocollen
SeriŽle communicatieprotocollen
COM
Eťn communicatieprotocol bestaat al sinds de jaren 1960 en wordt tegenwoordig nog steeds gebruikt vanwege zijn eenvoud en betrouwbaarheid.
-

-

In de industrie worden er vaak 4 - 20mA stroomlussen gebruikt. Dit is eigenlijk een analoog standaard, maar er bestaan ook digitale standaarden voor data-overdracht. De 4-20mA stroomlus is weinig gevoelig voor storingen omdat er met een stroom in plaats van een spanning gewerkt wordt.

De industrie heeft veel digitale communicatieprotocollen gebruikt en weer afgevoerd. Sommige protocollen zijn niet geschikt in een industriŽle omgeving (te gevoelig voor storingen, te korte afstanden), andere protocollen zoals ethernet zijn dan weer te complex voor bepaalde toepassingen.

SeriŽle communicatie

SeriŽle communicatie is een eenvoudig protocol voor het doorsturen van data. In zijn eenvoudigste vorm zijn er slechts drie draden nodig voor een bidirectionele communicatie (full duplex): een TX (zenden), een RX (ontvangen) en een massa. De TX is de RX van het ander toestel.

Indien de communicatie maar in ťťn richting moet gebeuren zijn twee draden voldoende (simplex verbinding). Dit is bijvoorbeeld het geval als een microprocessor data naar een beeldscherm moet sturen.

Het voordeel van deze norm, is dat die al sinds de jaren 1960 gebruikt wordt, en dus algemeen aanvaard wordt. Het is een eenvoudig protocol zonder overhead (in vergelijking met bijvoorbeeld TCP/IP (ethernet), waardoor die door alle mogelijke apparaten gebruikt kan worden.

In de jaren 1960 werd de norm voor het eerst gebruikt om electrische schrijfmachines op afstand te sturen via een modem. De communicatie was toen al bidirectioneel, de schijfmachine had een toetsenbord om tekens naar de hoofdcomputer te sturen.

Later heeft men computerschermen met keyboard gebruikt, maar dezelfde norm bleef gebruikt. Het VT-100 standaard werd gebruikt voor de communicatie tussen een mainframe en een terminal. Speciale tekens werden voorzien voor de schermopkaak (scherm wissen, cursor positionneren, reverse kleuren, enz), maar de onderliggende communicatie bleef ongewijzigd.

Vanaf de jaren 1980 tot in de jaren 2000 werden de computers uitgerust met ťťn of meerdere seriŽle poorten (COM poorten) om bijvoorbeeld een muis of een externe modem op aan te sluiten. Bepaald eprinters konden ook seriŽel aangestuurd worden. Met aangepaste software kon de computer werken als een VT-100 terminal.

De COM-poorten werden vanaf de jaren 2000 vervangen door USB poorten die sneller waren. De snelheid van een COM poort was voldoende om teksten door te sturen, maar was te beperkt voor grafische bestanden.

Maar microcontrollers, PLC's (speciale computers die in de industrie gebruikt worden om machines te sturen) en andere toepassingen blijven een eenvoudige seriŽle communicatie gebruiken vanwege de nagenoeg onbestaande overheid. Er is nauwelijks rekenkracht nodig om een seriŽle communicatie tot stand te brengen.

  • Bepaalde embedded toepassingen zoals een GPS ontvanger sturen de gegevens door naar de hostcomputer via een seriŽle verbinding.
  • Servers kunnen bediend worden via de seriŽle poort tijdens het opstarten, als het operating system nog niet geladen is (zo kan bijvoorbeeld een andere configuratie gekozen worden voor het systeem werkelijk geladen wordt).
Maar laten we eerst de eigenschappen van de seriŽle verbinding verduidelijken

Aansluitingen

Men gebruikt vaak de DB-9 connector (de exacte naam is DE-9, maar iedereen noemt de aansluiting DB-9 naar analogie met de DB-15 connector (VGA scherm) en DB-25. Er zijn 9 aansluitingen, maar ze worden niet noodzakelijk allemaal gebruikt. De DB-25 connector heeft nog meer aansluitingen, maar die kabel werd snel afgevoerd.

Bij een seriŽle verbinding volgens de norm RS-232 heeft men een terminal, dat is het apparaat op het einde van de verbinding (meestal een computer of een VT-100 terminal) en een communicatieapparaat zoals een modem. Aan de andere kant van de lijn heeft men opnieuw een modem en een computer (of server). De DTE Data Terminal Equipment is de computer op het einde van de verbinding, de DCE Data Communication Equipment is de modem.

De norm zegt niets over de modemverbinding zelf. Het is een hardware norm (terminal en communicatieapparatuur), het is geen software norm (client en server).

Voor een normale verbinding gebruikt men een normale (niet gekruiste) kabel, waarbij de aansluitingen een andere funktie hebben volgens het type apparaat. Pen 2 (TxD) is een uitgang op de computer en een ingang op de modem. Pen 3 (RxD) is een ingang op de computer en een uitgang op de modem (de benamingen worden gespecifieerd gezien vanaf de kant van de computer).

Om twee computers met elkaar te verbinden moet men een gekruiste kabel gebruiken, vaak null modem genoemd, zodat pen 2 met pen 3 verbonden is, en pen 3 met pen 2. De benaming "null modem" dekt heel goed de lading: de twee modems worden geŽlimineerd.

We bespreken nu de aansluitingen, waarbij we snel merken dat de connecteor origineel voorzien was om een computer (of een VT-100 terminal) met een modem te verbinden:


    DTE: Data Terminal Equipment,
    het apparaat op het einde van de verbinding, bijvoorbeeld een computer

    DCE: Data Communication Equipment,
    het apparaat dat de verbinding mogelijk maakt, bijvoorbeeld een modem

  • - Protective ground:
    Electrische afscherming rond de andere geleiders, zorgt dat de storingen niet op de datalijnen kunnen inwerken.

  • 1 DCD Data Carrier Detect:
    De modem geeft aan dat de carrier (draaggolf van de andere modem) ontvangen wordt: er kan dus gecommuniceerd worden.

  • 2 RxD Received Data:
    Data ontvangen door de computer

  • 3 TxD Transmitted Data:
    Data verzonden door de computer

  • 4 DTR Data Terminal Ready:
    Geeft aan dat de computer klaar is (opgestart en communicatiesoftware geladen). Indien de lijn naar nul gaat wordt de communicatie met de andere modem verbroken (de lijn wordt vrijgegeven).

  • 5 Signal Ground:
    Massasignaal voor de datalijnen

  • 6 DSR Data Set Ready:
    Geeft aan dat de modem klaar is

  • 6 RTS Request To Send:
    De computer vraagt aan de modem om zich klaar te maken om te zenden. Dit is nog een leftover van de tijd van de half-duplexverbindingen, waarbij slechts ťťn modem kon zender. Later werd dezelfde lijn gebruikt voor het RTR Ready To Receive signaal, om aan te geven dat de computer klaar was om gegevens te ontvangen. De lijn wordt op nul gezet als de buffer van de computer bijna vol was (wat in de praktijk nooit gebeurde).

  • 8 CTS Clear to Send:
    De modem is klaar om data te ontvangen van de computer. De lijn wordt op nul gezet als de buffer van de modem vol is. Deze lijn ging wel vaken naar nul omdat de communicatie tussen de twee modems op een relatief lage snelheid gebeurde.

  • 9 RI Ring Indicator:
    Geeft een inkomend gesprek aan (belsignaal), waardoor een computer die in standby staat weer gewekt kan worden (hardware interrupt). Werd bijvoorbeeld gebruikt bij BBS (bulletin board systems) die standby stonden om automatisch de lijn op te nemen.
De kabel tussen computer en modem voorziet dus in een hardware flow control met de RTR/CTS lijnen. Dit is een out-of-band communicatie (met aparte draden). Omdat sommige modemkabels niet volledig bedraad waren bestaat er ook een software flow control, waarbij een apparaat de kodes XON en XOFF doorstuurt om de datastroom te onderbreken. Als de buffer van de modem dreigt vol te lopen dan stuurt de modem een XOFF teken op zijn uitgaande datalijn. Het is een in-band signalisatie, het zijn eigenlijk speciale ASCII tekens die normaal niet gebruikt worden.

Voor een verbinding tussen een microcontroller en een LCD scherm volstaan twee draden: protective ground samen verbonden met signal ground en TxD (aangesloten op RxD op het scherm). Het voorbeeld rechts is de ingang van een LCD scherm. Bij full duplex volstaan er drie verbindingen: massa, TxD en RxD.

Signaalniveaus

De seriŽle verbinding werd gedefinieerd met opvallende spanningen die overeenkwamen met de spanningen die door de computers uit die tijd gebruikt werden. Dit is nu nog te merken aan computervoedingen die spanningen leveren van +5V, -5V, +12V en -12V.

Een "1" wordt aangegeven door een spanning van -3 tot -15V. In rust is de lijn eveneens op deze spanning. Een "0" wordt gekodeerd door een spanning van +3V tot +15V. De zone tussen -3 en +3V is niet gedefinieerd.

Om een byte door te sturen wordt eerst een startbit verzonden, gevolgd door 8 databits en een stopbit. De ontvanger baseert zich op de vastgelegde datasnelheid om de bits te samplen. De transmissiesnelheid is standaard 9600 baud: na de startbit komt de eerste bit toe na 104ms, en zo verder tot aan de stopbit. Indien de twee toestellen niet dezelfde snelheid gebruiken is communicatie onmogelijk want er is geen manier voorzien om de twee apparaten op elkaar te synchroniseren.

Het is een asynchrone communicatie: data kan om het even wanneer verstuurd worden, maar de timing van ťťn byte is wel kritisch. De klok van beide systemen mag niet meer dan 10% afwijken.

Naast de stopbit gebruiken bepaalde protocollen ook een pariteitsbit: dit wordt niet in de standaard zelf gespecifieerd. Ook is een andere codering mogelijk dan de ASCII kodering. Mainframes in de jaren 1970 - 1980 gebruikten de EBCDIC codering.

Maar de spanningsniveau's zijn niet aangepast aan de moderne systemen zoals microcontrollers en PLC's die vaak met slechts twee spanningen werken: 0 en 5V (en soms zelfs 3.3V).

Er bestaan spanningsomzetters die de RS-232 spanningen kunnen omzetten naar TTL niveau en omgekeerd. Een spanningsomzetter is bijvoorbeeld nodig voor de verbinding tussen een computer met standaard COM poort en een LCD paneel die met TTL spanningen werkt. Spanningsomzetters hebben enkele bezwaren: ze vergen een extra voedingsspanning of produceren storingen door de spanningsomvormer die -10V maakt op basis van de +5V.

Recentere toestellen gebruiken daarom TTL niveaus (0 en 5V). Het betreft hier een lokale communicatie, bijvoorbeeld tussen een microcontroller en een LCD paneel. Let op: deze spanningen zijn omgekeerd aan de RS-232 niveaus: hier gebruikt men een positieve logica.

De seriŽle TTL communicatie is beperkt tot lokale verbindingen. Om data over een lagere afstand over te brengen is een echte RS-232 verbinding nodig. Dankzij de hogere spanning is de verbinding minder gevoelig voor stoorpulsen. Maar in het algemeen is de lengte van een seriŽle verbinding beperkt tot 15 meter.

Historische kronkel

De eerste kaartlezers die in de jaren 1990 op de markt kwamen (samen met de eerste digitale fototoestellen) hadden een seriŽle interface met de computer (de USB poort bestond toen nog niet). Foto's hadden in het beste geval een resolutie van 1024×768 pixels (we vonden dat fantastisch toen) en de bestanden hadden een grootte van gemiddeld 225kB (de routines om de bestanden te comprimeren waren toen nog niet optimaal).

De inhoud van een smartmedia kaart van 4MB (goed voor ongeveer 20 foto's) over te brengen naar de computer duurde... een uur (veel langer dan het ontwikkelen van scheikundige foto's). Het is op dit ogenblik dat men besloten heeft dat men een andere soort verbinding nodig had!

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's

-