Последовательные интерфейсы фактически стали основными в современных приборных и бортовых сетях. Один из наиболее широко используемых интерфейсов такого рода – 1-Wire, представленный в 1990-х годах компаний Dallas Semiconductor (ныне – Maxim/Dallas). Этот интерфейс использует каждый, кто с ключом-таблеткой подходит к двери подъезда. Несмотря на солидный возраст, 1-Wire не утратил актуальности и сегодня благодаря своей универсальности, простоте и удобству использования.
Как устроен 1-Wire
Интерфейс 1-Wire был предложен фирмой Dallas Semiconductor в конце 90-х годов прошлого века. Системы 1-Wire привлекательны благодаря легкости монтажа, низкой стоимости устройств, возможности распознавать устройство при подключении к функционирующей сети, большому числу устройств в сети и т.д.
Типичная система 1-Wire состоит из управляющего контроллера (мастера или ведущего) и одного или нескольких устройств (ведомых), присоединенных к общей шине (рис.1) [1]. Устройства подключаются к шине по схеме с открытым стоком и подтягивающим резистором (см. рис.1). Уровень сигналов в шине – от 3 до 5 В. В пассивном состоянии в линии поддерживается высокий уровень напряжения. Все сигналы формируются с помощью замыкания сигнальной шины на землю (низкий уровень напряжения).
Главная особенность шины 1-Wire в том, что она использует лишь два провода, один – сигнальный, другой – для заземления устройств. По сигнальному проводу возможно и электропритание устройств 1-Wire – так называемое паразитное питание. Источником питания служит заряжаемый от сигнальной линии конденсатор, входящий в состав ведомых устройств цепи (см. рис.1).
Большинство устройств 1-Wire поддерживают две скорости передачи данных: стандартную – около 15 кбит/с и повышенную (overdrive) – около 111 кбит/с. Понятно, что чем выше скорость, тем больше ограничений на длину шины и число подключаемых к ней устройств.
Режим передачи данных по шине 1-Wire – полудуплексный: мастер и ведомые устройства передают данные по очереди [1-3]. Каждая транзакция через интерфейс 1-Wire начинается с того, что мастер передает импульс Reset. Для этого он переводит напряжение в шине на низкий уровень и удерживает его в этом состоянии в течение 480 мкс (рис.2). Затем мастер отпускает шину, и подтягивающий резистор возвращает напряжение к высокому логическому уровню. Все ведомые устройства, обнаружив сигнал Reset и дождавшись его окончания, передают свой сигнал – Presence. Он представляет собой сигнал низкого уровня длительностью 100–200 мс. Устройство может генерировать сигнал Presence и без импульса Reset – например, таким способом оно сообщает о себе при подключении к шине.
После передачи импульса Presence устройство 1-Wire готово к приему команд. Весь информационный обмен в шине происходит под управлением мастера. Для передачи каждого бита выделяется специальный временной промежуток (тайм-слот) длительностью порядка 80 мкс. В начале каждого тайм-слота мастер переводит линию на нулевой уровень. Если далее мастер хочет передать 0, он удерживает напряжение на низком уровне как минимум 60 мкс (рис.3а). При передаче единицы мастер удерживает нулевое напряжение 5–6 мкс, а затем отпускает линию и выжидает примерно 60 мкс до начала формирования следующего тайм-слота.
Если мастер ожидает данные от ведомых устройств, он также обозначает начало тайм-слота, обнуляя линию на 5–6 мкс, после чего перестает удерживать низкое напряжение и в течение короткого времени слушает линию (рис.3б). Если устройство хочет передать ноль, оно само обнуляет линию сразу после регистрации импульса начала тайм-слота. Если устройству нужно передать единицу, оно никаких действий не производит. Отметим, что приведенные значения временных интервалов соответствуют стандартной скорости передачи данных через интерфейс 1-Wire. В режиме overdrive эти интервалы соответственно уменьшаются.
Весь обмен на шине 1-Wire происходит посредством специальных команд. Их число для каждого типа устройств различно. Но есть и минимальный набор стандартных команд, которые поддерживают все 1-Wire-устройства – так называемые ROM-команды.
Формат команд прост – идентификатор команды (1 байт), за которым могут следовать данные (идентификатор устройства, полезные данные и т.п.). Все устройства в сети знают длину каждой команды.
У каждого устройства 1-Wire есть 64-разрядный идентификатор (ID). Он состоит из 8-разрядного кода семейства, который идентифицирует тип устройства и поддерживаемые им функции, 48-разрядного серийного номера и 8-битного поля кода циклического избыточного контроля (CRC-8). ID вводится при изготовлении устройства и хранится в ПЗУ. Фирма Maxim гарантирует, что один раз использованный адрес никогда не повторится в другом устройстве. В самом деле, 48 бит – это 2,81•1014 различных чисел. Если производить 1000 миллиардов (1012) различных устройств ежегодно, то все серийные номера можно использовать не ранее чем через 281 год – и это только для одного семейства.
Весь обмен командами инициирует мастер. Начало нового цикла транзакций он отмечает командой Reset, и, получив подтверждение, выбирает устройство специальной командой MATCH ROM, передавая ее идентификатор (5516) и 64 бита ID адресуемого устройства. Получив такую команду, ведомое устройство с данным ID ожидает новых команд от мастера, а все остальные остаются в пассивном состоянии до следующей команды Reset. В системе с одним устройством можно не передавать ID, используя команду SKIP ROM. В результате ведомое устройство считает себя выбранным без получения адреса.
После того, как мастер выбрал устройство для взаимодействия, можно начинать процесс управления этим устройством и обмена данными с ним. Для этого используются команды, которые специфичны для каждого типа устройств.
Но чтобы начать работу с определенным устройством, мастер должен знать его ID. Если в системе только одно ведомое устройство, его адрес можно определить с помощью команды READ ROM. В ответ на команду READ ROM устройство передает свой 64-битный адрес (рис.4) [3].
Если же в системе несколько устройств с неизвестными ID, попытка использовать команду READ ROM приводит к коллизии. В этом случае для определения адресов используется специальный алгоритм поиска, в основе которого лежит команда SEARCH ROM [4]. Мастер передает команду SEARCH ROM. В ответ все устройства, подключенные к шине, высылают младший бит своего адреса. Свойства шины 1-Wire таковы, что при одновременной передаче сигналов всеми устройствами результат будет равен логическому И значений всех посланных битов. Следовательно, суммарный отклик равен 1, только когда сигналы от всех устройств равны 1. После приема первого бита адреса мастер инициирует следующий тайм-слот, в котором устройство передает инвертированный первый бит. Сопоставляя значения результатов запроса истинного и инверсного битов, можно получить некую информацию о значениях первых битов адресов устройств (см. таблицу).
Таким образом, при комбинациях 0 1 и 1 0 мастер знает значение первого бита адреса, фиксирует его и по той же схеме может переходить к определению следующего. После получения инверсного бита мастер передает определенный бит ведомым устройствам. Если его значение совпадает со значением текущего бита из адреса устройства, то устройство продолжает участвовать в поиске и выдает в ответ следующий бит своего адреса. Если не было "расхождения", то значение выставляемого мастером бита определено. В случае расхождения мастер посылает нулевой бит. Такая последовательность – чтение бита адреса и инверсного бита, передача бита мастером – повторяется для последующих 63 битов адреса. Таким образом, алгоритм поиска последовательно исключает все устройства, пока не остается одно последнее – его адрес и определяется в первом цикле поиска.
После того, как адрес первого устройства определен, поиск продолжается для следующего устройства. Алгоритм запоминает место последнего расхождения и выбирает другую ветвь дерева поиска (мастер посылает в этом месте бит с другим значением). Процесс продолжается до тех пор, пока не будет пройдена ветвь, соответствующая последнему устройству. В итоге поиска становятся известны адреса всех устройств, подсоединенных к шине, и их число [3, 4].
Отметим, что возможность идентификации и быстрого включения в сеть только что подключенного устройства делает 1-Wire эффективным решением для многих приложений. На практике это означает, что прибор достаточно просто подключить к сети, и все дальнейшие транзакции произойдут автоматически. Например, так можно считать данные из памяти датчика, прочитать код электронной метки или электронного ключа, принять массив значений от приборной сети и т.п.
Не менее важно, что сеть 1-Wire относится к самосинхронизирующимся, т.е. не требует отдельной линии для передачи тактовых сигналов. И, конечно, огромное число ID подключаемых устройств выгодно выделяет ее на фоне других последовательных сетей.
Элементная база
Для реализации интерфейса 1-Wire фирма Maxim/Dallas предлагает ряд устройств. В роли мастера интерфейса может выступать как ПК, так и специализированные микроконтроллеры. Соответственно, в ассортименте Maxim/Dallas присутствуют устройства, которые обеспечивают переход к 1-Wire интерфейсу от стандартных интерфейсов компьютера (например, USB и RS232), управляющего работой устройств 1-Wire [5].
Так, микросхема DS2490 служит мостом между интерфейсами USB и 1-Wire [6]. DS2490 используется в системах 1-Wire несколькими способами: входит в состав адаптера USB – 1-Wire, который подсоединяется к USB-порту главного компьютера напрямую кабелем или через USB-хаб (рис.5а); встраивается в главный компьютер (рис.5б) или же в USB-хаб (рис.5в).
Некоторые устройства могут не только соединять 1-Wire с другими интерфейсами, но также брать на себя часть функций мастера шины 1-Wire. Одно из таких устройств – DS2482-100 [7]. Это мост между интерфейсами I2C и 1-Wire. Микросхема DS2482-100 преобразует протоколы между управляющим I2C микроконтроллером (мастером) и ведомыми 1-Wire устройствами (рис.6). По отношению к этим устройствам DS2482-100 выступает в роли мастера. С помощью встроенных таймеров DS2482-100 формирует фронты передаваемых по шине сигналов (см. рис. 2, 3), снимая эту нагрузку с управляющего микроконтроллера. Для того чтобы оптимизировать форму сигналов, DS2482-100 контролирует скорости нарастания и уменьшения напряжения в линии и предоставляет дополнительные программируемые функции, которые помогают согласовать параметры сигналов и особенности ведомых устройств.
Микросхема DS2482-800 аналогична по функциям DS2482-100, но может работать с восемью шинами 1-Wire [8].
В качестве моста между интерфейсами RS232 и 1-Wire можно применять микросхему DS2480B [9].
Устройства 1-Wire соединяются с помощью витой пары различных типов или даже обычным телефонным проводом.
Некоторые применения 1-Wire
Перечень устройств, поддерживающих 1-Wire, и их применений весьма велик [10], поэтому полностью описать его в данной статье невозможно. Приведем лишь несколько примеров наиболее распространенных применений технологий 1-Wire.
Наличие уникальных 64-битных адресов позволяет широко использовать устройства 1-Wire в системах аутентификации. Здесь они часто применяются в устройствах iButton [11]. Это микросхема с введенным на этапе производства 64-битных адресом, заключенная в круглый корпус из нержавеющей стали диаметром 16 мм (MicroCAN). Такие устройства функционируют, например, в домофонных ключах (рис.7).
Микросхемы с поддержкой 1-Wire (например, DS2401, DS2431, DS28E01-100) используются также для идентификации картриджей принтеров, медицинских сенсоров, емкостей с реагентами и др. [12, 13]. Преимущество микросхем 1-Wire в том, что для контроля идентифицируемого устройства нужен всего один контакт. Такие микросхемы заключены в специальный плоский корпус (SFN – Single Flat No lead) размером 6×6 мм, который облегчает их присоединение к устройству.
Еще одно распространенное применение 1-Wire – системы автоматизации. В первую очередь это системы многоточечного измерения температуры различных сред и мониторинга теплового режима помещений. Температуру можно измерять датчиками производства той же Maxim/Dallas. Наиболее популярный из них – цифровой термометр DS18S20 [14]. Он имеет разрешение 9 бит и измеряет температуру в диапазоне от -55 до 125°C. Точность измерений составляет 0,5°C в диапазоне -10…85°C. Поскольку каждый термометр, как и любое устройство 1-Wire, имеет уникальный 64-битный адрес, к одной шине 1-Wire можно подключать множество таких приборов.
Таким образом, благодаря своим выигрышным возможностям – один провод для передачи данных и управления устройствами, подсоединение устройств через один контакт, питание подключенных устройств по проводу передачи данных, наличие у каждого устройства уникального адреса, низкая стоимость элементной базы – интерфейс 1-Wire широко представлен в самых различных изделиях современной электроники.
Литература
1. Add Control, Memory, Security, and Mixed-Signal Functions with a Single Contact. Application note 3989. – pdfserv.maxim-ic.com/en/an/AN3989.pdf
2. Hawkins D. W. Dallas Semiconductor 1-Wire Devices. – www.ovro.caltech.edu/~dwh/correlator/pdf/oneWire.pdf.
3. www.maxim-ic.com/products/ibutton/ibuttons/standard.pdf.
4. 1-Wire Search Algorithm. Application Note 187. – pdfserv.maxim-ic.com/en/an/AN187.pdf.
5. 1-Wire Interface Products. – http://para.maxim-ic.com/cache/en/results/4868.html.
6. DS2490 USB to 1-Wire Bridge Chip. – datasheets.maxim-ic.com/en/ds/DS2490.pdf.
7. DS2482-100 Single-Channel 1-Wire Master. – datasheets.maxim-ic.com/en/ds/DS2482-100-DS2482S-100.pdf.
8. DS2482-800 Eight-Channel 1-Wire Master. – datasheets.maxim-ic.com/en/ds/DS2482-800-DS2482S-800.pdf.
9. DS2480B Serial 1-Wire Line Driver with Load Sensor. – datasheets.maxim-ic.com/en/ds/DS2480B.pdf.
10. 1-Wire Devices. – www.maxim-ic.com/products/1-Wire/.
11. What Is an iButton? – www.maxim-ic.com/products/ibutton/ibuttons/.
12. 1-Wire – Industry"s Most Efficient Solution for Printer Cartridge Authentication and Usage Monitoring. – www.maxim-ic.com/products/1-Wire/consumable_print.cfm.
13. 1-Wire – Most Efficient ID and Authentication Solution for Medical Consumables. – www.maxim-ic.com/products/1-Wire/consumable_medical.cfm.
14. DS18S20 High-Precision 1-Wire Digital Thermometer. – datasheets.maxim-ic.com/en/ds/DS18S20.pdf.
Интерфейс 1-Wire был предложен фирмой Dallas Semiconductor в конце 90-х годов прошлого века. Системы 1-Wire привлекательны благодаря легкости монтажа, низкой стоимости устройств, возможности распознавать устройство при подключении к функционирующей сети, большому числу устройств в сети и т.д.
Типичная система 1-Wire состоит из управляющего контроллера (мастера или ведущего) и одного или нескольких устройств (ведомых), присоединенных к общей шине (рис.1) [1]. Устройства подключаются к шине по схеме с открытым стоком и подтягивающим резистором (см. рис.1). Уровень сигналов в шине – от 3 до 5 В. В пассивном состоянии в линии поддерживается высокий уровень напряжения. Все сигналы формируются с помощью замыкания сигнальной шины на землю (низкий уровень напряжения).
Главная особенность шины 1-Wire в том, что она использует лишь два провода, один – сигнальный, другой – для заземления устройств. По сигнальному проводу возможно и электропритание устройств 1-Wire – так называемое паразитное питание. Источником питания служит заряжаемый от сигнальной линии конденсатор, входящий в состав ведомых устройств цепи (см. рис.1).
Большинство устройств 1-Wire поддерживают две скорости передачи данных: стандартную – около 15 кбит/с и повышенную (overdrive) – около 111 кбит/с. Понятно, что чем выше скорость, тем больше ограничений на длину шины и число подключаемых к ней устройств.
Режим передачи данных по шине 1-Wire – полудуплексный: мастер и ведомые устройства передают данные по очереди [1-3]. Каждая транзакция через интерфейс 1-Wire начинается с того, что мастер передает импульс Reset. Для этого он переводит напряжение в шине на низкий уровень и удерживает его в этом состоянии в течение 480 мкс (рис.2). Затем мастер отпускает шину, и подтягивающий резистор возвращает напряжение к высокому логическому уровню. Все ведомые устройства, обнаружив сигнал Reset и дождавшись его окончания, передают свой сигнал – Presence. Он представляет собой сигнал низкого уровня длительностью 100–200 мс. Устройство может генерировать сигнал Presence и без импульса Reset – например, таким способом оно сообщает о себе при подключении к шине.
После передачи импульса Presence устройство 1-Wire готово к приему команд. Весь информационный обмен в шине происходит под управлением мастера. Для передачи каждого бита выделяется специальный временной промежуток (тайм-слот) длительностью порядка 80 мкс. В начале каждого тайм-слота мастер переводит линию на нулевой уровень. Если далее мастер хочет передать 0, он удерживает напряжение на низком уровне как минимум 60 мкс (рис.3а). При передаче единицы мастер удерживает нулевое напряжение 5–6 мкс, а затем отпускает линию и выжидает примерно 60 мкс до начала формирования следующего тайм-слота.
Если мастер ожидает данные от ведомых устройств, он также обозначает начало тайм-слота, обнуляя линию на 5–6 мкс, после чего перестает удерживать низкое напряжение и в течение короткого времени слушает линию (рис.3б). Если устройство хочет передать ноль, оно само обнуляет линию сразу после регистрации импульса начала тайм-слота. Если устройству нужно передать единицу, оно никаких действий не производит. Отметим, что приведенные значения временных интервалов соответствуют стандартной скорости передачи данных через интерфейс 1-Wire. В режиме overdrive эти интервалы соответственно уменьшаются.
Весь обмен на шине 1-Wire происходит посредством специальных команд. Их число для каждого типа устройств различно. Но есть и минимальный набор стандартных команд, которые поддерживают все 1-Wire-устройства – так называемые ROM-команды.
Формат команд прост – идентификатор команды (1 байт), за которым могут следовать данные (идентификатор устройства, полезные данные и т.п.). Все устройства в сети знают длину каждой команды.
У каждого устройства 1-Wire есть 64-разрядный идентификатор (ID). Он состоит из 8-разрядного кода семейства, который идентифицирует тип устройства и поддерживаемые им функции, 48-разрядного серийного номера и 8-битного поля кода циклического избыточного контроля (CRC-8). ID вводится при изготовлении устройства и хранится в ПЗУ. Фирма Maxim гарантирует, что один раз использованный адрес никогда не повторится в другом устройстве. В самом деле, 48 бит – это 2,81•1014 различных чисел. Если производить 1000 миллиардов (1012) различных устройств ежегодно, то все серийные номера можно использовать не ранее чем через 281 год – и это только для одного семейства.
Весь обмен командами инициирует мастер. Начало нового цикла транзакций он отмечает командой Reset, и, получив подтверждение, выбирает устройство специальной командой MATCH ROM, передавая ее идентификатор (5516) и 64 бита ID адресуемого устройства. Получив такую команду, ведомое устройство с данным ID ожидает новых команд от мастера, а все остальные остаются в пассивном состоянии до следующей команды Reset. В системе с одним устройством можно не передавать ID, используя команду SKIP ROM. В результате ведомое устройство считает себя выбранным без получения адреса.
После того, как мастер выбрал устройство для взаимодействия, можно начинать процесс управления этим устройством и обмена данными с ним. Для этого используются команды, которые специфичны для каждого типа устройств.
Но чтобы начать работу с определенным устройством, мастер должен знать его ID. Если в системе только одно ведомое устройство, его адрес можно определить с помощью команды READ ROM. В ответ на команду READ ROM устройство передает свой 64-битный адрес (рис.4) [3].
Если же в системе несколько устройств с неизвестными ID, попытка использовать команду READ ROM приводит к коллизии. В этом случае для определения адресов используется специальный алгоритм поиска, в основе которого лежит команда SEARCH ROM [4]. Мастер передает команду SEARCH ROM. В ответ все устройства, подключенные к шине, высылают младший бит своего адреса. Свойства шины 1-Wire таковы, что при одновременной передаче сигналов всеми устройствами результат будет равен логическому И значений всех посланных битов. Следовательно, суммарный отклик равен 1, только когда сигналы от всех устройств равны 1. После приема первого бита адреса мастер инициирует следующий тайм-слот, в котором устройство передает инвертированный первый бит. Сопоставляя значения результатов запроса истинного и инверсного битов, можно получить некую информацию о значениях первых битов адресов устройств (см. таблицу).
Таким образом, при комбинациях 0 1 и 1 0 мастер знает значение первого бита адреса, фиксирует его и по той же схеме может переходить к определению следующего. После получения инверсного бита мастер передает определенный бит ведомым устройствам. Если его значение совпадает со значением текущего бита из адреса устройства, то устройство продолжает участвовать в поиске и выдает в ответ следующий бит своего адреса. Если не было "расхождения", то значение выставляемого мастером бита определено. В случае расхождения мастер посылает нулевой бит. Такая последовательность – чтение бита адреса и инверсного бита, передача бита мастером – повторяется для последующих 63 битов адреса. Таким образом, алгоритм поиска последовательно исключает все устройства, пока не остается одно последнее – его адрес и определяется в первом цикле поиска.
После того, как адрес первого устройства определен, поиск продолжается для следующего устройства. Алгоритм запоминает место последнего расхождения и выбирает другую ветвь дерева поиска (мастер посылает в этом месте бит с другим значением). Процесс продолжается до тех пор, пока не будет пройдена ветвь, соответствующая последнему устройству. В итоге поиска становятся известны адреса всех устройств, подсоединенных к шине, и их число [3, 4].
Отметим, что возможность идентификации и быстрого включения в сеть только что подключенного устройства делает 1-Wire эффективным решением для многих приложений. На практике это означает, что прибор достаточно просто подключить к сети, и все дальнейшие транзакции произойдут автоматически. Например, так можно считать данные из памяти датчика, прочитать код электронной метки или электронного ключа, принять массив значений от приборной сети и т.п.
Не менее важно, что сеть 1-Wire относится к самосинхронизирующимся, т.е. не требует отдельной линии для передачи тактовых сигналов. И, конечно, огромное число ID подключаемых устройств выгодно выделяет ее на фоне других последовательных сетей.
Элементная база
Для реализации интерфейса 1-Wire фирма Maxim/Dallas предлагает ряд устройств. В роли мастера интерфейса может выступать как ПК, так и специализированные микроконтроллеры. Соответственно, в ассортименте Maxim/Dallas присутствуют устройства, которые обеспечивают переход к 1-Wire интерфейсу от стандартных интерфейсов компьютера (например, USB и RS232), управляющего работой устройств 1-Wire [5].
Так, микросхема DS2490 служит мостом между интерфейсами USB и 1-Wire [6]. DS2490 используется в системах 1-Wire несколькими способами: входит в состав адаптера USB – 1-Wire, который подсоединяется к USB-порту главного компьютера напрямую кабелем или через USB-хаб (рис.5а); встраивается в главный компьютер (рис.5б) или же в USB-хаб (рис.5в).
Некоторые устройства могут не только соединять 1-Wire с другими интерфейсами, но также брать на себя часть функций мастера шины 1-Wire. Одно из таких устройств – DS2482-100 [7]. Это мост между интерфейсами I2C и 1-Wire. Микросхема DS2482-100 преобразует протоколы между управляющим I2C микроконтроллером (мастером) и ведомыми 1-Wire устройствами (рис.6). По отношению к этим устройствам DS2482-100 выступает в роли мастера. С помощью встроенных таймеров DS2482-100 формирует фронты передаваемых по шине сигналов (см. рис. 2, 3), снимая эту нагрузку с управляющего микроконтроллера. Для того чтобы оптимизировать форму сигналов, DS2482-100 контролирует скорости нарастания и уменьшения напряжения в линии и предоставляет дополнительные программируемые функции, которые помогают согласовать параметры сигналов и особенности ведомых устройств.
Микросхема DS2482-800 аналогична по функциям DS2482-100, но может работать с восемью шинами 1-Wire [8].
В качестве моста между интерфейсами RS232 и 1-Wire можно применять микросхему DS2480B [9].
Устройства 1-Wire соединяются с помощью витой пары различных типов или даже обычным телефонным проводом.
Некоторые применения 1-Wire
Перечень устройств, поддерживающих 1-Wire, и их применений весьма велик [10], поэтому полностью описать его в данной статье невозможно. Приведем лишь несколько примеров наиболее распространенных применений технологий 1-Wire.
Наличие уникальных 64-битных адресов позволяет широко использовать устройства 1-Wire в системах аутентификации. Здесь они часто применяются в устройствах iButton [11]. Это микросхема с введенным на этапе производства 64-битных адресом, заключенная в круглый корпус из нержавеющей стали диаметром 16 мм (MicroCAN). Такие устройства функционируют, например, в домофонных ключах (рис.7).
Микросхемы с поддержкой 1-Wire (например, DS2401, DS2431, DS28E01-100) используются также для идентификации картриджей принтеров, медицинских сенсоров, емкостей с реагентами и др. [12, 13]. Преимущество микросхем 1-Wire в том, что для контроля идентифицируемого устройства нужен всего один контакт. Такие микросхемы заключены в специальный плоский корпус (SFN – Single Flat No lead) размером 6×6 мм, который облегчает их присоединение к устройству.
Еще одно распространенное применение 1-Wire – системы автоматизации. В первую очередь это системы многоточечного измерения температуры различных сред и мониторинга теплового режима помещений. Температуру можно измерять датчиками производства той же Maxim/Dallas. Наиболее популярный из них – цифровой термометр DS18S20 [14]. Он имеет разрешение 9 бит и измеряет температуру в диапазоне от -55 до 125°C. Точность измерений составляет 0,5°C в диапазоне -10…85°C. Поскольку каждый термометр, как и любое устройство 1-Wire, имеет уникальный 64-битный адрес, к одной шине 1-Wire можно подключать множество таких приборов.
Таким образом, благодаря своим выигрышным возможностям – один провод для передачи данных и управления устройствами, подсоединение устройств через один контакт, питание подключенных устройств по проводу передачи данных, наличие у каждого устройства уникального адреса, низкая стоимость элементной базы – интерфейс 1-Wire широко представлен в самых различных изделиях современной электроники.
Литература
1. Add Control, Memory, Security, and Mixed-Signal Functions with a Single Contact. Application note 3989. – pdfserv.maxim-ic.com/en/an/AN3989.pdf
2. Hawkins D. W. Dallas Semiconductor 1-Wire Devices. – www.ovro.caltech.edu/~dwh/correlator/pdf/oneWire.pdf.
3. www.maxim-ic.com/products/ibutton/ibuttons/standard.pdf.
4. 1-Wire Search Algorithm. Application Note 187. – pdfserv.maxim-ic.com/en/an/AN187.pdf.
5. 1-Wire Interface Products. – http://para.maxim-ic.com/cache/en/results/4868.html.
6. DS2490 USB to 1-Wire Bridge Chip. – datasheets.maxim-ic.com/en/ds/DS2490.pdf.
7. DS2482-100 Single-Channel 1-Wire Master. – datasheets.maxim-ic.com/en/ds/DS2482-100-DS2482S-100.pdf.
8. DS2482-800 Eight-Channel 1-Wire Master. – datasheets.maxim-ic.com/en/ds/DS2482-800-DS2482S-800.pdf.
9. DS2480B Serial 1-Wire Line Driver with Load Sensor. – datasheets.maxim-ic.com/en/ds/DS2480B.pdf.
10. 1-Wire Devices. – www.maxim-ic.com/products/1-Wire/.
11. What Is an iButton? – www.maxim-ic.com/products/ibutton/ibuttons/.
12. 1-Wire – Industry"s Most Efficient Solution for Printer Cartridge Authentication and Usage Monitoring. – www.maxim-ic.com/products/1-Wire/consumable_print.cfm.
13. 1-Wire – Most Efficient ID and Authentication Solution for Medical Consumables. – www.maxim-ic.com/products/1-Wire/consumable_medical.cfm.
14. DS18S20 High-Precision 1-Wire Digital Thermometer. – datasheets.maxim-ic.com/en/ds/DS18S20.pdf.
Отзывы читателей