Sunteți pe pagina 1din 17

L4a: Studiul tehnicilor de transmisiune serială

1. Obiectivul lucrării

Lucrarea de faţă îşi propune simularea tehnicilor de transmisiune serială,


sincronă şi asincronă, precum şi studiul parametrilor acesteia, al metodelor de codare,
modulaţie şi compresie a datelor transmise.

2. Introducere teoretică
Transmisiunea serială este o metodă populară de a transmite informaţie între
un calculator şi un dispozitiv periferic (un instrument programabil) sau către alt
calculator. Biţii se transmit pe rând, pe o singură linie de comunicaţie. Acest tip de
transmisiune este folosit atunci când ratele de transfer pot să nu fie ridicate sau când
transferul se face pe distanțe lungi.
Comunicaţia serială s-a impus datorită faptului că cele mai multe calculatoare
au un port serial pe care pot comunica, astfel încât nu este nevoie de niciun alt
dispozitiv hardware (altul decât un cablu) pentru a conecta un periferic la calculator.

2.1. Transmisiunea sincronă

Termenul de sincron este folosit pentru a descrie o transmisiune continuă de


blocuri de date. Aceste tipuri de conexiuni sunt folosite atunci când trebuie transferate
cantităţi mari de date foarte rapid de la o locaţie la alta. Viteza crescută a transmisiunii
sincrone rezultă din transferul blocurilor mari de date în loc de transferul acestor date
caracter cu caracter. Există două moduri de transmisiune serială sincronă:
 cu caractere de sincronizare, caz în care caracterul ASCII syn este transmis
de două ori înainte de a începe transferului unui bloc de date;
 cu semnal de sincronizare, caz în care este necesar un fir în plus, pentru
transmiterea semnalului de sincronizare.
În cazul transmisiunii sincrone cu caractere de sincronizare (vezi figura 1) se
transmit coduri speciale la început (de la dispozitivul care transmite către cel care
recepţionează) pentru a stabili sincronizarea, după care informaţia este transmisă într-un
flux continuu. Blocurile de date sunt grupate şi separate după intervale fixe. Acestea sunt,
în plus, precedate de caractere speciale, denumite syn sau synchronous idle characters.

Fig. 1. Transmisiunea sincronă cu caractere de sincronizare.

După ce caracterele syn sunt recepţionate de dispozitivul către care se face


transmisiunea, ele sunt decodate şi folosite pentru sincronizarea transmisiunii. Abia
după ce dispozitivele sunt corect sincronizate, transmisiunea de date poate începe.
Transmisiunea sincronă cu semnal de sincronizare (vezi figura 2) presupune că
atât expeditorul cât şi destinatarul mesajelor împart acelaşi ceas de sincronizare sau că
expeditorul pune la dispoziţie un semnal de sincronizare pentru ca destinatarul să ştie
când să „citească” următorul bit de date.
86 Arhitectura sistemelor de calcul – lucrări practice

Fig. 2. Transmisiunea sincronă cu semnal de sincronizare.

Sincronizarea perfectă între dispozitivul transmiţător şi cel receptor (şi faptul


că receptorul ştie întotdeauna ce primeşte, caractere de sincronizare sau informaţie)
face ca ratele de transfer să fie foarte mari. De asemenea, receptorul poate sesiza orice
abatere pe care ar putea să o sufere transmiţătorul în ceea ce priveşte semnalul de
sincronizare, cauzată, de exemplu, de variaţia temperaturii.

2.2. Transmisiunea asincronă

În transmisiunea asincronă serială, biţii individuali care compun octetul sunt


transmişi unul după altul pe o singură linie (vezi figura 3). În acest context, asincron
înseamnă că informaţia de sincronizare nu este inclusă în transmisiune, aşa că sunt
necesare resincronizări frecvente, folosind biţi de start şi stop. Un format de date pe 8
biţi, fără bit de paritate şi un bit de stop, necesită, de exemplu, 20% din timpul
transmisiunii pentru resincronizare. În cazul transmisiunii sincrone, relaţia dintre
timpul în care se transmite informaţia şi timpul necesar pentru resincronizare este
mult mai favorabilă, dat fiind faptul că aici informaţia de sincronizare se trimite pe
propria ei linie sau împreună cu informaţia utilă.

Fig. 3. Transmisiunea asincronă.

Transmisiunea unui octet începe întotdeauna cu un bit de start, care este


transmis ca 0 logic (0L). Următorii biţi (de la 2 până la 9) sunt transmişi în secvenţă
unul după altul, începându-se de la LSB (Least Significant Bit). Un bit de paritate
poate urma după ultimul bit de date şi foloseşte la detectarea erorilor de transmisiune
(vezi figura 4). Bitul de paritate este par pentru un număr total de biţi 1 par şi impar
pentru un număr total de biţi 1 impar. Sfârşitul caracterului poate fi compus din unul
sau maximum doi biţi de stop.
Standardul RS-232 foloseşte două stări de tensiune, denumite Mark şi Space.
În această schemă de codare cu numai două stări, rata de baud este identică cu
numărul maxim de biţi de informaţie plus biţii de control transmişi pe secundă.
L4a: Studiul tehnicilor de transmisiune serială 87

Fig. 4. Adăugarea informaţiei de sincronizare şi de paritate la transmisiunea asincronă.

Mark este voltajul negativ, iar Space este voltajul pozitiv. Semnalele mai mari
de 3 V semnifică transmiterea unui bit de 0, în timp ce semnalele mai mici de –3 V
semnifică transmiterea unui bit de 1. Semnalul „baleiază” între +12 V şi –12 V, „zona
moartă” dintre +3 V şi –3 V având rolul de a absorbi zgomotul liniei.
Biţii sunt transmişi în logică inversată: adică, 1 pentru voltaj negativ şi 0
pentru voltaj pozitiv, şi în ordine inversă. Ordinea de transmisiune este de la LSB
(Least Significant Bit) către MSB (Most Significant Bit). Pentru a interpreta biţii de
date dintr-un cadru, aceştia trebuie citiţi de la dreapta la stânga şi trebuie considerat 1
pentru voltaj negativ şi 0 pentru voltaj pozitiv.
Porturile seriale se bazează pe un controler special, denumit UART (Universal
Asynchronous Receiver/Transmitter), pentru a efectua transmisiunea. UART-ul preia
informaţia în format paralel de la procesor şi o serializează cu scopul de a o transmite
pe portul serial. UART-ul este un dispozitiv folosit pentru a purta cea mai mare parte
a protocolului transmisiunii seriale.

2.3. Parametrii transmisiunii seriale

Parametrii folosiţi pe durata unei comunicaţii seriale (RS-232) includ


următoarele valori: bits-per-character (bpc, biţi per caracter), bits-per-second (bps, biţi
per secundă), baud rate (rata de baud), informaţie de paritate, biţi de start, stop şi Mark.
Biţii pe secundă reprezintă numărul de biţi de informaţie (0 sau 1) care sunt
transmişi într-o secundă pe linia de comunicaţie.
Viteza maximă de transmisiune. Cunoscând structura unui cadru şi
semnificaţia ratei de baud, aşa cum rezultă ea din comunicaţia serială, se poate calcula
rata maximă de transfer, în caractere pe secundă, pentru o conexiune dată. Această
rată nu este altceva decât rata de baud împărţită la numărul de biţi pe cadru. Dacă
transmisia se face cu 9.600 baud se obţin 9.600/11 = 872 caractere pe secundă.
Aceasta este rata maximă de transfer şi este posibil ca unul din dispozitive sau linia de
comunicaţie să nu fie în stare să atingă această rată.
Un bit de start semnalează începutul fiecărui cadru al unui caracter. Bitul de
start are mereu valoarea 0 (Space), făcând, de fapt, o tranziţie de la semnalul negativ
(Mark) la cel pozitiv (Space) la începutul fiecărui octet. Durata sa în secunde este
reciprocă ratei de baud. Dacă, de exemplu, dispozitivul transmite la o rată de 9.600 de
baud, durata bitului de start şi a fiecărui bit următor va fi de aproximativ 0,104 ms.
Astfel, întregul cadru de 11 biţi va fi transmis în aproximativ 1,146 ms. Când linia
este în repaus, transmite semnale Mark, adică, transmite valori de 1 continuu.
Biţii per caracter (bpc) indică numărul de biţi utilizaţi pentru a reprezenta un
singur caracter. Acest număr nu conţine şi informaţia de sincronizare şi paritate.
Atunci când se foloseşte cuvântul de 7 biţi, se pot transmite numai primele 128 de
88 Arhitectura sistemelor de calcul – lucrări practice

caractere (0–127) ale setului de caractere ASCII. Fiecare dintre aceste caractere este
reprezentat prin 7 biţi. Setarea cu 8 biţi pe caracter este folosită pentru a transmite
setul extins de caractere ASCII (128–255). Fiecare dintre aceste caractere poate fi
reprezentat folosindu-se 8 biţi.
Un bit de paritate opţional urmează biţii de date în cadru. Bitul de paritate,
dacă este prezent, urmează, de asemenea, logica inversă: 1 pentru voltaje negative şi 0
pentru voltaje pozitive. Acest bit a fost inclus ca o metodă de detecţie a erorilor. Se
specifică la început dacă paritatea este pară sau impară. Bitul de paritate poate avea
una dintre specificaţiile următoare:
 None (fără paritate): specifică faptul că sistemul local nu trebuie să creeze
un bit de paritate pentru fiecare caracter transmis. Indică, de asemenea,
faptul că sistemul receptor nu verifică paritatea, dacă ea nu a fost setată de
sistemul care a transmis informaţia.
 Even (par): specifică faptul ca numărul total de biţi de 1 dintr-un singur
caracter, împreună cu bitul de paritate, trebuie să fie un număr par. Aceasta
înseamnă că dacă numărul biţilor de 1 din cuvânt este impar valoarea
bitului de paritate va fi 1. Altfel, dacă numărul biţilor de 1 este deja par, el
va lua valoarea 0.
Exemplu. Dacă se doreşte transmiterea literei a – 1100001 în binar – va
produce adăugarea după biţii corespunzători lui a un 1, adică, 11000011, unde ultima
cifră scrisă cu bold este informaţia de paritate. Similar, la transmiterea lui A –
1000001 în binar – bitul de paritate va fi 0, păstrând astfel numărul total al biţilor de 1
ca fiind par, adică, 10000010.
 Odd (impar): funcţionează similar variantei pare, cu excepţia că numărul
total de 1, împreună cu bitul de paritate, trebuie să fie impar.
 Bit filling (umplere cu biţi): specifică faptul că bitul de paritate va fi
întotdeauna 0. Termenul se explică prin faptul că această metodă se
foloseşte în transmisiunile de cuvinte de 7 biţi către un dispozitiv care
acceptă numai cuvinte de 8 biţi (cei 7 biţi + bitul de Space).
Ultima parte a cadrului constă din bitul sau biţii de stop. Pot exista 1 sau 2
biţi de stop. Aceşti biţi sunt întotdeauna reprezentaţi de o tensiune negativă. Dacă nu
se mai transmit alte caractere, linia rămâne cu acest semnal: condiţia de Mark.
Transmisia următorului caracter, dacă acesta există, începe cu un bit de start pozitiv
(Space). Bitul de stop este forţat să fie un bit Idle, pentru a câştiga timp în procesarea
informaţiei primite.

2.4. Compresia MNP5

Algoritmul Run-Length-Coding (RLC) este un algoritm simplu de compresie


a datelor, în care şiruri (runs) de informaţii consecutive cu aceeaşi valoare sunt codate
prin valoarea respectivă (care se repetă) şi un numărător, care indică de câte ori s-a
repetat valoarea respectivă.
Exemplu. Şirul de caractere: aaaaaaaaaaaxeeeeeeeommmmmmmmmmm
poate fi codat astfel: 11ax7eo11m. Se folosesc, deci, numai 10 caractere în loc de 31.
Compresia RLC se utilizează în compresia de imagini, în special la compresia
transmisiunulor prin fax (foarte populare în trecut), care sunt imagini alb-negru cu
multe zone de alb, fiind foarte eficientă în acest caz. Nu este foarte eficientă în cazul
compresiei de imagini în tonuri continue (fotografii). Este o compresie fără pierderi,
iar versiunile mai avansate codează similar (numărător + informaţie) grupuri de
caractere repetitive.
L4a: Studiul tehnicilor de transmisiune serială 89

Compresia MNP5 (Microcom Network Protocol 5) include două tipuri de


prelucrări efectuate în scopul realizării compresiei asupra fluxului datelor transmise.
Prima dintre acestea este o versiune a algoritmului RLC, în care şirurile de 3
sau mai multe caractere repetitive sunt comprimate prin inserarea unui numărător
după fiecare al treilea caracter dintr-un şir şi prin înlăturarea tuturor caracterelor care
se repetă de cel puţin trei ori la rând. Dacă şirul de caractere repetitive are lungimea 3,
numărătorul ia valoarea 0, după care valoarea lui va fi incrementată în funcţie de
numărul repetărilor întâlnite (cu o unitate la fiecare repetare a caracterului care a avut
deja 3 apariţii în şir). Valoarea maximă pe care o poate lua numărătorul este de 250.
Rezultatului produs de algoritmul RLC, precum şi altor caractere din fluxul de
date, i se aplică o a doua prelucrare, care constă dintr-o tehnică adaptivă de codare
în funcţie de frecvenţa caracterelor. Această tehnică înlocuieşte fiecare caracter de 8
biţi printr-o marcă de compresie. Marca folosită depinde de frecvenţa de apariţie a
caracterului curent, astfel încât caracterele cele mai frecvente sunt înlocuite cu mărci
scurte. Se foloseşte o marcă alcătuită din două părţi. Prima parte a mărcii, numită
antet (header), are 3 poziţii şi permite definirea unei lungimi variabile până la 8 biţi.
Cea de-a doua parte reprezintă corpul propriu-zis al mărcii de lungime variabilă,
lungime indicată de antetul mărcii.
Există trei excepţii de la regula care spune că antetul mărcii indică lungimea
corpului acesteia. Două dintre mărci (primele) au antetul 000, cu toate că lungimea
corpului lor este 1 şi ultima marcă, deşi indică o lungime de 7 biţi pentru corp (111),
are corpul format din 8 biţi de 1.
La iniţierea compresiei, frecvenţele de apariţie pentru toate cele 256 de
caractere ale setului ASCII sunt zero. Totuşi, caracterul cu valoare zecimală 0 se
consideră cel mai frecvent, beneficiind de cea mai scurtă marcă. Caracterele cu valori
zecimale crescătoare sunt reprezentate prin mărci succesive, astfel încât caracterul
11111111 (valoare zecimală 255) se presupune a fi cel mai puţin frecvent.
La parcurgerea textului pentru compresie, fiecare caracter va fi înlocuit mai
întâi prin marca aferentă, după care frecvenţa lui de apariţie va fi incrementată cu o
unitate. Dacă, în felul acesta, caracterul respectiv depăşeşte în frecvenţă de apariţie
caracterul cu cea mai scurtă marcă, atunci cele două caractere vor face schimb de
mărci. Procedura decurge similar pentru caracterele următoare, care, în funcţie de o
apariţie mai frecventă, vor primi mărci mai scurte. Procesul se repetă până când nu
mai este necesară nicio schimbare de mărci. În acest moment, corespondenţa dintre
caractere şi mărci este corect adaptată frecvenţelor relative de apariţie ale caracterelor.
În anexă sunt prezentate mărcile folosite pentru compresia MNP5.
După cum s-a mai spus, şirurile cu 3 sau mai multe caractere repetitive sunt
înlocuite cu şiruri de 4 caractere codate RLC. Primele 3 caractere sunt cele care se
repetă, iar cel de-al patrulea este numărătorul de repetări. Cu toate că numărătorul şi
caracterele repetitive se transformă în mărci, numărătorul nu se utilizează la creşterea
frecvenţei de apariţie a caracterului în cauză.
În procesul de compresie, caracterele se codează prin mărci a căror lungime
variază între 4 şi 11 biţi. Deoarece calculatoarele lucrează pe octeţi, la un şir transmis
se va adăuga un număr de biţi suplimentari, pentru a ajunge la o lungime egală cu un
multiplu de 8. În acest scop, emiţătorul inserează o marcă specială în fluxul de date
după ultima marcă utilizată. Această marcă suplimentară are structura 11111111111,
după care se mai adaugă un număr de biţi de 1 pentru „rotunjirea” numărului de
caractere la un multiplu de 8 biţi.
Rata de compresie se calculează ca raportul între numărul biţilor folosiţi
iniţial pentru stocarea unui text şi numărul biţilor la care s-a ajuns după codare.
90 Arhitectura sistemelor de calcul – lucrări practice

2.5. Tipuri de codări

Un semnal digital este un semnal discontinuu, care îşi schimbă starea în paşi
discreţi. O formă populară de codare digitală este cea binară, adică, cea în care există
două stări posibile între care semnalul alternează. Stările diferite de tensiune sunt
reprezentate prin voltaje diferite. Codarea se referă la sursa de informație care emite.
Non Return to Zero (NRZ) reprezintă un tip de codare în care biţii de 0 şi de 1
sunt codaţi fiecare cu niveluri diferite de tensiune (vezi figura 5), fără a trece prin 0
între doi biți identici. Durata de transmitere a unui bit este mereu aceeaşi. Nivelul
ridicat de tensiune reprezintă un 1, în timp ce nivelul scăzut reprezintă un 0.
Există posibilitatea pierderii sincronizării pentru şiruri lungi de 0 sau de 1.

Fig. 5. Codarea NRZ (Non Return to Zero).

Codarea Return to Zero (RZ) foloseşte doar jumătate din durata transmiterii
unui bit pentru a marca biţii de 1 (vezi figura 6). După această perioadă egală cu
jumătatea transmiterii unui bit, semnalul „se întoarce” la nivelul de 0.
Pierderi ale sincronizării pot apărea atunci când se transmit şiruri lungi de 0.

Fig. 6. Codările RZ (Return to Zero) – mijloc și NRZI (Non Return to Zero Invert) – jos.

Codarea Non Return to Zero Invert (NRZI) alocă o tranziţie de un anumit


sens biţilor de 1, în mod alternativ, şi lipsa tranziţiei în cazul biţilor de 0 (vezi figura 6).
Pentru secvenţe lungi de biţi de 0, există riscul pierderii sincronizării.
L4a: Studiul tehnicilor de transmisiune serială 91

2.6. Tipuri de modulaţii numerice (binare)

Modulaţia se referă la canalul de transmisiune și este procesul prin care se


facilitează transferul informaţiei de-a lungul unui mediu de transmisiune fizic.
Informaţia poate fi analogică (situaţie în care semnalul are o formă continuă,
adică, poate lua orice valoare între un minim şi un maxim al semnalului) sau digitală,
în care un semnal numeric modulează o purtătoare continuă. Semnalul analogic poate
fi adus la o formă digitală prin discretizare şi cuantizare. Semnalele transmise wireless
sunt semnale analogice, în timp ce semnalele transmise pe fir pot fi atât analogice cât
şi digitale. Comunicaţiile care se produc între dispozitivele legate la un calculator şi
calculatorul însuşi (inclusiv comunicaţiile din interiorul unui calculator) sunt digitale.
Modulaţia digitală sau numerică poate fi considerată ca o conversie analog-digitală a
unui semnal. Mai departe, se vor studia doar modulații digitale binare.
Modulația cu schimbare de amplitudine sau Amplitude Shift Keying (ASK)
este o formă de modulaţie binară care reprezintă informaţia digitală ca variaţii în
amplitudine (în două trepte) ale unei purtătoare. Amplitudinea unei purtătoare
analogice variază în acord cu şirul de biţi al semnalului digital (vezi figura 7). Nivelul
de amplitudine va ilustra transmiterea unui bit de 0 sau de 1 (biţii se transmit cu
amplitudini diferite, păstrând frecvenţa constantă). Un tip particular de modulaţie
ASK este modulaţia ON/OFF Switch (OOS), care afişează biţii de 1 printr-un semnal
care marchează prezenţa purtătoarei, iar biţii de 0 prin absenţa purtătoarei.
Ca orice modulaţia în amplitudine, modulația ASK este sensibilă la zgomot,
datorită caracterului aditiv al zgomotului prezent de obicei pe canal, şi din acest motiv
este mai puţin folosită decât alte modulaţii.

Fig. 7. Modulaţia ASK (Amplitude Shift Keying).

Modulaţia cu schimbare de frecvenţă sau Frequency Shift Keying (FSK)


este des folosită, pentru că este mai tolerantă la zgomot (vezi figura 8). În loc de a
modula un semnal sinusoidal schimbându-i amplitudinea, este posibil ca acesta să fie
modulat schimbându-i frecvenţa, tot în două trepte, după semnalul digital de date. În
reprezentare binară, biţii de 0 şi 1 au în corespondenţă semnale de frecvenţe diferite.
Modulaţia cu schimbare de fază (binară) sau (Binary) Phase Shift Keying
(B)PSK modifică faza purtătoarei, tot în două trepte, în funcţie de valoarea biţilor
semnalului digital. Modulaţia în fază este foarte des folosită, asemeni modulaţiei în
frecvenţă, datorită protecției bune asigurate împotriva perturbațiilor.
Modulaţia în fază funcţionează astfel (vezi figura 9): faza se schimbă cu 180
la întâlnirea bitului de 1, şi cu 0 (deci faza nu se schimbă) la întâlnirea bitului de 0.
92 Arhitectura sistemelor de calcul – lucrări practice

Fig. 8. Modulaţia FSK (Frequency Shift Keying).

Fig. 9. Modulaţia BPSK (Binary Phase Shift Keying).

Modulaţia cu schimbare de fază în cuadratură sau Quadrature Phase Shift


Keying (QPSK) codează, în loc de bit cu bit, pe grupuri de câte doi biţi, schimbând
faza la fiecare grup în 4 trepte, cu 0, 90, 180 şi 270, astfel (vezi figura 10):

Defazaj () Grup de biţi


0 00
90 01
180 11
270 10

Fig. 10. Modulaţia QPSK (Quadrature Phase Shift Keying).

3. Descrierea aplicaţiei

Aplicaţia care studiază transmisiunea serială, realizată în mediul de dezvoltare


.NET, este structurată pe capitole, al căror grad de dificultate creşte progresiv, pentru
a permite la început familiarizarea cu aplicaţia şi apoi însuşirea mai rapidă a
cunoştinţelor de bază. Capitolele sunt reduse la cea mai simplă situaţie posibilă, cu
exemple de dimensiuni reduse, pentru a facilita înţelegerea mai bună a noțiunilor.
Capitolele aplicaţiei sunt: transmisiunea sincronă, transmisiunea asincronă,
parametrii transmisiunii seriale, compresia MNP5, tipurile de codări şi de modulaţii.
Structura ferestrelor care ilustrează capitolele este următoarea (vezi figura 11).
În partea de sus, există un câmp în care pot fi introduse caractere de la tastatură. După
caz, există parametri care pot fi configuraţi sau opţiuni disponibile.
Există, de asemenea, un buton care declanşează prelucrarea informaţiei
(convertirea textului în format binar şi afişarea semnalului), situat în dreapta-sus şi
denumit Generează. În partea de jos şi de centru a ferestrei sunt afişate rezultatele
(formele semnalelor, biţii cu semnificaţii speciale etc.).
Figurile 2 şi 5–10 fac parte tocmai din opţiunile prezente în meniul aplicației.
L4a: Studiul tehnicilor de transmisiune serială 93

Fig. 11. Meniul principal al aplicaţiei de studiu al tehnicilor de transmisiune serială.

3.1. Transmisiunea sincronă

Pentru transmisiunea cu semnal de sincronizare (vezi figura 12) este afişat


semnalul de sincronizare transmis pe un fir separat, care dictează receptorului când să
citească următorul bit, în timp ce la transmisiunea cu caractere de sincronizare (vezi
figura 13) se transmite de două ori la început un caracter special (echivalentul binar al
caracterului syn), cu ajutorul căruia se face sincronizarea.
Direcţia transmisiunii indică ordinea în care biţii sunt transmişi şi, deci,
recepţionaţi.

Fig. 12. Ilustrarea transmisiunii seriale sincrone cu semnal de sincronizare.


94 Arhitectura sistemelor de calcul – lucrări practice

Fig. 13. Ilustrarea transmisiunii sincrone cu caracter de sincronizare.

În ceea ce priveşte ordinea biţilor din cuvânt, transmisiunea se face începând cu


LSB. Pentru consistenţa lucrării, caracterele care pot fi scrise pe 7 biţi sunt scrise pe 8
biţi, prin adăugarea unu 0 care nu schimbă valoarea caracterului (în plus, acest lucru
este folosit şi în practică pentru a putea comunica numai cu dispozitivele care pot citi
doar cuvine pe 8 biţi).

3.2. Transmisiunea asincronă

Capitolul ilustrează formarea cadrului de biţi, necesar pentru sincronizare.


Informaţia de sincronizare nu mai este transmisă nici pe o altă linie, nici doar la
începutul blocului de date. Sincronizarea se face separat, pentru fiecare caracter.
Fiecare caracter este transformat în binar şi i se adăugă informaţia de sincronizare şi
de paritate.
Cadrul este format astfel: bitul de start (care este întotdeauna un bit de 0) +
biţii (octetul) de date/informaţie (echivalentul în binar al caracterului introdus de la
tastatură) + bitul de paritate (folosit pentru detecţia simplă a erorii, calculat pe baza
numărului biţilor de 1 din biţii de informație) + bitul/biții de stop (unul sau doi, dintre
care ultimul este întotdeauna 1).
Fiecare caracter introdus de la tastatură este scris pe 8 biţi (chiar dacă pentru
scrierea lui sunt necesari numai 7 biți, se adaugă un 0 care nu schimbă valoarea
caracterului, pentru că există dispozitive care ştiu să lucreze numai cu cuvinte pe 8
biţi. Acest procedeu se numeşte bit stuffing.
Paritatea folosită este una pară. Suma biţilor de 1 din biţii de date/informaţie,
împreună cu bitul de paritate, este un număr par. În dreptul fiecărui bit cu semnificaţie
specială în împachetarea caracterelor în cadre, folosită în transmisiunea serială, există
câte un text explicativ, marcat prin culori diferite (vezi figura 14).
L4a: Studiul tehnicilor de transmisiune serială 95

Fig. 14. Ilustrarea formării cadrelor pentru transmisiunea asincronă.

3.3. Parametrii transmisiunii seriale

Acest capitol este extensia capitolului anterior. Este un capitol interactiv şi


configurabil. Informaţiile care apar sub reprezentarea grafică (vezi figura 15) au
nevoie de următoarele precizări:
 se aleg valori pentru: viteza transmisiunii (în bps), tipul parității (pară sau
impară) și numărul biților de stop (1 sau 2), biții de date fiind întotdeauna 8;
 durata transmisiunii unui bit se calculează în funcţie de viteza de transmisiune;
 numărul de caractere pe secundă reprezintă numărul de caractere ASCII
transmis pe durata unei secunde (se ţine cont în calcul de biţii de informaţie şi
se ignoră informaţia de sincronizare şi paritate);
 durata transmisiunii întregului text se referă la tot textul introdus, fără a se ţine
cont de recomandarea de a se introduce un număr maxim de 6 caractere.

Fig. 15. Ilustrarea calculului parametrilor la formarea cadrelor pe baza setărilor făcute de utilizator.
96 Arhitectura sistemelor de calcul – lucrări practice

3.4. Compresia MNP5

Capitolul ilustrează compresia folosind standardul MNP, clasa a 5-a. Modul de


lucru cu acest capitol este simplu, dar interpretarea rezultatelor necesită mai multă
atenţie (vezi figura 16).

Fig. 16. Ilustrarea compresiei MNP5.

Text necodat afişează textul introdus de utilizator în format binar. Fiecare


caracter este scris pe 8 biţi.
Text codat MNP5 este textul asupra căruia s-a aplicat prelucrarea necesară
pentru codare (după cei doi pași: algoritmul RLC și înlocuirea cu marca de
compresie). Caracterele sunt scrise acum folosindu-se mărcile aferente, aşa cum este
descris în partea teoretică a lucrării. Mărcile caracterelor sunt separate prin spaţiu.
Text codat MNP5 (detaliere) prezintă situaţia anterioară dintr-o perspectivă
mai amănunţită. Fiecare marcă este precedată de caracterul pe care îl comprimă. La
prima apariţie, un caracter este comprimat cu marca implicită. La a doua și apoi la
următoarea apariţie, el primeşte de fiecare dată o nouă marcă mai scurtă.
Exemplu. Se transmite şirul aaaeebb. Când este întâlnit a doua oară, caracterul
a primeşte o marcă mai scurtă. După trei repetiţii ale aceluiaşi caracter, se introduce un
contor, marcat cu [0] înainte de valoarea lui, care „numără” de câte ori apare
(consecutiv) în plus caracterul care deja s-a repetat de 3 ori. Pentru că în exemplul dat
există o succesiune de 3 caractere a, contorul are valoarea [0] (deci, niciun alt caracter a
nu urmează după prima succesiune de 3 caractere a). Contorul este scris cu marca
echivalentă valorii de 0 din tabelul cu mărci. Caracterul e primeşte mai întâi marca
implicită, apoi o marcă mai scurtă la a doua apariţie. Pentru că şirul de caractere e este
întrerupt înainte să fie format din 3 caractere similare succesive, nu mai este necesară
apariţia contorului. Se procedează într-un mod analog pentru fiecare dintre caracterele b
următoare.
L4a: Studiul tehnicilor de transmisiune serială 97

3.5. Tipuri de codări

Capitolul de codări prezintă câteva moduri de codare a semnalului binar.


Secvenţa de codat se introduce de la tastatură, iar aplicaţia afişează formele de undă
corespunzătoare tipurilor de codări predefinite: NRZ, RZ şi NRZI (vezi figura 17).

Fig. 17. Ilustrarea tipurilor de codări.

3.6. Tipuri de modulaţii numerice

Capitolul de modulaţii este similar celui anterior. Paşii se parcurg în aceeaşi


ordine. Secvenţa de codat se introduce de la tastatură, iar aplicaţia afişează formele de
undă corespunzătoare tipurilor de modulaţii predefinite: ASK, FSK, BPSK și QPSK
(vezi figura 18).

4. Desfăşurarea lucrării

1. Se parcurge introducerea teoretică a întregii lucrări.


2. Transmisiunea sincronă
2.1. Se selectează modul de transmisiune cu semnal de sincronizare.
2.2. Se introduce secvenţa de text în câmpul disponibil, respectându-se
condiţia ca numărul de caractere să fie mai mic decât 6.
2.3. Se apăsa butonul Generează.
2.4. Se urmăreşte şi se desenează semnalul afişat (textul este convertit în
binar şi fiecare caracter este marcat pe imagine).
2.5. Se selectează modul de transmisiune cu caractere de sincronizare.
2.6. Se introduce o altă secvență în câmpul pentru text, respectându-se
condiţia ca numărul de caractere să fie mai mic decât 4, şi se apăsa
butonul Generează.
2.7. Se urmăreşte şi se desenează semnalul afişat.
98 Arhitectura sistemelor de calcul – lucrări practice

Fig. 18. Ilustrarea tipurilor de modulaţii.

3. Transmisiunea asincronă
3.1. Se introduce secvenţa de text în câmpul dedicat (cel mult 5 caractere).
3.2. Se apăsa butonul Generează.
3.3. Se urmăreşte şi se desenează semnalul afişat, notându-se valorile alese.
3.4. Se reia procedeul, alegându-se valori diferite pentru viteza
transmisiunii, tipul de paritate şi numărul biţilor de stop.
4. Parametrii transmisiunii seriale
4.1. Se alege viteza transmisiunii.
4.2. Se alege tipul de paritate (pară sau impară).
4.3. Se alege numărul biților de stop (1 sau 2).
4.4. Se introduce secvența de text în câmpul dedicat (cel mult 5 caractere).
4.5. Se apasă butonul Generează.
4.6. Se urmarește și se desenează semnalul afișat, notându-se valorile
alese și valorile calculate.
4.7. Se reia procedeul, alegându-se valori diferite pentru viteza
transmisiunii, tipul de paritate și numărul biților de stop.
5. Compresia MNP5
5.1. Se introduce secvenţa de text în câmpul dedicat (cel mult 12 caractere).
5.2. Se apăsa butonul Generează.
5.3. Se notează forma detaliată a compresiei MNP5 pentru textul ales şi
valoarea ratei de compresie obţinute. Se recomandă ca textul
L4a: Studiul tehnicilor de transmisiune serială 99

introdus să conţină mai multe caractere repetitive; pentru a fi


evidenţiat contorul, se recomandă introducerea de şiruri cu mai mult
de 3 caractere repetitive consecutive.
6. Tipuri de codări
6.1. Se introduce secvenţa de text în câmpul dedicat (cel mult 6 caractere).
6.2. Se apăsa butonul Generează.
6.3. Se urmăresc codările NRZ, RZ și NRZI, care se afişează implicit.
6.4. Se urmăresc pe reprezentare caracteristicile semnalelor şi se
desenează formele de undă obţinute.
6.5. Se repetă procedeul pentru o altă secvență de text și se notează
observațiile care pot fi făcute referitor la modificarea reprezentărilor.
7. Tipuri de modulaţii
7.1. Se introduce secvenţa de text în câmpul dedicat (cel mult 6 caractere).
7.2. Se apăsa butonul Generează.
7.3. Se urmăresc modulațiile ASK, FSK, BPSK și QPSK, care se
afişează implicit.
7.4. Se urmăresc pe reprezentare caracteristicile semnalelor şi se
desenează formele de undă obţinute.
7.5. Se repetă procedeul pentru o altă secvență de text și se notează
observațiile care pot fi făcute referitor la modificarea reprezentărilor.

5. Întrebări

1. Care este diferenţa dintre transmisiunea sincronă cu caracter de


sincronizare şi cea cu semnal de sincronizare?
2. Explicaţi modul de formare al cadrului de biţi la transmisiunea asincronă.
3. Definiţi parametrii unei transmisiuni seriale şi unităţile lor de măsură.
4. Explicaţi semnificaţia stărilor Space şi Mark folosite în standardul RS-
232.
5. Explicaţi modul de alocare dinamică al frecvenţelor de apariţie pentru
caracterele ASCII în compresia MNP5.
6. Comparaţi tipurile de codare NRZ, RZ şi NRZI după criteriul
sincronizării.
7. Care sunt avantajele tipurilor de modulaţie numerică faţă de cele
analogice?
8. De ce credeți că modulația ASK este cea mai sensibilă la perturbații?
9. Ştiind că echivalentul în binar (în cod ASCII) al caracterului e este
1100101, cum va arăta cadrul de biţi format după adăugarea biţilor de start, paritate şi
stop? Indicaţie. Se va efectua bit filling şi se va considera paritatea pară. Dar dacă se
folosesc doi biţi de stop şi paritate impară?
10. Cât va dura transmiterea asincronă a textului laborator, dacă i se aplică un
bit de paritate şi un bit de stop, la viteza de 9.600 bps? Dar la viteza de 4.800 bps?
11. Să se calculeze rata maximă de transfer la o transmisiune serială care
foloseşte pentru împachetare un bit de start şi un bit de stop, la rata de baud de 9.600.
12. Să se calculeze rata maximă de transfer la o transmisiune serială care
foloseşte pentru împachetare un bit de start, un bit de paritate şi doi biți de stop, la rata
de baud de 19.200.
13. Cum va arăta textul eeevvvvmm codat după standardul MNP5? Identificaţi
în textul codat mărcile curente ale caracterelor. Indicaţie. Se va folosi anexa
platformei.
100 Arhitectura sistemelor de calcul – lucrări practice

14. Indicați o secvență de text pentru care raportul de compresie MNP5 este
supraunitar și o altă secvență pentru care raportul de compresie MNP5 este subunitar.
În ce condiții compresia MNP5 este eficientă?
15. Efectuaţi pe hârtie o codare NRZI pentru secvenţa de biţi 0110010101111
00001100101 şi verificaţi rezultatul obţinut cu cel furnizat de către aplicaţie.
16. Repetați punctul anterior pentru codările NRZ și RZ.
17. Desenaţi tipurile de modulaţii ASK şi FSK pentru secvenţa de biţi
011001010111100001100101.
18. Desenaţi tipurile de modulaţii BPSK şi QPSK pentru secvenţa binară
anterioară.

Anexă. Mărcile inițiale folosite pentru compresia MNP5

Valoare Marcă: 22 1000110 45 10101101 -


ASCII
zecimală antetcorp

0 0000 23 1000111 46 10101110 .

1 0001 24 1001000 47 10101111 /

2 0010 25 1001001 48 10110000 0

3 0011 26 1001010 49 10110001 1

4 01000 27 1001011 50 10110010 2

5 01001 28 1001100 51 10110011 3

6 01010 29 1001101 52 10110100 4

7 01011 30 1001110 53 10110101 5

8 011000 31 1001111 54 10110110 6

9 011001 32 10100000 spc 55 10110111 7

10 011010 33 10100001 ! 56 10111000 8

11 011011 34 10100010 " 57 10111001 9

12 011100 35 10100011 # 58 10111010 :

13 011101 36 10100100 $ 59 10111011 ;

14 011110 37 10100101 % 60 10111100 <

15 011111 38 10100110 & 61 10111101 =

16 1000000 39 10100111 ' 62 10111110 >

17 1000001 40 10101000 ( 63 10111111 ?

18 1000010 41 10101001 ) 64 110000000 @

19 1000011 42 10101010 * 65 110000001 A

20 1000100 43 10101011 + 66 110000010 B

21 1000101 44 10101100 , 67 110000011 C


L4a: Studiul tehnicilor de transmisiune serială 101

68 110000100 D 99 110100011 c

69 110000101 E 100 110100100 d

70 110000110 F 101 110100101 e

71 110000111 G 102 110100110 f

72 110001000 H 103 110100111 g

73 110001001 I 104 110101000 h

74 110001010 J 105 110101001 i

75 110001011 K 106 110101010 j

76 110001100 L 107 110101011 k

77 110001101 M 108 110101100 l

78 110001110 N 109 110101101 m

79 110001111 O 110 110101110 n

80 110010000 P 111 110101111 o

81 110010001 Q 112 110110000 p

82 110010010 R 113 110110001 q

83 110010011 S 114 110110010 r

84 110010100 T 115 110110011 s

85 110010101 U 116 110110100 t

86 110010110 V 117 110110101 u

87 110010111 W 118 110110110 v

88 110011000 X 119 110110111 w

89 110011001 Y 120 110111000 x

90 110011010 Z 121 110111001 y

91 110011011 [ 122 110111010 z

92 110011100 \ 123 110111011 {

93 110011101 ] 124 110111100 |

94 110011110 ^ 125 110111101 }

95 110011111 _ 126 110111110 ~

96 110100000 ` 127 110111111

97 110100001 a 128 1110000000

98 110100010 b

S-ar putea să vă placă și