1980-шы жылдардың Philips компаниясы әзірлеген I2C электроникадағы ең көп таралған сериялық байланыс хаттамаларының бірі болды. I2C компоненттері бірдей PCB-де немесе кабель арқылы қосылған болсын, электрондық компоненттер немесе IC-тан IC-ға байланыс орнатуға мүмкіндік береді. I2C-тің басты ерекшелігі - екі сыммен бір байланыс шинасында көптеген компоненттерге ие болу мүмкіндігі, бұл I2C жылдамдығынан қарапайымдылық пен төмен шығынды талап ететін қосымшалар үшін өте қолайлы етеді.
I2C хаттамасына шолу
I2C - тек PCB-ге чиптер арасындағы байланыс үшін жасалған екі сигнал сызығын талап ететін сериялық байланыс хаттамасы. I2C бастапқыда 100 километрлік байланыс үшін жасалған, бірақ деректерді берудің жылдам режимдері жыл бойы 3.4 Мбит жылдамдыққа жету үшін жасалды. I2C протоколы ресми стандарт ретінде белгіленді, ол I2C нұсқалары арасында жақсы үйлесімділікті қамтамасыз етеді және кері кері сыйысымдылықты қамтамасыз етеді.
I2C сигналдары
I2C протоколында I2C шинасында барлық құрылғылармен байланысу үшін тек екі бағытты сигнал сызығы қолданылады. Қолданылатын екі сигнал:
- Сериялық деректер жолы (SDL)
- Serial Data Clock (SDC)
I2C бірнеше перифериялық құрылғылармен байланысуға тек екі сигналды қолдана алады, себебі автобуста байланыс қалай жүзеге асады. Әрбір I2C байланысы 7-бит (немесе 10-бит) мекен-жайдан басталады, ол периферияның мекен-жайын көрсетіп, қалған қарым-қатынас коммуникацияны алуға арналған. Бұл I2C автобусындағы бірнеше құрылғыны негізгі құрылғының рөлін жүйенің қажеттіліктері ретінде ойнауға мүмкіндік береді. Байланыс соқтығысуын болдырмау үшін, I2C протоколы автобуста тегіс байланыс орнатуға мүмкіндік беретін арбитраж мен соқтығысуды анықтау мүмкіндіктерін қамтиды.
Артықшылықтары мен шектеулері
Байланыс протоколы ретінде, I2C көптеген артықшылықтарға ие, бұл көптеген енгізілген дизайн қосымшалары үшін жақсы таңдау болып табылады. I2C келесі артықшылықтарды береді:
- I2C тек екі сигнал сызығын талап етеді
- Деректерді берудің икемділігі
- Автобустағы әрбір құрылғы дербес түрде бағытталуы мүмкін
- Құрылғыларда қарапайым Master / Slave қатынастары бар
- I2C арбитражды және байланыс соқтығысуын анықтау арқылы көптеген шеберлік байланысын басқаруға қабілетті
- SPI қарағанда ұзын қашықтық байланыс
Барлық осы артықшылықтармен қатар, I2C-да бірнеше шектеулер бар, олар айналасында жобалануы қажет болуы мүмкін. Ең маңызды I2C шектеулері мыналарды қамтиды:
- Құрылғы адресу үшін тек 7 биттерді (немесе 10 бит) қол жетімді болғандықтан, бір шинадағы құрылғылар сол мекен-жайға ортақ болуы мүмкін. Кейбір құрылғылар адрестің соңғы бірнеше биттерін конфигурациялауға қабілетті, бірақ бұл бір автобуста құрылғылардың шектелуін тудырады.
- Байланыс жылдамдығының тек бірнеше шектеулі болуы мүмкін және көптеген құрылғылар жоғары жылдамдықты беруді қолдамайды. Автобустағы әрбір жылдамдықты ішінара қолдау баяу құрылғылардың жартылай берілуін болдырмауын болдырмау үшін қажет.
- I2C автобусының ортақ сипаты автобустағы жалғыз құрылғы тоқтаған кезде барлық автобусқа ілулі болуы мүмкін. Автобустың қуатын автобусқа қайта қосу және дұрыс жұмысын қалпына келтіру үшін пайдалануға болады.
- Құрылғылар байланыс жылдамдығын орната алатындықтан, баяу жұмыс жасайтын құрылғылар жылдам жылдамдық құрылғыларының жұмысын кідіртеді.
- I2C коммуникациялық желілердің ашық ағынды топологиясы есебінен басқа сериялық байланыс желісіне қарағанда көп күш жұмсайды.
- I2C шинасының шектеулері әдетте он шақты құрылғыға автобустағы құрылғылардың санын шектейді.
Өтініштер
I2C автобусы жоғары жылдамдықты емес, арзан және қарапайым іске асыруды қажет ететін қосымшалар үшін тамаша мүмкіндік болып табылады. Мысалы, белгілі бір жады IC оқып, DAC және ADC кіру, датчиктерді оқу , пайдаланушыны бағытталған әрекеттерді жіберу және басқару, аппараттық сенсорларды оқу және бірнеше микроконтроллерлермен байланысу I2C байланыс протоколының жалпы қолданылуы болып табылады.