I2C Info – I2C Bus, Interfață și Protocol

I2C este un protocol serial de interfață cu două fire pentru a conecta cu viteză redusă, cum ar fi dispozitive microcontrolere, Eeprom, A/D și D/A convertoare, interfețe I/O și alte echipamente periferice în sisteme încorporate. A fost inventat de Philips și acum este folosit de aproape toți producătorii majori de IC. Fiecare dispozitiv slave I2C are nevoie de o adresă – acestea trebuie totuși obținute de la NXP (fostul Philips semiconductors).,

magistrala I2C este popular pentru că este simplu de utilizat, nu poate fi mai mult decât un singur stăpân, numai sus de autobuz de viteză este definit și numai două fire cu rezistorilor sunt necesare pentru a conecta număr aproape nelimitat de dispozitive I2C. I2C poate utiliza microcontrolere chiar mai lente cu pini i/o de uz general, deoarece trebuie doar să genereze condiții corecte de pornire și oprire, pe lângă funcțiile de citire și scriere a unui octet.

fiecare dispozitiv slave are o adresă unică., Transferul de la și la dispozitivul principal este serial și este împărțit în pachete de 8 biți. Toate aceste cerințe simple fac foarte simplă implementarea interfeței I2C chiar și cu microcontrolere ieftine care nu au controler hardware I2C special. Ai nevoie doar de 2 gratuit I/O pini și câteva rutine I2C simple pentru a trimite și primi comenzi.

specificațiile inițiale I2C definite frecvența maximă de ceas de 100 kHz. Acest lucru a fost mai târziu a crescut la 400 kHz ca modul rapid. Există, de asemenea, un mod de mare viteză care poate merge până la 3.4 MHz și există, de asemenea, un mod ultra-rapid de 5 MHz.,

interfață I2C

I2C utilizează doar două fire: SCL (ceas serial) și SDA (date seriale). Ambele trebuie să fie trase cu un rezistor la + Vdd. Există, de asemenea, schimbătoare de nivel I2C care pot fi utilizate pentru conectarea la două autobuze I2C cu tensiuni diferite.

I2C Adrese

Bază I2C comunicare este folosind transferuri de 8 biți sau octeți. Fiecare dispozitiv slave I2C are o adresă de 7 biți care trebuie să fie unică în autobuz. Unele dispozitive au fixat adresa I2C, în timp ce altele au puține linii de adrese care determină biți mai mici ai adresei I2C., Acest lucru face foarte ușor să aveți toate dispozitivele I2C în autobuz cu o adresă I2C unică. Există, de asemenea, dispozitive care au Adresa de 10 biți așa cum este permis de caietul de sarcini.

adresa pe 7 biți reprezintă biți 7 la 1 în timp ce bitul 0 este utilizat pentru a semnala citirea sau scrierea pe dispozitiv. Dacă bitul 0 (în octetul de adresă) este setat la 1, atunci dispozitivul principal va citi de pe dispozitivul slave I2C.

dispozitivul principal nu are nevoie de nicio adresă, deoarece generează ceasul (prin SCL) și se adresează dispozitivelor slave I2C individuale.,

Protocolul I2C

În stare normală ambele linii (SCL și SDA) sunt mari. Comunicarea este inițiată de dispozitivul principal. Acesta generează starea (condițiile) de pornire urmată de adresa dispozitivului slave (B1). Dacă bitul 0 Al octetului de adresă a fost setat la 0, dispozitivul principal va scrie pe dispozitivul slave (B2). În caz contrar, următorul octet va fi citit de pe dispozitivul slave. Odată ce toți octeții sunt citiți sau scriși (Bn), dispozitivul principal generează starea de oprire (P)., Aceasta semnalează altor dispozitive din magistrală că comunicarea s-a încheiat și că un alt dispozitiv poate utiliza magistrala.

majoritatea dispozitivelor I2C acceptă starea de pornire repetată. Aceasta înseamnă că, înainte ca comunicarea să se încheie cu o condiție de oprire, dispozitivul principal poate repeta starea de pornire cu octet de adresă și poate schimba modul de la scriere la citire.

concluzie

I2C bus este utilizat de multe circuite integrate și este simplu de implementat. Orice microcontroler poate comunica cu dispozitivele I2C chiar dacă nu are o interfață specială I2C., Specificațiile I2C sunt flexibile-I2C bus poate comunica cu dispozitive lente și poate utiliza, de asemenea, moduri de mare viteză pentru a transfera cantități mari de date. Datorită multor avantaje, autobuzul I2C va rămâne una dintre cele mai populare interfețe seriale pentru conectarea circuitelor integrate pe placă.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *