1980-ші жылдары Philips әзірлеген I2C (баламалы I2C) электроникада ең жиі қолданылатын сериялық байланыс протоколдарының біріне айналды. I2C құрамдас бөліктер бір ПХД-де немесе кабель арқылы қосылғанына қарамастан, электрондық компоненттер немесе интегралды схемалар арасындағы байланысты жеңілдетеді.
I2C протоколы дегеніміз не?
I2C – тек екі сигнал желісін қажет ететін сериялық байланыс протоколы. Ол баспа платасындағы (ПХБ) микросхемалар арасындағы байланысқа арналған. 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 қатынасу.
- Пайдаланушыға бағытталған әрекеттерді жіберу және басқару.
- Аппараттық сенсорларды оқу.
- Бірнеше микроконтроллермен байланысу.