Таблица 2. Параметры сигналов на I2C-шине
Обозначение |
Параметр |
Режим измерения |
1,7 ≤ Ucc < 2,5 B |
Ucc = 2,5…5,5 B |
Единица измерения |
||
min |
max |
min |
max |
||||
fSCL |
Тактовая частота |
Примечание 1 |
– |
100 |
– |
400 |
кГц |
tBUF |
Время, когда шина свободна перед формированием условия «старт» |
Примечание 1 |
4,7 |
– |
1,3 |
– |
мкс |
tHD, STA |
Время удержания условия «старт» |
Примечание 1 |
4 |
– |
0,6 |
– |
мкс |
tLOW |
Период «низкий» тактового сигнала |
Примечание 1 |
4,7 |
– |
1,3 |
– |
мкс |
tHIGH |
Период «высокий» тактового сигнала |
Примечание 1 |
4 |
– |
0,6 |
– |
мкс |
tSU, STA |
Время установки для условия «старт» |
Примечание 1 |
4,7 |
– |
0,6 |
– |
мкс |
tHD, DAT |
Время удержания данных для подчиненного передатчика |
Примечание 1, 2 |
0 |
– |
0 |
– |
нс |
tSU, DAT |
Время установки данных |
Примечание 1 |
250 |
– |
100 |
– |
нс |
tSP |
Ширина импульса просечки (SDA, SCL) |
– |
50 |
– |
50 |
нс |
|
tOF |
Фронт выходного сигнала при переключении от Ullmin к UIlmax |
IOL = 3 мА, Примечание 2 |
– |
250 |
20+0,1 CB |
250 |
нс |
ТAA |
Время выборки данных по сигналу SCL |
Примечание 3 |
– |
3500 |
– |
900 |
нс |
TWC |
Длительность цикла записи (байтовый, страничный режим) |
– |
– |
5 |
– |
5 |
мс |
tR |
Длительность фронта нарастания (SDA, SCL) |
Примечание 1 |
– |
1000 |
– |
300 |
нс |
tF |
Длительность фронта спада (SDA, SCL) |
Примечание 1 |
– |
300 |
– |
300 |
нс |
tSU, STO |
Время установки условия «остановка» |
Примечание 1 |
4 |
– |
0,6 |
– |
мкс |
tHD, WP |
Время удержания данных для режима «защита от записи» |
Примечание 1 |
4700 |
– |
1300 |
– |
нс |
tSU, WP |
Время установки данных для режима «защита от записи» |
Примечание 1 |
4000 |
– |
600 |
– |
нс |
Примечания:
1. Параметр не тестируется, но гарантируется установкой временной диаграммы при ФК.
2. CB — общая емкость шины.
3. Как передатчик, микросхема должна обеспечивать внутреннюю минимальную задержку, требуемую для шунтирования неопределенной области спада сигнала SCL (не менее 300 нс), исключающую случайную генерацию условий «старт» или «стоп».
Рис. 3. Операционные состояния I2С-шины |
![]() |
Рис. 4. Временная диаграмма I2С-шины |
![]() |
Определены следующие состояния I2С-шины:
– шина свободна (не занята) — обе линии находятся в «высоком» состоянии;
– начало передачи (условие «старт») — переход линии SDA от высокого уровня к низкому при нахождении линии SCL в «высоком» состоянии;
– передача информации;
– конец передачи (условие «остановка») — переход линии SDA от низкого уровня к высокому, в то время как линия SCL находится в «высоком» состоянии.
Передача данных может начаться, только когда шина свободна. Во время передачи данных информационная линия должна оставаться стабильной все время, пока тактовая линия высокая. Состояние линии SDA может изменяться только тогда, когда линия тактовых сигналов SCL находится в «низком» состоянии. Один тактовый сигнал приходится на один бит информации. Изменение состояния линии SDA в то время, когда тактовая линия высокая, будет интерпретировано как контрольные сигналы: «старт» или «остановка».
Каждая передача данных начинается с условия «старт» и завершается условием «остановка». Информация всегда передается в байтоорганизованной форме. Число байтов информации, передаваемых между условиями «старт» и «остановка», ограничено в режиме «стирание/запись» и не ограничено в режиме «чтение». Каждое слово из 8 бит (каждый байт) сопровождается проверочным девятым битом, битом подтверждения. Данный бит на линии SDA всегда вырабатывается устройством, принявшим предшествующий байт информации (т.е. приемником).
Устройство, подтверждающее прием информации (в случае соответствия ее предъявляемым требованиям), разряжает линию SDA таким образом, что данная линия остается постоянно низкой в течение всего периода действия высокого уровня тактового импульса подтверждения (9-й бит) на линии SCL.
Устройство, передающее информацию, во время формирования подтверждения должно принимать состояние с высоким выходным сопротивлением. В случае несоответствия принятого байта информации предъявленным требованиям, принимающее устройство не вырабатывает подтверждения, что указывает на ошибку в формировании протокола обмена на I2С-шине.
Все приборы, подключенные к I2С-шине, можно подразделить на две группы: главные — приборы, которые контролируют передачу данных по шине (микроконтроллеры, микропроцессоры), и подчиненные — приборы, которые подчиняются управлению со стороны главных (сервисные и периферийные устройства). Обе группы приборов могут, в свою очередь, выступать в роли приемников (устройств, принимающих в данный момент информацию) и передатчиков (устройств, передающих данные на шину). Разработанная микросхема IN24AA64 может быть только подчиненным приемником или подчиненным передатчиком.
Особенностью протоколов в режиме «чтение» (см. рис. 5, 6) является изменение направления передачи информации по линии SDA: до окончания управляющего слова CS/RD микросхема принимает информацию, а после происходит передача (считывание) данных. Один раз задав протокол, можно последовательно считать неограниченное число байтов данных. После считывания каждого байта внутрикристальный счетчик адреса автоматически приращивается на единицу при получении подтверждения от главного приемника (Аm = 0). Сразу после отрицательного фронта тактового импульса подтверждения (в случае если As или Аm = 0) выход микросхемы является низкоимпедансным, и на линии SDA устанавливается первый бит считываемого байта информации.
Рис. 5. Протокол I2С-шины в режиме «чтение» с вводом адреса
слова
ST |
CS/WR |
As |
WA |
As |
ST |
CS/RD |
As |
DA |
Am |
DA |
Am |
SP |
n-байтов |
последний байт |
↑
Автоматическое приращение адреса считываемого слова
Рис. 6. Сокращенный протокол I2С-шины в режиме «чтение»
ST |
CS/RD |
As |
DA |
Am |
DA |
Am |
SP |
n-байтов |
последний байт |
↑
Автоматическое приращение адреса считываемого слова
В случае передачи микросхемой (подчиненный передатчик) последнего байта главный приемник должен выдать не сигнал, подтверждающий прием, а передать подчиненному передатчику информацию об окончании приема (Am = 1). В этом случае после отрицательного фронта тактового импульса подтверждения выход микросхемы переводится в состояние с высоким выходным сопротивлением (закрывается), на линии SDA устанавливается высокий уровень, разрешающий главному приемнику выработать условие «остановка». Управляющие слова и обозначения, а также их описания приведены в таблицах 3 и 4 соответственно.
Таблица 3. Управляющие слова I2C-шины
Обозначение слова |
Номер бита слова |
Назначение |
9-й бит (бит подтверждения после слова) |
|||||||
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
|||
CS/WR |
1 |
0 |
1 |
0 |
A2 |
A1 |
A0 |
0 |
Слово выбора кристалла для записи информации в микросхему |
«0», подтверждение от ИС |
CS/RD |
1 |
0 |
1 |
0 |
A2 |
A1 |
A0 |
1 |
Слово выбора кристалла для чтения данных из микросхемы |
«0», подтверждение от ИС |
WA1 |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
X1 |
X0 |
1-е слово адреса байта, к которому обращаются |
«0», подтверждение от ИС |
WA2 |
X |
X |
X |
X |
X12 |
X11 |
X10 |
X9 |
2-е слово адреса байта, к которому обращаются (X- незначащие биты) |
«0», подтверждение от ИС |
DE |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
Слово данных для записи в ЭСППЗУ |
«0», подтверждение от ИС |
DA |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
Слово данных, считываемое из ЭСППЗУ |
«0» или «1» от «главного» |