Pull to refresh

Введение в 1-Wire

Reading time2 min
Views36K
image

Первая статья этого цикла тут
Вторая часть этого цикла тут
Третья часть этого цикла тут

Многим из вас, наверняка, знакомо это устройство. Но не все знают, что это микросхема с интерфейсом 1-wire. В таких корпусах (да и не только таких) компания Maxim, ранее Dallas Semiconductor, выпускает целый ряд устройств: термохроны, микросхемы флеш-памяти, ацп, ключи и многое другое.
Всё это – микросхемы с интерфейсом 1-wire.



Коротко


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

По иронии судьбы большое распространение в россии получили самые простые устройства ds1990a, которые используются как ключи от домофонов, дверей, иногда сигнализаций. Это самая простая микросхема-метка, которая содержит только уникальный 64-битный адрес и умеет отвечать всего на пару команд (собственно отзываться на этот адрес). В таком же корпусе, имеющем название iButton существуют и более сложные микросхемы, например термохрон – это микросхема которая умеет мерить и запоминать окружающую температуру через заданный интервал времени, потом эти данные можно считать; есть микросхемы флеш-памяти, которые часто используются для хранения ключей; со всем разнообразием кому интересно может ознакомиться на официальном сайте.

Как это работает?


Пока шина свободна, она подтягивается к положительному уровню питания и удерживается в нем. В этот момент все устройства на шине заряжают внутренний конденсатор и получают энергию. Как только мастер хочет обратиться к какому-либо устройству, он опускает шину в ноль на заданный промежуток времени и возвращает её назад, затем ждет ответа – если на шине присутствует хотя бы один ведомый, он обязан ответить кратковременным опусканием же шины в ноль. Далее примерно таким же образом ведущий передаёт адрес, к кому конкретно он хочет обратится, команду и получает какие-либо данные.
image

Более-менее общие сведения о 1-Wire можно прочитать в википедии, а если вас заинтересовала специфика и подробности протоколов то можно почитать, например, тут.

Про 1-wire написано достаточно много, но в основном о том как применять и общаться с ними на уровне микроконтроллеров, встраивать в устройства, или просто читать данные с помощью PC, как правило одно-два устройства и на небольших расстояниях. Я не хочу повторяться, а планирую рассказать о том, как мы в современных реалиях на предприятии строили большую сеть, которая на текущий момент охватывает три здания, имеет более 300 1-wire устройств, 3 сервера для сбора и обработки данных и работает 24 часа в сутки 7 дней в неделю, розетки 1-wire установлены в помещениях на ряду с телефонными и ethernet практически в каждой комнате и коридорах.

Так что, если это вам интересно – будем продолжать.

Ссылки по теме


Официальный сайт
Arduino и iButton
Общий обзор протокола
Ещё одна очень популярная статейка

продолжение здесь: тыц
Tags:
Hubs:
Total votes 56: ↑54 and ↓2+52
Comments34

Articles