Sunteți pe pagina 1din 55

Magistrale

MAGISTRALE

Magistralele - căi fizice de interconectare a unor unităţi funcţionale multiple printr-


un ansamblu de linii comune, la un cost inferior faţă de interconectarea directă a
acestora.

Avantajele folosirii unei magistrale sunt:


• costul redus - o singură cale de comunicaţie este folosită de mai multe unităţi
funcţionale;
• versatilitatea - este uşor să se adauge unităţi noi, iar echipamentele periferice pot
fi folosite de mai multe unităţi de calcul, dacă acestea folosesc o magistrală
comună.
Dezavantaj - posibile gâtuiri ale comunicaţiei în cazul în care se conectează un
număr mare de unităţi şi volumul datelor de transferat este mare.

Viteza magistralei este limitată de factori fizici:


•lungimea magistralei;
•numărul de unităţi conectate, care afectează încărcarea magistralei;
Funcţii:
• comunicarea datelor şi a semnalelor de comandă între două componente ale
sistemului;
• sincronizarea între două componente de viteze diferite ale sistemului;
• comutarea pentru a permite utilizarea magistralei de către mai multe componente
ale sistemului.
Inteconectări bazate pe magistrale
În funcţie de dispozitivele care se conectează la magistrale, există două tipuri generice
de magistrale:
• Magistrala procesorului - este magistrala cea mai rapidă din sistem utilizată în
principal de către procesor pentru a transmite informaţii la şi de la memoria
imediată (cache) şi memoria principală.
• Magistrale de I/O, mai lente, care au conectate mai multe tipuri de dispozitive şi
care respectă de obicei un standard de magistrală (constă din specificaţii
electrice, mecanice precum şi dintr-un protocol de magistrală).
Protocolul de magistrală constă din specificarea unei secvenţe de evenimente şi condiţii
de sincronizare în transferul informaţiei. O tranzacţie pe magistrală constă în emiterea
adresei pe magistrală şi transmiterea sau recepţionarea datelor.
Magistrala are linii de : adrese, date şi comenzi.
Master de magistrală - dispozitiv care poate comanda magistrala şi de a iniţia o
tranzacţie.
Slave de magistrală - nu poate controla magistrala, activat de tranzacţie.
Transferurile pe magistrale pot fi:
• sincrone - toate operaţiile sunt sincrone cu un tact de magistrală comun pentru
toate dispozitivele sau,
• asincrone - se folosesc linii de control suplimentare pentru a stabili o sevenţă pe
magistrală.

Conectarea unui master şi a unui slave la o magistrală


Magistrale sincrone

Magistralele sincrone au un tact de magistrală, care este folosit de toate dispozitivele care
se conectează la acea magistrală. Perioada acestui tact, T, se numeşte ciclu de magistrală.
În cazul în care dispozitivul Slave este mai lent, poate activa linia Wait.
Tactul de magistrală determină momentul de început și/sau sfârșit al operaţiei de citire.
Producerea unui eveniment pe magistrală depinde de producerea evenimentului anterior
avem de-a face deci cu un lanţ de evenimente interdependente.
Pentru a creşte viteza de transfer a datelor este necesar:
– să se mărească frecvenţa tactului de magistrală - limitată de timpii de propagare
pe linii şi de prezenţa perturbaţiilor.
– transferul pe blocuri - masterul care iniţiază tranzacţia informează dispozitivul
slave cu privire la dimensiunea blocului (număr de cuvinte) de transferat. Acest
număr va fi trimis secvenţial.
Dezavantaje
• chiar dacă un transfer durează mai puțin decât perioada tactului de magistrală, se va
considera încheiat doar după o perioadă completă deci, timpul de aşteptare se pierde.
• viteza de transfer este impusă de dispozitivul cel mai lent;
• după alegerea unui ciclu de magistrală, va fi dificil să se beneficieze de avantajele unor
îmbunătățiri tehnologice.
Magistrale asincrone

Nu au tact de magistrală, folosesc însă linii de control suplimentare (de exemplu


Request, Ack) pentru a stabili o sevenţă pe magistrală. Aceste linii de control
necesită un protocol pe magistrală (handshaking).

Magistralele asincrone elimină dezavantajul major al magistralelor sincrone


impunând în schimb utilizarea unor linii de control suplimentare, ceea ce îneamnă
cost mai mare (implementare hardware mai complexă). În plus, sunt mai rapide
(flexibilitatea temporală).
Arbitrarea magistralei
Deoarece la un moment dat un singur master poate comanda magistrala (conflictul
de magistrală – efect: nefuncţionarea sistemului), este necesară organizarea acesteia
într-o asemenea manieră încât două blocuri master să nu poată accesa simultan
magistrala comună.

Există un mecanism care decide cine va primi magistrala în situaţia în care apar
două sau mai multe cereri simultan.

În funcţie de implementarea acestuia, există mai multe tipuri de arbitrări:


• Arbitrarea paralelă (centralizată) - necesită câte o linie separată de cerere a
magistralei (BREQ – Bus Request) de la fiecare master. Fiecare linie BREQ intră
într-un codificator de priorităţi care generează adresa în binar a cererii BREQ cu
prioritatea cea mai mare (care este activă la intrare). Adresa în binar este
decodificată de decodificatorul de priorităţi, generând BPRN (Bus Priority In)
corespunzător masterului care a cerut magistrala şi care are prioritatea cea mai
mare. Când un master cu o prioritate mai mare decât altul obţine magistrala, el
trebuie să aşepte până când masterul care ocupa magistrala îşi termină transferul
(corespunde cu trecerea în stare inactivă a semnalului BUSY = "1“). Arbitrul cu
o prioritate mai mare preia magistrala activând linia BUSY = 0. Toate
evenimentele sunt sincronizate cu tactul de magistrală BCLK.
Figura prezintă un exemplu de conectare la o magistrală a 4 masteri, folosind arbitrarea
paralelă. Masterul care cere magistrala nu este conştient de existenţa arbitrului, dar prin
intermediul lui foloseşte resursele comune de magistrală. CBRQ este o linie colector în
gol care indică masterului care deţine magistrala că un alt master face o cerere de acces
• Arbitrarea serială (descentralizată) - conectarea modulelor master într-un lanţ de
priorităţi, în care ieşirea BPRO a unui master de prioritate mai mare devine intrare
BPRN pentru un master de prioritate mai mică. O ieşire BPRO poate fi activă
numai dacă intrarea corespunzătoare BPRN este activă şi masterul respectiv nu a
cerut magistrala. Se implementează un lanţ de priorităţi în care prioritatea este dată
de poziţia fizică în lanţ. Masterul cu prioritatea cea mai mare are intrarea BPRN
activă, fiind conectată la masă. Această tehnică are avantajul simplităţii, însă
datorită timpilor de propagare a semnalelor de prioritate în lanţ numărul masterilor
este limitat la 3, deci se poate utiliza numai în sistemele mici.

• Tehnica de rotire a priorităţilor are un aranjament similar cu arbitrarea paralelă, cu


deosebirea că priorităţile sunt redefinite dinamic. Codificatorul de priorităţi este
înlocuit cu un circuit mai complex care roteşte priorităţile, acesta garantând pentru
fiecare master un timp egal de acces la magistrală.
Fiecare din tehnicile de arbitrare a magistralei are avantaje şi dezavantaje.

Tehnica de rotire a priorităţilor este foarte eficientă dar necesită o logică mai
complicată.

Arbitrarea serială are o structură mai simplă, având dezavantajul că numărul masterilor
e limitat datorită întârzierilor, în funcţie de frecvenţa tactului de magistrală.
Tehnica de rezolvare paralelă a priorităţilor este o soluţie care foloseşte un hardware
suplimentar de complexitate mai redusă.

Există şi magistrale cu un singur master, în care un singur dispozitiv iniţiază şi


controlează toate operaţiile de transfer a datelor. Exemple de astfel de magistrale sunt
USB şi Firewire.
Figura prezintă un exemplu de conectare la o magistrală a 4 masteri, folosind arbitrarea
serială.
Arhitectura de magistrală duală independentă (Dual Independent Bus - DIB)

Arhitectura a fost implementată pentru prima dată în procesoarele din generaţia a şasea
de la Intel si AMD. DIB a fost creat pentru a îmbunătăți lățimea de bandă a magistralei
sistem și a performanței acesteia. Având două magistrale de I/O independente,
procesorul va putea să acceseze date de la oricare dintre magistralele sale simultan și în
paralel. Magistrala sistem (adesea numită front-side) este interfața dintre procesor și
placa de bază sau chipset-ul. Cea de a doua (back-side), într-un procesor cu DIB este
utilizată pentru memoria cache L2, permițându-i să ruleze la viteze mult mai mari decât
în ​cazul în care ar fi trebuit să partajeze magistrala principală a procesorului.
Arhitectura DIB alcătuită din: magistrala de memorie cache L2 și magistrala principală
a procesorului, adesea numită Front Side Bus (FSB). Procesoarele din clasa P6, de la
Pentium Pro la Core 2, precum și Athlon 64 pot folosi ambele magistrale simultan,
eliminând gâtuirile. Arhitectura de magistrală duală permite memoriei cache L2 a
procesoarelor mai noi, rulare la viteză maximă în interiorul nucleului procesor pe o
magistrală independentă, lăsând magistrala principală a procesorului (FSB) să se ocupe
de fluxul normal de date din și în afara chip-ului. Cele două magistrale au viteze
diferite. Magistrala front-side sau magistrala principal CPU este cuplată la viteza plăcii
de bază, în timp ce partea din back-side sau magistrala cache L2 este cuplată la viteza
procesorului. Pe măsură ce frecvența procesoarelor crește, creşte și viteza memoriei
cache L2.

DIB permite, de asemenea, efectuarea mai multor tranzacții simultane (în loc de
tranzacții secvențiale singulare), accelerarea fluxului de informații în cadrul sistemului
și creșterea performanțelor.
Arhitectura Northbridge/Southbridge
Cele mai multe dintre chipset-uri anterioare ale Intel precum și non-Intel folosesc o
arhitectură cu mai multe niveluri care încorporează ceea ce sunt referite ca fiind
componente North și Southbridge. NorthBridge - face legătura dintre magistrala de
mare viteză a procesorului și magistralele mai lente AGP și (Peripheral Component
Interconnect )PCI.

Arhitectura hub

Începând din anul 1999, chipset-urile de la Intel au început să utilizeze arhitecturi Hub
în care fostul chip North Bridge este numit acum hub controler de memorie (MCH) sau
I/O Hub și fostul SouthBridge se numește I/O Controler Hub (HIC). Este de cel puțin
de două ori mai rapid decât PCI. Accelerated Hub Architecture (AHA), interfața pe care
seria 8XX utilizează are de două ori debitul PCI. Chipset-urile mai noi folosesc o
versiune rapidă, numită DMI (Direct Media Interface), care este de 7.5-14 ori mai
rapidă decât PCI.
Magistrale de I/O

Magistrala ISA (Industry Standard Architecture)


Este o arhitectură de magistrală pe 8 biți, introdusă în 1981 a fost introdusă în 1981
de IBM. Ulterior, în 1984 a fost extinsă la 16 biți (IBM PC/AT). Magistrală lentă,
potrivită pentru periferice mai vechi (modemuri, plăci de sunet). Stă la baza
calculatorului personal, fiind folosită până la sfârșitul anilor ’90.

Magistrala MCA (Micro Channel Bus)


Apariția chipurilor pe 32 de biți a însemnat că magistrala ISA nu mai putea face
față noii generații de procesoare. IBM a introdus un nou tip de magistrală – MCA
(MicroChannel Architecture), complet diferită de ISA și evident, superioară ei.
Fiind folosită doar de IBM, n-a devenit un standard și s-a renunțat la ea în 1996.
Magistrala MCA permite controlul magistralei prin implementarea arbitrării - orice
dispozitiv poate cere acces la magistrală, prin folosirea unui arbitru central
(procesorul avînd prioritatea cea mai mică).

.
Magistrala EISA
Este o magistrală introdusă ca reacție la MCA de la IBM și era o versiune pe
32 de biți a magistralei ISA. Spre deosebire de MCA, plăci ISA pe 8 sau 16
biţi se pot folosi in slot-uri EISA, fiind perfect compatibile (un conector
EISA conţine vechea magistrală ISA şi o extensie cu conexiunile
suplimentare). Permite arbitrarea și este de tip Plug and Play - are un program
de configurare automată (Setup) care gestionează întreruperile şi adresele
plăcilor adaptoare. Permite partajarea întreruperilor - mai multe plăci
adaptoare pot folosi o singură întrerupere, caracteristică implementată
ulterior şi în magistrala PCI.
Magistrale locale (VESA, PCI, PCI Express, AGP)
Magistralele de I/O abordate anterior sunt caracterizate printr-o viteză relativ mică.
Limitările de viteză ale ISA, MCA și EISA sunt datorate faptului că în PC-urile inițiale,
magistralele de I/O lucrau la aceeași viteză cu cea a magistralei procesorului. Pe
măsură ce viteza magistralei procesorului a crescut, magistralele de I/O au cunoscut o
creștere de viteză dată de lățimea de bandă.
Magistrala locală este o magistrală care va interacționa îndeaproape cu procesorul sau
cu debitul acestuia (throughput).
Inițial, funcție de cerințele dispozitivelor conectate în slot-urile de extensie, puteau
exista mai multe tipuri de magistrale:
Un sistem din anii 1993–1994 avea una sau două slot-uri de magistrale PCI sau VL-
Bus și totodată sloturi ISA.
În anii 1999–2000, apare un slot ISA/PCI, unul AGP și unele PCI
Sistemele din 2006 și mai târziu, au sloturi PCIe and PCI.
Se pare că în viitor nici PCI nu vor mai fi găsite în sisteme.
Magistrala VL-Bus (VESA local bus- Video Electronics Standards Association, ori mai
simplu VLB ).
Limitarea vitezei pe magistralele ISA, MCA, EISA se datorează faptului că, în timp ce
viteza procesorului a crescut, magistrala I/O a înregistrat o dezvoltare mai mult în
creşterea numărului de linii de date, deoarece majoritatea plăcilor adaptoare funcţionau
la viteze mici. Cu toate acestea, viteza scăzută a magistralei I/O, în cele mai multe
cazuri, nu incomodează. Necesitatea vitezei sporite a devenit actuală în momentul
utilizării preponderente a unor interfeţe grafice cu utilizatorul (cum ar fi Windows),
când magistrala I/O a redus viteza sistemului în ansamblu. O soluţie pentru această
problemă a fost mutarea unora dintre extensiile I/O într-o zonă unde pot avea acces la
vitezele mari ale procesorului, la fel cum s-a procedat şi în cazul memoriei cache.
Utilizarea unei magistrale locale
Această dispunere a devenit cunoscută sub denumirea de magistrală locală (local
bus), deoarece plăcile adaptoare de mare viteză au acces la magistrala
procesorului. Motivul principal pentru apariţia acestei magistrale a fost sporirea
performanţelor video în PC-uri. Un slot VLB este similar cu unul ISA, dar are în
plus doi conectori. Folosirea unei plăci video VLB sporeşte mult performanţele
sistemului. Deşi VLB a fost foarte popular în perioada procesorului 486, a fost
complet abandonat odată cu apariţia procesorului Pentium şi a magistralei PCI.
Magistrala PCI

PCI (Peripheral Component Interconnect) - dezvoltată de firma Intel pentru a se


introduce un standard pentru interconectarea circuitelor rapide de pe placa de bază.
La prima versiune (1.0 - în1992), au fost definite regulile de proiectare obligatorii în
schimb, nu au fost definite semnalele și conexiunile. Ulterior, au fost definite în detaliu
specificațiile electrice și funcționale ale magistralei.
Magistrala PCI a reprezentat o reproiectare a magistralei PC prin introducerea unei alte
magistrale între CPU și magistrala de I/O originală, prin intermediul unor punți.
PCI este de fapt un hibrid între ISA și VL-bus – permite acces direct al dispozitivelor
conectate, la memoria sistem, dar folosește o punte pentru a se conecta la FSB și
implicit la CPU.
PCI, odată cu creșterea rapidă a performanțelor de viteză a procesoarelor, poate să
ajungă (cum s-a întâmplat cu ISA) la limita superioară a capabilităților sale.
Standardele noi propun trecerea către o conexiune de comutare punct-la-punct a
tehnologiei de partajare a magistralei utilizată în PCI. Aceasta înseamnă stabilirea unei
conexiuni directe între două dispozitive de pe magistrală care comunică între ele –
bazată pe principiul că magistrala nu este disponibilă pe durata dialogului. Prin
existența acestor legături directe multiple magistrala poate să permită comunicarea între
dispozitive fără scăderi de viteză.
Este de regulă o magistrală de 33MHz și 32-biți. Unele sisteme mai noi includ o
versiune opțională de 66MHz și 64-biți (mai cu seamă stații de lucru sau sisteme din
clasa servere-lor).
Slot-uri de 32 biți, de culoare albă de obicei – periferice cum ar fi adaptoare SCSI, plăci
de rețea, video, ș.a. pot fi conectate pe sloturile magistralei PCI.
HyperTransport, este un standard propus de Advanced Micro Devices, Inc. (AMD.
Pentru fiecare sesiune între noduri, furnizează două legături punt-la-punct.
Pentru fiecare sesiune între noduri, acesta oferă două legături point-to-point. Fiecare
legătură poate fi de la 2 la 32 de biți, susținând o rată maximă de transfer de 6,4 GB pe
secundă. HyperTransport este conceput special pentru conectarea componentelor
interne între ele și nu pentru conectarea dispozitivelor externe (de exemplu unitățile
detașabile). Dezvoltarea de chip-uri punte va permite accesul dispozitivelor PCI la
magistrala HyperTransport.
Schema bloc a magistralei PCI
Conectată la magistrala sistem a procesorului printr-o punte UCP/PCI, având acces direct la memoria
principală. Transferurile între UCP şi memoria cache, respectiv între dispozitivele de I/E şi memoria
principală putând avea loc simultan. Dispozitivele de I/E de viteză ridicată (exemplu adaptoarele grafice
şi/sau adaptoarele de reţea), care solicită în măsură redusă procesorul, sunt conectate direct la magistrala
PCI. Dispozitivele care trebuie să se conformeze altor standarde de magistrală, ca ISA sau SCSI, se
interfaţează cu magistrala PCI printr-o punte PCI/ISA, respectiv un adaptor SCSI.
Funcționare sincronă
Tranzacțiile au loc între un dispozitiv master (initiator) și unul slave (destinație). Ţinta,
sau dispozitivul slave, este adresat de iniţiator în scopul executării transferului.
Dispozitivele iniţiator şi ţintă sunt numite agenţi PCI.
Liniile de adrese și date sunt multiplexate:
In primul ciclu adresa este plasată pe magistrală, în ciclul2 dispozitivul master
eliberează magistrala, în ultimul ciclu datele sunt plasate pe magistrală.
Dacă destinația nu poate răspunde în trei cicluri, poate insera stări de așteptare. Există
trei semnale pentru controlul fluxului:
– IRDY# (Initiator Ready): un inițiator poate accepta date (citire) sau a depus
date valide (scriere)
– TRDY# (Target Ready): o destinație a depus date valide (citire) sau poate
accepta date
– STOP# (Stop): activat de o destinație pentru abandonarea tranzacției în curs.
Magistrala PCI nu necesită terminatori
– Apar reflexii de semnal
– Reflexiile sunt utilizate ca un avantaj
– Pentru activarea unui semnal, un dispozitiv generează pe linia semnalului o
tensiune cu un nivel de jumătate față de cel necesar
– Semnalul este reflectat și nivelul său este dublat până la nivelul de activare
necesar
– Avantaje: reducerea curentului; reducerea dimensiunii driverelor.
PCI-Express, dezvoltat de Intel (și cunoscut anterior ca 3G IO sau 3-a generație I/O),
pare a fi "urmatorul lucru mare" în tehnologia de magistrală. Inițial, au fost dezvoltate
magistrale mai rapide pentru servere high-end. Acestea au fost numite PCI-X și PCI-X
2.0, dar nu erau potrivite pentru piața de calculatoare, pentru că ar fi fost foarte
costisitoare construirea plăcilor de bază cu PCI-X.
PCI-Express este complet diferită - țintește piața computerelor personale și ar putea
revoluționa nu doar performanța calculatoarelor, dar și forma sistemelor informatice.
PCI-Express este un sistem punct-la-punct, care permite o performanță mai bună și s-ar
putea determina fabricarea de plăci de bază mai ieftine.
Este, de asemenea, scalabilă. Un slot de bază PCI-Express va fi o conexiune de 1x
lucru care va oferi suficientă lățime de bandă pentru conexiunile la Internet de mare
viteză și alte periferice. În cazul în care o componentă necesită o lățime de bandă mai
mare, se pot adăuga conectori PCI-Express 2x, 4x, 8x și 16x în plăcile de bază. PCI-
Express 16x sunt disponibile în locul slotului plăcii grafice AGP de pe unele plăci de
bază.

PCI-Express ar putea însemna mai mult decât calculatoarele mai rapide. Pe măsură ce
tehnologia se dezvolta, producatorii de computere ar putea proiecta o placă de bază cu
conectori PCI Express, care se atașează la cabluri speciale ceea ce ar putea permite
sistemule de calcul complet modulare, reducînd foarte mult.
Se poate conecta un hard disk extern fie prin USB 2.0 sau PCI-Express. Se mai pot
atașa module mici care conțin plăci de sunet, plăci video și modemuri.
AGP (Accelerated Graphics Port) - este un canal de magistrală de comunicație punct-
la-punct de mare viteză pentru atașarea unei plăci video la placa de bază a unui
calculator, cu scopul principal de a ajuta la accelerarea afișării grafice 3D.
Din anul 2004 AGP a fost în pierdere în favoarea PCI Express (PCIe). De la jumătatea
anului 2009 PCIe domină piața; cardurile și plăcile AGP au fost încă produse, dar
suportul de driver OEM a fost minim.
Calculatoarele devenind din ce în ce mai grafic-orientate, generații succesive de
adaptoare grafice începeau să împinga limitele de PCI, un bus cu bandă partajată.
Aceasta a condus la dezvoltarea de AGP, magistrală dedicată adaptoarelor grafice.
Principalul avantaj al AGP față de PCI este ca asigură o cale dedicată între slot și
procesor. În plus la o lipsă de conflicte pentru bus, conexiunea directă permite viteze de
ceas mai mari. AGP utilizează de asemenea adresarea sideband, în sensul că adresa și
magistralele de date sunt separate astfel încât întregul pachet nu trebuie să fie citit
pentru a obține informațiile de adresare.
Magistrale seriale

Avantaje:
• Conectori cu dimensiuni mai reduse
• Susceptibilitate mai redusă la interferențe electrice
• Distanță de interconectare mai mare
• Fiabilitate mai ridicată
• Cost mai redus al interfeței
Magistrala I2C

Cu scopul eficientizării controlului interconectării circuitelor integrate, a fost dezvoltată


magistrala I2C care permite maximizarea eficienţei hardware-ului şi simplificarea
proiectării circuitelor.

În prezent, această magistrală permite cuplarea a mai mult de 150 de tipuri de circuite
integrate, realizate în tehnologie CMOS sau bipolară (driver-e pentru afişaje cu cristale
lichide, porturi de intrare-ieşire, memorii RAM şi EEPROM, convertoare) şi a
circuitelor orientate pe aplicaţii (procesare de semnale pentru sisteme radio şi video, de
exemplu).
I2C (Inter Integrated Circuits) - magistrală bidirecțională cu două linii și anume:
SDA(Serial Data) și SCL(Serial Clock.
Dispozitivele conectate la magistrala I2C sunt identificate printr-o adresă unică și pot
funcționa ca transmițătoare sau ca receptoare.
Transmițătoarele și receptoarele pot funcționa în modul master –inițiază un transfer de
date pe magistrală, semnalele de ceas și, evident, încheie transferul sau, slave – oricare
dispozitiv care poate fi adresat.
Exemplu de sistem organizat în jurul magistralei I2C
Este o magistrală de tip multi-master - mai multe dispozitive care pot controla
magistrala pot fi cuplate la aceasta. Pentru a se evita situația în care mai multe
dispozitive master inițiază un transfer pe magistrală, a fost elaborată o procedură de
arbitrare a priorităţilor (bazată pe conectarea de tip ŞI-cablat a tuturor dispozitivelor la
magistrală).

Semnalele de ceas pe durata arbitrării de priorităţi sunt rezultatul sincronizării


semnalelor de ceas generate de dispozitivele master prin utilizarea funcţiei de tip ŞI-
cablat a liniilor SCL. Atunci când magistrala este liberă, ambele linii (SDA şi SCL)
sunt în starea HIGH.

Pe magistrala I2C, transferurile de date pot fi efectuate cu rate de maxim 100 kbiţi/s în
modul standard sau maxim 400 kbiţi/s în modul rapid.
Interconectarea a două dispozitive pe magistrala I2C.
Circuitele integrate compatibile cu magistrala I2C permit dezvoltarea rapidă a
proiectării de la o schemă bloc funcţională la prototip, asigurând proiectanţilor o serie
întregă de avantaje:
• structura extrem de simplă a magistralei (2 fire) minimizează interconexiunile cu
exteriorul;
• protocolul complet integrat al magistralei I2C elimină folosirea decodificatoarelor
de adrese şi a unei logici externe, suplimentare;
• capabilităţile de multimaster ale magistralei I2C permit testarea rapidă şi alinierea
utilizatorilor, prin utilizarea unor conexiuni externe, la un sistem de calcul;
• disponibilitatea circuitelor integrate I2C sub amprente de tip SO (Small Outline),
VSO (Very Small Outline) şi DIL (Dual In Line) reduce necesităţile de spaţiu.
USB (Universal Serial Bus)
Dezvoltată în 1995 de un grup de firme: HP, Compaq, Intel, Lucent, Microsoft, NEC,
Philips.
Standard de magistrală externă proiectată pentru a se putea conecta direct periferice
externe de tip PnP (Plug and Play).
Soluţia USB elimină necesitatea unor porturi şi plăci de I/O cu destinaţie specială, se
economisesc resurse sistem importante – de exemplu cereri de întrerupere (IRQn)
(oricâte dipozitive ar fi conectate pe portul USB, va fi nevoie de o singură IRQ).
Perifericele conectate pe USB vor fi recunoscute şi configurate imediat ce sunt
conectate fizic, fără a fi necesară o repornire a sistemului sau o rulare a unui
program de setup.
USB permite conectarea a până la 127 dispozitive pe o magistrală, unele dispositive
putând funcţiona ca şi conectoare adiţionale (hub-uri – monitoarele sau tastaturile,
de exemplu).
Magistrala USB este bazată pe o transmisie serială, sincronă, entitatea este cadrul
(blocul) de date, codificare de grup cu adăugare de biţi, cu refacerea tactului din datele
citite și cu verificarea corectitudinii transferului cu CRC.
Magistrala USB a fost introdusă cu dorinţa de a oferi utilizatorilor o interfaţă
universală, cu viteză mare şi uşor de folosit, mai ieftină pentru că, fiind serială,
cablurile şi conectorii costă mai puţin. Complexitatea USB este mai mare decât a
interfeţelor înlocuite, adică a interfeţei RS232 şi a interfeţei paralele, prin urmare
implementarea ei în microcontrollere a fost mai dificilă.
Versiuni:
• USB 1.0 (rata de transfer 1,5 Mbps -Low Speed) - ianuarie 1996
• USB 1.1 (12Mbps - Full Speed) - septembrie 1998
• USB 2.0 (480Mbps- Hi Speed ) - aprilie 2000
• USB 3.0 (4,8Gbps – Super Speed) - noiembrie 2008
• USB 3.1 (10Gbps – Super Speed +) – iulie 2013
Specificaţiile descriu atributele de magistralã, definesc protocolul, tipurile de tranzacţii,
administrarea magistralei (bus management) şi furnizeazã și informaţiile necesare
pentru construirea unui sistem în acest standard.
Magistrala USB defineşte trei categorii de dispozitive fizice:
• gazda USB (USB Host)
• funcţii USB (USB function)
• distribuitoare USB (USB Hub)
Distribuitoare USB (Hub-uri)
• Recunosc conectarea dinamică a unui periferic
• La inițializare asigură o putere de cel puțin 0,5 W pentru fiecare periferic
• Pentru funcționarea perifericelor asigură o putere de până la 2,5 W, 4,5 W sau 9 W
• Constau din repetor -comutator și controler - registre de interfață pentru
comunicația cu calculatorul
• Dispozitivele USB sunt conectate într-o topologie de tip stea multiplã:
Legătura multipunct pe magistrală și punct la punct între hub şi dispozitive. Dacă un
dispozitiv fizic conţine mai multe funcţii şi un hub, este un dispozitiv compus.
(exemplu - multifuncţională care conţine imprimantă, scanner şi fax, acestea fiind
funcţii USB).

Fiecare dispozitiv USB poate dispune de una sau mai multe endpoint-uri prin care
gazda comunicã cu dispozitivul. Endpoint - registru intern pe care îl poate adresa gazda
și pot avea loc operații de scriere-citire informații. Endpoint zero – endpoint special pe
care îl au toate dispozitivele , privit ca pipe control și căruia îi este asociatã informaţia
ce descrie complet dispozitivul USB: clasa de dispozitiv, informaţii de power
management, producãtor etc.
Gazda USB este iniţiatorul transferurilor de date pe magistralã. Protocolul folosit este
unul prin interogare (polling). Datele vehiculate pe magistralã sunt grupate în pachete
iar o tranzacţie de magistralã implicã transmiterea a cel mult trei pachete.

Tranzacţia începe prin trimiterea de cãtre gazdã a unui pachet de semnalizare -token
packet - descrie tipul şi sensul tranzacţiei, adresa dispozitivului USB şi numãrul
nodului destinaţie (endpoint).

Dispozitivul adresat se selecteazã prin decodificarea adresei ce-i corespunde. Urmeazã


transferul de date de la gazdã spre dispozitivul adresat sau invers, dupã cum este
specificat în pachetul de semnalizare.

Receptorul rãspunde în aceastã tranzacţie printr-un pachet de dialog -handshake packet


prin care se confirmã (sau nu) încheierea cu succes a transferului de date.
• Codificarea utilizatã este NRZI (Non Return to Zero Inverted) cu inserare de biţi
(bit-stuffing – pentru a asigura tranziții suficiente semnalelor) şi tactul de recepţie
generat din datele transmise, codul fiind autosincronizabil.

• Biții de 1 și 0 sunt reprezentați prin tensiuni opuse și alternante, fără


revenire la tensiunea zero între biții codificați
• Semnale diferențiale pe liniile D+și D-
• Tensiunea de alimentare pentru periferice pe linia VBUS
• Endpoints (Terminatori) la fiecare capăt al cablului
– Asigură nivele de tensiune corecte pentru periferice
– Permit detectarea conectării/deconectării perifericelor
– Permit diferențierea între perifericele rapide și lente

+5 volţi (roşu)
ground (maro)
pereche de fire răsucite (galben şi albastru)
transfer date
Conectori USB
cablu USB 3.0 –SuperSpeed și conector pe placa de bază.
Conectori de tip C
• Specificații elaborate în 2014 și actualizate în 2015
• Se utilizează atât de calculatorul gazdă, cât și de dispozitive USB (3.1, 3.0 sau 2.0)
• Conțin 24 de pini, inclusiv doi pini pentru detecția orientării cablului - reversibili
• Dimensiuni: 8,4 x 2,6 mm
• Curentul maxim: 1,5 A sau 3 A
• Exemple: 2015 MacBook, ChromebookPixel
USB Type-C, USB 3.0/3.1 Type-A, and USB 3.0/3.1 Mini-B cables
Adaptor USB-on-the-Go / USB Tip A
Bibliografie
1. http://ep.etc.tuiasi.ro/site/Sisteme%20Cu%20Conectare%20Multiplexata/I2C_1_fi
n+.pdf
2. http://andrei.clubcisco.ro/cursuri/f/f-sym/2ad/02.pdf
3. http://iota.ee.tuiasi.ro/~czet/Curs/Teledata/Cap4_Interfete_seriale.pdf
4. http://vega.unitbv.ro/~ogrutan/Interfete%20si%20protocoale/Curs/9-
Magistrala%20USB.pdf

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