I2C vmesnik: opis v ruščini

Kazalo:

I2C vmesnik: opis v ruščini
I2C vmesnik: opis v ruščini
Anonim

V sodobnih gospodinjskih aparatih, industrijski elektroniki in različni telekomunikacijski opremi je pogosto mogoče najti podobne rešitve, čeprav so izdelki med seboj praktično nepovezani. Na primer, skoraj vsak sistem vključuje naslednje:

  • določena "pametna" krmilna enota, ki je v veliki večini primerov mikroračunalnik z enim čipom;
  • komponente splošnega namena, kot so medpomnilniki LCD, RAM, V/I vrata, EEPROM ali namenski pretvorniki podatkov;
  • specifične komponente, vključno z vezji za digitalno uglaševanje in obdelavo signalov za video in radijske sisteme.

Kako optimizirati njihovo aplikacijo?

kratek opis vmesnikov uart spi i2c
kratek opis vmesnikov uart spi i2c

Da bi kar najbolje izkoristili te običajne rešitve v korist oblikovalcev in proizvajalcev ter izboljšali splošno zmogljivost različne strojne opreme in poenostavili uporabljene komponente vezja, se je Philips odločil razviti najpreprostejši dvožični dvosmerni vodilo, ki zagotavlja najbolj produktiven inter-chipnadzor. To vodilo omogoča prenos podatkov prek vmesnika I2C.

Danes obseg izdelkov proizvajalca obsega več kot 150 CMOS, pa tudi bipolarne naprave, združljive z I2C in zasnovane za delovanje v kateri koli od navedenih kategorij. Treba je opozoriti, da je vmesnik I2C sprva vgrajen v vse združljive naprave, zaradi česar lahko zlahka komunicirajo med seboj s posebnim vodilom. Z uporabo takšne oblikovne rešitve je bilo mogoče rešiti precej veliko težav pri povezovanju različne opreme, kar je precej tipično za razvoj digitalnih sistemov.

Ključne prednosti

i2c vmesnik
i2c vmesnik

Tudi če pogledate kratek opis vmesnikov UART, SPI, I2C, lahko izpostavite naslednje prednosti slednjih:

  • Za delo potrebujete samo dve vrstici - sinhronizacijo in podatkovno. Vsako napravo, ki se poveže s takšnim vodilom, lahko nato programsko naslovimo na popolnoma edinstven naslov. V vsakem trenutku obstaja preprost odnos, ki poveljnikom omogoča, da delujejo kot glavni-oddajnik ali glavni-sprejemnik.
  • To vodilo zagotavlja možnost, da imate več nadrejenih naenkrat, kar zagotavlja vsa potrebna sredstva za ugotavljanje kolizij, pa tudi arbitražo za preprečevanje poškodovanja podatkov v primeru, da dva ali več masterjev začneta prenašati informacije hkrati. V standardnem načinuzagotovljen je samo serijski 8-bitni prenos podatkov s hitrostjo največ 100 kbps, v hitrem načinu pa je mogoče ta prag štirikrat povečati.
  • Čipi uporabljajo poseben vgrajen filter, ki učinkovito zavira prenapetost in zagotavlja največjo celovitost podatkov.
  • Največje možno število čipov, ki jih je mogoče povezati na eno vodilo, je omejeno samo z največjo možno zmogljivostjo 400 pF.

Ugodnosti za konstruktorje

i2c vmesnik lcd1602
i2c vmesnik lcd1602

Vmesnik I2C, kot tudi vsi združljivi čipi, lahko znatno pospešijo razvojni proces, od funkcionalnega diagrama do njegovega končnega prototipa. Hkrati je treba opozoriti, da je zaradi možnosti priključitve takšnih mikrovezij neposredno na vodilo brez uporabe vseh vrst dodatnih vezij zagotovljen prostor za nadaljnjo posodobitev in modifikacijo prototipnega sistema z odklopom in priklopom različnih naprav iz avtobus.

Obstaja veliko prednosti, zaradi katerih vmesnik I2C izstopa. Zlasti opis vam omogoča, da vidite naslednje prednosti za konstruktorje:

  • Bloki na funkcionalnem diagramu v celoti ustrezajo mikrovezjem, hkrati pa je zagotovljen dokaj hiter prehod iz funkcionalnega v osnovno.
  • Vmesnikov vodila ni treba razvijati, ker je vodilo že vgrajeno v namenske čipe.
  • Integrirani komunikacijski protokoli innaslavljanje naprav omogoča, da je sistem popolnoma programsko definiran.
  • Enake vrste mikrovezij, če je potrebno, se lahko uporabljajo v popolnoma različnih aplikacijah.
  • Skupni čas razvoja je bistveno skrajšan zaradi dejstva, da se oblikovalci hitro seznanijo z najpogosteje uporabljenimi funkcionalnimi bloki, pa tudi z različnimi mikrovezji.
  • Po želji lahko dodajate ali odstranite čipe iz sistema, hkrati pa nimate velikega vpliva na drugo opremo, ki je priključena na isto vodilo.
  • Skupni čas razvoja programske opreme je mogoče znatno zmanjšati, če omogočite knjižnico programskih modulov za večkratno uporabo.

Med drugim velja omeniti izjemno preprost postopek za diagnosticiranje nastalih napak in nadaljnje odpravljanje napak, ki odlikuje vmesnik I2C. Opis nakazuje, da je po potrebi mogoče brez težav takoj spremljati tudi manjša odstopanja v delovanju takšne opreme in v skladu s tem sprejeti ustrezne ukrepe. Omeniti velja tudi, da oblikovalci dobijo posebne rešitve, ki so še posebej privlačne za različno prenosno opremo in sisteme, ki zagotavljajo baterijsko napajanje prek vmesnika I2C. Opis v ruščini tudi kaže, da vam njegova uporaba omogoča naslednje pomembne prednosti:

  • Dovolj visoka stopnja odpornosti na morebitne nastajajoče motnje.
  • Na koncunizka poraba energije.
  • Najširše območje napajalne napetosti.
  • Široko temperaturno območje.

Ugodnosti za tehnologe

Omeniti velja, da so ne samo oblikovalci, ampak tudi tehnologi pred kratkim začeli precej pogosto uporabljati specializiran vmesnik I2C. Opis v ruščini kaže na precej širok nabor prednosti, ki jih ponuja ta kategorija strokovnjakov:

  • Standardno dvožično serijsko vodilo s tem vmesnikom minimizira medsebojne povezave med IC, kar pomeni, da je potrebnih manj zatičev in manj sledi, zaradi česar so PCB-ji cenejši in veliko manjši.
  • Popolnoma integriran vmesnik I2C LCD1602 ali kakšna druga možnost popolnoma odpravlja potrebo po dekodirnikih naslovov in drugi zunanji majhni logiki.
  • Na takem vodilu je možno uporabljati več masters hkrati, kar bistveno pospeši testiranje in kasnejšo nastavitev opreme, saj je vodilo mogoče povezati z računalnikom tekočega traku.
  • Razpoložljivost IC-jev, združljivih s tem vmesnikom v paketih VSO, SO in DIL po meri, lahko znatno zmanjša zahteve glede velikosti naprave.

To je le kratek seznam prednosti, ki razlikujejo I2C vmesnik LCD1602 in drugih. Poleg tega lahko združljivi čipi znatno povečajo fleksibilnost uporabljenega sistema, ki zagotavljaizjemno preprosta zasnova različnih možnosti opreme, pa tudi razmeroma enostavne nadgradnje za nadaljnjo podporo razvoju na trenutni ravni. Tako je mogoče razviti celo družino različne opreme, pri čemer je za osnovo uporabljen določen osnovni model.

Nadaljnjo posodobitev opreme in razširitev njenih funkcij je mogoče izvesti s standardno povezavo z vodilom ustreznega mikrovezja z uporabo vmesnika Arduino 2C ali katerega koli drugega s seznama, ki je na voljo. Če je potreben večji ROM, bo dovolj le, da izberete drug mikrokrmilnik s povečanim ROM-om. Ker lahko posodobljeni čipi po potrebi popolnoma nadomestijo stare, lahko preprosto dodate nove funkcije opremi ali povečate njeno splošno zmogljivost tako, da preprosto odklopite zastarele čipe in jih nato zamenjate z novejšo opremo.

ACCESS.bus

Zaradi dejstva, da ima vodilo dvožično naravo, kot tudi možnost programskega naslavljanja, je ena najbolj idealnih platform za ACCESS.bus vmesnik I2C. Specifikacija (opis v ruščini je predstavljen v članku) te naprave naredi veliko cenejšo alternativo prej aktivno uporabljenemu vmesniku RS-232C za povezovanje različnih zunanjih naprav z računalniki s pomočjo standardnega štiripinskega konektorja.

Uvod v specifikacijo

Opis vmesnika i2c v ruščini
Opis vmesnika i2c v ruščini

Za sodobne aplikacije8-bitni nadzor, ki uporablja mikrokrmilnike, je možno nastaviti nekaj kriterijev oblikovanja:

  • popoln sistem večinoma vključuje en mikrokrmilnik in druge zunanje naprave, vključno s pomnilnikom in različnimi V/I vrati;
  • skupne stroške kombiniranja različnih naprav v enem sistemu je treba čim bolj zmanjšati;
  • sistem, ki nadzoruje funkcije, ne predvideva potrebe po zagotavljanju hitrega prenosa informacij;
  • celotna učinkovitost je neposredno odvisna od izbrane opreme in narave povezovalnega avtobusa.

Za načrtovanje sistema, ki v celoti izpolnjuje navedene kriterije, morate uporabiti vodilo, ki bo uporabljalo serijski vmesnik I2C. Čeprav serijsko vodilo nima pasovne širine vzporednega vodila, zahteva manj povezav in manj zatičev čipa. Hkrati ne pozabite, da vodilo ne vključuje samo povezovalnih žic, temveč tudi različne postopke in formate, potrebne za zagotovitev komunikacije znotraj sistema.

Naprave, ki komunicirajo s programsko emulacijo vmesnika I2C ali ustreznega vodila, morajo imeti poseben protokol, ki omogoča preprečevanje različnih možnosti kolizij, izgube ali blokiranja informacij. Hitre naprave bi morale biti sposobne komunicirati s počasnimi, sistem pa ne bi smel biti odvisen od njihod opreme, ki je nanjo povezana, saj v nasprotnem primeru vseh izboljšav in modifikacij ne bo mogoče uporabiti. Prav tako je treba razviti postopek, s pomočjo katerega je realno ugotoviti, katera naprava trenutno zagotavlja vodenje vodila in v katerem trenutku. Poleg tega, če so na isto vodilo priključene različne naprave z različnimi taktnimi frekvencami, se morate odločiti za vir njegove sinhronizacije. Vse te kriterije izpolnjuje vmesnik I2C za AVR in kateri koli drugi s tega seznama.

glavni koncept

Opis specifikacij vmesnika i2c v ruščini
Opis specifikacij vmesnika i2c v ruščini

I2C vodilo lahko podpira katero koli uporabljeno tehnologijo čipov. Vmesnik I2C LabVIEW in drugi podobni njemu omogočajo uporabo dveh linij za prenos informacij - podatkov in sinhronizacije. Vsaka naprava, povezana na ta način, je prepoznana po svojem edinstvenem naslovu, ne glede na to, ali je LCD medpomnilnik, mikrokrmilnik, pomnilnik ali vmesnik tipkovnice in lahko deluje kot sprejemnik ali oddajnik, odvisno od tega, čemu je namenjena tej opremi.

V veliki večini primerov je medpomnilnik LCD standardni sprejemnik, pomnilnik pa lahko ne samo sprejema, temveč tudi prenaša različne podatke. Med drugim lahko naprave glede na proces premikanja informacij razvrstimo kot podrejene in glavne.

V tem primeru je glavna naprava naprava, ki sproži prenos podatkov in tudi generirasinhronizacijskih signalov. V tem primeru bodo vse naslovljive naprave v zvezi z njimi obravnavane kot podrejene.

Komunikacijski vmesnik I2C zagotavlja prisotnost več nadrejenih naenkrat, to je, da se nanj lahko poveže več kot ena naprava, ki lahko nadzoruje vodilo. Možnost uporabe več kot enega mikrokrmilnika na istem vodilu pomeni, da je mogoče v danem trenutku posredovati več kot eno glavno enoto. Za odpravo morebitnega kaosa, ki tvega, da se pojavi v takšni situaciji, je bil razvit specializiran arbitražni postopek, ki uporablja vmesnik I2C. Ekspanderji in druge naprave omogočajo priklop naprav na vodilo po tako imenovanem pravilu ožičenja.

Za generiranje signala ure je odgovorna glavna enota in vsaka glavna generira svoj lasten signal med prenosom podatkov in se lahko pozneje spremeni le, če ga "potegne" počasen podrejeni ali drug master, ko pride do trka

Splošni parametri

Tako SCL kot SDA sta dvosmerni vodi, ki se povezujeta s pozitivnim napajalnikom z vlečnim uporom. Ko je pnevmatika popolnoma prosta, je vsaka črta v visokem položaju. Izhodne stopnje naprav, ki so priključene na vodilo, morajo biti z odprtim odtokom ali odprtim kolektorjem, tako da je mogoče zagotoviti funkcijo žično IN. Informacije prek vmesnika I2C se lahko prenašajo s hitrostjo največ 400 kbpshitri način, medtem ko standardna hitrost ne presega 100 kbps. Skupno število naprav, ki jih je mogoče hkrati priključiti na vodilo, je odvisno samo od enega parametra. To je kapacitivnost linije, ki ni večja od 400 pf.

Potrditev

opis vmesnika i2c
opis vmesnika i2c

Potrditev je obvezen postopek v procesu prenosa podatkov. Glavni generira ustrezen sinhronizacijski impulz, medtem ko oddajnik med tem sinhronizacijskim impulzom sprosti linijo SDA kot potrditev. Po tem mora sprejemnik zagotoviti, da je linija SDA stabilna med visokim stanjem ure v stabilnem nizkem stanju. V tem primeru upoštevajte čas nastavitve in zadrževanja.

V veliki večini primerov mora naslovljeni prejemnik generirati potrditev po vsakem prejetem bajtu, edina izjema je, če začetek prenosa vključuje naslov CBUS..

Če podrejeni sprejemnik ne more poslati potrditve lastnega naslova, naj bo podatkovna vrstica visoka, nato pa bo glavni lahko izdal signal "Stop", ki bo prekinil pošiljanje vse informacije. Če je bil naslov potrjen, vendar podrejena enota dlje časa ne more več prejemati podatkov, mora tudi master prekiniti pošiljanje. Za to podrejeni ne potrdi naslednjega prejetega bajta in preprosto zapusti vrsticovisoka, zaradi česar glavni generira stop signal.

Če postopek prenosa predvideva prisotnost glavnega-sprejemnika, mora v tem primeru obvestiti podrejenega o koncu prenosa, kar se naredi tako, da ne potrdi zadnjega prejetega bajta. V tem primeru podrejeni oddajnik takoj sprosti podatkovno linijo, tako da lahko glavni oddajnik izda signal "Stop" ali znova ponovi signal "Start".

Če želite preveriti, ali oprema deluje, lahko poskusite vnesti standardne primere skic za vmesnik I2C v Arduinu, kot je na zgornji fotografiji.

Arbitraža

2c vmesnik arduino
2c vmesnik arduino

Glasniki lahko začnejo pošiljati informacije šele, ko je vodilo popolnoma prosto, vendar lahko dva ali več poveljnikov generira startni signal ob minimalnem času zadrževanja. To na koncu povzroči poseben signal "Start" na avtobusu.

Arbitraža deluje na vodilu SDA, medtem ko je vodilo SCL visoko. Če eden od masterjev začne oddajati nizko raven na podatkovni liniji, hkrati pa je drugi visok, je slednji popolnoma odklopljen od njega, ker stanje SDL ne ustreza visokemu stanju njegove notranje linije.

Arbitraža se lahko nadaljuje v več bitih. Ker se najprej posreduje naslov in nato podatki, lahko arbitraža traja do konca naslova in če bodo poveljniki nasloviliista naprava, potem bodo v arbitraži sodelovali tudi različni podatki. Zaradi te arbitražne sheme ne bodo izgubljeni nobeni podatki, če pride do kolizije.

Če glavni izgubi arbitražo, lahko izda taktne impulze v SCL do konca bajta, med katerim je bil dostop izgubljen.

Priporočena: