Синхронизация и побитная передача информации

Как и в случае I2С шины, протокол 1 -Wire имеет несколько разных уровней. Самый низкий уровень описывает, каким образом пере­даются отдельные биты. Как уже говорилось выше, 1-Wire протокол предусматривает двухсторонний обмен информации. При этом все операции на шипе производятся исключительно пол управлением Master устройства. Master может выполнять операции двух видов: записывать информацию в Slave устройство или считывать инфор­мацию из него. Информация передастся побайтно, в последова­тельном виде, бит за битом, начиная с младшего бита. В любом из л их двух случаев, для передачи информации Master устройство вырабатывает на шине тактовые импульсы. Для этого оно перио­дически «подсаживает» шину при помощи выходного транзистора своего l-Wire интерфейса (см. рис. 4.12). Полезная информация передается путем изменения длительности этих импульсов. При­чем при записи информации длительностью импульсов управляет исключительно Master устройство.

image

В режиме чтения начинает формирование импульса Master уст­ройство, но Slave устройство может продлевать длительность любого импульса, «подсаживая» в свою очередь сигнал на ли­нии в нужный момент. Па рис. 4.13 изображены две временные диаграммы. Верхняя диаграмма иллюстрирует режим записи двух разных битов информации, а нижняя — режим чтения. Участки диаграммы, где линия «отпущена» и уровень сигнала на линии определяется лишь резистором RH, изображены на диаграмме при помощи тонких линий. Участки, где один из элементов сети «подсаживает» линию, изображены при помощи широких линий. Рассмотрим подробнее два режима работы сети.

Запись бита. В исходном состоянии все Slave устройства, подключен­ные к шине, находятся в режиме ожидания. Линия «отпущена». То есть выходные транзисторы всех элементов шины закрыты, и напря­жение па шине определяется резистором нагрузки (R„ на рис. 4.12). Для того, чтобы записать данные в одно из Slave устройств. Maser начинает формировать отрицательные синхроимпульсы (верхняя диаграмма на рис. 4.13). На каждый передаваемый бит формируется один импульс. Импульсы передаются путем «подсаживания» линии до нуля. Для передачи каждою бита выделяется промежуток времени стандартной длительности. Этот промежуток получил название «слог» (Slot). Если значение передаваемого бича равно 0, то Master выраба­тывает шинный» импульс. Г.го длина равна длительности слота. Для передачи единичного бита Master вырабатывает «короткий» импульс, который, по сути, является чистым синхроимпульсом. Оставшаяся часть слота должна быть заполнена единичным сигналом. Между двумя слотами обязательно должен быть небольшой промежуток, во время которого уровень сигнала на шине тоже равен единице.

clip_image002

Slave устройство в этом режиме только принимает сигнал. Для этого оно постоянно находится н режиме ожидания. Обнаружив начало синхроимпульса. Slave устройство начинает процесс приема бита информации. Передний фронт этою импульса служит Slave устройству началом отсчета. Выдержав паузу, равную длительно­сти синхроимпульса. Slave устройство считывает уровень сигнала на линии. Гели в этот момент времени уровень сигнала на линии равен нулю, значит и передаваемый бит равен нулю. Если же сш нал будет равен единице, то и бит равен единице. Протокол шины 1-Wire жестко определяет только длительность слота. Интервал между слотами имеет ограничение только на минимальное свое значение. Максимальное значение интервала между слотами не- ограиичено. Таким образом, может легко регулироваться скорость передачи данных от своего максимального значения (16.3 Кбиг/с) практически до нуля.

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

Для иллюстрации этого процесса на рис. 4.13 участки временной диаграммы, где линию «подсаживает» Master устройство, изо­бражены черным цветом. Участки, которые «подсаживает» Slave устройство изображены серым цветом. Master-устройство считывает эту информацию. Для этою оно контролирует уровень сигнала внутри слота сразу после синхроимпульса.

Временные параметры. Для надежной работы однопроводного интер­фейса необходимо, чтобы в процессе передачи информации всеми элементами сети строю соблюдались временные параметры. Каждая микросхема, подключенная к сети, самостоятельно вырабатывает все необходимые для ее работы интервалы времени. Для ведущею уст­ройства к сети эти требования более жесткие, чем для ведомых. Это связано с тем. что в качестве ведущего устройства обычно выступает микроконтроллер. Любой микроконтроллер способен с высокой точностью отрабатывать любые временные интервалы, благодаря использованию кварцевого резонатора. Ведомые же микросхемы обычно выполнены в микроминиатюрном корпусе. Временные па­раметры 1-Wirc интерфейса таких микросхем формируются обычно параметрическими методами, без помощи кварца.

На рис. 4.14 приведены временные параметры протокола 1-Wire в различных режимах работы. Как видно из рисунка, величина слота для передачи одного бита информации (Тх) должна лежать в пределах от 60 до 120 мкс. Длительность синхроимпульса равна I мкс. Ведомое устройство, обнаружив на шипе передний фронт синхроимпульса, должно сформировать задержку минимум в 15 мкс, и затем произвести проверку сигнала на шипе. Допустимый раз­брос времени задержки для разных экземпляров микросхем лежит в пределах от 15 до 60 мкс. Этот диапазон показан на рисунке в виде области, обозначенной как «Зона проверки уровня Slave».

Минимальная величина интервала между слотами  равна 1 мкс. Максимальная, как уже говорилось, неограничена.

В режиме записи нулевого бита Master вырабатывает только син­хроимпульсы. длительность которых равна 1 мкс. Гели читаемый бит равен нулю, Slave устройство продлевает длительность син­хроимпульса. Минимальная длительность продленного импульса составляет 15 мкс. Для этого временного интервала тоже допуска­ется довольно значительный разброс. В пределах этого разброса длительность удлиненного импульса можем вырасти еще на 45 мкс. Если читаемый бит равен единице, удлинения синхроимпульса не происходит. Для того, чтобы правильно оценить значение читае­мого байта, Master устройство должно прочитать уровень сигнала на шине сразу после окончания синхроимпульса, по не позднее, чем через 15 мкс. Зона проверки уровня для Master устройства в режиме чтения значительно уже аналогичной зоны для Slave уст­ройства в режиме записи.

clip_image004

Литература:
Ан П., А64 Сопряжение ПК с внешними устройствами: Пер. с англ. - М.: ДМК Пресс, 2001. - 320 c.: ил.

Предлагаю ознакомиться с аналогичными статьями: