Մշակվել է Philips-ի կողմից 1980-ականներին, I2C (այլ կերպ՝ I2C) դարձել է էլեկտրոնիկայի մեջ ամենատարածված սերիական կապի արձանագրություններից մեկը: I2C-ն հեշտացնում է հաղորդակցությունը էլեկտրոնային բաղադրիչների կամ ինտեգրալային սխեմաների միջև, անկախ նրանից՝ բաղադրիչները միևնույն PCB-ի վրա են, թե միացված են մալուխով:
Ի՞նչ է I2C արձանագրությունը:
I2C-ը սերիական կապի արձանագրություն է, որը պահանջում է միայն երկու ազդանշանային գիծ: Այն նախատեսված էր տպագիր տպատախտակի (PCB) վրա չիպերի միջև կապի համար: I2C-ն ի սկզբանե նախատեսված էր 100 Կբիթ/վրկ հաղորդակցության համար: Այնուամենայնիվ, տարիների ընթացքում մշակվել են տվյալների փոխանցման ավելի արագ ռեժիմներ՝ հասնելու մինչև 3 արագության:4 Մբիթ.
I2C-ի հիմնական առանձնահատկությունն այն է, որ մեկ հաղորդակցման ավտոբուսում բազմաթիվ բաղադրիչներ ունենալու կարողությունն է միայն երկու լարով, ինչը I2C-ին դարձնում է կատարյալ պարզ ծրագրերի համար: I2C արձանագրությունը ստեղծվել է որպես պաշտոնական ստանդարտ, որը թույլ է տալիս հետընթաց համատեղելիություն I2C-ի ներդրման միջև:
I2C ազդանշաններ
I2C արձանագրությունն օգտագործում է երկու երկկողմանի ազդանշանային գիծ՝ կապի ավտոբուսի սարքերի հետ հաղորդակցվելու համար: Օգտագործված երկու ազդանշաններն են՝
- Սերիական տվյալների գիծ (SDL)
- Սերիական տվյալների ժամացույց (SDC)
Պատճառը, որ I2C-ը կարող է օգտագործել միայն երկու ազդանշան մի քանի ծայրամասային սարքերի հետ շփվելու համար այն է, թե ինչպես է կառավարվում ավտոբուսի երկայնքով հաղորդակցությունը: Յուրաքանչյուր I2C հաղորդակցություն սկսվում է 7-բիթանոց (կամ 10-բիթանոց) հասցեով, որը կանչում է ծայրամասային սարքի հասցեն:
Սա թույլ է տալիս I2C ավտոբուսի մի քանի սարքերի խաղալ հիմնական սարքի դերը, ինչպես թելադրում են համակարգի կարիքները:Հաղորդակցության բախումները կանխելու համար I2C արձանագրությունը ներառում է արբիտրաժային և բախումների հայտնաբերման հնարավորություններ, որոնք թույլ են տալիս սահուն հաղորդակցություն ավտոբուսի երկայնքով:
I2C-ի առավելությունները
Որպես հաղորդակցման արձանագրություն, I2C-ն ունի հետևյալ առավելությունները.
- Տվյալների փոխանցման ճկուն տեմպեր։
- Ավելի հեռավոր հաղորդակցություն, քան SPI:
- Ավտոբուսում գտնվող յուրաքանչյուր սարք ինքնուրույն հասցեական է:
- Սարքերն ունեն պարզ առաջնային/երկրորդական հարաբերություն:
- Այն պահանջում է միայն երկու ազդանշանային գիծ:
- Այն ի վիճակի է կառավարել բազմաթիվ առաջնային հաղորդակցություններ՝ ապահովելով արբիտրաժային և հաղորդակցական բախումների հայտնաբերում:
I2C-ի սահմանափակումներ
Այս բոլոր առավելություններով հանդերձ՝ I2C-ն ունի նաև մի քանի սահմանափակումներ, որոնք կարող է անհրաժեշտ լինել մշակել: I2C-ի ամենակարևոր սահմանափակումները ներառում են՝
- Քանի որ սարքի հասցեավորման համար հասանելի է միայն 7 բիթ (կամ 10 բիթ), նույն ավտոբուսի սարքերը կարող են կիսել նույն հասցեն: Որոշ սարքեր կարող են կարգավորել հասցեի վերջին մի քանի բիթերը, սակայն դա սահմանափակում է նույն ավտոբուսի սարքերը:
- Հասանելի են միայն մի քանի սահմանափակ կապի արագություններ, և շատ սարքեր չեն աջակցում փոխանցումը բարձր արագությամբ: Ավտոբուսի յուրաքանչյուր արագության համար պահանջվում է մասնակի աջակցություն, որպեսզի ավելի դանդաղ սարքերը չբռնեն մասնակի փոխանցումները, որոնք կարող են հանգեցնել գործառնական խափանումների:
- I2C ավտոբուսի ընդհանուր բնույթը կարող է հանգեցնել նրան, որ ամբողջ ավտոբուսը կախված է, երբ ավտոբուսի մեկ սարքը դադարում է աշխատել: Հոսանքից դեպի ավտոբուս հեծանվով անցնելը կարող է վերականգնել պատշաճ աշխատանքը:
- Քանի որ սարքերը սահմանում են իրենց հաղորդակցման արագությունը, ավելի դանդաղ գործող սարքերը կարող են հետաձգել ավելի արագ սարքերի աշխատանքը:
- I2C-ն ավելի շատ էներգիա է վերցնում, քան մյուս սերիական կապի ավտոբուսները կապի գծերի բաց արտահոսքի տոպոլոգիայի շնորհիվ:
- I2C ավտոբուսի սահմանափակումները սովորաբար սահմանափակում են ավտոբուսի սարքերի թիվը մոտ մեկ տասնյակի սահմաններում:
I2C հավելվածներ
I2C-ը հիանալի տարբերակ է այն հավելվածների համար, որոնք պահանջում են ցածր գնով և պարզ իրականացում, քան բարձր արագությամբ: Օրինակ, I2C կապի արձանագրության ընդհանուր կիրառությունները ներառում են՝
- Հիշողության որոշակի IC-ների ընթերցում:
- Մուտք դեպի DAC և ADC:
- Օգտատիրոջ կողմից ուղղված գործողությունների փոխանցում և վերահսկում:
- Կարդում ենք ապարատային տվիչներ:
- Հաղորդակցություն բազմաթիվ միկրոկառավարիչների հետ: