Sunteți pe pagina 1din 19

INTERFEE SERIALE SINCRONE

Interfaa I2C

I2C (Inter-Integrated Circuits) - Philips

Magistral bidirecional cu dou linii:



Date seriale SDA (Serial Data)

Ceas serial SCL (Serial Clock)
Interfaa I2C

Un dispozitiv conectat la magistrala I2C poate funciona ca:



Transmitor sau receptor

Fiecare dispozitiv are o adres unic

Transmitoarele i receptoarele pot funciona n modul master sau n


modul slave.

Magistrala este de tip multi-master, pentru c, potenial, orice


dispozitiv poate ndeplini funcia de master, dar numai unul la un
moment dat.

Dac cererile de a deveni master se activeaz simultan, atunci


intervine o procedur de arbitraj.
Interfaa I2C

Magistrala I2C original



Rata de transfer maxim de 100 Kbii/s

Adrese de 7 bii

Versiunea 2.0 (1992)



Mod de transfer rapid (Fast-mode), max. 400 Kbii/s

Adrese de 10 bii

Posibilitatea conectrii la magistral a dispozitivelor cu adrese de 7
sau 10 bii
Interfaa I2C

Versiunea 2.1

Deplasarea nivelelor de tensiune (Level-shifting) pentru conectarea
dispozitivelor cu tensiuni de alimentare diferite

Specificaii extinse pentru dispozitive cu tensiunea sub 2,7 V

Mod de transfer de vitez ridicat (High-speed) max. 3,4 Mbii/s
Interfaa I2C

Att SDA ct i SCL sunt linii bidirecionale, conectate la o tensiune de


alimentare pozitv prin intermediul unui rezistor de tip pull-up.

Etajele de ieire ale dispozitivelor conectate la magistral trebuie s


fie de tip cu dren n gol sau colector in gol pentru a putea realiza
funcia I-cablat.
Interfaa I2C

Condiii de start i de stop

Condiie de start:

Tranziie 1-->0 a liniei SDA, SCL = 1 logic

Condiie de stop:

Tranziie 0-->1 a liniei SDA, SCL = 1 logic
Interfaa I2C

Validitatea datelor

Datele de pe linia SDA trebuie s fie stabile n timp ce SCL = 1 logic

Datele se pot schimba numai atunci cnd SCL = 0 logic


Interfaa I2C

Categorii de informaii transmise pe magistral


Bit de start

Adresa dispozitivului slave (7 sau 10 bii)

Bit de citire/scriere

Bii de date (segmente de cte 8 bii)

Bit de confirmare (dup fiecare segment de date)

Bit de stop
Interfaa I2C

Categorii de informaii transmise pe magistral

Numrul de octei din cadrul unui transfer nu este limitat

Receptorul poate fora transmitorul ntr-o stare de ateptare


Interfaa I2C

Formatul pachetelor - adresa

Formatul pachetelor - date


Interfaa I2C

Sincronizarea clock-ului

n urma sincronizrii se va obine un semnal de tact care va avea:


- perioada Low determinat de dispozitivul cu cea mai lung
perioad Low
- perioada High determinat de dispozitivul cu cea mai scurt
perioad High
Interfaa I2C
Arbitrarea pe magistral

Dou sau mai multe dispozitive master pot incepe s tramsmit simultan

Arbitrarea are loc pe linia SDA

Masterul care transmite un nivel High, n timp ce un alt master transmite un


nivel Low va pierde arbitrarea

Arbitrarea poate continua pe mai muli bii, ncepnd cu adresa si


continund cu biii de date
Interfaa SPI

SPI (Serial Periferical Interface) este un protocol dezvoltat de Motorola i


care a fost impus prin intermediul microcontrolerelor HC11.
Este un protocol foarte rapid, care nsa nu permite direct prezena pe
magistral a doi sau mai muli masteri.
Schema de arbitrare trebuie efectuat extern, folosind un circuit auxiliar
Perifericele mai lente nu pot semnaliza o cerere de ntrziere a comunicaiei
Avantaje:
viteza foarte mare
selecia direct a slave-lui (dar, pentru fiecare slave, este nevoie de un fir
separat)
simplitate in utilizare
Interfaa SPI

Dezavantaje:
chiar cu un singur slave, este nevoie de 4 fire iar cu 2 dispozitive slave, este
nevoie de 5 fire.
lipsa arbitrarii ntre masteri
lipsa clock-stretching-ului perifericele lente nu au ce cuta pe aceasta
magistral
lipsa unui bit de ACK validarea pachetelor trebuie fcut la un nivel
superior
Interfaa SPI

Semnalele folosite de SPI sunt:


SCLK (Serial clock) - generat de master
MOSI (Master Output, Slave Input) - date transmise de master
MISO (Master Input, Slave Output) - date recepionate de master
SS (Slave select) - activarea dispozitivului Slave de ctre master fiind activ pe
zero
Interfaa SPI

Funcionarea magistralei este urmtoarea:


1. Dispozitivul master iniiaz comunicaia prin activarea semnalului SS
2. Tot master-ul este responsabil cu generarea semnalului de clock, SCLK
3. Pe durata fiecrei perioade de clock se transmite un bit de la master la slave,
si un bit de la slave la master
4. Dup fiecare pachet de date (8, 16 biti,) semnalul SS este dezactivat, pentru
sincronizarea transmisiei
Interfaa SPI

Dac exist mai multe dispozitive slave conectate la un master, fiecare


dintre ele va avea o linie SS dedicat, dup cum se observ in figura de mai
jos
Pentru un dispozitiv slave, linia SS este o linie de intrare. Atunci cnd
linia este pus pe 0, nsemn selecia acelui dispozitiv slave, iar valoarea 1
semnific deselectarea acelui dispozitiv. O tranziie din 1 n 0 semnific
resetarea ciclului de transfer.
Interfaa SPI

Funcionarea magistralei este urmtoarea:


Comunicaia dintre un master i un slave se realizeaz n felul urmtor:
ambele dispozitive au cte un registru de deplasare intern, care este conectat
la pinii MISO i MOSI dup cum se vede n figura de mai jos: