Как и в случае I2С шины, протокол 1 -Wire имеет несколько разных уровней. Самый низкий уровень описывает, каким образом передаются отдельные биты. Как уже говорилось выше, 1-Wire протокол предусматривает двухсторонний обмен информации. При этом все операции на шипе производятся исключительно пол управлением Master устройства. Master может выполнять операции двух видов: записывать информацию в Slave устройство или считывать информацию из него. Информация передастся побайтно, в последовательном виде, бит за битом, начиная с младшего бита. В любом из л их двух случаев, для передачи информации Master устройство вырабатывает на шине тактовые импульсы. Для этого оно периодически «подсаживает» шину при помощи выходного транзистора своего l-Wire интерфейса (см. рис. 4.12). Полезная информация передается путем изменения длительности этих импульсов. Причем при записи информации длительностью импульсов управляет исключительно Master устройство.
В режиме чтения начинает формирование импульса Master устройство, но Slave устройство может продлевать длительность любого импульса, «подсаживая» в свою очередь сигнал на линии в нужный момент. Па рис. 4.13 изображены две временные диаграммы. Верхняя диаграмма иллюстрирует режим записи двух разных битов информации, а нижняя — режим чтения. Участки диаграммы, где линия «отпущена» и уровень сигнала на линии определяется лишь резистором RH, изображены на диаграмме при помощи тонких линий. Участки, где один из элементов сети «подсаживает» линию, изображены при помощи широких линий. Рассмотрим подробнее два режима работы сети.
Запись бита. В исходном состоянии все Slave устройства, подключенные к шине, находятся в режиме ожидания. Линия «отпущена». То есть выходные транзисторы всех элементов шины закрыты, и напряжение па шине определяется резистором нагрузки (R„ на рис. 4.12). Для того, чтобы записать данные в одно из Slave устройств. Maser начинает формировать отрицательные синхроимпульсы (верхняя диаграмма на рис. 4.13). На каждый передаваемый бит формируется один импульс. Импульсы передаются путем «подсаживания» линии до нуля. Для передачи каждою бита выделяется промежуток времени стандартной длительности. Этот промежуток получил название «слог» (Slot). Если значение передаваемого бича равно 0, то Master вырабатывает шинный» импульс. Г.го длина равна длительности слота. Для передачи единичного бита Master вырабатывает «короткий» импульс, который, по сути, является чистым синхроимпульсом. Оставшаяся часть слота должна быть заполнена единичным сигналом. Между двумя слотами обязательно должен быть небольшой промежуток, во время которого уровень сигнала на шине тоже равен единице.
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 устройства в режиме записи.
Литература:
Ан П., А64 Сопряжение ПК с внешними устройствами: Пер. с англ. - М.: ДМК Пресс, 2001. - 320 c.: ил.
0 коммент.:
Отправить комментарий