1-Wire - 1-Wire

редактировать
Шина связи устройства IButton в пластиковом брелоке, который используется для Стамбула смарт-билета Akbil Java Ring со встроенным iButton

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

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

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

Содержание

  • 1 Пример использования
    • 1.1 Источники питания
  • 2 Протокол связи
  • 3 Пример связи с устройством
  • 4 Инструменты разработки
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

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

Устройства 1-Wire доступны в разных пакетах: интегральная схема, TO-92 и переносная форма, называемая iButton. 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, подходящими электронными ключами. Некоторые применения включают в себя замки, охранную сигнализацию, компьютерные системы, одобренные производителем аксессуары и часы. iButton использовались в качестве смарт-билетов Akbil для общественного транспорта в Стамбуле.

Данные о температуре iButton могут быть считаны на Android смартфоне через a USB On-The-Go электрическое соединение.

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

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

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

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

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

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

Короткая шина 1-Wire может управляться с одного цифрового вывода ввода / вывода на микроконтроллере. Также можно использовать универсальный асинхронный приемопередатчик (UART). Доступны специальные микросхемы драйвера 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 (более 7,2 × 10) уникальных идентификаторов устройств. Младший байт серийного номера - это 8-битное число, указывающее тип устройства. Старший значащий байт является стандартным (для шины 1-Wire) 8-битным CRC.

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

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

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

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

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

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

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

См. Также

Ссылки

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

Последняя правка сделана 2021-07-15 03:35:58
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте