I2C или Интер IC, разработанный компанией Philips, является применение электронный дизайн очень широкий диапазон последовательная шина используется в основном для напряжения, контроль температуры, EEPROM чтения и записи данных, оптический модуль управления.
Шины I2C, только две линии, SCL и SDA, SCL или Serial часы, часы серийного ссылки, СПУ или Serial Data, последовательной передачи данных.
? Шины I2C, сколько скорость может достигать?
Стандартный режим: 100kbps
Быстрый режим: 400kbps
Высокоскоростной режим: 3.4Mbps
Шины I2C структуры, как показано ниже:
Как было показано выше, I2C является OC или OD структуры производства, чип должен быть использован внешне на тянуть, подтягивающий резистор значение R, висел под I2C-Bus устройств на номер шины I2C и скорость, как правило, стандартный режим R Выберите 10кОм, R выберите быстро 1kohm режиме, шины I2C повесить I2C устройств больше драйва возможность требует сильнее I2C, R ценности, необходимые для меньше, фактическая конструкция, как правило, на первом 4.7kohm выбор подтягивающий резистор, а затем отладки I2C, когда измеренная сигнала, а затем настроить значение R.
? Шины I2C повесить количество устройств I2C?
I2C-шине I2C устройство, установленное на допустимое количество решений по двум условиям:
1). I2C бит адрес ведомого. I2C стандартный адрес 7-битные и 10-битный адрес двух. Если это 7-битный адрес, позволяющий число подключенных устройств I2C: 2 7 = 128, если это 10-разрядные адреса, что позволяет числа подключенных устройств I2C: 2 10 = 1024, общей шине I2C I2C устройства не установлен будет слишком много, так что теперь почти все устройства I2C использовать 7-разрядный адрес.
2). Вися на шины I2C контактов всех устройств I2C и паразитной емкости. I2C-Bus спецификации шины I2C, максимальная емкостная нагрузка не может превышать 470pF.
? I2C шине работать?
1). I2C характеристики трансфер.
I2C-шины передачи байта, двоичные данные 8bits каждой передачи, передачи стороне после ожидания на получение ACK ответный сигнал, подтверждает получение следующего байта после передачи. Можно не ждать ACK сигнал, сигнал завершения передачи. Бесплатные случае, SCL и SDA в высоком состоянии.
2). Как определить начало передачи?
Как было показано выше, I2C трансфер положило начало: SCL сигнал высокой в течение периода, SDA присутствует сигнал высокого уровня к низкому перехода.
3). Как определить конце передачи?
Как было показано выше, I2C трансфер положило конец: SCL сигнал высокой в течение периода, SDA сигнал появления НИЗКИЙ перехода HIGH. Отождествляется с начала противоположное.
4). Какие данные I2C справедливо.
В SCL высокий, СПУ стабильно удержания данных достоверные данные, и только государство в SCL низкий, SDA государство позволило, чтобы перейти. "Ве уже говорил, SCL высокий период, изменения ПДД состоянии, начала передачи /. Конце знака.
? I2C-Bus временные параметры основных Что?
I2C шине основные параметры сроки: Начало установки времени T SU: STA, начал проводить время T HD: STA, данные установки времени T SU: DAT, удержания данных T SU время: DAT, в конце установки времени T SU: СТО. Как показано ниже:
Время начала установки: SCL показатель вырос до 90%, а величина ПДД снизилось до 90% интервал времени;
Время запуска: СПУ снизился до 10% и SCL упасть на 10% спектра интервал между ними;
Данные установки времени: ПДД увеличена до 90% диапазона до величины SDA и SCL вырастет на 10% до 10% диапазона интервал между ними;
Время удержания данных: SCL снизился до 10% и вырос до величины ПДД или SDA снизилась с 10% до 90% диапазона интервал между ними;
Конец время настройки: SCL показатель вырос до 90%, а величина ПДД увеличена до 90% интервал времени;
I2C-Bus временных параметров требуется:
? Шины I2C, как читать и писать?
Как показано выше, начинается I2C передачи первого байта адресной информации до 7bit (устройства 7-битный адрес), первый 8-битную операционную личность, "0" операции записи, сказал: "1", что операция чтения , 9 такт признать ACK, низкой эффективной, высокая указывает на отсутствие ответа, сигнал завершения передачи. Также может быть показано на рисунке выше, при нормальных обстоятельствах, I2C мастер операции записи инициируется прекращении операции стороне, в то время как операции чтения, I2C контроллер управления на приемном конце после последних данных, и не ответа от устройства, передачи прекращения .
? I2C-Bus случае исследование
Описание проблемы:
Шине I2C в испытания и обнаружили, что ПДД линии передачи данных, Есть глюки, но очень частое явление, как правило, в задней части 9,18,27 такт -----. Как будет показано ниже.
Анализ:
Как было показано выше, T1 ведомое устройство на шине I2C сигнал подтверждения ACK (9 часов цикла производства) по сравнению с эталонными часами SCL заднему фронту временным лагом. Данные направления Slave -> Мастер. T 2 является устройством I2C мастер на выходе часов автобус в первые 10 SCL относительно эталонных часов временным лагом. Данные направления Master -> Slave. ? Т устройств ведущего и ведомого устройства вывода данных задержки разницы во времени.
Мастер устройство посылает последний бит данных, право на использование шины к устройству Slave, сигнал подтверждения ACK от Slave устройства, заднему фронту сигнала SCL после задержки задается T1 в SCL после следующего края часы t1 Canon После конца. Устройство мастер в том же краю часов, часто после задержки в выдаче первого 9bit t2 данных, так что? T (T2-T1) времени, ведущего и ведомого устройства не пользуются автобусом, потому что СПУ является OC / OD выход, чип наружу через сопротивление R, вытащил VCC, SDA уровне будет вытащил, но из-за? T очень короткий, VCC, а не к стабильности ПДД вытащил высокой, мастер начал посылать данные "0" до SDA низкий, Поэтому ширина ПДД в форме узкой половинной высоты, мы наблюдали сбои. Это глюк не читать и писать I2C-Bus времени воздействия. Без лечения.