Communicatietheorie Partim Datacommunicatie Datatransmissie Communicatietheorie Partim Datacommunicatie
Overzicht Datatransmissie Inleiding Basisconcepten van datatransmissie Synchronisatie
Inleiding: OSI-model
Overzicht Datatransmissie Inleiding Basisconcepten van datatransmissie Synchronisatie
Basisconcepten van datatransmissie Definities: Communicatiemodes Simplex = één richting (vb: PCprinter, toetsenbordcomputer, computerscherm,…) Half duplex = twee richtingen, niet tezelfdertijd zenden en ontvangen (vb: walkie talkie, …) Full duplex = twee richtingen, mag tezelfdertijd zenden en ontvangen (vb: telefoonnetwerk, …) protocollen nodig: wie mag op bepaald ogenblik zenden? = controle-informatie ? Controle-informatie over zelfde/aparte lijn? Basisconcepten
Definities (vervolg): Seriële/parallelle transmissie Seriële transmissie = bits één na één verstuurd Parallelle transmissie = bits groeperen n bits samen versturen (n = meestal veelvoud van 8 bits = byte) Voordelen parallelle transmissie sneller dan seriële transmissie Nadelen parallelle transmissie indien lange kabels bits komen niet alle gelijktijdig aan = vertragingstijd bits foutief ontvangen parallelle transmissie enkel voor korte afstanden (vb. Flatcable in PC printer) Grote afstanden of lage bitsnelheden serieel Basisconcepten
Definities (vervolg): Asynchrone/synchrone transmissie Asynchrone transmissie = geen vaste timing zender stuurt informatie in korte frames frames onafhankelijk van elkaar verstuurd tussen frames : lijn niet actief ? Hoe bepalen of frame ontvangen ? aan begin en eind frame extra bits (start- en stopbits) = controlebits bij inactieve lijn: wachten tot startbit ontvangen na ontvangst stopbit(s): lijn terug inactief Basisconcepten
Asynchrone transmissie (vervolg) voorbeeld: asynchrone transmissie van ASCII-karakters frame = 7 informatiebits + 1 pariteitsbit +1 startbit +1 stopbit Basisconcepten
Asynchrone transmissie (vervolg) Nadeel: start- en stopbits efficiëntie 1 startbit, 8 nuttige bits, 1 stopbit = overhead van 20% efficiëntie lager dan bij andere vormen van transmissie Voordeel lage transmissiekost Voorbeeld: toetsenbord computer file transfer protocol PCtelefoonlijn (modems) Basisconcepten
Synchrone transmissie = vaste timing zender stuurt informatie in een continue stroom Voordeel: geen stoptijden, geen extra controlebits hoge efficiëntie Nadeel: complexiteit transmissie Voorbeeld: computer computer (hoge snelheid) Basisconcepten
Definities (vervolg): Bitgeoriënteerde/karaktergeoriënteerde transmissie (bij synchrone transmissie) Karaktergeoriënteerde transmissie karakter = bitsequentie met vaste lengte informatie bestaat uit opeenvolging van karakters vb: tekst: karakter = alfanumeriek teken (ASCII) Bitgeoriënteerde transmissie informatie kan willekeurige lengte hebben, bestaat niet uit opeenvolging van karakters Basisconcepten
Overzicht Datatransmissie Inleiding Basisconcepten van datatransmissie Synchronisatie
Overzicht Synchronisatie Inleiding Bitsynchronisatie Asynchrone transmissie Synchrone transmissie Manchester codering Karaktersynchronisatie Framesynchronisatie
Overzicht Synchronisatie Inleiding Bitsynchronisatie Asynchrone transmissie Synchrone transmissie Manchester codering Karaktersynchronisatie Framesynchronisatie
Inleiding Synchronisatie Stel: bits verstuurd aan Rb bits/s duur bit T=1/Rb tijdens interval T: ‘0’ of ‘1’ versturen lijncode = fysisch signaal van bitsequentie Non return to zero: ‘1’ = H ‘0’ = L Non return to zero inversion ‘1’ = HH of LL ‘0’ = HL of LH Synchronisatie: Inleiding
Synchronisatie: Inleiding Zend fysisch signaal over fysische verbinding vervorming signaalniveau niet constant over bitinterval omzetting signaal bit? BEMONSTEREN Ideale decisieogenblik ? ± midden bitinterval daar verschil signaalwaarden maximaal stoorsignaal minimaal Synchronisatie: Inleiding
Synchronisatie: Inleiding Drie niveaus synchronisatie Bitsynchronisatie = bepalen decisietijdstippen bemonstering Karaktersynchronisatie welke bits behoren tot een karakter? (enkel bij karaktergeoriënteerde transmissie) Framesynchronisatie bepalen begin/einde frame Synchronisatie: Inleiding
Overzicht Synchronisatie Inleiding Bitsynchronisatie Asynchrone transmissie Synchrone transmissie Manchester codering Karaktersynchronisatie Framesynchronisatie
Asynchrone transmissie klok ontvanger = periodisch signaal met frequentie fR frequentie fR = N frequentie zendklok (N= 1 of even) gebruikt om signaal te bemonsteren bij overgang LH Bitsynchronisatie: Asynchrone transmissie
Bitsynchronisatie: Asynchrone transmissie Verstuurde asynchrone signaal geen signaal = continu H signaal startbit = overgang HL gedetecteerd midden bitinterval i : schatting = waar klok LH = begin telling Bitsynchronisatie: Asynchrone transmissie
Bitsynchronisatie: Asynchrone transmissie midden bitinterval i schatting = (2i+1)N/2 klokintervallen N/2, N+N/2, … op gelijke afstand Bitsynchronisatie: Asynchrone transmissie
Bitsynchronisatie: Asynchrone transmissie midden bitinterval i schatting = (2i+1)N/2 klokintervallen Bitsynchronisatie: Asynchrone transmissie
Bitsynchronisatie: Asynchrone transmissie Wat als ontvangerklok frequentiefout heeft? Stel: begin startbit t=0 werkelijke midden ie bit ti=(2i+1)T/2 geschatte begin startbit bij welke overgang ontvangerklok signaal gemeten? t=a/fR geschatte midden ie bit ti = (a+(2i+1)N/2)/fR Stel relatieve frequentiefout fR=(1+e)N/T duur bitinterval uniform verdeeld [0,1] ^ relatieve afwijking t.o.v. N/T Bitsynchronisatie: Asynchrone transmissie
Bitsynchronisatie: Asynchrone transmissie Relatieve timingfout e≠0 ei lineair in i timingfout als i als | ei |>1/2 verkeerde bitinterval bitfout Worst case: e<0 (te traag bemonsteren) en a=1 Bitsynchronisatie: Asynchrone transmissie
Bitsynchronisatie: Asynchrone transmissie Worst case: |ei|max als N : onzekerheid over begin startbit kleiner |ei|max < 1/2 geen fout |ei|max als i sequentie van bits mag niet te lang zijn Stel 1 start/stopbit, I-2 informatiebits bitsequentie lengte I Noem |e|T/2 = relatieve frequentiefout die ervoor zorgt dat |eI|max = ½ 2I|e|=1-2/N ter hoogte van stopbit Bitsynchronisatie: Asynchrone transmissie
Bitsynchronisatie: Asynchrone transmissie
Synchrone transmissie Signaal = continue stroom bits indien dezelfde techniek gebruikt als bij asynchroon (= tellen klokintervallen) zeker fouten als e≠0 Oplossing = digitale fasevergrendelde lus (DPLL, digital phase locked loop) maak gebruik van informatie uit signaal om decisietijdstip te bepalen Bitsynchronisatie: Synchrone transmissie
Bitsynchronisatie: Synchrone transmissie DPLL: werking klok ontvanger frequentie fR , ongeveer N/T (N even) bemonsteren bij LH ti = schatting midden bitinterval i = bemonsteringsogenblik actie ondernomen tussen ti en ti+1 : hangt af of er overgang HL of LH is in signaal ^ ^ ^ Bitsynchronisatie: Synchrone transmissie
Bitsynchronisatie: Synchrone transmissie Geen overgang in signaal vaste afstand tussen bemonsteringsogenblikken vergelijkbaar met asynchroon geval Bitsynchronisatie: Synchrone transmissie
Bitsynchronisatie: Synchrone transmissie ni < 0 afstand ti tot einde bit interval > N/2 klokcycli geschatte tijdstip ti te vroeg ni > 0 afstand ti tot einde bit interval < N/2 klokcycli geschatte tijdstip ti te laat ^ Wel overgang in signaal 1e monsterwaarde na overgang = ni ni = maat voor timingfout Bitsynchronisatie: Synchrone transmissie
Bitsynchronisatie: Synchrone transmissie Definities: fR=(1+e)N/T ei = relatieve timingfout = afstand tussen echte en geschatte midden = verband ni en ei ? juist groter Bitsynchronisatie: Synchrone transmissie
Bitsynchronisatie: Synchrone transmissie ni = afgeronde versie van ei Bitsynchronisatie: Synchrone transmissie
Bitsynchronisatie: Synchrone transmissie klok = stabiele kwartsoscillator |e|<<1/N curve met e=0 goede benadering voor e≠0 Bitsynchronisatie: Synchrone transmissie
Bitsynchronisatie: Synchrone transmissie Hoe informatie ni gebruiken terugkoppeling/feedback Indien transitie: g(ni) : correctieterm, hangt af van ni ti > ti : geschatte tijdstip te laat neem een vroegere monsterwaarde om terug naar het midden van het bitinterval te gaan ^ ti < ti : geschatte tijdstip te vroeg neem een latere monsterwaarde om terug naar het midden van het bitinterval te gaan ^ Bitsynchronisatie: Synchrone transmissie
Veel gebruikte correctietermen g(0)≠0 oscillatie ! e<<1 per klokinterval 1 monsterwaarde corrigeren houdt rekening met de grootte van de fout e<<1 Bitsynchronisatie: Synchrone transmissie
Bitsynchronisatie: Synchrone transmissie Werking DPLL: hangt af van initiële schatting via synchronisatiepatroon aan begin frame (zie framesynchronisatie) Probleem: begin frame voldoende overgangen nodig om te kunnen synchroniseren versturen ASCII: 7 infobits + 1 pariteitsbit kies code met oneven pariteit zeker 1 transitie per byte bitgeoriënteerde transmissie gebruik bit stuffing (zie framesynchronisatie) voldoende transities Bitsynchronisatie: Synchrone transmissie
Overzicht Synchronisatie Inleiding Bitsynchronisatie Asynchrone transmissie Synchrone transmissie Manchester codering Karaktersynchronisatie Framesynchronisatie
Manchester codering DPLL: bij synchrone transmissie: voldoende signaaltransities nodig als niet voldoende transities synchronisatie weg oplossing: voeg timing informatie toe aan signaal Bit = LH of HL transitie in elk bitinterval gebruik voor synchronisatie decisieogenblik = midden 2e deel bitinterval Manchester codering
Overzicht Synchronisatie Inleiding Bitsynchronisatie Asynchrone transmissie Synchrone transmissie Manchester codering Karaktersynchronisatie Framesynchronisatie
Karaktersynchronisatie enkel bij karaktergeoriënteerde transmissie Na bitsynchronisatie bits gekend Welke bits behoren tot één karakter? Asynchrone transmissie: door aanwezigheid start/stopbits karaktergrenzen afleiden Synchrone transmissie: gebruik SYN-patroon vóór zoek begin en eind (gekend) SYN-patroon k0 = begin SYN karakters op posities k0+8, k0+16, … Karaktersynchronisatie
Overzicht Synchronisatie Inleiding Bitsynchronisatie Asynchrone transmissie Synchrone transmissie Manchester codering Karaktersynchronisatie Framesynchronisatie
Framesynchronisatie = zoek begin en einde van frame (bij frame met vaste lengte begin frame voldoende) Gebruik controlekarakters = speciaal bitpatroon karaktergeoriënteerde transmissie bitgeoriënteerde transmissie Framesynchronisatie
karaktergeoriënteerde transmissie (vb: BSC = binary synchronous communication = protocol gebruikt in telefoonmodems) Gebruik controlekarakters STX (start of text) en ETX (end of text) STX en ETX kunnen niet voorkomen in normale tekst zoek STX en ETX om begin en eind frame te kennen PROBLEEM: als binaire file wordt verstuurd: dubbelzinnigheid STX en ETX kunnen voorkomen in datagedeelte frame oplossing: gebruik combinatie DLE+STX en DLE+ETX (DLE = data link escape) ook DLE kan voorkomen in datagedeelte vervang DLE door DLE+DLE =karakterstuffing geen vergissing mogelijk Framesynchronisatie
karaktergeoriënteerde transmissie (vervolg) mogelijke ontvangen patronen: DLE+STX = begin frame DLE+ETX = eind frame DLE+DLE = karakter DLE start of header start of frame end of frame synchronisatiepatronen block check sum DLE Framesynchronisatie
bitgeoriënteerde transmissie (vb: HDLC = high-level data link control = basis PPP-protocol (point-to-point) voor WAN, internet, …) Begin en einde frame gemarkeerd door speciaal bitpatroon = vlag 01111110 zoek vlag om begin en eind tekst te bepalen PROBLEEM: vlag mag niet voorkomen in datagedeelte frame gebruik bitstuffing: als in datagedeelte frame 5 opeenvolgende bits ‘1’, voeg dan een ‘0’ toe (ongeacht volgende bit) aan ontvanger: als 5 opeenvolgende bits ‘1’ gedetecteerd volgende bit = ‘0’ verwijder ‘0’ volgende bit ‘1’ vlag gevonden Opmerking: toevoegen ‘0’ zeker bittransitie na 5 keer ‘1’ goed voor bitsynchronisatie Framesynchronisatie
synchronisatiepatroon soort informatie: data of systeeminfo synchronisatiepatroon 01111110 frame check sequence = CRC Framesynchronisatie