Interfață I2C: descriere în rusă

Cuprins:

Interfață I2C: descriere în rusă
Interfață I2C: descriere în rusă
Anonim

În aparatele electrocasnice moderne, electronicele industriale și diverse echipamente de telecomunicații, se pot găsi adesea soluții similare, deși produsele pot fi practic fără legătură. De exemplu, aproape fiecare sistem include următoarele:

  • o anumită unitate de control „inteligentă”, care în marea majoritate a cazurilor este un microcomputer cu un singur cip;
  • componente de uz general, cum ar fi tampoane LCD, RAM, porturi I/O, EEPROM sau convertoare de date dedicate;
  • componente specifice, inclusiv circuite de reglare digitală și procesare a semnalului pentru sisteme video și radio.

Cum să-și optimizeze aplicația?

Scurtă descriere a interfețelor uart spi i2c
Scurtă descriere a interfețelor uart spi i2c

Pentru a profita la maximum de aceste soluții comune în beneficiul designerilor și producătorilor, precum și pentru a îmbunătăți performanța generală a diferitelor componente hardware și pentru a simplifica componentele circuitelor aplicate, Philips și-a propus să dezvolte cel mai simplu bidirecțional cu două fire. autobuz care oferă cel mai productiv inter-cipControl. Acest autobuz oferă transfer de date prin interfața I2C.

Astăzi, gama de produse a producătorului include mai mult de 150 CMOS, precum și dispozitive bipolare compatibile cu I2C și concepute pentru a funcționa în oricare dintre categoriile enumerate. Trebuie remarcat faptul că interfața I2C este inițial încorporată în toate dispozitivele compatibile, datorită cărora acestea pot comunica cu ușurință între ele folosind o magistrală specială. Datorită utilizării unei astfel de soluții de proiectare, a fost posibil să se rezolve un număr destul de mare de probleme de interfațare a diverselor echipamente, ceea ce este destul de tipic pentru dezvoltarea sistemelor digitale.

Beneficii cheie

interfață i2c
interfață i2c

Chiar dacă te uiți la o scurtă descriere a interfețelor UART, SPI, I2C, poți evidenția următoarele avantaje ale acestora din urmă:

  • Pentru a funcționa, aveți nevoie doar de două linii - sincronizare și date. Orice dispozitiv care se conectează la o astfel de magistrală poate fi apoi adresat programatic la o adresă complet unică. În orice moment, există o relație simplă care permite masterilor să acționeze ca master-transmițător sau master-receptor.
  • Acest autobuz oferă posibilitatea de a avea mai mulți master deodată, oferind toate mijloacele necesare pentru determinarea coliziunilor, precum și arbitraj pentru a preveni coruperea datelor în cazul în care doi sau mai mulți master încep să transmită informații simultan. În modul standardnumai transmisia de date serială pe 8 biți este furnizată la o viteză de cel mult 100 kbps, iar în modul rapid acest prag poate fi mărit de patru ori.
  • Cipurile folosesc un filtru special încorporat care suprimă efectiv supratensiunile și asigură integritatea maximă a datelor.
  • Numărul maxim posibil de cipuri care pot fi conectate la o magistrală este limitat doar de capacitatea maximă posibilă a acestuia de 400 pF.

Beneficii pentru constructori

interfață i2c lcd1602
interfață i2c lcd1602

Interfața I2C, precum și toate cipurile compatibile, pot accelera semnificativ procesul de dezvoltare, de la o diagramă funcțională până la prototipul final. În același timp, trebuie remarcat faptul că, datorită posibilității de a conecta astfel de microcircuite direct la magistrală, fără a utiliza tot felul de circuite suplimentare, este prevăzut spațiu pentru modernizarea și modificarea în continuare a sistemului prototip prin deconectarea și conectarea diferitelor dispozitive de la autobuz.

Există multe beneficii care fac ca interfața I2C să iasă în evidență. Descrierea, în special, vă permite să vedeți următoarele avantaje pentru constructori:

  • Blocurile din diagrama funcțională corespund în totalitate microcircuitelor și, în același timp, este asigurată o tranziție destul de rapidă de la funcțional la fundamental.
  • Nu este nevoie să dezvoltați interfețe de magistrală, deoarece magistrala este deja integrată nativ în cipuri dedicate.
  • Protocoale de comunicare integrate șiadresarea dispozitivului permite ca sistemul să fie complet definit de software.
  • Aceleași tipuri de microcircuite, dacă este necesar, pot fi utilizate în aplicații complet diferite.
  • Timpul total de dezvoltare este redus semnificativ datorită faptului că proiectanții se pot familiariza rapid cu cele mai frecvent utilizate blocuri funcționale, precum și cu diferite microcircuite.
  • Dacă doriți, puteți adăuga sau elimina cipuri din sistem și, în același timp, nu aveți prea mult efect asupra altor echipamente conectate la aceeași magistrală.
  • Timpul total de dezvoltare a software-ului poate fi redus semnificativ prin permiterea unei biblioteci de module software reutilizabile.

Printre altele, este de remarcat procedura extrem de simplă de diagnosticare a defecțiunilor care au apărut și depanare ulterioară, care distinge interfața I2C. Descrierea sugerează că, dacă este necesar, chiar și abaterile minore în funcționarea unui astfel de echipament pot fi monitorizate instantaneu fără nicio dificultate și, în consecință, pot fi luate măsurile adecvate. De asemenea, merită remarcat faptul că designerii obțin soluții speciale, care, în special, sunt destul de atractive pentru diverse echipamente și sisteme portabile care furnizează puterea bateriei folosind interfața I2C. Descrierea în limba rusă indică, de asemenea, că utilizarea acesteia vă permite să oferiți următoarele avantaje importante:

  • Grad suficient de ridicat de rezistență la orice interferență emergentă.
  • În cele din urmăconsum redus de energie.
  • Cel mai larg domeniu de tensiune de alimentare.
  • Interval larg de temperatură.

Beneficii pentru tehnologi

Este de remarcat faptul că nu numai designerii, ci și tehnologii au început recent să folosească destul de des o interfață specializată I2C. Descrierea în limba rusă indică o gamă destul de largă de avantaje pe care această categorie de specialiști le oferă:

  • O magistrală serială standard cu două fire cu această interfață minimizează interconexiunile dintre circuitele integrate, ceea ce înseamnă că sunt mai puțini pini și mai puține piste necesare, făcând PCB-urile mai puțin costisitoare și mult mai mici.
  • O interfață I2C complet integrată LCD1602 sau o altă opțiune elimină complet necesitatea decodoarelor de adrese și a altor logici externe mici.
  • Este posibil să se utilizeze mai multe mastere pe un astfel de autobuz în același timp, ceea ce accelerează semnificativ testarea și configurarea ulterioară a echipamentului, deoarece magistrala poate fi conectată la un computer de linie de asamblare.
  • Disponibilitatea circuitelor integrate compatibile cu această interfață în pachetele VSO, SO și DIL personalizate poate reduce semnificativ cerințele privind dimensiunea dispozitivului.

Aceasta este doar o scurtă listă de avantaje care disting interfața I2C a LCD1602 și altele. În plus, cipurile compatibile pot crește semnificativ flexibilitatea sistemului utilizat, oferinddesign extrem de simplu al diferitelor opțiuni de echipamente, precum și upgrade-uri relativ ușoare pentru a sprijini dezvoltarea în continuare la nivelul actual. Astfel, este posibil să se dezvolte o întreagă familie de echipamente diferite, folosind ca bază un anumit model de bază.

Modernizarea ulterioară a echipamentelor și extinderea funcțiilor acestuia pot fi realizate prin intermediul unei conexiuni standard la magistrala microcircuitului corespunzător folosind interfața Arduino 2C sau oricare alta din lista disponibilă. Dacă este necesar un ROM mai mare, atunci va fi suficient să selectați un alt microcontroler cu un ROM crescut. Deoarece cipurile actualizate le pot înlocui complet pe cele vechi, dacă este necesar, puteți adăuga cu ușurință noi funcții la echipament sau puteți crește performanța generală a acestuia, pur și simplu deconectand cipurile învechite și apoi înlocuindu-le cu echipamente mai noi.

ACCESS.bus

Datorită faptului că magistrala are o natură cu două fire, precum și a posibilității de adresare a programului, una dintre cele mai ideale platforme pentru ACCESS.bus este interfața I2C. Specificația (descrierea în limba rusă este prezentată în articol) acestui dispozitiv îl face o alternativă mult mai ieftină la interfața RS-232C utilizată anterior în mod activ pentru conectarea diferitelor periferice la computere folosind un conector standard cu patru pini.

Introducere specificații

descrierea interfeței i2c în rusă
descrierea interfeței i2c în rusă

Pentru aplicații moderneControl pe 8 biți, care utilizează microcontrolere, este posibil să setați câteva criterii de proiectare:

  • Sistemul complet include în principal un microcontroler și alte periferice, inclusiv memorie și diverse porturi I/O;
  • costul total al combinarii diferitelor dispozitive într-un singur sistem ar trebui redus la minimum pe cât posibil;
  • sistemul care controlează funcțiile nu prevede necesitatea de a oferi un transfer de informații de mare viteză;
  • eficiența totală depinde direct de echipamentul ales, precum și de natura autobuzului de legătură.

Pentru a proiecta un sistem care îndeplinește pe deplin criteriile enumerate, trebuie să utilizați o magistrală care va folosi interfața serială I2C. Deși magistrala serială nu are lățimea de bandă a magistralei paralele, necesită mai puține conexiuni și mai puțini pini de cip. În același timp, nu uitați că magistrala include nu numai fire de conectare, ci și diverse proceduri și formate necesare pentru a asigura comunicarea în cadrul sistemului.

Dispozitivele care comunică folosind emularea software a interfeței I2C sau magistrala corespunzătoare trebuie să aibă un protocol specific care să vă permită să preveniți diferite posibilități de coliziuni, pierderi sau blocare a informațiilor. Dispozitivele rapide ar trebui să poată comunica cu cele lente, iar sistemul nu ar trebui să depindă dede la echipamentul conectat la acesta, deoarece în caz contrar toate îmbunătățirile și modificările nu vor putea fi utilizate. De asemenea, este necesar să se dezvolte o procedură cu ajutorul căreia este realist să se stabilească ce dispozitiv anume asigură în prezent controlul magistralei și în ce moment. În plus, dacă diferite dispozitive cu frecvențe de ceas diferite sunt conectate la aceeași magistrală, trebuie să decideți asupra sursei sincronizării acesteia. Toate aceste criterii sunt îndeplinite de interfața I2C pentru AVR și orice altele din această listă.

Concept principal

Descrierea specificațiilor interfeței i2c în rusă
Descrierea specificațiilor interfeței i2c în rusă

Magistrala I2C poate suporta orice tehnologie de cip utilizată. Interfața I2C LabVIEW și altele similare prevăd utilizarea a două linii pentru transferul de informații - date și sincronizare. Orice dispozitiv conectat în acest fel este recunoscut după adresa sa unică, indiferent dacă este un tampon LCD, microcontroler, memorie sau interfață de tastatură, și poate acționa ca receptor sau transmițător, în funcție de ce este destinat acestui echipament.

În marea majoritate a cazurilor, tamponul LCD este un receptor standard, iar memoria nu poate doar primi, ci și transmite diverse date. Printre altele, în funcție de procesul de mutare a informațiilor, dispozitivele pot fi clasificate ca sclave și master.

În acest caz, masterul este dispozitivul care inițiază transferul de date și, de asemenea, genereazăsemnale de sincronizare. În acest caz, orice dispozitiv adresabil va fi considerat sclav în legătură cu acesta.

Interfața de comunicare I2C asigură prezența mai multor master deodată, adică mai multe dispozitive capabile să controleze magistrala se pot conecta la aceasta. Posibilitatea de a utiliza mai mult de un microcontroler pe aceeași magistrală înseamnă că mai mult de un master poate fi redirecționat la un moment dat. Pentru a elimina potențialul haos care riscă să apară atunci când apare o astfel de situație, a fost dezvoltată o procedură de arbitraj specializată care utilizează interfața I2C. Expansoarele și alte dispozitive asigură conectarea dispozitivelor la magistrală conform așa-numitei reguli de cablare.

Generarea semnalului de ceas este responsabilitatea masterului, iar fiecare master generează propriul semnal în timpul transferului de date și se poate schimba doar mai târziu dacă este „tras” de un slave lent sau de un alt master atunci când are loc o coliziune.

Parametri generali

Atât SCL, cât și SDA sunt linii bidirecționale care se conectează la o sursă de alimentare pozitivă cu un rezistor pull-up. Când anvelopa este absolut liberă, fiecare linie este într-o poziție în altă. Etapele de ieșire ale dispozitivelor care sunt conectate la magistrală trebuie să fie open-drain sau open-collector, astfel încât să poată fi furnizată funcția cu fir și. Informațiile prin interfața I2C pot fi transmise la o viteză de cel mult 400 kbpsmodul rapid, în timp ce viteza standard nu depășește 100 kbps. Numărul total de dispozitive care pot fi conectate simultan la magistrală depinde de un singur parametru. Aceasta este capacitatea liniei, care nu depășește 400 pf.

Confirmare

descrierea interfeței i2c
descrierea interfeței i2c

Confirmarea este o procedură obligatorie în procesul de transfer de date. Masterul generează impulsul de sincronizare corespunzător în timp ce transmițătorul eliberează linia SDA în timpul acestui impuls de sincronizare ca o confirmare. După aceea, receptorul trebuie să se asigure că linia SDA este menținută stabilă în timpul stării superioare a ceasului într-o stare scăzută stabilă. În acest caz, asigurați-vă că țineți cont de timpii de configurare și de reținere.

În marea majoritate a cazurilor, este obligatoriu ca receptorul adresat să genereze o confirmare după fiecare octet primit, cu singura excepție când începerea transmisiei include o adresă CBUS.

Dacă receptorul-slave nu are nicio modalitate de a trimite confirmarea propriei adrese, linia de date trebuie lăsată sus, iar apoi masterul va putea emite un semnal „Stop”, care va întrerupe trimiterea toate informatiile. Dacă adresa a fost confirmată, dar slave nu mai poate primi date pentru o perioadă lungă de timp, masterul trebuie să întrerupă și trimiterea. Pentru a face acest lucru, slave nu recunoaște următorul octet primit și pur și simplu părăsește liniaridicat, determinând masterul să genereze un semnal de oprire.

Dacă procedura de transfer prevede prezența unui master-receptor, atunci în acest caz trebuie să informeze slave despre sfârșitul transmisiei, iar acest lucru se face prin neconfirmarea ultimului octet primit. În acest caz, transmițătorul slave eliberează imediat linia de date, astfel încât masterul să poată emite un semnal „Stop” sau să repete semnalul „Start” din nou.

Pentru a verifica dacă echipamentul funcționează, puteți încerca să introduceți exemple standard de schițe pentru interfața I2C în Arduino, ca în fotografia de mai sus.

Arbitraj

2c interfață arduino
2c interfață arduino

Maeștrii pot începe să trimită informații numai după ce autobuzul este complet liber, dar doi sau mai mulți master pot genera un semnal de pornire la timpul minim de reținere. Acest lucru duce în cele din urmă la un anumit semnal „Start” pe autobuz.

Arbitrajul funcționează pe magistrala SDA în timp ce magistrala SCL este ridicată. Dacă unul dintre maeștri începe să transmită un nivel scăzut pe linia de date, dar în același timp celăl alt este ridicat, atunci acesta din urmă este complet deconectat de la acesta, deoarece starea SDL nu corespunde stării în alte a liniei sale interne..

Arbitrajul poate continua pe mai mulți biți. Datorită faptului că adresa este transmisă mai întâi, iar apoi datele, arbitrajul poate dura până la sfârșitul adresei, iar dacă comandanții se vor adresaacelași dispozitiv, atunci date diferite vor participa și la arbitraj. Datorită acestei scheme de arbitraj, nu se vor pierde date dacă are loc vreo coliziune.

Dacă masterul pierde arbitrajul, atunci poate emite impulsuri de ceas în SCL până la sfârșitul octetului, timp în care accesul a fost pierdut.

Recomandat: