я2C — це послідовний протокол зв’язку, який використовує два дроти, один скорочено «SDA» для послідовних даних, а інший «SCL» для послідовного годинника. Спільна основа також потрібна, хоча і не завжди зображена на схемах.
Шини I2C не обмежені певною напругою. У деяких програмах різні опорні напруги I2C використовуються для різних мікросхем. Іноді необхідно, щоб усі вони користувалися одним автобусом. Щоб розпізнати, що таке логічний нуль і логічна одиниця, необхідний зміщувач рівня.
Шина I2C повинна мати підтягуючі резистори, один на лінії SDA і один на лінії SCL. Зазвичай вони становлять 4,7 або 10 КОм, але мають бути в діапазоні від 2 до 10 КОм. Багато комутаційних плат, які можна придбати в Adafruit або SparkFun, уже мають підтягувальні резистори, як правило, 10K, але іноді 4,7K.
Вимоги до пристроїв
- Обидва, SDA і SCL, повинні мати відкритий сток і не повинні керуватися високим рівнем будь-яким пристроєм, підключеним до шини I2C.
- У більшості шин I2C низький і високий пороги рівня вхідної напруги SDA і SCL повинні залежати від Vcc.
Шина I2C є стандартним двонаправленим інтерфейсом який використовує контролер, відомий як головний, для зв’язку з підлеглими пристроями. Підлеглий пристрій не може передавати дані, якщо вони не були адресовані головним.
Фізична шина I2C SDA є лінією передачі даних. Лінії SCL і SDA підключаються до всіх пристроїв на шині I2C. Потрібен третій дріт, який є просто землею або 0 вольт. Також може бути дріт 5 вольт, через який живлення подається на пристрої.