You are on page 1of 29

Cap.

4 Interfee seriale

Teletransmisii de date

4
INTERFEE SERIALE
4.1. Introducere
Interfaa serial RS-232 este unul din cele mai rspndite
echipamente periferice. Dup cum i spune i numele, transmisia i recepia
se face bit cu bit, necesitnd doar un singur fir pentru transmisie. RS-232
este un standard, n sensul c toate modelele de calculatoare i majoritatea
instrumentelor de msur o nglobeaz. A fost standardizat de ctre EIA
(Electronics Industries Association) n anul 1962. Aa cum a fost el
conceput, standardul permite comunicaii doar pe distane scurte (pn n
20 m) i viteze de transfer de maxim 19600 bps (bps nseamn bii pe
secund). Ulterior s-au dezvoltat i alte standarde (RS-422, RS-485, RS449) ce permit fie distane mai mari ntre emitor i receptor, fie viteze mai
mari fie mai multe dispozitive conectate pe acelai cablu. De exemplu RS422 permite pn la 10Mbs i distane de pn la 1.6 km.
Datele seriale pot fi transmise sincron (clocked) sau asincron (nonclocked). Dac interfeele menionate mai sus sunt asincrone, exist i
interfee sincrone (I2C, SPI), acestea fiind destinate n general distanelor
scurte i iterfarii unor periferice cu microprocesoarele.
4.2. Interfaa serial standard RS-232
4.2.1. Caracteristici electrice
Caracteristicile electrice definesc tensiunile minime i maxime ale
strilor logice, semnalele i semnificaiile lor i conectorii.
a) tensiunile de linie
Bit de
start

+25V

Bit de
paritate

7 bii de date (caracterul A)

Bii de
stop
0

+12V
+3V
-3V
-12V
-25V

0V
1
inactiv

Fig. 4.1. Nivelele de tensiune ale interfeei RS232

42

Cap. 4 Interfee seriale

Teletransmisii de date

Nivel 1 logic este corespunztor tensiunilor ntre -3V i -25V, dar


tipic, este valoarea de -12V. Nivelul 0 logic corespunde tensiunilor situate
ntre 3V i 25V, tipic fiind valoarea de 12V. Orice valoare ntre -3V i 3V
nseamn stare nedeterminat. Cnd nu exist impulsuri transmise linia st
n 1 logic (-12V). O tensiune de 0V nseamn c linia este ntrerupt sau
exist un scurtcircuit. Figura urmtoare ilustreaz un exemplu de transmisie
pe interfaa serial RS-232. Tabelul urmtor sintetizeaz caracteristicile
electrice ale interfeei.
Tabelul 4.1.

SPECIFICAII

RS-232

Mod de lucru

single - ended

Numrul total de emitoare i receptoare pe o linie


Lungimea maxim a cablului
Rata maxim de transmisie
Tensiunea maxim / minim
Nivelul de semnal de ieire (ncrcare
ncrcat
Min.)
Nivelul de semnal de ieire (Fr
nencrcat
ncrcare Max)
Impedana de ieire a emitorului (Ohms)
Curentul maxim de ieire n starea de
alimentat
nalt impedan
Curentul maxim de ieire n starea de
nealimentat
nalt impedan
Slew Rate (Max.)
Gama tensiunilor de intrare
Sensitibilitatea de intrare a receptorului
Rezistena de intrare a receptorului (Ohms)

1 emitor
1 receptor
25m
20kb/s
+/-25V
+/-5V to +/-15V
+/-25V
3k to 7k
N/A
+/-6mA @ +/-2v
30V/uS
+/-15V
+/-3V
3k to 7k

b) conectori
Interfaa RS-232 are dou tipuri de conectori disponibili: DB25S i
DB9S. Primul asigur funcionalitatea total a interfeei n timp ce al doilea
asigur un spaiu minimal pentru instrumentaia tot mai redus n
dimensiuni. Figura urmtoare prezint cele dou conectoare i alocarea
pinilor.
Semnalele RS-232 sunt mprite n 3 categorii:
- date (TxD, RxD). Sunt dou canale de date care permit comunicaii fullduplex.
43

Cap. 4 Interfee seriale

Teletransmisii de date

Fig. 4.2. Conectorii specifici interfeei RS232

- controlul comunicaiei (RTS, CTS). Aceste semnale furnizeaz suportul


prin care se controleaz traficul datelor.
- timing (TC, RC). Pentru comunicaii sincrone este necesar transmiterea
unui semnal de tact pentru sincronizarea receptorului cu emitorul.
Setul complet de semnale ale interfeei RS-232D sunt adunate n
tabelul urmtor mpreun cu numrul pinului corespunztor conectorului
Db25. DTE nseamn Data Terminal Equipment iar DCE nseamn Data
Circuit termination Equipment i definesc care dispozitiv i pe care fir
transmite. DTE poate fi de exemplu un calculator PC iar DCE poate fi un
instrument de msur interfaabil.
Tabelul 4.2.

Pin
DB25
Semnalul
1
FG

2
3
4

TD sau TxD
Rd sau RxD
RTS

spre DCE
spre DTE
spre DCE

CTS

spre DTE

DSR

spre DTE

Direcia

44

Funcia
Frame ground - nveli de
protecie, ecran
Transmisie date
Recepie date
Request to send cerere de
transmisie
Clear to send liber pentru
transmisie
Data set ready Dset de date

Cap. 4 Interfee seriale

Teletransmisii de date

7
8
9
10
11
12

SG
DCD
SDCD

13

SCTS

14

STD

15

TC

16

SRD

17

RC

18

DCR

19

SRTS

20

DTR

21

SQ

22

RI

23

DSRS

24

TC

spre DTE
spre DTE

pregtit. Similar cu CTS doar c


este activat DCE.
Signal ground Masa semnal
Detcie semnal recepionat

Detecie semnal recepionat


secundar/selecie rat (generat
de DCE)
spre DTE
Secondary Clear to send Liber
pentru transmisie secundar
spre DTE
Secondary transmitted data
Transmisie date secundar
spre DTE
Transmit signal element timing
Semnal de sincronizare
utilizat
de
DTE
pentru
transmisie.
spre DTE
Secondary received data
Recepie date secundar
spre DTE
Receiver signal element timing
Semnal de sincronizare pentru
recepia datelor, generat de
DCE
spre DCE
Local loop-back (tact de
recepie divizat)
spre DCE
Secondary request o send
cerere de transmisie secudar
spre DCE
Data terminal ready terminal
de date pregtit
spre DCE
Remote loop back / signal
quality detector detector a
calitii semnalului
spre DTE
Ring indicator indic o cerere
de comunicaie. Folosit n
comunicaia cu modemul.
spre DCE / Data signal rate select selecie
DTE
rat transmisie date
spre DCE
Transmit signal element timing
Semnal de sincronizare
45

Cap. 4 Interfee seriale

Teletransmisii de date

25

TM

spre DTE

generat de DTE
Test mode Mod de test

Cel mai folosit subset de semnale este cel din tabelul urmtor:
Tabelul 4.3.

Pinul
1
2
3

Semnalul
FG
TxD
RxD

RTS

CTS

DSR

7
8

SG
DTR

Funcia
nveli de protecie, ecran, asiu
Transmisie date de la DTE la DCE
Recepie date de ctre DTE de la
DCE
DTE semnalizeaz c dorete s
trimitdate ctre DCE
DCE semnalizeaz c este gata s
primeasc date de la DTE
DCE semnalizeaz c s-a stabilit o
legtur
Masa
DTE semnalizeaz c DTE este
operaional

c) formatul datelor
n majoritatea aplicaiilor datele sunt transmise asincron sub form
de pachete, fiecare reprezentnd un singur caracter ASCII i coninnd
suficient informaie pentru a fi decodificat fr ajutorul unui semnal de
tact.
De exemplu caracterul A este reprezentat n cod ASCII ca
1000001. Pentru a o trimite prin interfaa serial ctre alt sistem trebuie s
adugm civa bii pentru a semnaliza nceputul i sfritul pachetului.
Acetia sunt bitul de start i bitul sau biii de stop. n plus se poate aduga
nc un bit pentru paritate n scopul deteciei erorilor. Una din configuraiile
cele mai folosite folosete 1 bit de start, un bit de paritate i 2 bii de stop.
Deoarece linia nefolosit se afl n 1 logic (-12V), bitul de start este
ntotdeauna 0 logic (+12V) cu durata de bit. Acesta este urmat de cei 7 bii
de date ai caracterului ASCII. Dup acetia urmeaz bitul de paritate.
Funcie de paritatea aleas (par sau impar) bitul poate fi 1 sau 0. Dac se
lucreaz cu peritate par, atunci se adaug 1 sau 0 funcie de caracter, a..
numrul de bii de 1 s fie par. n cazul paritii impare numrul de bii de 1
trebuie s fie impar. Atunci bitul de paritate se alege astfel: dac exist un
numr impar de bii de 1 n caracter atunci bitul de paritate va fi 0, iar dac
46

Cap. 4 Interfee seriale

Teletransmisii de date

exist un numr par de bii atunci bitul de paritate va fi 1 astfel nct


mpreun cu acesta s fie un numr impar. Pentru a genera acest bit sunt
necesare doar pori XOR. Un singur bit de paritate poate detecta un numr
impar de erori. Dac numrul erorilor este par atunci acestea nu se pot
detecta. n final sunt adugai cei doi bii de stop. Acetia sunt amndoi 1.
Blocul complet transmis cuprinde 11 bii. n binar blocul pentru
transmiterea lui A este 01000001011 (s-a folosit paritate par, bitul de
paritate fiind 0 deoarece codul ASCII al lui A conine 2 bii de 1). Forma
de und asociat acestei transmisii se gsete n figura 4.1.
d) configuraia hardware
Odat cu primul microprocesor Intel a dezvoltat o serie de periferice
ce includea i o interfa UART. Acesta este I8251. Completarea interfeei
se face cu dou circuite adaptoare de nivel 75150 respectiv 75154. Schema
electric este prezentat n figura 4.3. Cele dou adaptoare necesit
alimentri de 12V pentru obinerea celor dou nivele logice specifice
interfeei RS-232.

Fig. 4.3. Structura hardware a unei interfee RS-232

ntr-un sistem cu microprocesor datele sunt verificate sub form


paralel. Pentru serializarea lor se folosesc regitri de deplasare att la
emisie ct i la recepie. Diferena const n faptul c la emisie datele sunt
ncrcate paralel i apoi deplasate serial ctre linia TxD (figura 4.4. a), iar la
emisie acestea se primesc serial n registrul de deplasare i sunt preluate
apoi paralel n sistem (figura 4.4. b).
47

Cap. 4 Interfee seriale

Teletransmisii de date

Q07
LD Registru Memorare
D07
LD
Baud
Clk
Rate

Registru
Combinat
D07

SO

RxD

TxD

Registru Combinat
Baud
SI
Clk
Rate
D07

a)

b)

Fig. 4.4. a) conversia paralel-serie; b) conversia serie-paralel

Logic de
Control
Scriere / Citire

RxC

Control
Modem

Fig. 4.5. Schema bloc a interfeei UART I-8251

48

SYNDET

RxD

RxRDY

Control
Recepie

DSR
DTR
CTS
RTS

Tampon
Magistral de
Date

Tampon
Recepie
Date

CS

TxE

TxC

Control
Transmisie

Reset
Clk
C/D
RD
WR

TxRDY

Tampon
Transmisie
Date

D07

TxD

Un exemplu reprezentativ de interfa serial programabil este


circuitul I-8251 produs de Intel (figura 4.5). Circuitul are o interfa
compatibil cu microprocesoarele Intel prezentnd 3 magistrale pentru
interfaarea cu acestea: magistrala de date (D07), magistrala de adrese CS i
magistrala de control (Clk, Reset, RD , WR , C/ D .
I-8251 accept date(format ASCII) de la CPU n format paralel le
transform n ir serial i le trimite prin TxD cu rata programat. n acelai
timp recepioneaz date seriale pe RxD cu aceeai rat i le transform n
format paralel pentru a fi preluate de ctre CPU. USART va semnaliza ctre
CPU cnd poate primi un nou caracter pentru transmitere sau cnd este un
nou caracter recepionat disponibil. CPU poate citi n orice moment starea
complet a interfeei, aceasta incluznd erorile de transmisie i semnalele de
control SYNDET i TxEMPTY.

Cap. 4 Interfee seriale

Teletransmisii de date

Descrierea funcional a circuitului:


Tamponul magistralei de date este un buffer de 8 bii bidirecional de tip
3 state. Datele sunt vehiculate n timpul instruciunilor IN OUT ale CPU.
Cuvintele de control, de comand i de stare sunt de asemenea transferate
prin el.
Logica de control scriere/citire accept comenzi de la magistrala de
control a sistemului i genereaz semnalele interne de control pentru
blocurile interne. El conine Registrul cuvntului de control i Registrul
cuvntului de comand ce memoreaz diferite formate de control pentru
definirea funcional a circuitului.
Semnalele prezente pe magistrala de control sunt:
- Reset 1 logic pe aceast intrare foreaz circuitul n modul idle. Acesta
rmne aa pn ce un nou set de cuvinte de control vor fi scrise n regitrii
acestuia. Durata minim de iniializare este de 6 perioade de tact.
- Clk intrarea furnizeaz semnal de tact circuitelor interne. Semnalul de
tact trebuie s fie cel puin 30 de ori mai mare dect ratele de transmisie.
- WR - 0 logic pe aceast intrare anun circuitul c CPU scrie date sau
informaii de stare n regitrii si interni.
- RD - 0 logic pe aceast intrare anun circuitul c CPU citete date sau
informaii de stare din regitrii si interni.
- C/ D - aceast intrare este n legtur cu WR i RD . Semnalul
semnalizeaz dac informaia de pe magistrala de date este o dat sau un
cuvnt de comand / o informaie de stare: 1= control/stare, 0=data.
- CS - 0 logic pe aceast intrare selecteaz circuitul. Activarea semnalelor
de scriere / citire nu vor avea efect dect simultan cu activarea acestuia.
Tabelul urmtor prezint strile semnalelor de control la diferitele
operaii:
Tabelul 4.4.

C/ D
0
0
1
1
X
X

RD
0
1
0
1
1
X

WR
1
0
1
0
1
X

CS
0
0
0
0
0
1

Operaia
Date 8251 Magistrala de date
Magistrala de date Date 8251
Stare Magistrala de date
Magistrala de date Control
Magistrala de date 3 state
Magistrala de date 3 state

Controlul modem-ului permite un set de intrri i ieiri de control ce pot fi


folosite pentru a simplifica interfaarea cu orice modem. Ele pot fi folosite i
49

Cap. 4 Interfee seriale

Teletransmisii de date

n alte scopuri. Acestea sunt:


- DSR - Data Set Ready intrare inversoare. CPU poate testa starea
acesteia printr-o operaie de citire a strii. Ea este utilizat pentru a testa
dac exist date disponibile.
- DTR - Data Terminal Ready este o ieire inversoare. Poate fi pus n
starea 0 logic prin bitul corespunztor din cuvntul de comand. Indic
faptul c se pot primi date.
- RTS - Request to send - este o ieire inversoare. Poate fi pus n starea 0
logic prin bitul corespunztor din cuvntul de comand. Indic faptul c
echipamentul dorete s trimit date.
- CTS - Clear to send 0 logic pe aceast intrare anun I-8251s transmit
date dac bitul TxD este validat n cuvntul de comand. Dac fie Tx
Enable sau CTS trece n 1 logic, circuitul transmite ceea ce este n curs i
apoi se oprete.
Tamponul de transmisie date accept date paralele de la tamponul
magistralei de date, adaug biii suplimentari funcie de modul de
comunicaie ales i le convertete ntr-un ir de bii serial pe care l transmite
pe ieirea TxD pe frontul negativ al TxC . Transmisia ncepe atunci cnd
CTS =0.
Controlul transmisiei se ocup de activitile asociate transmisiei datelor
seriale. Accept i genereaz semnale necesare acestei operaii:
- TxRDY - Transmitter Ready aceast ieire semnalizeaz CPU c
transmitorul este gata pentru a recepiona date. Semnalul poate fi folosit ca
semnal de cerere de ntrerupere sau poate fi testat de ctre CPU prin citirea
strii. El indic faptul c registrul de date al transmitorului este gol/plin.
- TxE Transmitter Empty n modul sincron 1 logic pe aceast ieire
indic faptul c nu a fost ncrcat un caracter i c se transmit caractere de
SYNC cu scopul de a umple golul.
- TxC - Transmitter Clock - controleaz rata cu care se transmite
caracterul. n modul de transmisie sincron, rata de transmisie (Baud Rate)
este egal cu frecvena de tact pe aceast intrare. n modul asincron rata este
o fraciune a acesteia (1, 1/16, 1/64). Frontul negativ al semnalului
deplaseaz datele la ieirea TxD.
Tamponul de recepie date accept datele seriale i le convertete n
format paralel i asambleaz caracterul transmis. Datele se primesc pe
RxD i sunt validate pe frontul pozitiv al RxC .
Controlul recepiei acest bloc se ocup de controlul recepiei datelor.
Mai nti trebuie detectat un 1 valid pe linia de recepie, dup care se caut
50

Cap. 4 Interfee seriale

Teletransmisii de date

bitul de start. Aceasta se ntmpl doar n modul asincron. detecia unei


erori de paritate activeaz bitul corespunztor. Dac bitul de stop lipsete
atunci se activeaz bitul Framing error. Semnale:
- RxRDY Receiver Ready aceast ieire indic faptul c 8251 conine un
caracter i este gata pentru a-l transmite ctre CPU. Semnalul poate fi
utilizat ca o cerere de ntrerupere ctre acesta sau starea sa poate fi testat
prin citirea registrului de stare. RxEnable ine RxRDY n condiia de reset.
n modul asincron acest semnal este activat dup detectarea unui bit de start
i asamblarea caracterului n registrul de recepie.
- RxC - Receiver Clock controleaz rata cu care se recepioneaz
caracterul. n modul sincron rata este egal cu frecvena semnalului pe
aceast intrare. n modul asincron ea este o fracie din aceasta (1, 1/16,
1/64).
n majoritatea transmisiilor rata de transmisie este egal cu cea de
recepie.
- SYNDET SYNC detect / BREAK Detect n modul sincron semnalul
poate fi intrare sau ieire programabil prin registrul de control. Cnd este
ieire semnalul trece n 1 logic pentru a indica detecia caracter-ului/elor de
SYNC. Cnd este intrare un front pozitiv pe aceasta va determina 8251 s
nceap asamblarea caracterelor pe frontul urmtor al RxC . n modul
asincron ieirea trece n 1 logic dup recepia celor doi bii de stop dup ce
n prealabil au fost recepionai bitul start i cel de paritate. Poate fi citit ca
bit de stare.
Pentru a iniializa interfaa procesorul trebuie s trimit o serie de
cuvinte de comand ctre aceasta. Acestea vor programa: rata de transmisie,
lungimea caracterelor, numrul biilor de stop, lucrul sincron/asincron i
paritatea. Pentru modul de lucru asincron exist i alte opiuni suplimentare.
Cuvintele de control sunt de tipuri: instruciune de mod i instruciune de
comand. Cele dou instruciuni trebuie s urmeze o secven specific
pentru buna funcionare a interfeei (figura 4.6)
Instruciunea de mod definete caracteristicile operaionale ale
interfeei. Ea urmeaz operaiei de iniializare (Reset intern sau extern).
Odat nscris modul, CPU trebuie s nscrie caracterele de SYNC i
instruciunile de comand. Pentru a nscrie nc o dat instruciunea de mod,
bitul Reset din instruciunea de comand trebuie setat pentru a iniia un reset
intern.
- Modul asincron de transmisie: cnd un caracter este trimis de ctre CPU,
I-8251 i adaug un bit de start nainte i un bit de paritate (opional) i bitul
(biii) de stop. Biii cracterului sunt ordonai cu cel mai puin semnificativ
primul. Pachetul este trimis serial, bit cu bit, la ieirea TxD. Pachetul de date
51

Cap. 4 Interfee seriale

Teletransmisii de date
C/D=1

Instruciune de mod

C/D=1

Caracter SYNC 1

C/D=1

Caracter SYNC 2

C/D=1

Instruciune de comand

C/D=0

Date

C/D=1

Instruciune de comand

C/D=0

Date

C/D=1

Instruciune de comand

Doar n modul
SYNC. Dac s-a
programat un
singur caracter
SYNC, atunci al
doilea nu mai
exist.

Fig. 4.6. Programarea interfeei I-8251

este deplasat spre ieire pe frontul negativ al lui TxC cu o rat egal cu 1,
1/16, 1/64 din frecvena TxC , dup cum este definit n instruciunea de
D7

D6

D5

S2

S1

EP

D4

D3

D2

D1

D0

PEN L2

L1

B2

B1
Factorul ratei de transmisie
0

1
1

Mod SYNC

1X

16X

64X

Lungimea caracterului
0

1
1

5 bii

6 bii

7 bii

8 bii

Validarea paritii
1

cu paritate

fr paritate

Tipul paritii
1

par

impar

Bii de stop
0

1
1

fr

1 bit

1 bii

2 bii

Fig. 4.7. Formatul instruciunii de mod modul asincron.

mod. Cnd nu sunt de transmis caractere, I-8251 ine linia TxD n 1 logic.
- Modul asincron de recepie: Linia RxD este normal inut n 1 logic. Un
front negativ anun nceputul unui bit de start. Validitatea acestuia este
testat din nou n mijlocul perioadei de bit (doar n modurile 16X sau 64X).
Dac un nivel 0 logic este detectat din nou, atunci se consider un bit valid
52

Cap. 4 Interfee seriale

Teletransmisii de date

de start, iar numrtorul de bii de la recepie ncepe s numere. Acesta


determin ncrcarea biilor (biii de date, bitul de paritate i biii de stop)
prin eantionarea lor exact la mijlocul perioadei de bit. Dac se detecteaz o
eroare de paritate atunci fanionul de eroare de paritate (Parity error flag) va
fi setat. Eantionarea biilor are loc pe frontul pozitiv al semnalului pe
intrarea RxC . Dac se detecteaz un nivel 0 logic pe durata biilor de stop,
atunci fanionul de eroare de cadru (Framing error flag) va fi setat. Bitul de
stop anun sfritul caracterului (receptorul are nevoie doar de 1 bit de stop
indiferent de ci sunt programai). Caracterul recepionat este apoi ncrcat
n registrul tampon paralel al I-8251. Pinul RxRDY este dus n 1 logic
pentru a semnaliza CPU c s-a recepionat un caracter. Dac precedentul
caracter nua fost citit din registrul tampon, atunci urmtorul va fi
supranscris peste el. Pentru a semnaliza aceasta, fanionul de supranscriere
(OverRun Error flag) va fi setat. Toate fanioanele de eroare pot fi reset-ate
cu o instruciune de iniializare a erorilor.
- Modul sincron de transmisie: Ieirea TxD este inut n 1 logic atta timp
ct nu se trimit caractere, cnd CPU trimite primul caracter ctre I-8251
(care de regul este un caracter de SYNC). Odat cu trecerea liniei CTS n
0 logic, primul caracter etse transmis serial. Fiecare bit este deplasat ctre
ieire pe frontul negativ al lui TxC . Odat ce transmisia a nceput, datele
trebuie s succead continuu la ieirea TxD cu rata fixat de TxC . Dac
CPU nu reuete s asigure caracterele de treansmis la timp, caractere de
sincronizare (SYNC) vor fi automat inserate. Pinul TxEMPTY va fi adus n
1 logic pentru a semnaliza acest lucru i va fi reset-at odat cu primul
caracter nscris n registrul tampon de transmisie.
- Modul sincron de recepie: n acest mod sincronizarea caracterelor poate fi
realizat intern sau extern. Dac a fost programat modul SYNC, o comand
ENTER HUNT (Intrare vntoare) trebuie inclus n prima instruciune de
comand. Datele pe RxD sunt eantionate pe frontul cresctor al lui RxC .
Coninutul registrului tampon de recepie este comparat la fiecare bit
recepionat cu caracterul SYNC pn se detecteaz o potrivire. Dac au fost
programate 2 caractere de SYNC, atunci i urmtorul caracter este de
asemenea comparat. Cnd au fost detectate 2 caractere SYNC, USART iese
din modul vntoare i intr n modul de sincronizare a caracterelor. Pinul
SYNDET este dus n 1 logic i va fi reset-at automat dup o instruciune de
citire a strii. Dac transmisia este cu bit de paritate atunci SYNDET nu va
fi set-at pn la mijlocul bit-ului de paritate (n locul ultimului bit pentru
modul fr paritate). n modul de sincronizare extern, sincronizarea se face
aplicnd 1 logic pe SYNDET, fornd 8251 s ias din modul vntoare.
53

Cap. 4 Interfee seriale

Teletransmisii de date

Acest nivel va fi prsit dup un tact pe RxC . Comanda ENTER HUNT nu


are efect n modul asincron. Erorile de paritate i supranscriere se testeaz
la fel ca n modul sincron. Paritatea nu se testeaz n modul vntoare. Dac
sincronizarea s-a pierdut, CPU poate fora receptorul s intre n modul
vntoare. Aceast aciune va duce n 1 logic toi biii din registrul de
recepie pentru a preveni o detecie fals a sincronizrii. Fanionul SYNDET
este reset-at la fiecare cititre a strii. Aceasta nu cauzeaz ntparcerea 8251
n modul vntoare. Cnd interfaa se afl n modul sincronizare dar nu n
cel de vntoare, detecia sincronizrii este nc funcional dar apare doar
la terminarea cuvintelor cunoscute. Astfel, dac o citire a strii indic
SYNDET i a doua citire la fel, atunci caractere de sincronizare au fost
recepionate. n modul extern, detecia intern a sicronizarii este
dezactivata, iar fanionul de detecia a sincronizrii poate fi activat la
sfritul oricrui bit.
D7

D6

D5

SCS ESD EP

D4

D3

D2

D1

D0

PEN L2

L1

0
Lungimea caracterului
0

1
1

5 bii

6 bii

7 bii

8 bii

Validarea paritii
1

cu paritate

fr paritate

Tipul paritii
1

par

impar

Detecie SYNC extern


1

SYNDET=intrare

SYNDET=ieire

Caractere de SYNC
1

1 caracter SYNC

2 caracter SYNC

Fig. 4.8. Formatul instruciunii de mod modul sincron.

Instruciunea de comand controleaz modul de funcionare al


formatului selectat prin instruciunea de mod. Toate cuvintele de control
scrise n 8251 dup instruciunea de mod vor nsemna instruciuni de
comand. Acestea pot fi nscrise la orice moment n interfa.
Semnificaia biilor instruciunii de comand este prezentat n
figura 4.9.
54

Cap. 4 Interfee seriale

Teletransmisii de date
D7

D6

D5

EH

IR

RTS

D4

D3

D2

D1

D0

ER SBRK RxE DTR TxEN

Validarea transmisiei
1

validat

invalidat

Terminal de date pregtit


1

DTR =0

DTR =1

Validarea recepiei
1

validat

invalidat

Trimite caracterul BREAK


1

foreaz TxD n 0 logic

funcionare normal

tergere erori
1

tergere fanioane erori

Cerere de transmisie
1

RTS =0

RTS =1

Reset intern
1

reset

Modul de vntoare
1

valideaz modul vntoare

Fig. 4.9. Formatul instruciunii de comand

Formatul informaiei de stare: Pentru a putea obine informaii despre


eventualele erori aprute n timpul comunicaiei este adesa necesar citirea
strii interfeei. I-8251 permite acest lucru la orice moment. Pentru aceasta
se efectueaz o citire din interfa cu semnalul C/ D = 1 . Civa dintre bii au
semnificaii similare cu unii dintre pinii externi. TxRDY este o excepie.
Informaia de stare poate avea o ntrziere de maxim 28 de perioade
de tact fa de evenimentul ce a generat starea respectiv.
Figura 4.10 prezint semnificaia biilor cuvntului de stare. Biii D6,
D2 i D1 sunt cei care au coresponden cu semnalele externe.

55

Cap. 4 Interfee seriale

Teletransmisii de date

D7

D6

D5

D4

D3

DSR

SYN
DET

FE

OE

PE

D2

D1

D0

Tx RxRDY TxRDY
EMPTY

TxRDY diferit de pinul TxRDY.


Bitul semnific faptul c registrul
tampon de transmisie este gol, n
timp ce pinul semnific (registrul
tampon gol) AND ( CTS =0) AND
(TxEN=1).

Eroarea de paritate
1

s-a detectat eroare

nu s-a detectat

de paritate

eroare de paritate

Eroare de sepranscriere
1

CPU nu a citit toate

caracterele recepionate

Eroare de cadru
1

nu s-a detectat un bit de

stop valid

Set de date pregtit


1

indic DSR=0

Fig. 4.10. Formatul cuvntului de stare

n continuare sunt prezentate cteva moduri de utilizare a interfeei


funcie de tipul de trensmisie ales.
TxD

Adrese

EIA - TTL

RxD

Date

I-8251

Control

RxC

I-8253

TxC

Fig. 4.11. Transmisie asincron


TxD

Adrese
Date
Control

RxD

I-8251

RxC

Terminal
sincron

TxC
SYNDET

Fig. 4.12. Transmisie sincron

56

Terminal
asincron

Cap. 4 Interfee seriale

Teletransmisii de date

TxD

Adrese

RxD
Date

Modem
asincron

DSR
DTR

Control

I-8251

Interfa
cu linia
telefonic

CTS
RTS
RxC

I-8253

TxC

Fig. 4.13. Transmisie asincron prin linia telefonic


TxD

Adrese

RxD
Date

DSR
DTR

Control

I-8251

Modem
sincron

CTS
RTS

Interfa
cu linia
telefonic

RxC
TxC
SYNDET

Fig. 4.14. Transmisie sincron prin linia telefonic

Calculatoarele de tip PC au cel puin un port serial, dar de regul


sunt 2, porturi care sunt standardizate. Porturile seriale sun cunoscute sub
prescurtarea de COM i sunt numerotate cu 1, 2, 3... Tabelul urmtor
listeaz adresele regitrilor asociai celor dou porturi. Adresele de baz sunt
3F8h pentru COM1 i 2F8h pentru COM2.
Tabelul 4.5.

Adresa
de baz
+0

+1
+2

DLAB

RD/WR

Abr.

Nume

0
0

WR
RD

RD/WR

RD/WR

IER

RD/WR

RD

IIR

Registru transmitor
Registru tampon recepie
Memorie octet inferior pentru
divizorul ratei de transmisie
Registru validare ntreruperi
Memorie octet superior pentru
divizorul ratei de transmisie
Registru identificare ntreruperi

57

Cap. 4 Interfee seriale

Teletransmisii de date

+3
+4
+5
+6
+7

WR
RD/WR
RD/WR
RD
RD
RD/WR

FCR
LCR
MCR
LSR
MSR
-

Registru control FIFO


Control linie
Control modem
Registru stare linie
Registru stare modem
Registru Scratch (uz general)

Regitrii portului serial au urmtoarele semnificaii:


Addres: Baza + 1 - RD/WR - DLAB=0 - Nume: Interrupt Enable Register
(IER). Semnificaia biilor:
Bit # Nume
0
Valideaz ntreruperea pentru data recepionat disponibil
1
Valideaz ntreruperea pentru registru transmitor gol
Valideaz ntreruperea de stare a liniei (INT n LSR - Line Status
2
Register)
Valideaz ntreruperea de stare a modemului (INT n MSR 3
Modem Status Register)
4
valideaz modul Sleep (16750)
5
Valideaz modul de consum redus (16750)
6
Rezervat
Addresa: Baza + 2 - RD - Nume: Interrupt Identification Register (IIR)
Bit # Nume
0
ntrerupere n ateptare
0
1
Nu exist ntreruperi n ateptare
B2
B1 Tip ntrerupere (prioritate)
0
0
ntrerupere stare modem (4)
1&2 0
1
ntrerupere pentru registru transmitor gol (3)
1
0
ntrerupere pentru dat recepionat disponibil (2)
1
1
ntrerupere pentru starea liniei receptorului (1)
0
Rezervat pentru 8250, 16450
3
1
16550 ntrerupere n ateptare
4
Rezervat
5
FIFO de 64 octei activat (numai 16750)
6 & 7 B6
B7
0
0
Fr FIFO
0
1
FIFO validat dar neutilizabil
1
1
FIFO validat
Addresa: Baza + 2 - WR - Nume: FIFO Control Register (FCR).
Bit # Nume
58

Cap. 4 Interfee seriale

Teletransmisii de date

1
2
3
4
5
6&7

B7
0
0
1
1

B6
0
1
0
1

Validare memorii FIFO


terge FIFO recepie
terge FIFO transmisie
Selecie Mod DMA. Schimb starea pinilor RXRDY
& TXRDY din modul 1 n modul 2.
Rezervat
Validare FIFO 64 octei (16750 only)
Nivel de trigger pentru ntrerupere
INT pentru 1 octet recepionat
INT pentru 4 octei recepionai
INT pentru 8 octei recepionai
INT pentru 14 octei recepionai

Adres: Baza + 3 - RD/WR - Nume: Line Control Register (LCR)


Bit #
Nume
B1 B0
Lungimea cuvntului
0
0
5 Bii
1
0
1
6 Bii
1
0
7 Bii
1
1
8 Bii
0
1 Bit de Stop
2
2 bii de Stop pentru cuvinte 6,7 sau 8 bii sau 1.5
1
Bii de Stop pentru cuvinte de 5 bii.
B5 B4 B3
X
X
0
Fr Paritate
3, 4
0
0
1
Paritate impar
&5
0
1
1
Paritate par
1
0
1
Paritate 1 (bit de paritate 1)
1
1
1
Paritate 0 (bit de paritate 0)
6
Validare activare Break
7
1
Acces la memoria divizorului
Acces la tamponul Receptorului, a
0
Transmitorului i la Registrul de validare a
ntreruperilor
Adres: Baza + 4 - RD/WR - Nume: Modem Control Register (MCR)
Bit #
Nume
0
Foeaz Data Terminal Ready
1
Foreaz Request to Send
2
Ieire auxiliar 1
59

Teletransmisii de date

3
4
5
6
7

Cap. 4 Interfee seriale

Ieire auxiliar 2
Modul bucl napoi (loopback)
Validarea controlului Autoflow (numai 16750)
Rezervat
Rezervat

Adres: Baza + 5 - RD - Nume: Line Status Register (LSR)


Bit #
Nume
0
Date disponibile
1
Eroare de supranscriere
2
Eroare de paritate
3
Eroare de cadru
4
ntrerupere Break
5
Registru TX gol
6
Registru TX i registrul de deplasare goale
7
Eroare n FIFO de recepie
Dac bitul 6 este setat, USART este ocupat (regitri de date sunt ocupai).
Daca doar bitul 5 este setat. un alt octet poate fi nscris pentru transmisie.
Bitul 4 cnd linia de recepie este inut n 0 logic mai mult dect durata
unui caracter inclusiv biii adiionali
Bitul 3 ultimul bit nu e bit de Stop (de regul cnd este diferen de rate de
transmisie)
Bitul 1 data din registrul de recepie nu a fost citit i a fost supranscris
datorit unei noi recepii.
Adres: Baza + 6 - RD - Nume: Modem Status Register (MSR)
Bit #
Nume
0
Modificare Clear To Send de la ultima citire
1
Modificare Data Set Ready de la ultima citire
2
Indicator sonerie n ateptare
3
Modificare Data Carrier Detect de la ultima citire
4
Clear To Send
5
Data Set Ready
6
Indicator sonerie
7
Detecie purttoare
Rata de transmisie se stabilete conform tabelului urmtor:
Bps (bit/sec)
Divizor
Latch high byte Latch low byte
50
2304
09h
00h
300
384
01h
80h
600
192
00h
C0h
60

Cap. 4 Interfee seriale

Teletransmisii de date

2400
4800
9600
19200
38400
57600
115200

48
24
12
6
3
2
1

00h
00h
00h
00h
00h
00h
00h

30h
18h
0Ch
06h
03h
02h
01h

4.3. Interfaa serial RS-422


TIA/EIA-422-B (RS422) este un standard industrial ce precizeaz
caracteristicile electrice ale unui circuit de interfa echilibrat. A fost
introdus pentru a rezolva problemele de limitare ale standardelor
nesimetrice (RS232). Acestea nu prezint imunitate la zgomote de mod
comun )tipice n medii industriale).
Un emitor RS-422 poate suporta pn la 10 sarcini (4k tipic
pentru o unitate), poate transmite datele pn la 1200m i sunt garantate s
suporte un curent de 20 mA pe o sarcin de 100 (adic 2V pe sarcin).
D

100
I
3,25 mA

-10

-3
3

10

-3,25 mA

Fig. 4.15. Emitorul i regiunea de funcionare pentru RS-422

Impedana receptorului trebuie s fie egal cu o unitate de sarcin


(panta zonei gri din figura de mai sus). Zona de lucru a receptorului este
definit ntre -10 i +10V (zona gri din figura de mai sus).
Receptoarele RS-422 au pragurile de detecie de 200mV fa de
ntregul domeniu de ieire al emitorului de 6V. De asemenea este
garantat o margine de zgomot diferenial 1.8V ntre excursia de ieire a
emitorului i pragurile receptorului.
61

Cap. 4 Interfee seriale

Teletransmisii de date

Pentru distane mari sau viteze mari de transmisie este recomandat


utilizarea terminatorilor pentru a reduce reflexiile produse de
nemperecherea de impedan dintre cablu i impedana de intrare a
receptorului.
n principiu standardele RS-422 i RS-485 sunt similare. Totui
exist i diferene: etajul de ieire a emitorului, domeniul de mod comun al
interfeei, rezistena de ieire a receptorului, i capabilitatea de sarcin a
emitorului.
Lungimea cablului i rata de transmisie sunt mrimi complementare.
Figura 4.16 prezint o hart a regiunii operative a standardului RS-422 i
comparaie cu alte standarde. Datele au fost obinute folosind cablu torsadat
din Cu, cu capacitate de 50pF/m, terminat pe 100.

Lungimea cablului (m)

1200

RS-423

RS-422

25
RS-232
0.1

1.0

10
100
1000
Rata de transmisie (kbps)

10000

Fig. 4.16. Lungimea cablului vs. Rata de transmisie

Adaptarea de impedan printr-un terminator rezistiv paralel este o


metod foarte popular, care aduce avantajul unor lungimi mari de cablu i
rate de transmisie ridicate. Aceasta aduce rezistena Rt la valori apropiate de
Z0 (fig. 4.7) i minimizeaz reflexiile. Conexiunea are i un dezavantaj al
disiprii inutile de putere pe sarcina rezistiv, tensiune diferenial mai mic
i margine de zgomot mai redus.
Reelele RS-422 folosesc 3 tipuri de configuraii:
E

Rt

Fig. 4.17. Aplicaie multi-recepie cu terminator paralel

62

Cap. 4 Interfee seriale

Teletransmisii de date

a) Configuraia punct-punct are un singur emitor i un singur receptor.


Acestea pot fi gndite ca aplicaii RS-232 cu transmisie diferenial.
b) Configuraia punct-multipunct este cea din figura 4.17 n care exist un
emitor i mai multe receptoare pe acelai cablu. Numrul maxim de
receptoare este 10 dac impedana receptorului este 4k i 20 dac aceasta
este 8k.
c) Configuraia multipunct-multipunct permite pe aceleai fire conectarea a
mai multor emitoare i receptoare (fig. 4.18). Emitoarele 422 nu sunt
proiectate pentru acest gen de configuraie, dar n anumite condiii acest
lucru este posibil: diferene de potenial ntre masele emitoarelor, disputa
ntre emitoare i capacitatea de comand a acestora.
E

Rt

Rt

E
E

Fig. 4.18. Aplicaie multipunct-multipunct

Dei standardul RS-422 nu prevede nici o specificaie special


privind descrcrile ESD, porductorii de circuite integrate au dezvoltat
totui un standard minim de protecie de 2kV pentru atingerea cu corpul
omenesc.
Software-ul asociat reelelor RS-422 difer de cel utilizat pentru
comunicaiile pe interfaa serial standard. Aici se impune o comunicaie de
tip master-slavepentru a evita coliziunile. Pentru a reduce costurile nu se
implementeaz liniile suplimentare de control a comunicaiei.
Tabelul urmtor rezum specificaiile electrice ale standardului RS422.
Tabelul 4.6. Specificaiile electrice ale RS-422

Parametrul
Tensiunea de ieire
emitorului n gol
Tensiunea de ieire
emitorului n sarcin
Rezistena de ieire
emitorului
Curentul de scurtcircuit
emitorului

Condiii

Min

Max
10
-10

UM

a A la B

100

V
V
V
V

al pe ieire ctre
mas

150

mA

a Rt=100

63

2
-2

Cap. 4 Interfee seriale

Teletransmisii de date

Timpul de cretere al
ieirii emitorului
Tensiunea de mod comun
a emitorului
Sensibilitatea receptorului
Tensiunea de mod comun
a receptorului
Rezistena de intrare a
receptorului
Tensiunea diferenial a
receptorului

Rt=100

10

Rt=100

% din durata
de bit
V

200
7

mV
V

VCM7V
-7

4000
operaional:
oponent:

10
12

V
V

4.4. Interfaa serial RS-423


Acest standard nu este folosit pe scar larg. n anii 80 HP producea
calculatoarele cu interfa serial suportnd ambele standarde RS-232 i RS423. RS-423 este referit fa de mas i este o mbuntire a fratelui mai
btrn RS-232 permind distane mai mari i rate de transmisie superioare.
Acest lucru se obine printr-o vitez de variaie (slew-rate) variabil (RS232 are o vitez fix de 30V/s) ce poate fi programat funcie de lungimea
cablului i de rat. RS-423 permite distane de maximum 1200m i viteze
maxime de 100kbps.
4.5. Interfaa serial RS-485
Ca i RS-422, i RS-485 este un sistem de comunicaie diferenial
sau echilibrat. Semnalul apare ntre dou fire care transmit doar semnalul,
ele fiind diferite de masa electric. Topologiile reelelor pot fi punct punct,
punct - multipunct, multipunct multipunct. Numrul maxim de perechi
emitor receptor pot fi de 32. Multe din caracteristicile emitoarelor i
receptoarelor RS-485 sunt similare cu RS-422.Tensiunile de mod comun pe
care le suport acestea sunt extinse de la +12 la -7 V datorit capabilitii
strii de nalt impedan (tri-state).
Figura 4.19 prezint o configuraie multipunct-multipunct tipic pe 2
fire. Se observ terminatoarele liniei la ambele capete, dar nu i la punctele
din mijlocul liniei. Masa de semnal este de asemenea recomandat pentru a
menine tensiunile de mod comun n limitele acceptate.
RS-485 poate fi configurat i pe 4 fire (fig. 4.20). Dac n
configuraia anterioar oricare din puncte putea fi Master i oricare Slave, n
configuraia aceasta Masterul este cel al crui receptor este singurul de pe
linie, restul fiind Slave. Aadar dou din fire sunt utilizate pentru
transmiterea informaiei de la Master ctre receptoarele Slave, iar dou
64

Cap. 4 Interfee seriale

Teletransmisii de date
A

Rt

Rt

T/R

T/R
R

100

100

100
100

100

100

T/R

100

100

T/R

Fig. 4.19. Aplicaie RS-485 multipunct-multipunct pe 2 fire


A

Rt

Rt

T/E

T/E
R

A
B

Rt

Rt

100
100

100

MASTER

100

SLAVE
A
100

100

100

100

T/E

T/E
SLAVE

SLAVE

Fig. 4.20. Aplicaie RS-485 multipunct-multipunct pe 4 fire

pentru transmiterea informaiei de la emitoarele Slave ctre receptorul


Master. n concluzie nodurile Slave pot comunica doar ctre nodul Master,
nu i ntre ele. De aici i un avantaj al lipsei coliziunilor deoarece nodurile
Slave nu vor vorbi niciodat simultan pentru c nu comunic ntre ele, i
se poate realiza o comunicaie duplex.
Pe durata ct un nod nu emite, emitorul este deconectat de la linia
de transmisie. Sunt numeroase cazurile cnd sistemele prezint interfee RS232 iar pentru a le conecta n reele RS-485 se folosesc adaptoare RS-232
RS-485. Pentru a putea conecta sau deconecta emitorul de la linie se poate
folosi semnalul RTS. Cnd acesta este n 1 logic, emitorul este activ i
devine inactiv pentru 0 logic. Ct timp este deconectat, alte noduri pot
transmite date pe interfa. Figura 4.21. prezint forme de und specifice
pentru convertorul RS-232 RS-485. Este important ca RTS s fie dus n 1
logic nainte ca data s fie transmis, i trebuie s rmn n aceast stare
65

Cap. 4 Interfee seriale

Teletransmisii de date

VSD

0
-6

TxD

+6

VA
VB

TxDTTL

VSD

VRTS
TxDTTL

Convertor
TTL RS-485
integrat

Convertor
RS-232 TTL
integrat

+6

VA

Tx
-6
+5

RxD

0
+3

emitorul
RS-485
dezactivat

VRTS

GRD

RTS

0
+3

VB

Rx

GRD

Fig. 4.21. Schema electric i forme de und pentru convertorul RS-232 RS-485

pn la un moment ulterior transmiterii ultimul bit. Aceasta este realizat


prin software-ul ce controleaz portul serial.
Dac portul serial provine de la un sistem pentru care nu exist linia
RTS disponibil atunci emitorul poate fi comandat chiar de ctre linia de
date. Pentru aceasta linia de date este triggerat pentru a obine semnalul de
validare a emitorului. Figura 4.22. prezint schema electric i formele de
und asociate pentru aceast aplicaie. Este important de tiut c emitorul
este dezactivat la un interval fix dup ultimul bit de date; tipic aceast durat
se alege de lungimea unui caracter. Dac intervalul este prea scurt se poate
pierde o parte din caracterul de transmis, iar dac este prea lung atunci
sistemul va ncerca s porneasc emitorul nainte ca receptorul s fie
pregtit pentru a primi date.
Comunicaia pe RS-485 necesit un nod Master care s gestioneze
comunicaia pe interfa. Fiecare nod Slave trebuie s aib o adres unic
pentru a-l deosebi de celelalte. Implementarea pe 4 fire simplific modul de
adresare. Preambulul poate fi chiar adresa nodului. Trebuie avut grija ca
Masterul s nu cear informaii de la mai multe noduri simultan pentru
evitarea coliziunilor. Implementarea pe 2 fire implic o complexitate mai
mare. ntrzierea dintre sfritul transmisiei i momentul de nalt
impedan este un parametru important. Dac Slave-ul ncepe s rspund
nainte ca emitorul s fie inactiv, atunci poate aprea o coliziune.
Dac reeaua are mai multe noduri Master atunci oricare poate iniia
o transmisie i pot aprea coliziuni. n aceste condiii proiectantul trebuie s
utilizeze metode sofisticate pentru detecia erorilor pentru autorizarea i
retransmisia datelor n caz de eroare.
Pentru reelele n care convertoare ce necesit alimentare din port,
sau dac ntregul nod necesit aceasta, se pot folosi, pentru alimentarea sa,
66

Cap. 4 Interfee seriale

Teletransmisii de date
Convertor
RS-232 TTL
integrat

+6
0
-6

VSDTTL

VSD

+5

TxD

VA
VB

+5
0

VA

VB

Tx

RxD
ENABLE

TxDTTL

+3
R

0
+3
0

Rx

GRD

ENABLE

VSD

Convertor
TTL RS-485
integrat

GRD

Circuit
retriggerabil

emitorul RS-485
dezactivat
1 durata este stabilit de ctre componentele R i C, dar nceputul
intervalului este determinat de frontul fiecrui bit

Fig. 4.22. Schema electric i forme de und pentru convertorul RS-232 RS-485 cu
triggerarea liniei de date

linii neutilizate ale portului (RTS, CTS,...) care se programeaz n 1 logic.


Pentru cureni mai mari se pot suma liniile prin rezistene de valoare mic.
Tabelul urmtor sintetizeaz caracteristicile electrice ale RS-485.
Tabelul 4.7. Specificaiile electrice ale RS-485

Parametrul
Condiii
Tensiunea de ieire a emitorului
n gol
Tensiunea de ieire a emitorului Rt=54
n sarcin
Rezistena de ieire a emitorului A la B
Curentul de scurtcircuit al
ieirea la
emitorului
+12 sau -7
Timpul de cretere al ieirii
Rt=54
emitorului
Ct=50pF
Tensiunea de mod comun a
Rt=54
emitorului
Sensibilitatea receptorului
VCM7V
Tensiunea de mod comun a
receptorului
Rezistena de intrare a
receptorului

Min
1.5
-1.5
1.5
-1.5

-1

-7
12k
67

Max
6
-6
5
-5
100
250

UM
V
V
V
V

mA

30
+3

% din durata
de bit
V

200

mV

12

Cap. 4 Interfee seriale

Teletransmisii de date

4.4. Interfaa USB


Interfaa USB (Universal Serial Bus) a fost dezvoltat n 1995 de
cteva din marile companii ale lumii (Compaq, Hewlett Packard, Intel,
Lucent, Microsoft, NEC i Philips). Principalul scop al USB a fost acela de
a defini o magistral de extindere care s permit adaugarea de periferice
unui calculator PC la fel de simplu cum se conecteaz un telefon la linia
telefonic. Astfel a ajuns s nlocuiasc majoritatea porturilor tradiionale a
unui calculator cu o singur interfa ct mai prietenoas. USB este o
interfa serial ce folosete protocoale predefinite. A fost proiectat s nu
necesite ntreruperi specifice sau DMA, dar s poat recunoate
dispozitivele ce sunt conectate din mers. Pentru a instala un dispozitiv nou
nu sunt necesare cunotine speciale, i orice dispozitiv s fie distict fa de
altele, iar driver-ul corect va fi utilizat n mod automat. Interfaa este de tip
master-slave. A fost dedicat perifericelor de birou dar a nlocuit cele mai
multe dispozitive care se conectau pe portul paralel (LPT) sau pe portul
serial (COM). Exist dou versiuni de interfa USB: versiunea 1.X suport
dou viteze (12Mbps i 1.5Mbps) - vitez mai mic este destinat
dispozitivelor ieftine (mouse de exemplu) i nu necesit cablu ecranat; USB
2.0 ce suport vitez ridicat (480Mbps) pentru, practic, orice tip de
aplicaie. Aceast specificaie a fost introdus ca rspuns la viteza ridicat a
interfeei Firewire.
Magistrala este implementat fizic prin 4 fire, dou pentru
alimentare i dou pentru date, conectorul rezultnd astfel cu 4 pini (figura
4.23.a). Datele sunt vehiculate diferenial pe 2 fire torsadate, dar i unele
Conector A
+5V
D+
DGND

Conector B Conector mini USB


2

+5V = 1
D+ = 3
D- = 2
GND = 4

...

4
3

a)

b)

Fig. 4.23. Cablul i conectorul USB

referite fa de mas. Fiecare din semnalele de pe cele 2 fire sunt referite


fa de mas. Al 4 le-a semnal este o tensiune de alimentare (+5V) i poate
fi folosit s alimenteze dispozitivul periferic.
n figura 4.23.b sunt prezentate cele 4 tipuri de conectori. Conectorii
de tip A i B au 4 contacte, numerotate ca n figur. Contactele de date sunt
pe mijloc (conectorul A) i respectiv pe partea stng (conectorul B), iar
cele de putere pe margine (conector A) i respectiv pe partea dreapt
68

Cap. 4 Interfee seriale

Teletransmisii de date

(conector B). Conectorul mini USB (mini B) are 5 contacte din care
contactul 4 se numete ID i nu este conectat. Primele 3 au aceeai
numerotare, iar pinul 5 este masa (GND). Toate 3 tipurile au un contact
metalic ce le nconjoar, la care este legat ecranul cablului.
Exist 3 tipuri de cabluri:
- un cablu de vitez ridicat cu conector A la un capt i conector B sau
mini B la cellalt.
- un cablu de captur de vitez mare, conectat direct la echipamentul
periferic sau cu un conector specific, i la celalalt capt cu un conector de
tip A.
- un cablu similar cu cel de-al doilea, dar de vitez sczut.
Lungimea maxim a cablului depinde de viteza cu care se face comunicaia,
de atenuare i de ntrzierea de propagare. Pentru un cablu de vitez redus
timpii de cretere i cei de cdere fixeaz lungimea maxim. De aceea
cablul de vitez redus este mai scurt dect cel de vitez ridicat. Lungimea
oricrui cablu este limitat la 5m. Astfel cel mai ndeprtat perfieric nu
poate fi la mai mult de 30m de controller.
Un dispozitiv sau un hub poate alimenta doar din portul master
(upstream). Exist periferice care nu folosesc sursa de alimentare de pe
interfa, ns exist i periferice care se alimenteaz din interfa. Curentul
maxim ce poate fi consumat este de 100mA n mod normal sau 500mA dac
este permis de ctre unitatea gazd. Cnd perifericul este suspendat
consumul cade sub 0.5 mA. Tensinea poate scdea la periferic pn la
4.35V i n plus pe linie pot aprea parazii tranzitorii de pn la 0.4V
datorit dispozitivelor ce se conecteaz n acel moment. Astfel nici un
dispozitiv nu are voie s trag un curent mai mare de 100mA nainte de a fi
configurat. n starea suspendat consumul trebuie s fie mai mic de 0.5 mA
datorit rezistenei de 1.5k spre alimentare care consuma 0.3 mA,
dispozitivului i rmn doar 0.2 mA. Dac dispozitivul conine un
microcontroller acesta trebuie s aib un curent care s ndeplineasc aceste
cerine n modul sleep.

4.4.1. Arhitectura USB


USB este o arhitectur de tip stea etajat cu un singur controller
gazd (host) i pn la 127 de dispozitive sclav (slave). Controllerul este
conectat ntr-un hub (de regul integrat n calculator), iar acesta permite
ataarea unui numr de dispozitive. Fiecare conector poate fi continuat cu
nc un hub, amd, dar cu anumite restricii. Numrul maxim de ramificaii
este de 6.

69

Cap. 4 Interfee seriale

Teletransmisii de date

Controller
Hub rdcin

Hub

Hub

Hub

Periferic

Periferic Periferic

Hub

Hub

Hub

Periferic

Periferic

Periferic

Hub

Periferic
Fig. 4.24. Arhitectura reelei USB

Limitarea numrului de dispozitive provine din faptul c lungimea


cmpului de adres este de 7 bii, iar valoarea 0 nu poate fi utilizat
deoarece are o semnificaie aparte. n majoritatea sistemelor se ajunge la o
limitare de band nainte de a atinge cele 127 de periferice. Din cele 5 huburi de pe o ramur, cel puin dou trebuie s aib alimentare proprie.
Toate comunicaiile pe magistral sunt iniiate de ctre controllerul
gazd. Un periferic nu poate iniia comunicaia i trebuie s atepte s fie
ntrebat pentru a tranfera datele ctre controller. Singura excepie este atunci
cnd un dispozitiv este n modul suspend i poate semnala controllerul cu
un semnal de trezire.
70

You might also like