double arrow

Формат команды 1-Wire протокола

Рис. Упрощенная диаграмма процесса записи и чтения одного бита

Схема соединения ведущего и ведомого устройства в 1-Wire интерфейсе

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

В ведомом устройстве имеется цепь паразитного питания. Она образована накопительным конденсатором Снак, токоограничивающим резистором Rогр и выпрямительным диодом. Каждая микросхема, рассчитанная на работу с 1-Wire интерфейсом, имеет два режима питания. Первый режим – обычный. В этом режиме питание подается на специальный вывод микросхемы. Такой вывод имеется у всех микросхем, кроме ИС серии iButton. Независимо от наличия вывода питания любая микросхема может питаться непосредственно от информационной шины. Этот способ называется "паразитным питанием". В процессе работы на шине всегда присутствует импульсный сигнал. В те моменты, когда напряжение на шине равно единице, выпрямительный диод открывается и накопительный конденсатор заряжается через токоограничивающий резистор. Емкость конденсатора 600…800 пФ. Заряда конденсатора хватает для обеспечения питания КМОП микросхемы в промежутках между импульсами. Однако некоторые операции невозможно выполнить при сверхмалом потреблении энергии. В этом случае 1-Wire протокол предусматривает третий режим питания. Такой режим питания используется только совместно с режимом паразитного питания. Основная идея – подавать полноценное питание на ту же самую шину, по которой передается информация в те моменты времени, когда ведомая микросхема выполняет особо энергоемкие операции. При этом, пока на шине присутствует полноценное питание, передача информации невозможна.

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

Верхняя диаграмма иллюстрирует режим записи двух разных битов информации (0 и 1), нижняя – режим чтения. Участки диаграммы, где линия "отпущена" и уровень сигнала на линии определяется лишь резистором RH, изображены на диаграмме при помощи тонких линий. Участки, где один из элементов сети "подсаживает" линию, изображены при помощи широких линий.

Запись бита. В исходном состоянии все Slave устройства, подключенные к шине, находятся в режиме ожидания. Линия отпущена. То есть выходные транзисторы всех элементов шины закрыты, и напряжение на шине определяется резистором нагрузки. Для того, чтобы записать данные в одно из Slave устройств, Master начинает формировать отрицательные синхроимпульсы (верхняя диаграмма). На каждый передаваемый бит формируется один импульс. Импульсы передаются путем "подсаживания" линии до нуля. Для передачи каждого бита выделяется промежуток времени стандартной длительности. Этот промежуток получил название "слот" (Slot). Если значение передаваемого бита равно 0, то Master вырабатывает "длинный" импульс. Его длина равна длительности слота. Для передачи единичного бита Master вырабатывает "короткий" импульс, который, по сути, является чистым синхроимпульсом. Оставшаяся часть слота должна быть заполнена единичным сигналом. Между двумя слотами обязательно должен быть небольшой промежуток, во время которого уровень сигнала на шине тоже равен единице. Slave устройство в этом режиме только принимает сигнал. Для этого оно постоянно находится в режиме ожидания. Обнаружив начало синхроимпульса, Slave устройство начинает процесс приема бита информации. Передний фронт этого импульса служит Slave устройству началом отсчета. Выдержав паузу, равную длительности синхроимпульса, Slave устройство считывает уровень сигнала на линии. Если в этот момент времени уровень сигнала на линии равен нулю, значит и передаваемый бит равен нулю. Протокол шины 1-Wire жестко определяет только длительность слота. Интервал между слотами имеет ограничение только на минимальное свое значение. Максимальное значение интервала между слотами неограничено. Таким образом, скорость передачи данных может легко регулироваться от своего максимального значения практически до нуля.

Чтение бита. Процесс чтения бита (нижняя диаграмма) похож на процесс записи. Отличие в том, что при чтении Master вырабатывает только синхроимпульсы (короткой длительности). Обнаружив синхроимпульс, Slave устройство должно удлинить или не удлинять этот синхроимпульс в пределах слота. Если очередной считываемый бит равен нулю, то синхроимпульс удлиняется. Если единице, удлинения не происходит. Участки временной диаграммы, где линию "подсаживает" Master устройство, изображены черным цветом. Участки, которые "подсаживает" Slave изображены серым цветом. Master-устройство при считывании контролирует уровень сигнала внутри слота сразу после синхроимпульса.

Для надежной работы однопроводного интерфейса необходимо, чтобы всеми элементами сети строго соблюдались временные параметры. Величина слота для передачи одного бита информации (Тх) должна лежать в пределах от 60 до 120 мкс. Длительность синхроимпульса равна 1 мкс. Ведомое устройство, обнаружив на шине передний фронт синхроимпульса, должно сформировать задержку минимум в 15 мкс, и затем произвести проверку сигнала на шине. Допустимый разброс времени задержки для разных экземпляров микросхем лежит в пределах 15…60 мкс. Минимальная величина интервала между слотами (TREC) равна 1 мкс. Максимальная – неограниченна.

В качестве примера рассмотрим команду "Чтение памяти". Для адресации микросхемы в приведенном примере использована команда "Совпадение ПЗУ". Выполнение команды начинается с импульса сброса. Далее, все ведомые устройства вырабатывают сигнал присутствия на линии.

Выдержав паузу, ведущее устройство выдает на линию команду "Совпадение ПЗУ». Команда состоит из восьми бит кода операции и 64-битного ID кода. Получив эту сетевую команду, все ведомые микросхемы переходят на транспортный уровень. Но только одна из них останется активной. Остальные перейдут в пассивный режим ожидания. Далее ведущее устройство передает на шину команду "Чтение памяти" (8 бит). Получив эту команду, выбранная ведомая микросхема переходит в режим выдачи данных. Ведущее устройство читает эти данные. Объем считываемых данных зависит от типа применяемой микросхемы. Чаще всего он равен 8 байтам (64 бит) и обязательно содержит контрольную сумму в последних восьми битах.

2.1.3 Интерфейс CAN [4]

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

Т.к. отправленный кадр передается к каждому узлу системы, то каждый узел получает каждое переданное сообщение и определяет посредством аппаратного или программного фильтра, является ли сообщение предназначенным для него. Идентификатор сообщений (11- или 29-бит) также определяет приоритет сообщения. Этим обеспечиваются эффективные средства для передачи высокоприоритетных сообщений с очень малым временем ожидания, даже при высокой загруженности шины. Система может различать: с 11-битным идентификатором до 2048 различных сообщений, с 29-битным идентификатором - до 512 миллионов сообщений.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: