Читаем Изучаем Arduino: инструменты и методы технического волшебства полностью

Подключение устройств по протоколу связи I2C иллюстрирует рис. 8.1. От предыдущих способов цифровой передачи данных, рассмотренных в этой книге, I2C отличается тем, что несколько устройств используют одни и те же линии связи: шину синхронизации сигнала (SCL) и двунаправленную шину данных (SDA). Последняя служит для отправки данных от ведущего устройства к ведомым. Обратите внимание, что на каждой шине I2C требуется установка подтягивающих резисторов.


Рис. 8.1. Схема подключения устройств I2C

8.2.1. Взаимодействие и идентификация устройств

Протокол I2C позволяет нескольким ведомым устройствам соединяться по одной шине с одним ведущим устройством. Далее роль ведущего устройства (мастера) будет играть плата Arduino. Мастер шины отвечает за инициирование обмена. Ведомые устройства не могут инициировать обмен данных, они способны только отвечать на запросы, которые посылает ведущее устройство. Так как к одной линии подключено несколько ведомых устройств, принципиально важно, что устанавливать связь может только ведущее устройство. В противном случае, сразу несколько устройств могли одновременно пытаться отправить данные, что привело бы к искажениям.

Все команды и запросы, отправленные от мастера, принимаются всеми устройствами на шине. Каждое ведомое устройство имеет уникальный 7-битовый адрес (идентификационный номер, ID устройства). Когда ведущее устройство инициирует связь, оно передает идентификатор ведомого. Ведомые устройства реагируют на данные, передающиеся по шине, только тогда, когда они направлены в их адрес.

Адрес каждого устройства на шине I2C должен быть уникальным. Некоторые устройства I2C имеют настраиваемые адреса, а другие - фиксированный адрес, заданный производителем. При подключении к одной шине нескольких I2C-устройств, необходимо чтобы у них были различные идентификаторы.

Датчики температуры обычно допускают перепрограммирование I2C-адреса, поэтому на одной шине I2C может быть несколько таких датчиков. Далее мы рассмот

- 172 -

рим датчик температуры ТС74. Из рис. 8.2 видно, что этот датчик может иметь несколько разных адресов. В примерах данной главы у датчика TC74A0-5.0VAT (исполнение ТО-220) I2C-адрес задан как 1001000.

Рис. 8.2. Фрагмент технического описания датчика ТС74. расшифровка обозначения и варианты адресов I2C

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

В датчиках другого типа, например, AD7414 и AD7415 есть контакт (AS), который позволяет настроить адрес устройства I2C. Взгляните на данные датчика AD7414 из документации (рис. 8.3).

Датчик AD7414 выпускается в четырех вариантах исполнения, с контактом AS и без него. Адрес устройства, снабженного контактом AS, зависит от состояния этого контакта: отключен, подключен к питанию или земле.

Table 4. 1 1 С Address Selection

Рис. 8.3. Фрагмент технического описания датчика AD7414. цоколевка и варианты адресов I2C

- 173 -

8.2.2. Требования к оборудованию и подтягивающие резисторы

Из рис. 8.1 ясно, что типовая конфигурация шины I2C требует наличия подтягивающих резисторов на линиях синхронизации и передачи данных. Номинал резисторов зависит от ведомых устройств, данные можно посмотреть в документации на эти устройства. Мы рекомендуем взять резисторы номиналом 4,7 кОм, - это стандартное значение, которое указано во многих справочниках.

8.3. Связь с датчиком температуры I2C

Организация обмена данными с устройством I2C зависит от требований конкретного устройства. К счастью, наличие в Arduino библиотеки I2C освобождает от необходимости программирования операций синхронизации процесса обмена. Далее мы рассмотрим организацию обмена данными с I2C-датчиком температуры. Этот пример позволит в будущем легко осуществить обмен с другими устройствами I2C.

Основные шаги для управления любым I2C-устройством таковы:

• Мастер посылает стартовый бит.

• Мастер посылает 7-разрядный адрес ведомого устройства.

• Мастер устанавливает на шине данных "1" (чтение) или "0" (запись) в зависимости от того, хочет ли он отправить данные в ведомое устройство или получить данные от него.

• Ведомое устройство выставляет бит АСК (логический уровень низкий).

• В режиме записи, мастер передает один байт информации, ведомое устройство выдает бит АСК. В режиме чтения, мастер получает один байт и посылает бит АСК в ведомое после каждого байта.

• Когда связь завершена, мастер посылает стоп-бит.

8.3.1. Сборка схемы устройства
Перейти на страницу:

Похожие книги

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Внутреннее устройство Microsoft Windows (гл. 1-4)
Внутреннее устройство Microsoft Windows (гл. 1-4)

Книга посвящена внутреннему устройству и алгоритмам работы основных компонентов операционной системы Microsoft Windows — Windows Server 2003, Windows XP и Windows 2000 — и файловой системы NTFS. Детально рассмотрены системные механизмы: диспетчеризация ловушек и прерываний, DPC, APC, LPC, RPC, синхронизация, системные рабочие потоки, глобальные флаги и др. Также описываются все этапы загрузки операционной системы и завершения ее работы. B четвертом издании книги больше внимания уделяется глубокому анализу и устранению проблем, из-за которых происходит крах операционной системы или из-за которых ее не удается загрузить. Кроме того, рассматриваются детали реализации поддержки аппаратных платформ AMD x64 и Intel IA64. Книга состоит из 14 глав, словаря терминов и предметного указателя. Книга предназначена системным администраторам, разработчикам серьезных приложений и всем, кто хочет понять, как устроена операционная система Windows.Названия всех команд, диалоговых окон и других интерфейсных элементов операционной системы приведены как на английском языке, так и на русском.Версия Fb2 редакции — 1.5.

Марк Руссинович , Дэвид Соломон

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

Учебник состоит из двух разделов: теоретического и практического. В теоретической части учебника изложены основы современной информатики как комплексной научно-технической дисциплины, включающей изучение структуры и общих свойств информации и информационных процессов, общих принципов построения вычислительных устройств, рассмотрены вопросы организации и функционирования информационно-вычислительных сетей, компьютерной безопасности, представлены ключевые понятия алгоритмизации и программирования, баз данных и СУБД. Для контроля полученных теоретических знаний предлагаются вопросы для самопроверки и тесты. Практическая часть освещает алгоритмы основных действий при работе с текстовым процессором Microsoft Word, табличным редактором Microsoft Excel, программой для создания презентаций Microsoft Power Point, программами-архиваторами и антивирусными программами. В качестве закрепления пройденного практического курса в конце каждого раздела предлагается выполнить самостоятельную работу.

Максим Анатольевич Беляев , Вадим Васильевич Лысенко , Лариса Александровна Малинина

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT