1-Wire это двунаправленная шина связи для устройств с низкой скоростью передачи данных (15,4 Кбит/с, в режиме overdrive 125 Кбит/с), в которой данные передаются по двум проводам, заземление и питание+данные.Иногда используют отдельный провод питания. Разработана корпорацией Dallas Semiconductor, является её зарегистрированной торговой маркой.

Топология такой сети называется общая шина. Сеть устройств 1-Wire со связанным основным устройством названа «MicroLan», тоже является торговой маркой Dallas Semiconductor.

Режим передачи данных по шине 1-Wire – полудуплексный: мастер и ведомые устройства передают данные по очереди.

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

Далее мастер отпускает шину, подтягивающий резистор возвращает напряжение к высокому логическому уровню. Ведомые устройства, обнаружив сигнал Reset по его окончании передают сигнал – Presence. Это сигнал низкого уровня длительностью 100–200 мс. Так же устройство может передавать сигнал Presence и без импульса Reset в слечае его подключения к шине. Интерфейс 1-Wire предусматривает "горячее" подключение - отключение устройства.

Информационный обмен по шине происходит под управлением мастера. После передачи импульса Presence устройство 1-Wire готово к приему команд.

Для обмена информацией по шине 1-Wire применяются специальные команды. Число комманд для каждого типа устройств различно. Но есть так называемые ROM-команды которые поддерживают все 1-Wire устройства.

Устройства в сети знают длину каждой команды. Формат команд такой – идентификатор команды (1байт), за которым следуют данные. Каждое устройство 1-Wire имеет уникальный 64-разрядный идентификатор (ID). ID состоит из 8-разрядного кода семейства, который идентифицирует тип устройства и поддерживаемые им функции, 48-разрядного серийного номера и 8-битного поля кода CRC-8.

<>Передачу команд инициирует мастер. Он отмечает командой Reset начало нового цикла транзакций и получив подтверждение, выбирает устройство специальной командой MATCH ROM, передавая ее идентификатор и 64 бита ID адресуемого устройства.

Ведомое устройство с данным ID получив такую команд ожидает новых команд от мастера, а все остальные остаются в пассивном состоянии до следующей команды Reset. Если в системе одно устройство то можно не передавать ID используя команду SKIP ROM. В данном случае ведомое устройство считает себя выбранным без получения адреса.

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

Перед началом работы с устройством, мастер должен получить его ID. В случае применения в системе только одного ведомого устройства, можно использовать команду READ ROM в ответ на которую устройство передает свой 64-битный адрес.

Для обмена информацией используются тайм-слоты: один тайм-слот соответствует одному биту информации. В начале каждого таймслота мастер переводит линию в нулевой уровень. Если мастер хочет передать 0, он должен удерживает напряжение на низком уровне 60 мкс. При передачеединицы мастер удерживает нулевое напряжение 5–6 мкс, а затем отпускает линию и выжидает примерно 60 мкс до начала формирования следующего тайм-слота. Передача данных начинается с младшего бита и далее происходит уже в виде байтов.Осуществляется вычисление циклической контрольной суммы которая служит для гарантированного обеспечения целостности передаваемых данных.

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

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

1-Wire магистрали.

Протяжённые 1-Wire магистрали имеют структуру, состоящую из трёх проводников:
1. DATA шина данных

2. RET (GND) возвратная шина или провод "земля".

3. EXT_POWER внешнее питание обслуживаемых ведомых абонентов и внешних относительно них цепей датчиков и органов управления.

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

При длине магистрали не более 5 метров и при количестве абонентов не более 10 штук можно использовать любой тип кабеля, мастер в данном случае может быть любой с пассивной подтяжкой по питанию.(резистор на питание) До 100 метров и до 100 абонентов рекомендуется использовать витую пару не ниже 3 категории, топология строгая общая шина и мастером должно выступать устройство с активной подтяжкой или требуется использовать специальные схемные решения. До 300 метров и до 200 абонентов, необходимо использовать витую пару не ниже категории 5, топология общая шина без разрыва ствола, мастер как вариант - программная модификация временных слотов 1‑Wire протокола.

Компаниия Maxim Integrated предоставляет свободно распространяемый тестовый программный пакета разработчика OneWireViewer. Возможности программного пакета OneWireViewer, позволяют идентифицировать любой 1-Wire компонент подключённый к 1-Wire магистрали, ведомой компьютером через адаптер, и проверить в полном правильность его функционирования в составе конфигурируемой 1-Wire сети.

Наибольшее применение устройства 1-wire нашли в виде круглых контактных площадок-«таблеток», называемых iButton, многим они знакомы в виде ключей от домофонов. Другой пример использования – это различные датчики, например, датчики температуры из серии DS18B20, DS18S20, DS18S22 и им подобные. Использование всего двух проводов делает достаточно удобным подключение серии датчиков, вместе с тем, в отличие от аналоговых датчиков, показания не зависят от длины провода.