Рекомендации по построению надёжных протяжённых сетей 1-Wire

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

Введение

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

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

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

Рассматриваемые сети

Статья посвящена сетям 1-Wire на основе медной витой пары категории 5e с напряжением питания шины 5 В, подаваемым ведущим устройством. Большинство ведомых устройств 1-Wire способно работать и при меньшем напряжении, однако в больших сетях потери зачастую слишком велики для надёжной работы при пониженном напряжении питания.

Требования к программированию ведомых устройств с памятью EPROM здесь не рассматриваются. Как правило, программировать EPROM на сколько-нибудь значительном расстоянии от интерфейса ведущего устройства не рекомендуется. Также не рассматривается работа устройств 1-Wire в ускоренном режиме Overdrive. Этот режим предназначен только для очень коротких соединений и не подходит для рассматриваемых сетей 1-Wire.

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

Радиус и вес сети

Две характеристики, критически важные для работы сети 1-Wire, описываются терминами радиус и вес.

  • Радиус сети (radius) — расстояние по кабелю от ведущего до наиболее удалённого ведомого устройства. Измеряется в метрах.
  • Вес сети (weight) — суммарная длина всего подключённого к сети кабеля. Также измеряется в метрах.

Например, сеть с топологией «звезда» и тремя ветвями длиной 10, 20 и 30 м имеет радиус 30 м — расстояние от ведущего устройства 1-Wire до самого удалённого ведомого — и вес 60 м, то есть суммарную длину кабеля: 10 м + 20 м + 30 м.

В общем случае вес сети определяет ограничения по времени нарастания сигнала в кабеле, а радиус — время прихода наиболее запаздывающих отражений.

Вклад ведомых устройств в вес сети

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

Ведомые устройства — iButton® и другие устройства 1-Wire — вносят в сеть дополнительный эквивалентный вес. Вклад каждого устройства подобен вкладу небольшого отрезка кабеля, поэтому его можно выражать эквивалентной длиной кабеля. Этот вклад необходимо учитывать при проектировании. Устройство в корпусе iButton обычно добавляет больший вес, чем компонент, предназначенный для пайки на плату. Для iButton добавочный вес составляет примерно 1 м, для прочих ведомых устройств — около 0,5 м.

Рассмотрим, что это означает на практике. Подключение 100 устройств iButton увеличивает общий вес сети на 100 м. Следовательно, чтобы сеть продолжала работать в пределах допустимого веса, общую длину кабеля необходимо уменьшить на 100 м.

Проводники печатной платы, разъёмы и устройства защиты от электростатических разрядов (ESD) также увеличивают вес сети.

Хотя на вес влияет множество факторов, наибольший вклад вносит ёмкость. Например, для неэкранированной витой пары (UTP) категории 5e при скоростях обмена 1-Wire связь между ёмкостью и весом соответствует примерно 52 пФ/м. Для цепей ESD-защиты и проводников печатной платы в оригинале приведён ориентировочный коэффициент около 24 пФ/м. Далее указано, что проводник платы или устройство с ёмкостью 24 пФ между линией 1-Wire и общим проводом добавляет около 0,5 м веса.

Примечание переводчика. В этом месте исходного текста есть численная несогласованность: при коэффициенте 24 пФ/м ёмкость 24 пФ соответствовала бы 1 м, а не 0,5 м. Значение 0,5 м приблизительно согласуется с приведённым выше коэффициентом 52 пФ/м. Числа оригинала сохранены; коэффициент 24 пФ/м не следует считать подтверждённым этим примером.

Топологии сетей 1-Wire

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

Линейная топология

Шина 1-Wire представляет собой одну пару проводов, которая начинается у ведущего устройства и доходит до наиболее удалённого ведомого. Остальные ведомые подключаются к шине короткими ответвлениями длиной менее 3 м, влиянием которых можно пренебречь.

Линейная топология сети 1-Wire.
Рисунок 1. Линейная топология сети 1-Wire.
1-Wire MASTER — ведущее устройство 1-Wire.

Магистраль с ответвлениями

Шина 1-Wire представляет собой одну основную линию от ведущего до наиболее удалённого ведомого устройства. Другие ведомые подключаются к магистрали через ответвления длиной 3 м и более.

Магистраль 1-Wire с ответвлениями.
Рисунок 2. Магистраль 1-Wire с ответвлениями.
1-Wire MASTER — ведущее устройство 1-Wire; STUBS — ответвления. На рисунке указано «> 3 м»; в основном тексте оригинала граница этой категории задана как «3 м и более».

Топология «звезда»

У ведущего устройства или рядом с ним шина 1-Wire разделяется на несколько ветвей разной длины. Ведомые устройства располагаются вдоль ветвей или на их концах.

Топология «звезда».
Рисунок 3. Топология «звезда».
1-Wire MASTER — ведущее устройство 1-Wire.

При сочетании разных топологий определить фактические ограничения сети становится значительно сложнее. В таких случаях разработчику, как правило, следует руководствоваться наиболее строгими критериями.

Особенности топологии «звезда»

Испытания показали, что труднее всего обеспечить надёжность некоммутируемой «звезды», то есть сети с несколькими ветвями, расходящимися от ведущего устройства. В точке соединения ветвей возникает сильное рассогласование импедансов. Отражения от конца одной ветви могут проходить расстояния, близкие к весу всей сети, а не к её радиусу, и вызывать ошибки передачи данных. Поэтому некоммутируемая топология «звезда» не рекомендуется, а её работоспособность не гарантируется.

Коммутируемые сети

Чтобы увеличивать сложность сети без увеличения её электрически активных веса и радиуса, сеть разделяют на участки, подключаемые электронными ключами по одному. Аналоговые ключи с малым сопротивлением во включённом состоянии и однополярным питанием позволяют получить сеть, физически соответствующую одной топологии, а электрически — другой. Так, «звезда» с ключом в каждой ветви электрически эквивалентна линейной сети, если в каждый момент времени подключена только одна ветвь.

«Звезда» с поочерёдным подключением ветвей.
Рисунок 4. «Звезда» с поочерёдным подключением ветвей.
1-Wire MASTER — ведущее устройство 1-Wire. Три участка по 50 м образуют ветвь длиной 150 м.

Показанная сеть внешне представляет собой «звезду» с радиусом 150 м и весом 450 м. Но если рассматривать каждый коммутируемый путь отдельно, получается линейная сеть с весом всего 150 м.

Как правило, рекомендации для некоммутируемых сетей применимы к каждому отдельному сегменту коммутируемой сети.

Ограничения сетей 1-Wire

Максимальные радиус и вес сети определяются несколькими факторами. На некоторые из них можно влиять, на другие — нет.

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

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

Радиус сети ограничивают время прихода отражений, задержка распространения сигнала по кабелю, сопротивление кабеля и ухудшение логических уровней. Типичная скорость распространения сигнала в телефонном кабеле составляет примерно 2/3 скорости света. Например, в кабеле длиной 750 м задержка прохождения сигнала туда и обратно равна 7,5 мкс.

Если ведущий в начале временного слота чтения удерживает линию в низком состоянии в течение 7,5 мкс, окончание этого импульса после полного прохода по линии и обратно совпадает с моментом, когда быстрое ведомое устройство, расположенное вблизи ведущего, уже может прекратить удерживать линию в низком состоянии. Таким образом, задержка двойного прохождения по столь длинному кабелю делает обмен ведущего с этим близко расположенным ведомым невозможным.

Вес сети ограничен возможностью достаточно быстро заряжать и разряжать ёмкость кабеля в соответствии с требованиями протокола 1-Wire. При простой резистивной подтяжке предельный вес составляет около 200 м. Более совершенные ведущие интерфейсы преодолевают это ограничение с помощью активной подтяжки, которая под управлением логики обеспечивает больший ток. Это позволяет увеличить максимально допустимый вес до значений свыше 500 м. См. документ AN244 «Усовершенствованный драйвер сети 1-Wire» (Advanced 1-Wire Network Driver).

Проблемы паразитного питания

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

Наихудший случай для паразитного питания — передача ведущим длинной последовательности нулевых битов. Линия большую часть времени находится в низком состоянии, и возможностей для подзаряда ведомых почти не остаётся. Проблемы не возникает, если за время восстановления между битами напряжение на шине успевает подняться до достаточного уровня и само время восстановления достаточно велико.

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

Если энергии в сети недостаточно для питания ведомых устройств, сбои будут возникать нерегулярно и зависеть от передаваемых данных.

Распределённое согласование импеданса

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

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

Резисторы в местах подключения ответвлений к магистрали.
Рисунок 5. Резисторы в местах подключения ответвлений к магистрали.
1-Wire MASTER — ведущее устройство 1-Wire; STUBS — ответвления. Показаны резисторы 150 Ом.

Наиболее удачный вариант реализации этого подхода — установка резисторов 150 Ом в каждой точке подключения ответвления к магистрали. Такое сопротивление уменьшает рассогласование в точке подключения примерно на 20%, а отражения от ответвления ослабляет примерно на 40%. Однако дополнительное сопротивление одновременно снижает запас помехоустойчивости примерно на 80%, поэтому этот метод следует применять осторожно. Испытания также показали хорошие результаты с резисторами 100 Ом, которые снижают помехоустойчивость в меньшей степени.

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

Интерфейсы ведущего устройства

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

Простые интерфейсы, предназначенные для коротких проводов и близко расположенных контактных считывателей iButton, плохо работают в крупных сетях со сложной разводкой. В свою очередь, сложные драйверы для очень длинных линий могут неудовлетворительно работать с короткими сетями и сетями средней протяжённости.

В оригинале перечислены следующие наиболее распространённые аппаратные интерфейсы ведущего устройства:

  1. Подключение через вывод порта микропроцессора.
  2. Микроконтроллер со встроенным ведущим контроллером 1-Wire.
  3. Синтезируемый ведущий контроллер шины 1-Wire (DS1WM).
  4. Преобразователи протокола последовательного интерфейса в 1-Wire: DS2480B, DS2482-100, DS2484.

Для длинных линий требуются доработки. В приложении A показан вариант подключения через порт микропроцессора: драйвер на полевом транзисторе с ограничением скорости изменения напряжения и резистором подтяжки 1 кОм. Такой интерфейс способен надёжно работать с сетью радиусом до 200 м и весом до 200 м.

DS2480B предназначен для эффективной работы с короткими линиями и линиями средней длины. Простая RC-цепь между DS2480B и сетью значительно улучшает качество и надёжность работы сетей средней протяжённости; см. приложение B. С таким фильтром ведущий интерфейс способен надёжно обслуживать сеть с радиусом или весом до 200 м. Кроме того, DS2480B позволяет изменять временные параметры, что также помогает повысить надёжность и качество работы сети 1-Wire.

Некоторые программы, например пакет 1-Wire Drivers for Windows®, устанавливают оптимальные значения этих параметров, но не всё программное обеспечение выполняет такую настройку. См. приложение C и документ AN4104 «Временные параметры 1-Wire в DS2480B: принципы работы и настройка» (Understanding and Configuring the 1-Wire Timing of the DS2480B).

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

Такой интерфейс одинаково хорошо работает с большими и малыми сетями 1-Wire и обеспечивает надёжную работу сетей с большими значениями веса и радиуса — до 500 м.

Что обеспечивает надёжность сети 1-Wire?

Сбой сети 1-Wire часто проявляется как необъяснимое «исчезновение» устройства при выполнении алгоритма поиска. Подробнее об этом алгоритме см. документ AN187 «Алгоритм поиска устройств 1-Wire» (1-Wire Search Algorithm). Физически подключённые устройства то появляются в результатах поиска, то пропадают. Иногда кажущееся незначительным изменение сети или устройств радикально меняет результаты поиска. Почему это происходит?

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

Если хотя бы одно из многочисленных ведомых устройств пропустит фронт сигнала или неправильно распознает импульс, оно потеряет синхронизацию с алгоритмом поиска и вызовет ошибки в последующих битах. Таким образом, поиск завершается с ошибкой, если из-за проблем шины возникает выброс на нарастающем фронте, сигнал не достигает допустимого низкого уровня либо какому-либо устройству во время поиска не хватает питания.

Большинство алгоритмов при ошибке прекращает текущий поиск и начинает его заново. В результате ещё не обнаруженные ведомые устройства как будто исчезают из сети. Хотя первоначальный сбой затронул только один бит одного устройства, последствия могут затронуть любое число ведомых.

Алгоритмы поиска обычно учитывают возможность пропуска устройств из-за помех. В сетях с контактно подключаемыми iButton появление нового устройства может вызвать кратковременное замыкание линии на общий провод в виде импульса присутствия. В зависимости от момента появления такой импульс может помешать поиску. Чтобы справляться с подобными ситуациями, алгоритм исключает устройство из списка обнаруженных только после того, как его отсутствие сохраняется в течение определённого интервала, аналогичного времени подавления дребезга.

Причины ошибок поиска весьма разнообразны. Наиболее распространены:

  • Недостаток паразитного питания в сетях с большим радиусом и весом.
  • Отражения на фронтах сигналов в сетях небольшого веса с малым или средним радиусом.
  • Ложное включение активной подтяжки интерфейсов на основе DS2480B из-за звона на спадающих фронтах.

Ошибки поиска нередко кажутся чрезвычайно чувствительными к небольшим изменениям сети, состава подключённых устройств или даже, как говорят отчаявшиеся разработчики, к «фазе Луны». Такая чувствительность объясняется тем, что сеть работает на границе допустимых условий: очень небольшое изменение может превратить успешный поиск в неудачный или наоборот. Иными словами, сеть, которая выглядит исправной, поскольку алгоритм уверенно находит все устройства, на самом деле может быть близка к отказу.

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

Сеть, в которой поиск выполняется устойчиво и надёжно, как правило, способна так же надёжно выполнять и любые другие операции 1-Wire.

Ошибки временных параметров 1-Wire

При программном формировании сигналов 1-Wire — так называемом bit-banging — легко допустить ошибки, которые проявятся не сразу.

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

Устройство, считывающее состояние шины через 30 мкс после начала слота, может успешно пройти лабораторные испытания и даже пойти в серию. В результате ошибочные временные параметры окажутся в уже поставленных изделиях. Позднее, при смене партии компонентов или условий работы сети, соответствующий временной параметр ведомых может измениться с 32 до 29 мкс, и ведущий интерфейс перестанет работать правильно.

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

Выводы

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

Приложение A. Усовершенствованный интерфейс шины для микропроцессора

Интерфейс микроконтроллера с ограничением скорости изменения напряжения.
Рисунок 6. Интерфейс микроконтроллера с ограничением скорости изменения напряжения.
MICROCONTROLLER — микроконтроллер; SLEW-RATE CONTROL — управление скоростью изменения напряжения; 1-Wire NETWORK — сеть 1-Wire; 2N7000 OR EQUIVALENT — 2N7000 или аналог. На схеме: напряжение подтяжки V_PUP = 5 В, резисторы 1 кОм и 3,3 кОм, конденсатор 220 пФ.

Приложение B. RC-фильтр для интерфейсов DS2480B в коротких сетях и сетях средней протяжённости

RC-фильтр между DS2480B и сетью 1-Wire.
Рисунок 7. RC-фильтр между DS2480B и сетью 1-Wire.
1-Wire NETWORK — сеть 1-Wire; VALUE SEE TEXT — номинал см. в тексте. На схеме показан последовательный резистор 62 Ом; конденсатор подключён к общему проводу со стороны DS2480B.

Этот простой RC-фильтр улучшает работу DS2480B с линиями средней длины при весе сети до 200 м. Его следует применять в сетях длиной от 10 до 100 м с ведущим интерфейсом на основе DS2480B. С учётом веса остальных компонентов сети обычно рекомендуется конденсатор ёмкостью 470 пФ. Конденсатор большей ёмкости может существенно увеличить нагрузку на DS2480B.

Приложение C. Оптимизация временных параметров DS2480B

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

Временные параметры и скорость изменения напряжения в DS2480B можно настраивать программно. Пакет 1-Wire Drivers for Windows при работе с этим интерфейсом обычно выполняет такую настройку. Разработчикам программного обеспечения следует учитывать, что для надёжной работы интерфейс DS2480B нужно переводить в режим flex mode и соответствующим образом настраивать временные параметры. Подробности настройки этого режима приведены в техническом описании DS2480B.

В DS2480B доступны следующие настройки.

Скорость снижения напряжения при формировании низкого уровня (Pulldown Slew-Rate Control)

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

Длительность низкого уровня при записи единицы (Write-One Low Time)

Это длительность импульса низкого уровня в начале временного слота. Если импульс слишком короткий, напряжение на стороне ведущего устройства в длинной линии может не успеть достичь допустимого низкого уровня до окончания импульса.

Смещение момента выборки / время восстановления (Data Sample Offset/Recovery Time)

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

По результатам испытаний длинных и коротких линий в оригинале рекомендованы следующие оптимальные настройки для всех сетей:

Рекомендованные в исходной статье настройки DS2480B
Параметр Значение
Скорость снижения напряжения (Pulldown Slew Rate) 1,37 В/мкс
Длительность низкого уровня при записи единицы (Write-One Low Time) 11 мкс
Смещение момента выборки / время восстановления (Data Sample Offset/Recovery) 10 мкс

Эти настройки обеспечивают максимально поздний момент выборки — 21 мкс* — и максимальное время восстановления 10 мкс при контролируемой скорости изменения напряжения. Согласно AN4104, можно также рассмотреть немного более быстрый вариант: длительность низкого уровня при записи единицы 8 мкс и смещение момента выборки / время восстановления 9 мкс. Эти значения подходят для ведомых устройств 1-Wire с временным диапазоном от 15 до 54 мкс.

* Указанные временные параметры применимы только к сетям с напряжением подтяжки от 4,5 до 5,5 В.

Приложение D. Примеры осциллограмм

Следующие осциллограммы показывают сигналы сети 1-Wire в различных условиях. Подробные объяснения сигналов и наблюдаемых эффектов приведены в основном тексте и дополнительных материалах.

Сброс и обнаружение присутствия: влияние скорости спада

Спадающие фронты с ограничением скорости и без него.
Рисунок 8. Спадающие фронты с ограничением скорости и без него.
SLEW-RATE CONTROLLED FALLING EDGE (MASTER) — спадающий фронт с ограниченной скоростью (ведущий); FALLING EDGE WITHOUT SLEW-RATE CONTROL (SLAVE) — спадающий фронт без ограничения скорости (ведомый); RINGING AND UNDERSHOOT — звон и отрицательный выброс.

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

Импульс сброса и импульсы присутствия

Сброс шины и обнаружение присутствия устройств.
Рисунок 9. Сброс шины и обнаружение присутствия устройств.
BUS RESET — сброс шины; PRESENCE PULSE(s) — импульс или импульсы присутствия.

Эта осциллограмма также показывает последовательность сброса и обнаружения присутствия. Ведущий удерживает шину в низком состоянии 480 мкс; все устройства распознают это как сброс. В ответ ведомые выдают импульсы присутствия. Импульсы нескольких устройств возникают в одном временном интервале и перекрываются, образуя один общий импульс. Масштаб времени — 200 мкс/дел.

Чтение или запись единицы

Временной слот чтения или записи единицы.
Рисунок 10. Временной слот чтения или записи единицы.
TIME SLOT — временной слот.

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

Запись нуля

Временной слот записи нуля.
Рисунок 11. Временной слот записи нуля.
TIME SLOT — временной слот; RECOVERY TIME — время восстановления; MASTER DRIVES BUS LOW — ведущий удерживает шину в низком состоянии.

Показан временной слот записи нуля. Ведущий удерживает шину в низком состоянии 60 мкс, затем освобождает её примерно на 10 мкс до начала следующего слота.

Чтение нуля

Временной слот чтения нуля.
Рисунок 12. Временной слот чтения нуля.
MASTER DRIVES BUS LOW — ведущий переводит шину в низкое состояние; MASTER RELEASES — ведущий освобождает шину; SLAVE RELEASES — ведомый освобождает шину.

Показан временной слот чтения нуля. Ведущий удерживает шину в низком состоянии около 10 мкс, затем освобождает её. Однако ведомое передаёт нулевой бит и продолжает удерживать шину в низком состоянии дольше. Временная база ведомого устройства может изменяться в пределах от 15 до 60 мкс.

Чрезмерный вес сети при резистивной подтяжке

Отражения и медленное нарастание сигнала при чрезмерном весе сети.
Рисунок 13. Отражения и медленное нарастание сигнала при чрезмерном весе сети.
REFLECTED ENERGY — отражённая энергия; SLOW RISE TIME — медленное нарастание; BORDERLINE DATA LEVEL AT SAMPLE TIME — пограничный уровень сигнала в момент выборки.

Показано влияние чрезмерного веса сети при использовании ведущего только с резистивной подтяжкой. В этом примере радиус сети составляет 300 м, а на её дальнем конце расположено 30 устройств. Хорошо видны отражения от конца сети и очень медленное нарастание напряжения. Хотя это слот чтения единицы, уровень сигнала в момент выборки находится на границе допустимого и может быть неправильно распознан ведущим.

Недостаточное восстановление паразитного питания

Снижение внутреннего напряжения питания ведомого устройства.
Рисунок 14. Снижение внутреннего напряжения питания ведомого устройства.
ILLUSTRATION OF A SLAVE’S INTERNAL OPERATING VOLTAGE — иллюстрация внутреннего рабочего напряжения ведомого устройства.

При медленном нарастании напряжения времени восстановления — интервала между слотами — может не хватить, чтобы напряжение шины достигло уровня, достаточного для подзаряда ведомых устройств. На этой осциллограмме внутреннее напряжение питания ведомого снизилось до опасно низкого значения. Недостаток питания может вызвать сброс ведомых, особенно при длинных последовательностях слотов записи нуля.

Активная подтяжка при чтении или записи единицы

Активная подтяжка при чтении или записи единицы.
Рисунок 15. Активная подтяжка при чтении или записи единицы.
ACTIVE PULLUP TURNS ON, DECREASES RISE TIME — включение активной подтяжки сокращает время нарастания; SAMPLE TIME — момент выборки.

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

Активная подтяжка при чтении нуля

Активная подтяжка при чтении нуля.
Рисунок 16. Активная подтяжка при чтении нуля.
ACTIVE PULLUP TURNS ON, DECREASES RISE TIME — включение активной подтяжки сокращает время нарастания; SAMPLE TIME — момент выборки.

Здесь показана работа той же активной подтяжки во временном слоте чтения нуля.

Активная подтяжка при сбросе шины

Перекрытие импульсов присутствия близких и удалённых устройств.
Рисунок 17. Перекрытие импульсов присутствия близких и удалённых устройств.
BUS-RESET PULSE — импульс сброса шины; NEAR-END SLAVE PRESENCE PULSE — импульс присутствия близкого ведомого; FAR-END SLAVES — удалённые ведомые устройства.

Во время сброса активная подтяжка помогает зарядить ёмкость сети после импульса сброса, а затем ещё раз — после завершения импульса или импульсов присутствия. На осциллограмме видно перекрытие импульсов присутствия от близких и удалённых ведомых устройств. Из-за дополнительного сопротивления кабеля между ведущим и удалённым ведомым напряжение низкого уровня при ответе дальнего устройства выше, чем при ответе близкого.

Ложное включение активной подтяжки

Конфликт активной подтяжки с ведомым устройством при чтении нуля.
Рисунок 18. Конфликт активной подтяжки с ведомым устройством при чтении нуля.
COLLISION BETWEEN SLAVE PULLING DOWN AND MASTER PULLING UP — конфликт ведомого, удерживающего низкий уровень, и ведущего, подтягивающего линию к высокому уровню.

Осциллограмма показывает нарушение формы сигнала при ложном включении активной подтяжки из-за отражений в кабеле, вызванных ответвлениями и ветвями. Это слот чтения нуля, но отражение включило активную подтяжку, и она вступила в конфликт с ведомым устройством, удерживающим линию в низком состоянии.

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

Дополнительные материалы

  • AN187 — «Алгоритм поиска устройств 1-Wire» (1-Wire Search Algorithm).
  • AN244 — «Усовершенствованный драйвер сети 1-Wire» (Advanced 1-Wire Network Driver).
  • AN3829 — «Определение времени восстановления в сетях 1-Wire с несколькими ведомыми устройствами» (Determining the Recovery Time for Multiple-Slave 1-Wire Networks).
  • AN3925 — «Стандарт протяжённых сетей 1-Wire» (1-Wire Extended Network Standard).
  • AN4104 — «Временные параметры 1-Wire в DS2480B: принципы работы и настройка» (Understanding and Configuring the 1-Wire Timing of the DS2480B).

Компоненты, перечисленные в исходном документе

Связанные компоненты
Компонент Описание
DS18B20-PAR Цифровой термометр 1-Wire с паразитным питанием.
DS1921G Устройство Thermochron iButton.
DS1922L Регистратор температуры iButton с памятью журнала 8 Кбайт.
DS1923 Регистратор температуры и влажности iButton Hygrochron с памятью журнала 8 Кбайт.
DS1925 Регистратор температуры iButton повышенной ёмкости с памятью журнала 122 Кбайт.
DS1972 iButton с EEPROM ёмкостью 1024 бит.
DS1973 iButton с EEPROM ёмкостью 4 Кбит.
DS1977 iButton с EEPROM ёмкостью 32 Кбайт.
DS1990A iButton с серийным номером.
DS2401 Кремниевый идентификатор с серийным номером.
DS2411 Кремниевый идентификатор с серийным номером и входом VCC.
DS2413 Двухканальный адресуемый ключ 1-Wire.
DS2431 EEPROM 1-Wire ёмкостью 1024 бит.
DS2480B Линейный драйвер 1-Wire с последовательным интерфейсом.
DS2484 Одноканальный ведущий контроллер 1-Wire с регулируемыми временными параметрами и спящим режимом.
DS24B33 EEPROM 1-Wire ёмкостью 4 Кбит.
DS28E04-100 Адресуемая EEPROM 1-Wire ёмкостью 4096 бит с программируемым вводом-выводом (PIO).
DS28E07 EEPROM 1-Wire ёмкостью 1024 бит.
DS28EA00 Цифровой термометр 1-Wire с определением последовательности расположения устройств и PIO.
DS28EC20 EEPROM 1-Wire ёмкостью 20 Кбит.
MAX31820PAR Датчик температуры окружающей среды 1-Wire с паразитным питанием.

Меню