I2C kiolesura: maelezo katika Kirusi

Orodha ya maudhui:

I2C kiolesura: maelezo katika Kirusi
I2C kiolesura: maelezo katika Kirusi
Anonim

Katika vifaa vya kisasa vya nyumbani, vifaa vya kielektroniki vya viwandani na vifaa mbalimbali vya mawasiliano ya simu, suluhu zinazofanana zinaweza kupatikana mara nyingi, ingawa huenda bidhaa hizo hazihusiani. Kwa mfano, karibu kila mfumo unajumuisha yafuatayo:

  • kitengo fulani cha udhibiti cha "smart", ambacho mara nyingi sana ni kompyuta ndogo yenye chipu moja;
  • vipengele vya madhumuni ya jumla kama vile vibafa vya LCD, RAM, bandari za I/O, EEPROM au vigeuzi maalum vya data;
  • vipengee mahususi ikijumuisha urekebishaji wa kidijitali na saketi za usindikaji wa mawimbi kwa mifumo ya video na redio.

Jinsi ya kuboresha maombi yao?

maelezo mafupi ya miingiliano ya uart spi i2c
maelezo mafupi ya miingiliano ya uart spi i2c

Ili kutumia vyema suluhu hizi za kawaida kwa manufaa ya wabunifu na watengenezaji, na pia kuboresha utendakazi wa jumla wa maunzi mbalimbali na kurahisisha vijenzi vya mzunguko vinavyotumika, Philips aliazimia kutengeneza njia rahisi zaidi ya waya mbili. basi ambayo hutoa tija zaidi baina ya chipkudhibiti. Basi hili hutoa uhamisho wa data kupitia kiolesura cha I2C.

Leo, aina mbalimbali za bidhaa za mtengenezaji zinajumuisha zaidi ya CMOS 150, pamoja na vifaa vinavyooana na I2C vilivyoundwa kufanya kazi katika aina zozote zilizoorodheshwa. Ikumbukwe kwamba interface ya I2C imejengwa awali kwenye vifaa vyote vinavyoendana, kutokana na ambayo wanaweza kuwasiliana kwa urahisi kwa kutumia basi maalum. Kwa sababu ya utumiaji wa suluhisho kama hilo la muundo, iliwezekana kutatua idadi kubwa ya shida za kuingiliana kwa vifaa anuwai, ambayo ni kawaida kabisa kwa ukuzaji wa mifumo ya dijiti.

Faida Muhimu

kiolesura cha i2c
kiolesura cha i2c

Hata ukiangalia maelezo mafupi ya violesura vya UART, SPI, I2C, unaweza kuangazia faida zifuatazo za hizi za mwisho:

  • Ili kufanya kazi, unahitaji tu mistari miwili - usawazishaji na data. Kifaa chochote kinachounganishwa na basi kama hilo kinaweza kushughulikiwa kwa utaratibu kwa anwani ya kipekee kabisa. Wakati wowote, kuna uhusiano rahisi ambao huruhusu masters kutenda kama kisambazaji-kazi au kipokezi kikuu.
  • Basi hili hutoa uwezo wa kuwa na mabwana kadhaa kwa wakati mmoja, kutoa njia zote muhimu za kuamua migongano, pamoja na usuluhishi ili kuzuia uharibifu wa data katika tukio ambalo mabwana wawili au zaidi wataanza kusambaza taarifa kwa wakati mmoja. Katika hali ya kawaidaupitishaji wa data ya biti 8 pekee hutolewa kwa kasi isiyozidi kbps 100, na katika hali ya haraka kizingiti hiki kinaweza kuongezeka mara nne.
  • Chipsi hutumia kichujio maalum kilichojengewa ndani ambacho hukandamiza kwa ufanisi kuongezeka na kuhakikisha uadilifu wa juu zaidi wa data.
  • Idadi ya juu zaidi iwezekanayo ya chipsi zinazoweza kuunganishwa kwenye basi moja ni mdogo tu na uwezo wake wa juu unaowezekana wa pF 400.

Faida kwa Wajenzi

Kiolesura cha i2c LCD1602
Kiolesura cha i2c LCD1602

Kiolesura cha I2C, pamoja na chipsi zote zinazooana, zinaweza kuharakisha mchakato wa uundaji, kutoka kwa mchoro wa utendaji hadi mfano wake wa mwisho. Wakati huo huo, ni lazima ieleweke kwamba kutokana na uwezekano wa kuunganisha microcircuits hizo moja kwa moja kwa basi bila kutumia kila aina ya nyaya za ziada, nafasi hutolewa kwa kisasa zaidi na marekebisho ya mfumo wa mfano kwa kukata na kuunganisha vifaa mbalimbali kutoka kwa basi.

Kuna manufaa mengi ambayo hufanya kiolesura cha I2C kiwe bora zaidi. Maelezo, haswa, hukuruhusu kuona faida zifuatazo kwa wajenzi:

  • Vizuizi kwenye mchoro wa utendakazi vinalingana kikamilifu na seti ndogo, na wakati huo huo, mageuzi ya haraka kutoka kwa utendaji hadi msingi yametolewa.
  • Hakuna haja ya kutengeneza violesura vya basi kwa sababu basi tayari limeunganishwa katika chip maalum.
  • Itifaki za mawasiliano zilizojumuishwa naanwani ya kifaa huruhusu mfumo kubainishwa kabisa na programu.
  • Aina zile zile za seketi ndogo, ikihitajika, zinaweza kutumika katika programu tofauti kabisa.
  • Jumla ya muda wa uundaji umepunguzwa kwa kiasi kikubwa kutokana na ukweli kwamba wabunifu wanaweza kufahamiana kwa haraka na vizuizi vinavyotumika sana vinavyotumika, pamoja na mikokoteni mbalimbali.
  • Ukipenda, unaweza kuongeza au kuondoa chips kwenye mfumo, na wakati huo huo usiwe na athari nyingi kwenye vifaa vingine vilivyounganishwa kwenye basi moja.
  • Jumla ya muda wa uundaji wa programu unaweza kupunguzwa kwa kiasi kikubwa kwa kuruhusu maktaba ya moduli za programu zinazoweza kutumika tena.

Miongoni mwa mambo mengine, inafaa kuzingatia utaratibu rahisi sana wa kugundua mapungufu ambayo yametokea na utatuzi zaidi, ambao unatofautisha kiolesura cha I2C. Maelezo yanaonyesha kwamba, ikiwa ni lazima, hata upungufu mdogo katika uendeshaji wa vifaa vile unaweza kufuatiliwa mara moja bila ugumu wowote na, ipasavyo, hatua zinazofaa zinaweza kuchukuliwa. Inafaa pia kuzingatia kuwa wabunifu hupata suluhisho maalum, ambazo, haswa, zinavutia kabisa kwa vifaa na mifumo mbalimbali ya kubebeka ambayo hutoa nguvu ya betri kwa kutumia interface ya I2C. Maelezo katika Kirusi pia yanaonyesha kuwa matumizi yake hukuruhusu kutoa faida muhimu zifuatazo:

  • Kiwango cha juu cha kutosha cha upinzani dhidi ya mwingiliano wowote unaojitokeza.
  • Hatimayematumizi ya chini ya nishati.
  • Njia pana zaidi ya usambazaji wa voltage.
  • Kiwango kikubwa cha halijoto.

Manufaa kwa wanateknolojia

Inafaa kukumbuka kuwa sio wabunifu pekee, bali pia wanateknolojia wameanza kutumia kiolesura maalum cha I2C mara nyingi sana. Maelezo kwa Kirusi yanaonyesha faida nyingi ambazo kitengo hiki cha wataalam hutoa:

  • Basi ya kawaida ya waya mbili yenye kiolesura hiki hupunguza miunganisho kati ya IC, kumaanisha kuwa kuna pini chache na nyimbo chache zinazohitajika, hivyo kufanya PCB zisiwe ghali na ndogo zaidi.
  • Kiolesura kilichounganishwa kikamilifu cha I2C LCD1602 au chaguo lingine huondoa kabisa hitaji la visimba vya anwani na mantiki nyingine ndogo ya nje.
  • Inawezekana kutumia masters kadhaa kwenye basi kama hilo kwa wakati mmoja, ambayo huharakisha sana majaribio na usanidi wa vifaa vya baadae, kwa kuwa basi linaweza kuunganishwa kwenye kompyuta ya kuunganisha.
  • Upatikanaji wa IC zinazooana na kiolesura hiki katika VSO, SO, na vifurushi maalum vya DIL kunaweza kupunguza kwa kiasi kikubwa mahitaji ya ukubwa wa kifaa.

Hii ni orodha fupi tu ya faida zinazotofautisha kiolesura cha I2C cha LCD1602 na zingine. Kwa kuongeza, chips zinazoendana zinaweza kuongeza kwa kiasi kikubwa kubadilika kwa mfumo unaotumiwa, kutoamuundo rahisi sana wa chaguzi anuwai za vifaa, na vile vile visasisho rahisi ili kusaidia maendeleo katika kiwango cha sasa. Kwa hivyo, inawezekana kuunda familia nzima ya vifaa tofauti, kwa kutumia modeli fulani ya msingi kama msingi.

Uboreshaji zaidi wa vifaa na upanuzi wa utendakazi wake unaweza kufanywa kwa njia ya muunganisho wa kawaida kwenye basi la mzunguko mdogo unaolingana kwa kutumia kiolesura cha Arduino 2C au nyingine yoyote kutoka kwenye orodha inayopatikana. Ikiwa ROM kubwa inahitajika, basi itakuwa ya kutosha tu kuchagua microcontroller nyingine na ROM iliyoongezeka. Kwa kuwa chip zilizosasishwa zinaweza kuchukua nafasi ya zile za zamani ikiwa ni lazima, unaweza kuongeza vipengele vipya kwa urahisi kwa kifaa au kuongeza utendakazi wake kwa ujumla kwa kukata chip zilizopitwa na wakati na kuzibadilisha na vifaa vipya zaidi.

ACCESS.basi

Kutokana na ukweli kwamba basi lina asili ya waya mbili, pamoja na uwezekano wa kushughulikia programu, mojawapo ya majukwaa bora zaidi ya ACCESS.bus ni kiolesura cha I2C. Ufafanuzi (maelezo kwa Kirusi yamewasilishwa katika makala) ya kifaa hiki hufanya kuwa mbadala ya bei nafuu zaidi kwa kiolesura kilichotumika awali cha RS-232C kwa kuunganisha vifaa mbalimbali vya pembeni kwenye kompyuta kwa kutumia kiunganishi cha kawaida cha pini nne.

Utangulizi maalum

Maelezo ya kiolesura cha i2c kwa Kirusi
Maelezo ya kiolesura cha i2c kwa Kirusi

Kwa programu za kisasaUdhibiti wa biti 8, unaotumia vidhibiti vidogo, inawezekana kuweka baadhi ya vigezo vya muundo:

  • mfumo kamili mara nyingi hujumuisha kidhibiti kidogo kimoja na vidhibiti vingine, ikijumuisha kumbukumbu na bandari mbalimbali za I/O;
  • jumla ya gharama ya kuchanganya vifaa tofauti ndani ya mfumo mmoja inapaswa kupunguzwa iwezekanavyo;
  • mfumo unaodhibiti utendakazi hautoi hitaji la kutoa uhamishaji wa habari wa kasi ya juu;
  • ufanisi wote unategemea moja kwa moja kifaa kilichochaguliwa pamoja na asili ya basi la kuunganisha.

Ili kuunda mfumo unaotimiza kikamilifu vigezo vilivyoorodheshwa, unahitaji kutumia basi ambalo litatumia kiolesura cha mfululizo cha I2C. Ingawa basi la msururu halina kipimo data cha basi sambamba, linahitaji miunganisho machache na pini chache za chip. Wakati huo huo, usisahau kwamba basi ni pamoja na si tu kuunganisha waya, lakini pia taratibu mbalimbali na miundo muhimu ili kuhakikisha mawasiliano ndani ya mfumo.

Vifaa vinavyowasiliana kwa kutumia uigaji wa programu wa kiolesura cha I2C au basi husika lazima viwe na itifaki mahususi inayokuruhusu kuzuia uwezekano mbalimbali wa migongano, upotevu au kuzuia taarifa. Vifaa vya haraka vinapaswa kuwasiliana na polepole, na mfumo haupaswi kutegemeakutoka kwa vifaa vilivyounganishwa nayo, kwani vinginevyo maboresho na marekebisho yote hayataweza kutumika. Inahitajika pia kuunda utaratibu kwa msaada ambao ni kweli kuamua ni kifaa gani kinachotoa udhibiti wa basi na kwa wakati gani. Kwa kuongeza, ikiwa vifaa tofauti vilivyo na mzunguko wa saa tofauti vinaunganishwa kwenye basi moja, unahitaji kuamua juu ya chanzo cha maingiliano yake. Vigezo hivi vyote vinatimizwa na kiolesura cha I2C cha AVR na vingine vyovyote kutoka kwenye orodha hii.

Dhana Kuu

Maelezo ya uainishaji wa kiolesura cha i2c kwa Kirusi
Maelezo ya uainishaji wa kiolesura cha i2c kwa Kirusi

Basi la I2C linaweza kutumia teknolojia yoyote ya chip inayotumika. Kiolesura cha I2C LabVIEW na zingine zinazofanana nayo hutoa matumizi ya mistari miwili ya kuhamisha habari - data na maingiliano. Kifaa chochote kilichounganishwa kwa njia hii kinatambuliwa na anwani yake ya kipekee, bila kujali ikiwa ni bafa ya LCD, kidhibiti kidogo, kiolesura cha kumbukumbu au kibodi, na kinaweza kufanya kazi kama kipokezi au kisambaza data, kutegemeana na kile kinachokusudiwa kwa kifaa hiki.

Katika idadi kubwa ya matukio, bafa ya LCD ni kipokezi cha kawaida, na kumbukumbu haiwezi kupokea tu, bali pia kusambaza data mbalimbali. Miongoni mwa mambo mengine, kulingana na mchakato wa kuhamisha taarifa, vifaa vinaweza kuainishwa kama mtumwa na bwana.

Katika hali hii, bwana ndicho kifaa kinachoanzisha uhamishaji data, na pia kuzalishaishara za maingiliano. Katika hali hii, vifaa vyovyote vinavyoweza kushughulikiwa vitazingatiwa kama watumwa kuhusiana nayo.

Kiolesura cha mawasiliano cha I2C hutoa uwepo wa mabwana kadhaa kwa wakati mmoja, yaani, zaidi ya kifaa kimoja chenye uwezo wa kudhibiti basi kinaweza kuunganishwa nacho. Uwezo wa kutumia zaidi ya microcontroller moja kwenye basi moja inamaanisha kuwa zaidi ya bwana mmoja anaweza kutumwa wakati wowote. Ili kuondoa machafuko yanayoweza kutokea ambayo huhatarisha kuonekana hali kama hiyo inapotokea, utaratibu maalum wa usuluhishi umetengenezwa ambao unatumia kiolesura cha I2C. Vipanuzi na vifaa vingine hutoa vifaa vya kuunganisha kwenye basi kulingana na sheria inayojulikana ya uunganisho wa nyaya.

Kuzalisha mawimbi ya saa ni jukumu la bwana, na kila bwana hutoa mawimbi yake wakati wa uhamishaji data, na inaweza tu kubadilika baadaye ikiwa "imevutwa" na mtumwa mwepesi au bwana mwingine mgongano unapotokea..

Vigezo vya jumla

SCL na SDA zote ni njia mbili-mbili zinazounganishwa kwenye usambazaji wa nishati chanya na kipinga cha kuvuta juu. Wakati tairi ni bure kabisa, kila mstari uko katika nafasi ya juu. Hatua za kutoa vifaa ambavyo vimeunganishwa kwenye basi lazima ziwe wazi au kikusanya-wazi ili kipengele cha waya NA kitendakazi kiweze kutolewa. Taarifa kupitia kiolesura cha I2C inaweza kusambazwa kwa kasi isiyozidi kbps 400.hali ya haraka, wakati kasi ya kawaida haizidi 100 kbps. Idadi ya vifaa vinavyoweza kuunganishwa kwa wakati mmoja kwenye basi inategemea parameter moja tu. Huu ndio uwezo wa laini, ambao si zaidi ya pf 400.

Uthibitisho

maelezo ya kiolesura cha i2c
maelezo ya kiolesura cha i2c

Uthibitishaji ni utaratibu wa lazima katika mchakato wa kuhamisha data. Master hutengeneza mpigo ufaao wa usawazishaji huku kisambazaji kikitoa laini ya SDA wakati wa mipigo hii ya upatanishi kama kibali. Baada ya hayo, mpokeaji lazima ahakikishe kuwa mstari wa SDA unafanyika imara wakati wa hali ya juu ya saa katika hali ya chini ya utulivu. Katika hali hii, hakikisha umeweka mipangilio na uzingatie nyakati.

Katika idadi kubwa ya matukio, ni lazima kwa mpokeaji anayeshughulikiwa kutoa kibali baada ya kila baiti kupokelewa, isipokuwa pekee ikiwa ni wakati kuanza kwa upokezi kujumuisha anwani ya CBUS.

Ikiwa mpokeaji-mtumwa hana njia ya kutuma uthibitisho wa anwani yake mwenyewe, laini ya data inapaswa kuachwa juu, na kisha bwana ataweza kutoa ishara ya "Simamisha", ambayo itakatiza utumaji wa habari zote. Ikiwa anwani imethibitishwa, lakini mtumwa hawezi kupokea data yoyote zaidi kwa muda mrefu, bwana lazima pia kukatiza kutuma. Ili kufanya hivyo, mtumwa hakubali byte inayofuata iliyopokelewa na huacha tu mstarijuu, na kusababisha bwana kutoa ishara ya kusimama.

Ikiwa utaratibu wa uhamisho unatoa uwepo wa mpokeaji mkuu, basi katika kesi hii ni lazima kumjulisha mtumwa kuhusu mwisho wa maambukizi, na hii inafanywa kwa kutokubali byte ya mwisho iliyopokelewa. Katika hali hii, kipeperushi cha mtumwa hutoa laini ya data mara moja ili bwana aweze kutoa ishara ya "Sitisha" au kurudia ishara ya "Anza" tena.

Ili kuangalia kama kifaa kinafanya kazi, unaweza kujaribu kuweka mifano ya kawaida ya michoro ya kiolesura cha I2C katika Arduino, kama kwenye picha iliyo hapo juu.

Usuluhishi

2c kiolesura cha arduino
2c kiolesura cha arduino

Masters wanaweza kuanza kutuma maelezo baada ya basi kuwa bila malipo kabisa, lakini masters wawili au zaidi wanaweza kutoa ishara ya kuanza kwa muda wa chini zaidi wa kushikilia. Hii hatimaye husababisha mawimbi mahususi ya "Anza" kwenye basi.

Usuluhishi unafanya kazi kwenye basi la SDA wakati basi la SCL liko juu. Ikiwa mmoja wa mabwana anaanza kusambaza kiwango cha chini kwenye mstari wa data, lakini wakati huo huo mwingine ni wa juu, basi mwisho huo haukuunganishwa kabisa kutoka kwake, kwa sababu hali ya SDL hailingani na hali ya juu ya mstari wake wa ndani..

Usuluhishi unaweza kuendelea kwa biti kadhaa. Kwa sababu ya ukweli kwamba anwani hupitishwa kwanza, na kisha data, usuluhishi unaweza kudumu hadi mwisho wa anwani, na ikiwa mabwana watashughulikia.kifaa sawa, basi data tofauti pia itashiriki katika usuluhishi. Kutokana na mpango huu wa usuluhishi, hakuna data itakayopotea iwapo mgongano wowote utatokea.

Ikiwa bwana atapoteza usuluhishi, basi inaweza kutoa mipigo ya saa katika SCL hadi mwisho wa baiti, ambapo ufikiaji ulipotea.

Ilipendekeza: