1980-ականների Philips- ի կողմից մշակված I2C- ն դարձել է էլեկտրոնիկայի ամենատարածված սերիալային հաղորդակցության արձանագրություններից մեկը: I2C- ն հնարավորություն է տալիս հաղորդակցումը էլեկտրոնային բաղադրիչների կամ IC- ից մինչեւ IC, արդյոք բաղադրիչները նույն PCB- ի վրա են կամ միացված են մալուխի միջոցով: I2C- ի առանցքային առանձնահատկությունն այն է, որ միայն մեկ հաղորդակցման ավտոբուսում բաղադրիչները մեծ քանակություն ունեն միայն երկու լարերով, որոնք I2C- ն են կատարյալ այնպիսի ծրագրերի համար, որոնք պահանջում են պարզության եւ արագության ավելի ցածր արժեք:
I2C արձանագրության ընդհանուր նկարագիրը
I2C- ն սերիական հաղորդակցության պրոտոկոլ է, որը պահանջում է միայն երկու ազդանշանային գծեր, որոնք նախատեսված են PCB- ի չիպերի միջեւ հաղորդակցության համար: I2C- ը նախապես մշակվել է 100kbps կապի համար, սակայն ավելի արագ տվյալների փոխանցման ռեժիմները մշակվել են տարիների ընթացքում մինչեւ 3.4Mbit արագության հասնելու համար: I2C- ի արձանագրությունը ստեղծվել է որպես պաշտոնական ստանդարտ, որն ապահովում է I2C- ի կիրառման եւ լավ հետընթաց համատեղելիության մեջ լավ համատեղելիություն:
I2C ազդանշանները
I2C- ի արձանագրությունը օգտագործում է միայն երկու երկկողմանի ազդանշանային գծեր, I2C ավտոբուսի բոլոր սարքերի հետ հաղորդակցվելու համար: Օգտագործված երկու ազդանշանները հետեւյալն են.
- Սերիալ Տվյալների Գիծ (SDL)
- Սերիալ Տվյալների Ժամացույց (SDC)
Պատճառն այն է, որ I2C- ն կարող է օգտագործել միայն երկու ազդանշան, մի շարք այլ սարքերով հաղորդակցվելու համար, թե ինչպես է հաղորդակցվում ավտոբուսի միջեւ հաղորդակցությունը: Յուրաքանչյուր I2C հաղորդակցություն սկսվում է 7-բիթ (կամ 10 բիթ) հասցեով, որը կոչ է անում հեռավորության հասցեին զանգի մնացած մասը նախատեսված է հաղորդակցության համար: Սա թույլ է տալիս I2C ավտոբուսում մի քանի սարքեր վարել հիմնական սարքի դերը որպես թելադրվող համակարգի պահանջմունքները: Կապի բախման կանխելու համար I2C արձանագրությունը ներառում է արբիտրաժային եւ բախման հայտնաբերման հնարավորությունները, որոնք թույլ են տալիս հարթ հաղորդակցություն ավտոբուսով:
Առավելությունները եւ սահմանափակումները
Որպես հաղորդակցության արձանագրություն, I2C- ն ունի շատ առավելություններ, որոնք լավ ընտրություն են բազմաթիվ ներդրված նախագծային ծրագրերի համար: I2C- ն բերում է հետեւյալ առավելությունները.
- I2C- ն միայն պահանջում է երկու ազդանշան
- Ճկուն տվյալների փոխանցման տեմպերը
- Ավտոբուսի յուրաքանչյուր սարքը ինքնաբերաբար հասցեավորված է
- Սարքերն ունեն պարզ վարպետ / աղեղ հարաբերություններ
- I2C- ն ի վիճակի է արբիտրաժային եւ կապի բախման հայտնաբերման միջոցով ապահովել բազմակի հաղորդակցության հաղորդակցություն
- Ավելի հեռավոր հաղորդակցություն, քան SPI- ն
Այս բոլոր առավելություններից, I2C- ն ունի նաեւ մի քանի սահմանափակումներ, որոնք կարող են նախագծվել շուրջ: Ամենակարեւոր I2C սահմանափակումները ներառում են `
- Քանի որ սարքի հասցեի համար հասանելի է ընդամենը 7 բիթը (կամ 10 բիթը), նույն ավտոբուսի սարքերը կարող են կիսել նույն հասցեը: Որոշ սարքեր կարող են կոնֆիգուրացիան հասցեի վերջին մի քանի բիթները, սակայն դա դեռեւս նույն ավտոբուսի վրա սարքեր սահմանափակում է:
- Առկա են միայն մի քանի սահմանափակ կապի արագություններ, եւ շատ սարքեր չեն ապահովում փոխանցման ավելի բարձր արագությունները: Ավտոբուսի յուրաքանչյուր արագության մասնակի աջակցությունը պահանջվում է կանխել դանդաղ սարքերը, որոնք կկարողանան մասնակի փոխանցումներ կատարել, ինչը կհանգեցնի գործառնական սթրեսների:
- I2C- ի ավտոբուսի ընդհանուր բնույթը կարող է հանգեցնել ավտոբուսի կախվածությանը, երբ ավտոբուսում մեկ սարքը շահագործում է: Ավտոբուսի հեծանվավազք կարող է օգտագործվել ավտոբուսի վերագործարկման համար եւ վերականգնել պատշաճ աշխատանքը:
- Քանի որ սարքերը կարող են սահմանել իրենց հաղորդակցության արագությունը, դանդաղ գործառնական սարքերը կարող են հետաձգել ավելի արագ արագության սարքերի շահագործումը:
- I2C- ն ավելի շատ ուժ է ներառում, քան մյուս սերիալային կապի ավտոբուսները `կապի գծերի բաց քանդման տոպոլոգիայի պատճառով:
- I2C- ի ավտոբուսի սահմանափակումները սովորաբար սահմանափակում են մի քանի տասնյակ սարքերի վրա ավտոբուսում գտնվող սարքերի քանակը:
Դիմումները
I2C ավտոբուսը մեծ տարբերակ է այն ծրագրերի համար, որոնք պահանջում են ցածր ծախսեր եւ պարզ իրականացում, այլ ոչ թե բարձր արագությամբ: Օրինակ, կարդալու որոշակի հիշողություն ICs, մուտք DACs եւ ADCs, ընթերցողներ սենսորների , փոխանցող եւ վերահսկելու օգտվողին ուղղորդված գործողությունները, կարդալու hardware սենսորների եւ շփվել բազմակի միկրոդսկոլավորներ են ընդհանուր օգտագործման I2C հաղորդակցության արձանագրության.