1-провод - 1-Wire

IButton в пластиковом брелке, который используется для смарт-билета Istanbul Akbil .
Кольцо Java со встроенным iButton.

1-Wire - это система шин связи устройств, разработанная Dallas Semiconductor Corp., которая обеспечивает низкоскоростные (16,3 кбит / с) данные, сигнализацию и питание по одному проводнику .

1-Wire по своей концепции аналогичен I²C , но с более низкой скоростью передачи данных и большим радиусом действия. Обычно он используется для связи с небольшими недорогими устройствами, такими как цифровые термометры и погодные инструменты. Сеть из устройств 1-Wire с соответствующим ведущим устройством называется MicroLAN . Протокол также используется в небольших электронных ключах, известных как ключ Далласа или iButton .

Отличительной особенностью шины является возможность использования всего двух проводов - данных и заземления. Для этого устройства 1-Wire включают в себя конденсатор емкостью 800 пФ для хранения заряда и питания устройства в периоды, когда линия передачи данных активна.  

Пример использования

Устройства 1-Wire доступны в различных корпусах: интегральные схемы , транзистор в стиле TO-92 и портативная форма, называемая iButton или Dallas key, которая представляет собой небольшой корпус из нержавеющей стали, напоминающий батарейку для часов . Производители также производят устройства более сложные, чем отдельный компонент, которые используют шину 1-Wire для связи.

Устройства 1-Wire могут размещаться в разных местах системы. Это может быть один из многих компонентов на печатной плате продукта. Это также может быть отдельный компонент в устройстве, таком как датчик температуры. Он может быть подключен к контролируемому устройству. Некоторые лабораторные системы подключаются к устройствам 1-Wire с помощью кабелей с модульными разъемами или кабеля CAT-5 . В таких системах популярны RJ11 ( модульные разъемы 6P2C или 6P4C , обычно используемые для телефонов).

Системы датчиков и исполнительных механизмов могут быть построены путем соединения множества компонентов 1-Wire. Каждый компонент 1-Wire содержит всю логику, необходимую для работы на шине 1-Wire. Примеры включают регистраторы температуры , таймеры, датчики напряжения и тока, мониторы батарей и память . Их можно подключить к ПК с помощью преобразователя шины. Интерфейсы последовательного порта USB , RS-232 и параллельного порта являются популярными решениями для подключения MicroLan к главному компьютеру. Устройства 1-Wire также могут напрямую подключаться к микроконтроллерам различных производителей.

iButton подключаются к системам шины 1-Wire с помощью розеток с контактами, которые касаются «крышки» и «дна» контейнера. В качестве альтернативы соединение может быть полупостоянным с помощью гнезда, в которое защелкивается iButton, но из которого он легко извлекается.

Каждая микросхема 1-Wire имеет уникальный идентификационный код. Эта особенность делает микросхемы, особенно iButton, подходящими электронными ключами. Некоторые виды использования включают в себя замки, охранную сигнализацию, компьютерные системы, одобренные производителем аксессуары и часы. iButtons использовались в качестве смарт-билетов Akbil для общественного транспорта в Стамбуле .

Источники питания

Блоки питания, дисплеи и ноутбуки Mac с разъемом Apple MagSafe и MagSafe 2 используют протокол 1-Wire для отправки и получения данных с подключенного ноутбука Mac через средний контакт разъема. Данные включают модель источника питания, мощность и серийный номер; и команды ноутбука для передачи полной мощности и включения красных или зеленых светодиодов в разъеме.

Подлинные блоки питания Dell для портативных компьютеров используют протокол 1-Wire для передачи данных по третьему проводу на портативный компьютер о номинальной мощности, токе и напряжении. Ноутбук откажется от зарядки, если адаптер не соответствует требованиям.

Протокол связи

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

Сеть 1-Wire представляет собой одиночный провод с открытым стоком и одним подтягивающим резистором . Подтягивающий резистор протягивает провод до 3 или 5 вольт. Главное устройство и все подчиненные устройства имеют одно соединение с открытым стоком для управления проводом и способ определения состояния провода. Несмотря на название «1-Wire», все устройства также должны иметь второй провод, соединение с землей, чтобы позволить обратному току течь через провод данных. Связь происходит, когда ведущее или ведомое устройство ненадолго переводит шину в низкий уровень, т. Е. Подключает подтягивающий резистор к земле через свой выходной МОП-транзистор. Провод данных находится под высоким напряжением в режиме ожидания, поэтому он также может питать ограниченное количество ведомых устройств. Может быть достигнута скорость передачи данных 16,3 кбит / с. Также есть режим овердрайва, который ускоряет связь в 10 раз.

Короткая шина 1-Wire может управляться одним цифровым выводом ввода / вывода микроконтроллера. Универсальный асинхронный приемопередатчик (УАПП) , также могут быть использованы. Доступны специальные микросхемы драйверов и мостов 1-Wire . Также доступны «мостовые» микросхемы универсальной последовательной шины . Мостовые микросхемы особенно полезны для прокладки кабелей длиной более 100 м. Изготовителем протестированы витые пары длиной до 300 метров , то есть телефонные кабели. Эти экстремальные длины требуют регулировки сопротивления подтягивания от 5 до 1 кОм .

Мастер начинает передачу импульсом сброса , который подтягивает провод к 0 вольт в течение не менее 480  мкс . Это сбрасывает все ведомые устройства на шине. После этого любое подчиненное устройство, если оно присутствует, показывает, что оно существует, с помощью импульса «присутствия»: оно удерживает на шине низкий уровень в течение не менее 60 мкс после того, как мастер освобождает шину.

Чтобы отправить двоичное число «1», мастер шины отправляет очень короткий ( 1–15 мкс ) импульс низкого уровня. Чтобы отправить двоичное число «0», мастер отправляет низкий импульс 60 мкс. Спадающий (отрицательный) фронт импульса используется для запуска моностабильного мультивибратора в ведомом устройстве. Мультивибратор в ведомом устройстве считывает строку данных примерно через 30 мкс после спада. Внутренний таймер ведомого устройства представляет собой недорогой аналоговый таймер. Он имеет аналоговые допуски, которые влияют на его точность синхронизации. Следовательно, импульсы рассчитываются с учетом допустимых пределов. Следовательно, импульсы «0» должны быть длительностью 60 мкс, а импульсы «1» не могут быть длиннее 15 мкс.

При получении данных мастер посылает импульс 0 В длительностью 1–15 мкс для запуска каждого бита. Если передающее ведомое устройство хочет отправить «1», оно ничего не делает, и шина переходит на повышенное напряжение. Если передающее ведомое устройство хочет отправить «0», оно подтягивает линию данных к земле на 60 мкс .

Основная последовательность - это импульс сброса, за которым следует 8-битная команда, а затем данные отправляются или принимаются группами по 8 бит.

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

Многие устройства могут использовать одну и ту же шину. Каждое устройство на шине имеет 64-битный серийный номер, 8 битов которого используются в качестве контрольной суммы, что позволяет создать «совокупность» из 2 56 (более 7,2 × 10 16 ) уникальных идентификаторов устройств. Младший байт серийного номера представляет собой 8-битовое число , которое указывает тип устройства. Старший байт является стандартным (для шины 1-Wire) 8-битовый ЦИК.

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

Протокол перечисления шины 1-Wire, как и другие протоколы сингуляции , представляет собой алгоритм, который мастер использует для чтения адреса каждого устройства на шине. Поскольку адрес включает в себя тип устройства и CRC, восстановление списка адресов также обеспечивает надежную инвентаризацию устройств на шине. Чтобы найти устройства, мастер передает команду перечисления , а затем адрес, «прослушивая» каждый бит адреса. Если адрес ведомого устройства совпадает со всеми переданными адресными битами, он возвращает 0. Ведущее устройство использует это простое поведение для систематического поиска действительных последовательностей адресных битов. Этот процесс намного быстрее, чем перебор всех возможных 56-битных чисел, потому что, как только обнаруживается недопустимый бит, все последующие биты адреса становятся недействительными. 56-битное адресное пространство просматривается как двоичное дерево, что позволяет обнаруживать до 75 устройств в секунду. Порядок, в котором адреса устройств обнаруживаются этим протоколом перечисления, детерминирован и зависит только от типа и серийного номера устройства. Инверсия этих 56 бит дает порядок обнаружения для устройств, использующих опубликованный алгоритм Maxim (алгоритм, определенный в примечаниях к применению 187). Алгоритм поиска может быть реализован в альтернативной форме, первоначально поиск путей с адресными битами, равными 1, а не 0. В этом случае инвертирование 56 адресных битов, а затем их реверсирование дает порядок обнаружения.

Иногда важно расположение устройств на шине. Для этих ситуаций микроконтроллер может использовать несколько контактов, или у производителя есть устройство 1-Wire, которое может отключать шину или передавать ее. Таким образом, программное обеспечение может исследовать последовательные домены шины .

Пример связи с устройством

Следующие сигналы генерировались ПЛИС , которая была ведущей для связи с микросхемой DS2432 ( EEPROM ), и измерялись логическим анализатором. Высокий логический уровень на выходе 1-Wire означает, что выход FPGA находится в трехфазном режиме, и устройство 1-Wire может подтянуть шину к низкому уровню. Низкий уровень означает, что ПЛИС отключает шину. Вход 1-Wire - это измеренный сигнал шины. При высоком времени выборки входа ПЛИС делает выборку входного сигнала для обнаружения ответа устройства и приема битов.

1-Wire-Protocol.png

Инструменты разработки

При разработке и / или поиске и устранении неисправностей шины 1-Wire изучение сигналов оборудования может быть очень важным. Логические анализаторы и анализаторы шины - это инструменты, которые собирают, анализируют, декодируют и хранят сигналы, чтобы упростить просмотр высокоскоростных сигналов.

Смотрите также

Рекомендации

Внешние ссылки