Контроллер I2C на материнской плате работает с помощью двух двунаправленных линий связи: SDA (линия данных) и SCL (линия синхронизации). narodstream.ru ampermarket.kz
Процесс работы: narodstream.ru
- В исходном состоянии обе линии находятся в высоком уровне за счёт подтягивающих к шине питания резисторов. narodstream.ru
- При желании передать или принять данные ведущее устройство на шине SDA формирует команду START, притягивая шину SDA к земле (устанавливая низкий логический уровень). narodstream.ru
- С помощью шины SDA ведущее устройство передаёт 7-битный (а в некоторых случаях и 10-битный) адрес ведомого устройства, которому оно хочет передать или от которого хочет принять информацию. narodstream.ru
- Одновременно с передачей каждого бита данных ведущее устройство по шине SCL передаёт тактовые импульсы. narodstream.ru Если на шине формируется бит «1», то шина находится в высоком уровне, а если «0», то в низком. narodstream.ru
- Затем идёт ещё один бит, который указывает, хотим ли мы принять или передать информацию. narodstream.ru Если хотим информацию принимать (читать), то передаём 1, если передавать (писать), то 0. narodstream.ru
- Далее происходит либо передача, либо приём данных. narodstream.ru Если ведущее устройство данные принимает, то оно продолжает тактирование и одновременно с этим на шине SDA начнут приходить данные. narodstream.ru Если ведущее устройство данные передаёт, то оно само формирует импульсы данных на ножке SDA. narodstream.ru
- По окончанию передачи данных ведущее устройство формирует условие (или команду) STOP, что обеспечивается переходом шины SDA из низкого состояния в высокое. narodstream.ru
Для корректной передачи данных приёмник должен подтверждать приём каждого байта от передатчика. ampermarket.kz Для этого приёмник отправляет бит подтверждения с низким уровнем сигнала по линии SDA после приёма каждого 8-го бита данных. ampermarket.kz