Wat is seriële communicatie?
Seriële communicatie is een gegevensoverdrachtmethode die informatie bit voor bit van apparaat naar apparaat verzendt. In de loop der jaren zijn veel verschillende serienormen ontwikkeld voor zowel bandbreedte met lage als met hoge snelheid. Gegevens kunnen meestal over veel grotere afstanden worden uitgewisseld met behulp van seriële in plaats van parallelle communicatie. Seriële communicatie wordt meestal gebruikt om printers, terminals en camera's op computers aan te sluiten. Het wordt ook gebruikt om te communiceren met externe harde schijven, dvd-schijven (Digital Video Discs) en flash-geheugenapparaten.
Omdat bij seriële communicatie slechts één bit gegevens tegelijk worden verzonden, zijn er minder draden nodig in vergelijking met een parallelle interface. Een zeer minimale verbinding mag slechts één draad bevatten voor gegevens en een andere voor een aardreferentie. In de praktijk bevatten veel seriële koppelingen ook verschillende handshaking-signalen en een datalijn in elke richting. De universele seriële bus (USB), die gewoonlijk wordt gebruikt om computers en randapparatuur aan te sluiten, gebruikt slechts vier of vijf signalen, waarvan twee voor stroomvoorziening. Aanbevolen standaard (RS) 232 seriële verbindingen kunnen tot 20 signalen gebruiken, afhankelijk van de implementatie.
Minder signalen maken het over het algemeen mogelijk om een seriële communicatieverbinding sneller te klokken en betrouwbaarder te werken over lange afstanden. Parallelle communicatie kan scheeftrekking of interferentie tussen gegevensbits veroorzaken als ze samen reizen via een lange verbinding. RS 232 seriële verbindingen 300 meter (1000 voet) of langer kunnen meestal worden gebruikt met meer dan 115.200 bits per seconde. USB 2.0-koppelingen worden daarentegen vaak gebruikt om opslagapparaten met een hoge bandbreedte op computersystemen aan te sluiten. Ze kunnen over het algemeen gegevens uitwisselen met maximaal 480 megabits per seconde, maar kabels zijn beperkt tot 16 voet (5 meter) tussen hubs.
Wanneer gegevens via een seriële link worden verzonden, moet de ontvanger een manier hebben om te bepalen wanneer elke byte eindigt en de volgende begint. Bij asynchrone seriële communicatie voegt de afzender een "startbit" in voordat de bits van elke byte worden verzonden. Het startbit synchroniseert ook een interne klok om de rest van het ontvangen frame in afzonderlijke bits te splitsen. Dit is de meest gebruikte RS 232-synchronisatiemethode. Bij synchrone seriële communicatie wordt een afzonderlijk kloksignaal gebruikt om aan te geven wanneer elke bit en byte voltooid zijn.
Voordat een RS 232-gegevensuitwisseling begint, moeten apparaten aan beide zijden worden ingesteld om hetzelfde aantal gegevens en stopbits te gebruiken, evenals hetzelfde pariteitstype. Acht databits, één stopbit en geen pariteit is een frequente configuratie, meestal uitgedrukt als 8N1. Als markering of spatiepariteit wordt gebruikt, wordt de pariteitsbit dienovereenkomstig ingesteld op één of nul door de afzender. Als even of oneven pariteit wordt gebruikt, wordt de pariteitsbit ingesteld op een waarde die het totale aantal van één bits even of oneven maakt. De ontvanger controleert de waarde van de ontvangen pariteitsbit, als die er is, en geeft een fout aan als deze niet overeenkomt met de verwachte waarde.
Naast de pariteitscontrole kunnen een of meer seriële softwareprotocolprotocollen worden gebruikt om te beschermen tegen fouten bij gegevensoverdracht. Het XMODEM- of ZMODEM-protocol wordt bijvoorbeeld vaak gebruikt voor bestandsoverdracht tussen computers via een seriële RS 232-verbinding. Deze protocollen waren oorspronkelijk ontworpen om te worden gebruikt met een dial-up telefoongebaseerde modem aan elk uiteinde van de link, maar werken ook zonder. Elk protocol omvat de validatie van een cyclische redundantiecontrole (CRC) -controlesom berekend voor de verzonden gegevens. Als er modems aanwezig zijn, voeren ze tijdens de verzending ook soortgelijke CRC-controles in hardware uit.