Работа с I2C

Для того чтобы программно реализовать функционирование используемой в моей работе шины следует более детально рассмотреть особенности работы с шиной. I²C - последовательная шина данных для связи интегральных схем, разработанная фирмой Philips как простая шина внутренней связи для создания управляющей электроники. Используется для соединения низкоскоростных периферийных компонентов с материнской платой, встраиваемыми системами и мобильными телефонами. Название представляет собой аббревиатуру слов Inter-Integrated Circuit. 1 октября 2006 года отменены лицензионные отчисления за использование протокола I²C. Однако, отчисления сохраняются для выделения эксклюзивного подчинённого адреса на шине I²C.²C использует две двунаправленных линии, подтянутые к напряжению питания и управляемые через открытый коллектор или открытый сток - последовательная линия данных (SDA) и последовательная линия тактирования (SCL), обе нагруженные резисторами. Стандартные напряжения +5 В или +3,3 В, однако допускаются и другие.

Классическая адресация включает 7-битное адресное пространство с 16 зарезервированными адресами. Это означает до 112 свободных адресов для подключения периферии на одну шину.

Основной режим работы - 100 кбит/с; 10 кбит/с в режиме работы с пониженной скоростью. Заметим, что стандарт допускает приостановку тактирования для работы с медленными устройствами.

После пересмотра стандарта в 1992 году становится возможным подключение ещё большего количества устройств на одну шину (за счёт возможности 10-битной адресации), а также большую скорость до 400 кбит/с в скоростном режиме. Соответственно, доступное количество свободных узлов выросло до 1008. Максимальное допустимое количество микросхем, подсоединенных к одной шине, ограничивается максимальной емкостью шины в 400 пФ.

Рис.2.10 Основные параметры формируемых сигналов при обмене по шине

Рис.2.11 Основные особенности отработки сигнала ответа ACK от устройства

контроллер роботизированный перемещение предмет

На представленном из технической документации рисунке наглядно видно что обмен начинается с формирования стартового импульса при SCL=1 SDA опускается в 0. Далее в процессе обмена SDA переключается только в моменты когда сигнал тактирования SCL=0 иначе при SCL=1 перевод сигнала SDA из 0 в 1 будет восприниматься как завершение цикла обмена и наоборот даже без завершения новый стартовый сигнал будет служить для того, чтобы обеспечить начало нового цикла. После стартового импульса выполняется передача первого байта префикса, далее мастер ждет от ведомого появление на шине сигнала ответа ACK и так данный сигнал формируется после каждого переданного байта ведомым, или после принятого байта мастером.

Таблица 2.4. Величины основных таймаутов при обмене данными по шине I2C

Прочтите также:

Система ограничения доступа к компьютеру с использованием электронных ключей
контроллер электронный ключ доступ В данном курсовом проекте поставлена задача разработать специализированный контроллер, обеспечивающий контролируемый доступ к персона ...

Проект устройства IPS дисплея
Ежегодно в мире производятся тысячи устройств, передающий и принимающих информацию по беспроводным каналам, на базе этих устройств в свою очередь строятся новые сети, использующие та ...

Разработка модема и кодека для системы передачи данных
Система сбора и передачи информации предназначена для трансляции на удаленные пункты, а также контроля информации (видео, тревожной, голосовой, передачи данных Ethernet) посредс ...

Основные разделы

2020 © Все права защищены! >> www.techeducator.ru