U modernim kućanskim aparatima, industrijskoj elektronici i različitoj telekomunikacijskoj opremi često se mogu pronaći slična rješenja, iako proizvodi mogu biti praktički nepovezani. Na primjer, gotovo svaki sustav uključuje sljedeće:
- određena "pametna" upravljačka jedinica, koja je u velikoj većini slučajeva mikroračunalo s jednim čipom;
- komponente opće namjene kao što su LCD međuspremnici, RAM, I/O portovi, EEPROM ili namjenski pretvarači podataka;
- specifične komponente uključujući digitalno podešavanje i krugove za obradu signala za video i radio sustave.
Kako optimizirati njihovu aplikaciju?
Kako bi maksimalno iskoristili ova uobičajena rješenja za dobrobit dizajnera i proizvođača, kao i poboljšali ukupne performanse različitog hardvera i pojednostavili primijenjene komponente strujnog kruga, Philips je odlučio razviti najjednostavniji dvožični dvosmjerni sabirnica koja pruža najproduktivniji inter-chipkontrolirati. Ova sabirnica omogućuje prijenos podataka preko I2C sučelja.
Danas proizvodni asortiman proizvođača uključuje više od 150 CMOS-a, kao i bipolarne uređaje kompatibilne s I2C i dizajnirane za rad u bilo kojoj od navedenih kategorija. Treba napomenuti da je I2C sučelje u početku ugrađeno u sve kompatibilne uređaje, zbog čega mogu lako međusobno komunicirati pomoću posebne sabirnice. Zbog korištenja takvog dizajnerskog rješenja bilo je moguće riješiti prilično velik broj problema sučelja različite opreme, što je sasvim tipično za razvoj digitalnih sustava.
Ključne prednosti
Č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 - sinkronizacija i podaci. Svaki uređaj koji se spaja na takvu sabirnicu može se tada programski adresirati na potpuno jedinstvenu adresu. U svakom trenutku postoji jednostavan odnos koji dopušta nadređenima da djeluju kao glavni odašiljač ili glavni-prijemnik.
- Ova sabirnica pruža mogućnost posjedovanja nekoliko mastera odjednom, pružajući sva potrebna sredstva za određivanje kolizija, kao i arbitražu za sprječavanje oštećenja podataka u slučaju da dva ili više mastera počnu prenositi informacije istovremeno. U standardnom načinu radaosiguran je samo serijski 8-bitni prijenos podataka brzinom ne većom od 100 kbps, a u brzom načinu rada ovaj se prag može povećati četiri puta.
- Čipovi koriste poseban ugrađeni filtar koji učinkovito potiskuje prenapone i osigurava maksimalan integritet podataka.
- Maksimalni mogući broj čipova koji se može spojiti na jednu sabirnicu ograničen je samo njegovim maksimalnim mogućim kapacitetom od 400 pF.
Pogodnosti za konstruktore
I2C sučelje, kao i svi kompatibilni čipovi, mogu značajno ubrzati proces razvoja, od funkcionalnog dijagrama do konačnog prototipa. Istodobno, treba napomenuti da se zbog mogućnosti povezivanja ovakvih mikrosklopova izravno na sabirnicu bez korištenja svih vrsta dodatnih sklopova, osigurava prostor za daljnju modernizaciju i modifikaciju prototipa sustava odvajanjem i spajanjem različitih uređaja iz mreže. autobus.
Postoje mnoge prednosti zbog kojih se I2C sučelje ističe. Opis vam, posebice, omogućuje 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 iz funkcionalnog u temeljni.
- Nema potrebe razvijati sučelja sabirnice jer je sabirnica već nativno integrirana u namjenske čipove.
- Integrirani komunikacijski protokoli iadresiranje uređaja omogućuje da sustav bude potpuno softverski definiran.
- Isti tipovi mikro krugova, ako je potrebno, mogu se koristiti u potpuno različitim aplikacijama.
- Ukupno vrijeme razvoja značajno je smanjeno zbog činjenice da se dizajneri mogu brzo upoznati s najčešće korištenim funkcionalnim blokovima, kao i raznim mikro krugovima.
- Po želji možete dodavati ili uklanjati čipove iz sustava, a da pritom nemate puno utjecaja na drugu opremu spojenu na istu sabirnicu.
- Ukupno vrijeme razvoja softvera može se značajno smanjiti dopuštanjem biblioteke softverskih modula za višekratnu upotrebu.
Između ostalog, vrijedi istaknuti iznimno jednostavan postupak dijagnosticiranja nastalih kvarova i daljnjeg otklanjanja pogrešaka, koji razlikuje I2C sučelje. Opis sugerira da se, ako je potrebno, čak i manja odstupanja u radu takve opreme mogu odmah bez ikakvih poteškoća nadzirati i, sukladno tome, poduzeti odgovarajuće mjere. Također je vrijedno napomenuti da dizajneri dobivaju posebna rješenja, koja su posebno privlačna za raznu prijenosnu opremu i sustave koji osiguravaju baterijsko napajanje pomoću I2C sučelja. Opis na ruskom također pokazuje da vam njegova upotreba omogućuje pružanje sljedećih važnih prednosti:
- Dovoljno visok stupanj otpornosti na bilo kakve smetnje.
- 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 često koristiti specijalizirano I2C sučelje. Opis na ruskom jeziku ukazuje na prilično širok raspon prednosti koje ova kategorija stručnjaka pruža:
- Standardna dvožična serijska sabirnica s ovim sučeljem minimizira interkonekcije između IC-ova, što znači da je potrebno manje pinova i staza, čineći PCB-e jeftinijim i mnogo manjim.
- Potpuno integrirano I2C sučelje LCD1602 ili neka druga opcija potpuno eliminira potrebu za dekoderima adresa i drugom vanjskom malom logikom.
- Na takvoj sabirnici moguće je istovremeno koristiti nekoliko mastera, što značajno ubrzava testiranje i naknadno postavljanje opreme, budući da se sabirnica može spojiti na računalo na montažnoj liniji.
- Dostupnost IC-a kompatibilnih s ovim sučeljem u VSO, SO i prilagođenim DIL paketima može značajno smanjiti zahtjeve za veličinu uređaja.
Ovo je samo kratak popis prednosti koje razlikuju I2C sučelje LCD1602 i drugih. Osim toga, kompatibilni čipovi mogu značajno povećati fleksibilnost korištenog sustava, osiguravajućiiznimno jednostavan dizajn raznih opcija opreme, kao i relativno lake nadogradnje za daljnju podršku razvoju na trenutnoj razini. Tako je moguće razviti cijelu obitelj različite opreme, koristeći određeni osnovni model kao osnovu.
Daljnja modernizacija opreme i proširenje njezinih funkcija može se provesti standardnom vezom na sabirnicu odgovarajućeg mikrosklopa pomoću Arduino 2C sučelja ili bilo kojeg drugog s dostupnog popisa. Ako je potreban veći ROM, tada će biti dovoljno samo odabrati drugi mikrokontroler s povećanim ROM-om. Budući da ažurirani čipovi mogu u potpunosti zamijeniti stare ako je potrebno, možete jednostavno dodati nove značajke opremi ili povećati njezinu ukupnu učinkovitost jednostavnim odspajanjem zastarjelih čipova, a zatim ih zamijeniti 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 sučelje. Specifikacija (opis na ruskom jeziku predstavljen je u članku) ovog uređaja čini ga mnogo jeftinijom alternativom prethodno aktivno korištenom sučelju RS-232C za povezivanje raznih perifernih uređaja na računala pomoću standardnog četveropinskog konektora.
Uvod u specifikaciju
Za moderne aplikacije8-bitna kontrola, koja koristi mikrokontrolere, moguće je postaviti neke kriterije dizajna:
- kompletan sustav uglavnom uključuje jedan mikrokontroler i druge periferne uređaje, uključujući memoriju i razne I/O portove;
- ukupni trošak kombiniranja različitih uređaja unutar jednog sustava trebao bi biti što je moguće veći;
- sustav koji kontrolira funkcije ne predviđa potrebu za brzim prijenosom informacija;
- ukupna učinkovitost izravno ovisi o odabranoj opremi kao i o prirodi spojne sabirnice.
Da biste dizajnirali sustav koji u potpunosti zadovoljava navedene kriterije, trebate koristiti sabirnicu koja će koristiti I2C serijsko sučelje. Iako serijska sabirnica nema širinu pojasa paralelne sabirnice, zahtijeva manje veza i manje pinova čipa. Istodobno, ne zaboravite da sabirnica uključuje ne samo spojne žice, već i razne postupke i formate potrebne za osiguranje komunikacije unutar sustava.
Uređaji koji komuniciraju korištenjem softverske emulacije I2C sučelja ili odgovarajuće sabirnice moraju imati specifičan protokol koji vam omogućuje da spriječite različite mogućnosti sudara, gubitka ili blokiranja informacija. Brzi uređaji trebali bi moći komunicirati sa sporim, a sustav 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 preinake. 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 sabirnicu, morate odlučiti o izvoru njegove sinkronizacije. Sve ove kriterije ispunjava I2C sučelje za AVR i bilo koje druge s ovog popisa.
Glavni koncept
I2C sabirnica može podržati bilo koju tehnologiju čipa. I2C LabVIEW sučelje i drugi slični njemu omogućuju korištenje dvije linije za prijenos informacija - podataka i sinkronizacije. Svaki uređaj spojen na ovaj način prepoznaje se po svojoj jedinstvenoj adresi, bez obzira radi li se o LCD međuspremniku, mikrokontroleru, memorijskom ili tipkovnicskom sučelju, te može djelovati kao prijamnik ili odašiljač, ovisno o tome čemu je namijenjen ovoj opremi.
U velikoj većini slučajeva, LCD međuspremnik je standardni prijemnik, a memorija može ne samo primati, već i prenositi razne podatke. Između ostalog, prema procesu premještanja informacija, uređaji se mogu klasificirati kao slave i master.
U ovom slučaju, glavni je uređaj koji pokreće prijenos podataka, a također generirasinkronizacijski signali. U ovom slučaju, svi adresabilni uređaji će se smatrati robovima u odnosu na njih.
I2C komunikacijsko sučelje omogućuje prisutnost nekoliko mastera odjednom, odnosno više od jednog uređaja koji može kontrolirati sabirnicu može se spojiti na njega. Mogućnost korištenja više od jednog mikrokontrolera na istoj sabirnici znači da se više od jednog mastera može proslijediti u bilo kojem trenutku. Kako bi se eliminirao potencijalni kaos koji riskira nastanak u takvoj situaciji, razvijen je specijalizirani arbitražni postupak koji koristi I2C sučelje. Ekspanderi i drugi uređaji omogućavaju spajanje uređaja na sabirnicu prema tzv. pravilu ožičenja.
Generiranje signala sata je odgovornost glavnog, a svaki master generira svoj vlastiti signal tijekom prijenosa podataka, a može se promijeniti 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 spajaju na pozitivno napajanje s pull-up otpornikom. Kada je guma potpuno slobodna, svaka linija je u visokom položaju. Izlazni stupnjevi uređaja koji su spojeni na sabirnicu moraju biti otvorenog odvoda ili otvorenog kolektora kako bi se mogla osigurati žičana funkcija I. Informacije kroz I2C sučelje mogu se prenositi brzinom od najviše 400 kbpsbrzi način rada, dok standardna brzina ne prelazi 100 kbps. Ukupan broj uređaja koji se mogu istovremeno spojiti na sabirnicu ovisi samo o jednom parametru. Ovo je kapacitet linije, koji nije veći od 400 pf.
Potvrda
Potvrda je obavezna procedura u procesu prijenosa podataka. Master generira odgovarajući sinkronizirajući impuls dok odašiljač otpušta SDA liniju tijekom ovog sinkronizirajućeg impulsa kao potvrdu. Nakon toga, prijemnik mora osigurati da se SDA linija drži stabilnom tijekom visokog stanja takta u stabilnom niskom stanju. U tom slučaju svakako uzmite u obzir vrijeme postavljanja i čekanja.
U velikoj većini slučajeva, adresirani primatelj mora generirati potvrdu nakon svakog primljenog bajta, s jedinom iznimkom kada početak prijenosa uključuje CBUS adresu.
Ako prijemnik-slave nema načina da pošalje potvrdu svoje adrese, podatkovna linija treba biti ostavljena visoko, a tada će master moći izdati "Stop" signal, koji će prekinuti slanje sve informacije. Ako je adresa potvrđena, ali slave ne može više primiti podatke dulje 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, zbog čega glavni generira signal zaustavljanja.
Ako postupak prijenosa predviđa prisutnost glavnog-prijamnika, tada on mora obavijestiti slave o kraju prijenosa, a to se čini tako da se ne prizna zadnji primljeni bajt. U tom slučaju, podređeni odašiljač odmah oslobađa podatkovnu liniju tako da glavni može izdati signal "Stop" ili ponovno ponoviti signal "Start".
Da biste provjerili radi li oprema, možete pokušati unijeti standardne primjere skica za I2C sučelje u Arduinu, kao na gornjoj fotografiji.
Arbitraža
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 čekanja. To na kraju rezultira određenim signalom "Start" na autobusu.
Arbitraža radi na SDA sabirnici dok je SCL sabirnica visoka. Ako jedan od mastera počne odašiljati nisku razinu na podatkovnoj liniji, ali je u isto vrijeme drugi visok, tada je potonji potpuno isključen s njega, jer SDL stanje ne odgovara visokom stanju njegove unutarnje linije.
Arbitraža se može nastaviti tijekom nekoliko bitova. Zbog činjenice da se prvo prenosi adresa, a zatim podaci, arbitraža može trajati do kraja adrese, a ako će se masters obratitiisti uređaj, tada će u arbitraži sudjelovati i različiti podaci. Zbog ove arbitražne sheme, nikakvi podaci neće biti izgubljeni ako dođe do kolizije.
Ako master izgubi arbitražu, tada može izdati takt impulse u SCL-u do kraja bajta, tijekom kojeg je pristup izgubljen.