Binaire transmissie

Wanneer men een datakabel in een toestel steekt lijkt het vanzelfsprekend dat er tussen beide toestellen gecommuniceerd kan worden. Echter komt hier zeer veel bij kijken. In deze blog gaan we ons verdiepen in de effectieve signalen die door de kabels (of zelfs radiofrequenties bij Wifi) gaan.

Zenden van informatie

Als voorbeeld nemen we een ethernet kabel. In deze kabel zitten 4 twisted pairs (8 koperen draadjes in totaal). Op deze draadjes zal een elektrische spanning komen te staan. Als we de spanning gaan meten tussen eenzelfde paar, zullen we een we spanning tussen 0 en 5 Volt meten (tussen 2 draden in hetzelfde paar). Hierbij nemen we dit slechts als voorbeeld (hier wordt van afgeweken tussen de verschillende protocollen). Deze spanningen kunnen veranderen over tijd. Hierdoor krijgen we 2 verschillende fases. Ofwel is het signaal 0V en zal dit als een binaire 0 worden geïnterpreteerd. Ofwel is het signaal 5V en zal dit als een binaire 1 worden geïnterpreteerd. Deze binaire fases worden ook wel symbolen genoemd.

Als we naar bovenstaande grafiek kijken kunnen we afleiden dat het signaal enkele malen tussen 0V en 5V fluctueert over een bepaalde tijdspanne. Als we de X-as (tijdspanne) nemen als zijnde 1 seconde veranderd deze status (symbool) 1x per seconde.  Dit kunnen we dus gaan vertalen in een binair nummer. Bovenstaande grafiek zouden we dus kunnen interpreteren als “01001011”.

De snelheid waarmee deze “symbolen” worden verzonden wordt de “symbol rate” genoemd. Dit wordt ook soms uitdrukt in “Baud” In bovenstaande grafiek is dit dus 1 symbool per seconde.

Hetzelfde principe wordt toegepast bij een Fibre optic kabel waarin er met een laser signalen door een glasvezelkabel worden gestuurd. Hieruit kunnen we ook een afleiden dat wanneer er licht wordt ontvangen dit kan worden geïnterpreteerd als een binaire 1, als er geen licht wordt ontvangen wordt dit geïnterpreteerd als een binaire 0.

Ook wij een draadloos netwerk kan dit worden waargenomen. De acces point zal de spanning doen variëren door de antenne van het toestel aan een hoge frequentie. De antenne zal dan elektromagnetische signalen genereren die door andere antennes kunnen worden waargenomen. Hier zullen we dieper op ingaan in latere blogs.

Netwerk timing

Wanneer we 2 computers met elkaar gaan verbinden, en uiteindelijk data naar elkaar gaan sturen komt er een probleem waar rekening mee moet worden gehouden. Dat is namelijk netwerk timing. Om ervoor te zorgen dat de data dat wordt, op dezelfde wijze wordt geïnterpreteerd als dat deze word verzonden. Moeten we er zeker van zijn dat de timing tussen deze 2 computers exact gelijk loopt.

Wanneer we opnieuw naar bovenstaande grafiek kijken, merken we op dat er op sommige momenten 2x een 0 en 2x een 1 wordt verzonden. In de praktijk kan dit ook bijvoorbeeld 7x een 1 zijn. De computer die dit signaal zal ontvangen zal op een manier moeten kunnen detecteren hoeveel 1 of 0 symbolen er na elkaar zijn geplaatst. Om deze reden gaan we ervoor zorgen dat de timing gelijk is. Als dit niet correct gebeurd zal computer 1 volgende bits verzenden “01001011” maar kan het zijn dat computer 2 dit ziet als “010101”

Clockslip, Clock phase

Als we er van uit gaan dat alle klokken met elkaar gesynchroniseerd zijn. Lopen we het risico dat, als er een computer iets trager is, dan een andere computer er soms bits worden overgeslagen. Het tegenover gestelde is uiteraard ook mogelijk dat er een bit teveel wordt genoteerd. Dit worden clock slips genoemd. Hierdoor is de gestuurde informatie niet meer correct. Hierdoor is her zeer belangrijk dat deze klokken nooit “out of sync” geraken.

Om dit op te lossen zijn er verschillende manieren, we verlopen enkele van deze manieren in detail:

  • GPS: Als we aan elke computer een GPS antenne hangen welke worden gesynchroniseerd via het GPS systeem. Deze systemen hebben vaan atomische klokken ingebouwd en hebben bijgevolg dus zeer accurate klokken. Zo kunnen de ingebouwde computerklokken gesynchroniseerd worden via de GPS klokken, zo kan deze klok gebruikt worden in de communicatie tussen de computers. Uiteraard is hiervoor extra hardware nodig, bovendien is deze hardware niet nodig en redelijk duur. Dit is dus niet de meest optimale oplossing
  • Aparte lijnen: We zouden ook een aderpaar van de ethernet kabel kunnen gebruiken om de klok te synchroniseren tussen de computers. Zo werken beide machines met eendezelfde klok. De ontvangende computer moet dan geen gebruik maken van zijn eigen klok, maar maakt gebruik van de klok die via het aderpaar wordt verzonden. Echter is er hier ook een potentieel probleem, zeker als we snelheid van de data wordt opgedreven. Dan kan het zijn dat deze klokpulsen slechts enkele nanoseconden uit elkaar liggen. De uitdaging hier blijft dat de datalijn en de kloklijn perfect opgelijnd blijven. Als een van de twee een klein beetje opschuiven dan kan er opnieuw een bit gemist worden. Dit symptoom wordt “clock phase” genoemd. Dit kan ook gebeuren als de elektronen in de ene kabel iets sneller zijn als in de andere kabel doordat het pad iets langer is, of de geleidbaarheid iets anders is. Dit is dus geen goede oplossing op lijnen waar hoge snelheden moeten worden gehaald of waar de de afstand tussen de computers groot is.
  • Manchester coding: Een andere manier om de klok en de datalijn te combineren in een enkel datapaar is manchester coding genaamd. Omdat hier heel wat over te vertellen valt zullen we hieronder een nieuw hoofdstuk starten.
Manchestercodering (Manchester coding)

Bij Manchestercodering wordt elke bit verdeeld in twee gelijke intervallen. Een binaire 1 wordt gezonden door de spanning in de eerste helft hoog te maken en in de tweede laag. Bij een binaire 0 is het net omgekeerd, eerst laag en dan hoog. Deze methode zorgt ervoor dat elke bitperiode in het midden een overgang heeft, waardoor de synchronisatie tussen de ontvanger en de zender gemakkelijker wordt zelfklokkend.

Uiteraard zijn hier ook nadelen aan verbonden. Een nadeel van de Manchestercodering is dat er een tweemaal zo grote bandbreedte voor nodig is als voor normale binaire codering, omdat de pulsen maar half zo breed zijn. Om bijvoorbeeld gegevens te verzenden met een snelheid van 10Mbps moet het signaal 20 miljoen keer per seconde veranderen.

Tell us about your thoughtsWrite message

Back to Top
Close Zoom
Context Menu is disabled :).