1980-жылдары Philips тарабынан иштелип чыккан, I2C (альтернатива катары I2C) электроникада эң көп колдонулган сериялык байланыш протоколдорунун бири болуп калды. I2C электрондук компоненттердин же интегралдык микросхемалардын ортосундагы байланышты жеңилдетет, мейли компоненттер бир PCBде болобу же кабель менен туташтыбы.
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'лерге кирүү.
- Колдонуучуга багытталган аракеттерди өткөрүү жана көзөмөлдөө.
- Аппараттык сенсорлор окулууда.
- Бир нече микроконтроллер менен байланыш.