Множество протоколов последовательной связи доступны для передачи данных между электронными устройствами, будь то считывание данных микроконтроллером с датчика или отправка данных на устройство хранения. Это одна из серии статей, которая охватит некоторые из более популярных протоколов, широко используемых в настоящее время. Мы завершим серию сравнением преимуществ и недостатков каждого из них.
Моя цель - чтобы эта серия стала полезным справочником в следующий раз, когда вы окажетесь перед выбором реализации шины последовательной связи, чтобы вы могли выбрать наилучший вариант для вашего конкретного приложения.
В этой статье мы рассмотрим популярный протокол 1-Wire.
1-Wire - это низкоскоростная шина связи, разработанная компанией Dallas Semiconductor Corp. (теперь Maxim Integrated), которая использует одну линию передачи данных, исключая землю. Это система связи типа "мастер-ведомый", где мастер или хост-устройство подключено по единственной линии данных к одному или нескольким ведомым устройствам. Каждое ведомое устройство 1-Wire имеет уникальный заводской 64-битный идентификационный номер (ID), который является адресом этого устройства.
Устройства 1-Wire обычно производятся только компанией Maxim Integrated и доступны в различных типах корпусов, таких как типичный транзистор TO-92, а также различные интегральные схемы. Очень популярным устройством для общения по 1-Wire является iButton (также известный как Dallas Key). iButton - это маленькое модульное устройство, используемое для таких приложений, как регистраторы данных, датчики температуры и влажности, светодиоды, устройства памяти, адаптеры и т.д. Хотя iButton исторически был очень популярной реализацией 1-Wire, сегодня от Maxim Integrated доступно множество датчиков, реализующих протокол 1-Wire.
В принципе, iButton - это микросхема, очень похожая на те, что используются в смарт-картах. Разница заключается в том, что микросхема помещена в круглую кнопку из нержавеющей стали и предназначена для использования в суровых и требовательных условиях. Они полагаются на физические контакты для соединения с шиной 1-Wire.
Типичные диапазоны напряжений 1-Wire, в которых работает устройство, включают:
Одной из наиболее интересных особенностей шины 1-Wire является возможность подачи питания по линии связи, вместо необходимости внешнего источника питания. Это позволяет подключать внешние датчики, такие как датчики температуры, используя только данные и заземление, при этом датчик питается за счет паразитного питания от шины данных. Это может значительно упростить конструкцию и сократить количество проводов по сравнению с другими протоколами последовательной связи, которые мы рассматривали в этой серии.
Типичное подключение устройства шины 1-Wire можно увидеть на следующей схеме:
В приведенном выше примере одно ведущее устройство управляет несколькими ведомыми устройствами.
Большинство устройств 1-Wire требуют крайне низкого энергопотребления и не нуждаются в выводах питания. Эти устройства извлекают энергию, необходимую для работы, из линии данных 1-Wire, что известно как паразитное питание.
Типичная конфигурация паразитного питания устройства 1-Wire может быть представлена на следующей схеме:
Существуют различные устройства 1-Wire, которые могут использоваться в приложениях, включая измерение температуры, идентификацию, регистрацию времени, EEPROM или EPROM (одноразово программируемые), безопасную аутентификацию и т.д., что позволяет создавать устройства с разнообразными приложениями от идентификации, аутентификации расходных материалов, аксессуаров для ПК и печатных плат, защиты интеллектуальной собственности, контроля доступа к системам контроля обхода, электронных денег, учета времени и посещаемости, мониторинга температуры пищевых продуктов или безопасности фармацевтических препаратов.
Значение подтягивающего резистора для соединения 1-Wire должно быть достаточно низким, чтобы обеспечить достаточный ток для питания устройства, но не настолько низким, чтобы ведомые устройства не могли успешно опустить линию данных до логического уровня 0.
Типичные значения подтягивающих резисторов для соединения 1-Wire находятся в диапазоне от 1 кОм до 4.7 кОм. Это устанавливает ток от источника питания 5 В между 5 мА и 1.06 мА. К примеру, устройство DS2480B требует значение тока между 1.5 мА и 5 мА для работы, типично 3 мА.
На шине 1-Wire всегда присутствует один главный устройство, которым может быть персональный компьютер или микроконтроллер. Главное устройство всегда инициирует активность на шине, чтобы избежать любых коллизий передачи. Главное устройство отвечает за обнаружение и управление любыми коллизиями от одновременной передачи несколькими ведомыми устройствами.
Устройства передают данные, используя короткие и длинные низкие импульсы для представления данных. Низкий импульс длительностью 1–15 мкс соответствует логическому уровню 1, в то время как низкий импульс длительностью 60 мкс соответствует логическому уровню 0. Падающий (отрицательный) край импульса используется ведомыми устройствами для прослушивания ширины импульса. Они измеряют его продолжительность, используя очень простой моностабильный мультивибратор. Главное устройство инициирует коммуникацию, отправляя импульс сброса, за которым следует 8-битная команда, а затем данные передаются или принимаются группами по 8 бит. Обнаружение ошибок реализовано с использованием простой 8-битной циклической избыточной проверки (CRC).
В этой статье были рассмотрены некоторые особенности популярного протокола 1-Wire и обсуждены некоторые его преимущества и детали реализации. В других статьях этой серии мы рассмотрим некоторые другие доступные последовательные коммуникационные протоколы.
Хотели бы вы узнать больше о том, как Altium Designer® может помочь вам с вашим следующим проектом печатной платы? Поговорите с экспертом в Altium.