64
быть слишком большим, иначе обмен данными для других узлов шины будет
блокироваться.
Пересылка данных всегда заканчивается сигналом "Стоп", генерируемым
ведущим I2C-Master. Если I2C-Master будет использовать шину дальше, он
может без сигнала "Стоп" выдать повторный "Старт" и затем адрес устройст-
ва для следующего цикла интерфейса. При таком алгоритме управления об-
меном возможны различные
комбинации чтения/записи. Например, в первом
цикле обмена "запись" I2C-Master может передать для I2C-Slave в поле дан-
ных байт – идентификатор запрашиваемых данных, а во втором цикле обмена
"чтение" получить от I2C-Slave требуемые данные.
Указанный алгоритм адресации требует присвоения уникальных 7 бито-
вый адресов для всех I2C-Slave шины. Эти I2C-адреса должны быть заданы
до начала
обмена по шине. В зависимости от типов применяемых устройств,
адреса могут задаваться либо программной инициализацией, либо определя-
ются аппаратно, например, коммутацией цепей управления адресом в уст-
ройстве I2C-Slave.
Ведущий I2C-Master может начинать пересылку данных, только если ши-
на свободна. Два и более ведущих могут генерировать сигнал "Старт" за вре-
мя минимального удерживания (T
hd,sta
). Арбитраж производится по шине
SDA в периоды, когда шина SCL находится в единичном состоянии. Если
один ведущий передает на линию данных НИЗКИЙ уровень, в то время как
другой – ВЫСОКИЙ, то последний отключается от линии, так как состояние
SDL не соответствует состоянию его внутренней линии данных. Таким обра-
зом, арбитраж при одновременной передаче
обеспечивает более высокий
приоритет не узлу интерфейса, а сообщению с большим числом нулевых бит
в передаваемой последовательности.
Арбитраж может продолжаться на протяжении нескольких бит. Так как
сначала передается адрес, а потом данные, то арбитраж может продолжаться
до окончания адреса, а если ведущие адресуют одно и то же устройство, то в
арбитраже будут участвовать и данные. Вследствие такой схемы арбитража
при столкновении данные не теряются. Ведущему, проигравшему арбитраж,
разрешается выдавать синхроимпульсы на шину SCL до конца байта, в тече-
ние которого был потерян доступ. Если I2C-Master проигрывает арбитраж на
стадии передачи адреса, то он должен переключиться в режим ведомого, что-
бы выигравший арбитраж ведущий
мог его адресовать.
Преимущества шины I2C очевидны – малое количество соединительных
линий и высокая скорость обмена, простота аппаратной реализации интер-
фейса. Наиболее широко поддерживает шину I2C фирма Philips, производя-
щая множество ИС различной сложности с управлением по I2C. В первую
очередь, можно выделить микросхемы энергонезависимой памяти (EEPROM)
серии 24Схх в 8-ми выводных корпусах, фактически ставшие промышлен
-