I2C interfejs: opis na ruskom

Sadržaj:

I2C interfejs: opis na ruskom
I2C interfejs: opis na ruskom
Anonim

U modernim kućanskim aparatima, industrijskoj elektronici i različitoj telekomunikacionoj opremi često se mogu naći slična rješenja, iako proizvodi mogu biti praktički nepovezani. Na primjer, skoro svaki sistem uključuje sljedeće:

  • određena "pametna" kontrolna jedinica, koja je u velikoj većini slučajeva mikrokompjuter sa jednim čipom;
  • komponente opšte namene kao što su LCD baferi, RAM, I/O portovi, EEPROM ili namenski pretvarači podataka;
  • specifične komponente uključujući digitalno podešavanje i kola za obradu signala za video i radio sisteme.

Kako optimizirati njihovu aplikaciju?

kratak opis uart spi i2c interfejsa
kratak opis uart spi i2c interfejsa

Da bi maksimalno iskoristili ova uobičajena rješenja za dobrobit dizajnera i proizvođača, kao i da bi poboljšali ukupne performanse različitog hardvera i pojednostavili primijenjene komponente kola, Philips je odlučio da razvije najjednostavniji dvožični dvosmjerni bus koji pruža najproduktivniji inter-chipkontrolu. Ova magistrala omogućava prijenos podataka preko I2C interfejsa.

Danas, proizvodni asortiman proizvođača uključuje više od 150 CMOS, kao i bipolarne uređaje kompatibilne sa I2C i dizajnirane da rade u bilo kojoj od navedenih kategorija. Treba napomenuti da je I2C sučelje inicijalno ugrađeno u sve kompatibilne uređaje, zbog čega mogu lako komunicirati jedni s drugima pomoću posebne magistrale. Zbog upotrebe ovakvog dizajnerskog rješenja bilo je moguće riješiti prilično veliki broj problema povezivanja različite opreme, što je prilično tipično za razvoj digitalnih sistema.

Ključne prednosti

i2c interfejs
i2c interfejs

Čak i ako pogledate kratak opis UART, SPI, I2C sučelja, možete istaknuti sljedeće prednosti potonjeg:

  • Za rad su vam potrebne samo dvije linije - sinhronizacija i podaci. Svaki uređaj koji se povezuje na takvu magistralu može se programski adresirati na potpuno jedinstvenu adresu. U svakom trenutku, postoji jednostavan odnos koji omogućava masterima da djeluju kao glavni-predajnik ili glavni-prijemnik.
  • Ova magistrala pruža mogućnost posedovanja nekoliko mastera odjednom, obezbeđujući sva neophodna sredstva za određivanje kolizija, kao i arbitražu za sprečavanje oštećenja podataka u slučaju da dva ili više mastera počnu da prenose informacije istovremeno. U standardnom načinu radaobezbeđen je samo serijski 8-bitni prenos podataka brzinom ne većom od 100 kbps, au brzom režimu ovaj prag se može povećati četiri puta.
  • Čipovi koriste poseban ugrađeni filter koji efikasno potiskuje prenapone i osigurava maksimalan integritet podataka.
  • Maksimalni mogući broj čipova koji se mogu povezati na jednu magistralu ograničen je samo njegovim maksimalnim mogućim kapacitetom od 400 pF.

Pogodnosti za konstruktore

i2c sučelje lcd1602
i2c sučelje lcd1602

I2C interfejs, kao i svi kompatibilni čipovi, mogu značajno ubrzati proces razvoja, od funkcionalnog dijagrama do njegovog konačnog prototipa. Istovremeno, treba napomenuti da je zbog mogućnosti povezivanja ovakvih mikrokola direktno na sabirnicu bez upotrebe svih vrsta dodatnih kola, obezbeđen prostor za dalju modernizaciju i modifikaciju prototipa sistema isključivanjem i povezivanjem različitih uređaja sa mreže. autobus.

Postoje mnoge prednosti koje ističu I2C interfejs. Opis vam, posebno, omogućava da vidite sljedeće prednosti za konstruktore:

  • Blokovi na funkcionalnom dijagramu u potpunosti odgovaraju mikro krugovima, a istovremeno je omogućen prilično brz prijelaz sa funkcionalnog na osnovni.
  • Nema potrebe za razvoj interfejsa magistrale jer je sabirnica već nativno integrisana u namenske čipove.
  • Integrirani komunikacijski protokoli iadresiranje uređaja omogućava da sistem bude potpuno softverski definisan.
  • Isti tipovi mikrokola, ako je potrebno, mogu se koristiti u potpuno različitim aplikacijama.
  • Ukupno vreme razvoja je značajno smanjeno zbog činjenice da se dizajneri mogu brzo upoznati sa najčešće korišćenim funkcionalnim blokovima, kao i raznim mikro krugovima.
  • Po želji možete dodati ili ukloniti čipove iz sistema, a da pritom nemate mnogo uticaja na drugu opremu spojenu na istu magistralu.
  • Ukupno vrijeme razvoja softvera može se značajno smanjiti omogućavanjem biblioteke softverskih modula za višekratnu upotrebu.

Između ostalog, vredi napomenuti izuzetno jednostavnu proceduru za dijagnosticiranje kvarova koji su se desili i dalje otklanjanje grešaka, po čemu se razlikuje I2C interfejs. Opis sugerira da se, ako je potrebno, čak i manja odstupanja u radu takve opreme mogu odmah bez ikakvih poteškoća pratiti i, shodno tome, poduzeti odgovarajuće mjere. Također je vrijedno napomenuti da dizajneri dobivaju posebna rješenja, koja su, posebno, prilično atraktivna za različitu prijenosnu opremu i sisteme koji osiguravaju baterijsko napajanje pomoću I2C sučelja. Opis na ruskom jeziku također ukazuje da vam njegova upotreba omogućava pružanje sljedećih važnih prednosti:

  • Dovoljno visok stepen otpornosti na bilo kakve smetnje koje se pojavljuju.
  • U konačniciniska potrošnja energije.
  • Najširi raspon napona napajanja.
  • Širok raspon temperature.

Pogodnosti za tehnologe

Vrijedi napomenuti da su ne samo dizajneri, već i tehnolozi nedavno počeli prilično često da koriste specijalizovani I2C interfejs. Opis na ruskom jeziku ukazuje na prilično širok spektar prednosti koje ova kategorija stručnjaka pruža:

  • Standardna dvožična serijska magistrala sa ovim sučeljem minimizira interkonekcije između IC-a, što znači da je potrebno manje pinova i staza, čineći PCB jeftinijim i mnogo manjim.
  • Potpuno integrisan I2C interfejs LCD1602 ili neka druga opcija potpuno eliminiše potrebu za dekoderima adresa i drugom spoljnom malom logikom.
  • Na takvoj magistrali je moguće istovremeno koristiti više mastera, što značajno ubrzava testiranje i naknadno podešavanje opreme, budući da se sabirnica može spojiti na kompjuter montažne linije.
  • Dostupnost IC-a kompatibilnih sa ovim interfejsom u VSO, SO i prilagođenim DIL paketima može značajno smanjiti zahtjeve za veličinu uređaja.

Ovo je samo kratka lista prednosti koje razlikuju I2C interfejs LCD1602 i drugih. Osim toga, kompatibilni čipovi mogu značajno povećati fleksibilnost korištenog sistema, obezbjeđujućiizuzetno jednostavan dizajn različitih opcija opreme, kao i relativno lake nadogradnje za dalju podršku razvoju na trenutnom nivou. Tako je moguće razviti čitavu porodicu različite opreme, koristeći određeni osnovni model kao osnovu.

Dalja modernizacija opreme i proširenje njenih funkcija može se izvršiti putem standardnog povezivanja na sabirnicu odgovarajućeg mikrokola koristeći Arduino 2C interfejs ili bilo koji drugi sa liste dostupnih. Ako je potreban veći ROM, tada će biti dovoljno samo odabrati drugi mikrokontroler sa povećanim ROM-om. Budući da ažurirani čipovi mogu u potpunosti zamijeniti stare ako je potrebno, možete lako dodati nove karakteristike opremi ili povećati njenu ukupnu performansu jednostavnim odvajanjem zastarjelih čipova i zamjenom sa novijom opremom.

ACCESS.bus

Zbog činjenice da sabirnica ima dvožičnu prirodu, kao i mogućnost programskog adresiranja, jedna od najidealnijih platformi za ACCESS.bus je I2C interfejs. Specifikacija (opis na ruskom jeziku je predstavljen u članku) ovog uređaja čini ga mnogo jeftinijom alternativom ranije aktivno korišćenom RS-232C interfejsu za povezivanje raznih perifernih uređaja sa računarima pomoću standardnog četvoropinskog konektora.

Uvod u specifikaciju

Opis i2c interfejsa na ruskom
Opis i2c interfejsa na ruskom

Za moderne aplikacije8-bitna kontrola, koja koristi mikrokontrolere, moguće je postaviti neke kriterije dizajna:

  • kompletan sistem uglavnom uključuje jedan mikrokontroler i druge periferne uređaje, uključujući memoriju i razne I/O portove;
  • ukupni trošak kombinovanja različitih uređaja unutar jednog sistema treba minimizirati što je više moguće;
  • sistem koji kontroliše funkcije ne obezbeđuje potrebu za brzim prenosom informacija;
  • ukupna efikasnost direktno zavisi od odabrane opreme kao i od prirode priključne magistrale.

Da biste dizajnirali sistem koji u potpunosti ispunjava navedene kriterijume, potrebno je da koristite sabirnicu koja će koristiti I2C serijski interfejs. Iako serijska magistrala nema propusni opseg paralelne magistrale, zahtijeva manje veza i manje pinova čipa. Istovremeno, ne zaboravite da sabirnica uključuje ne samo spojne žice, već i razne procedure i formate neophodne da bi se osigurala komunikacija unutar sistema.

Uređaji koji komuniciraju korišćenjem softverske emulacije I2C interfejsa ili odgovarajuće magistrale moraju imati poseban protokol koji vam omogućava da sprečite različite mogućnosti sudara, gubitka ili blokiranja informacija. Brzi uređaji bi trebali moći komunicirati sa sporim, a sistem ne bi trebao ovisiti o tomeod opreme koja je na njega povezana, jer se u protivnom neće moći koristiti sva poboljšanja i modifikacije. Također je potrebno razviti proceduru pomoću koje je realno utvrditi koji uređaj trenutno iu kojem trenutku pruža kontrolu sabirnice. Osim toga, ako su različiti uređaji s različitim taktnim frekvencijama povezani na istu magistralu, morate odlučiti o izvoru njegove sinhronizacije. Sve ove kriterijume ispunjava I2C interfejs za AVR i bilo koji drugi sa ove liste.

Glavni koncept

Opis specifikacije i2c interfejsa na ruskom
Opis specifikacije i2c interfejsa na ruskom

I2C magistrala može podržati bilo koju tehnologiju čipa koja se koristi. I2C LabVIEW sučelje i drugi slični njemu omogućavaju korištenje dvije linije za prijenos informacija - podataka i sinhronizacije. Svaki uređaj povezan na ovaj način prepoznaje se po svojoj jedinstvenoj adresi, bez obzira da li se radi o LCD baferu, mikrokontroleru, memorijskom ili tastaturnom interfejsu, i može da deluje kao prijemnik ili predajnik, zavisno od toga čemu je namenjen ovoj opremi.

U velikoj većini slučajeva, LCD bafer je standardni prijemnik, a memorija može ne samo primati, već i prenositi različite podatke. Između ostalog, prema procesu premeštanja informacija, uređaji se mogu klasifikovati kao slave i master.

U ovom slučaju, master je uređaj koji inicira prijenos podataka, a također i generišesignali za sinhronizaciju. U ovom slučaju, svi adresabilni uređaji će se smatrati robovima u odnosu na njih.

I2C komunikacioni interfejs omogućava prisustvo nekoliko mastera odjednom, odnosno više od jednog uređaja koji može da kontroliše magistralu može da se poveže na njega. Mogućnost korištenja više od jednog mikrokontrolera na istoj magistrali znači da više od jednog mastera može biti proslijeđeno u bilo kojem trenutku. Da bi se eliminisao potencijalni haos koji rizikuje da se pojavi u takvoj situaciji, razvijen je specijalizovani arbitražni postupak koji koristi I2C interfejs. Ekspanderi i drugi uređaji omogućavaju povezivanje uređaja na sabirnicu prema tzv. pravilu ožičenja.

Generisanje signala sata je odgovornost mastera, a svaki master generiše sopstveni signal tokom prenosa podataka, a može se promeniti samo kasnije ako ga "povuče" spori slave ili drugi master kada dođe do kolizije

Opći parametri

I SCL i SDA su dvosmjerne linije koje se povezuju na pozitivno napajanje sa pull-up otpornikom. Kada je guma potpuno slobodna, svaka linija je u visokoj poziciji. Izlazni stupnjevi uređaja koji su povezani na sabirnicu moraju biti otvorenog odvoda ili otvorenog kolektora kako bi se mogla obezbijediti funkcija I. Informacije preko I2C sučelja mogu se prenositi brzinom ne većom od 400 kbpsbrzi način rada, dok standardna brzina ne prelazi 100 kbps. Ukupan broj uređaja koji se mogu istovremeno povezati na sabirnicu zavisi od samo jednog parametra. Ovo je kapacitet linije, koji nije veći od 400 pf.

Potvrda

opis i2c interfejsa
opis i2c interfejsa

Potvrda je obavezna procedura u procesu prijenosa podataka. Master generiše odgovarajući sinhronizacioni impuls dok predajnik otpušta SDA liniju tokom ovog sinhronizacionog impulsa kao potvrdu. Nakon toga, prijemnik mora osigurati da se SDA linija drži stabilnom tokom visokog stanja takta u stabilnom niskom stanju. U ovom slučaju, uzmite u obzir vrijeme postavljanja i čekanja.

U velikoj većini slučajeva, za adresirane prijemnike je obavezno da generiše potvrdu nakon svakog primljenog bajta, sa jedinim izuzetkom kada početak prenosa uključuje CBUS adresu.

Ako prijemnik-slave nema načina da pošalje potvrdu o svojoj adresi, liniju podataka treba ostaviti visoko i tada će master moći izdati "Stop" signal, koji će prekinuti slanje sve informacije. Ako je adresa potvrđena, ali slave više ne može primiti podatke duže vrijeme, master također mora prekinuti slanje. Da bi to učinio, slave ne potvrđuje sljedeći primljeni bajt i jednostavno napušta linijuvisoka, uzrokujući da master generiše stop signal.

Ako postupak prijenosa predviđa prisustvo glavnog prijemnika, onda u ovom slučaju on mora obavijestiti slave o kraju prijenosa, a to se radi tako što se ne priznaje posljednji primljeni bajt. U ovom slučaju, slave-predajnik odmah oslobađa podatkovnu liniju tako da master može izdati "Stop" signal ili ponovo ponoviti "Start" signal.

Da biste provjerili da li oprema radi, možete pokušati unijeti standardne primjere skica za I2C interfejs u Arduinu, kao na gornjoj fotografiji.

Arbitraža

2c arduino interfejs
2c arduino interfejs

Masteri mogu početi slati informacije tek nakon što je sabirnica potpuno slobodna, ali dva ili više mastera mogu generirati startni signal u minimalnom vremenu zadržavanja. Ovo na kraju rezultira određenim signalom "Start" u autobusu.

Arbitraža radi na SDA sabirnici dok je SCL sabirnica visoka. Ako jedan od mastera počne odašiljati nizak nivo na podatkovnoj liniji, ali je u isto vrijeme drugi visok, onda je potonji potpuno isključen s njega, jer SDL stanje ne odgovara visokom stanju njegove unutrašnje linije.

Arbitraža se može nastaviti kroz nekoliko bitova. Zbog činjenice da se prvo prenosi adresa, a zatim podaci, arbitraža može trajati do kraja adrese, a ako će se majstori obratitiisti uređaj, tada će u arbitraži učestvovati i različiti podaci. Zbog ove arbitražne šeme, nikakvi podaci neće biti izgubljeni ako dođe do kolizije.

Ako master izgubi arbitražu, tada može izdavati takt impulse u SCL do kraja bajta, tokom kojeg je pristup izgubljen.

Preporučuje se: