�������@Mail.ru
Главная страница Техподдержка Основные принципы работы iButton фирмы Dallas Semiconductor. Часть 3
Поиск по сайту

Вход/Регистрация
Магазин

Список всех товаров


Расширенный поиск
Расширенный поиск по характеристикам
Показать корзину
Ваша корзина пуста.
Пользователи online
Сейчас 67 гостей онлайн
Баннер

Основные принципы работы iButton фирмы Dallas Semiconductor. Часть 3

Интерфейс 1-Wire, временные диаграмм.

iButton являются устройствами, требующими для функционирования электрического контакта. ВременнАя логика обеспечивает методы измерения и генерирования цифровых импульсов различной длительности. Передача данных является асинхронной по отношению к битам (не используется внешний синхросигнал для их генерации) и полудуплексной (в определённый момент времени может идти передача только в одном направлении). Данные, передаваемые в iButton, могут интерпретироваться ими как команды (в соответствии с предопределённым форматом, зависящим от family code), которые сравниваются с информацией, заранее сохранённой в iButton для принятия решения (о предназначении команды), либо просто сохраняться внутри iButton для дальнейшего использования. Поскольку именно спад сигнала на линии данных является наименее чувствительным к ёмкостной нагрузке (для генерации спада используется транзистор с открытым стоком), iButton использует этот спад для синхронизации своих внутренних временнЫх узлов. Устройства iButton считаются подчинёнными устройствами (slave), а считывающее либо записывающее их устройство - главным устройством (master).

Тайм-слоты записи.

ВременнЫе соотношения в iButton задаются соотносительно тайм-слота (специально сформированной порции цифрового сигнала). Для определения максимальной границы всех типов погрешностей формирования временнЫх диаграмм, iButton делает выборку значения данных на линии посередине тайм-слота. По определению активная часть 1-Wire тайм-слота (tSLOT) составляет 60 мкс. В нормальном состоянии iButton будет делать выборку сигнала с линии после 30 мкс относительно спада сигнала.
Внутренняя величина базового времени iButton может отличаться от стандартной, следовательно, может меняться время выборки сигнала. Допустимый диапазон изменения составляет от 15 до 60 мкс. Это означает, что реальное чтение линии slave-устройством может произойти в любом месте относительно старта тайм-слота между 15 и 60 мкс, т. е. может изменяться в соотношении 1 к 4. Во время этого окна времени напряжение на линии должно оставаться либо ниже VILMAX (максимально допустимое входное напряжение для лог. 0), либо больше VIHMIN (минимально допустимое входное напряжение для лог. 1). Основная форма тайм-слотов записи 1 и записи 0 показана на рисунках 1 и 2 соответственно. Эти тайм-слоты необходимы для записи команд и данных в iButton.

Рис. 1: Тайм-слот записи 1.


Рис. 2: Тайм-слот записи 0.

Длительность импульса низкого уровня для записи 1 (tLOW1) должна быть короче 15 мкс; для записи 0 длительность импульса низкого уровня должна быть не менее 60 мкс для удовлетворения условиям самого худшего случая допуска.

Длительность активной части тайм-слота можно увеличить и сделать намного больше 60 мкс. Максимальное увеличение ограничено фактом, что импульс низкого уровня как минимум в 8 тайм-слотов (480 мкс) определён как Reset Pulse (импульс сброса). Если принять во внимание наихудший допуск, то импульс низкого уровня в 120 мкс уже может быть воспринят как reset. Это ограничивает увеличение активной части тайм-слота до максимума в 120 мкс для предотвращения ошибочной интерпретации импульса низкого уровня как reset.

По окончании активной части каждого тайм-слота iButton нуждается во времени восстановления tREC (с минимальной величиной в 1 мкс) для подготовки следующего бита. Это время восстановления можно рассматривать как неактивную часть тайм-слота, оно должно быть добавлено к длительности активной части тайм-слота для получения времени, затрачиваемого на передачу бита. Широкий допуск на тайм-слот и некритичное время восстановления позволяют медленным микропроцессорам легко выполнять временнЫе требования для соединения 1-Wire.

Тайм-слоты чтения.

Команды  и данные посылаются в iButton путём комбинирования тайм-слотов, записывающих 0 и 1. Для чтения данных master генерирует тайм-слоты чтения для определения момента начала каждого бита. С точки зрения master, тайм-слоты чтения выглядят так же, как и тайм-слоты записи 1. Начиная с момента изменения уровня сигнала с высокого на низкий, iButton посылает один бит своего адресованного содержимого. Если передаваемый устройством iButton бит равен 1, то iButton оставляет импульс (линию данных) без изменения. Если бит равен 0, iButton будет притягивать линию данных на низкий уровень (открывая канал своего выходного транзистора) в течение времени tRDV, или 15 мкс (см. рис. 3). В течение этого окна времени данные доступны для чтения устройством master.

Рис. 3: Тайм-слот чтения данных.

Длительность tLOWR определяет время импульса низкого уровня, посылаемого устройством master. Оно должно быть как минимум 1 мкс, но в тоже время как можно меньше, чтобы увеличить окно выборки сигнала для master. В целях компенсации ёмкости линии интерфейса 1-Wire, master должен делать выборку сигнала как можно точнее через 15 мкс после начала синхронизирующего среза сигнала. Следующий за интервалом tRDV интервал tRELEASE является дополнительным, в течение которого iButton отпускает линию 1-Wire и сигнал возвращается к значению VPULLUP.

Длительность tRELEASE может меняться в пределах от 0 до 45 мкс. Номинальная величина 15 мкс.

Детектирование presense.

Как упомянуто выше, интерфейс 1-Wire использует импульс reset. Этот импульс определён как импульс низкого уровня с минимальной длительностью 8 тайм-слотов или 480 мкс, за которым следует время reset с высоким уровнем на линии tRTSH и длительностью тоже 480 мкс (см. рис. 4). Это время нужно для того, чтобы iButton мог выдать импульс presence.

Рис 4: Импульсы reset и presence.

* Чтобы не маскировать сигналы прерываний от других устройств на шине 1-Wire, время tRSTL+tR должно быть всегда меньше 960 мкс.

Во время tRSTH на линии 1-Wire не разрешены никакие другие соединения. Импульс reset предназначен для обеспечения чистого старта, который прерывает любую синхронизацию других тайм-слотов. В окружении с неуверенным контактом необходимо снова запустить старт, если контакт прерывался. Если master послал импульс reset, iButton будет ожидать время tPDH, а затем сгенерирует импульс presence длительностью tPDL. Это позволяет устройству master легко определить, присутствует или нет iButton на линии. Кроме того, если несколько iButton соединены параллельно (см. Книгу Стандартов, часть 5, "Логические стандарты и характеристики"), master может измерить оба времени (tPDH и tPDL) и таким способом получить информацию о реальных временных допусках для всех устройств на линии.

Нормальные величины 30 мкс для tPDH и 120 мкс для tPDL. Измеренное время tPDH показывает внутреннее базовое время для самого быстрого устройства на шине. Сумма измеренного времени tPDH и tPDL в 5 раз больше внутреннего базового времени самого медленного устройства на шине. Если на линии присутствует только одно устройство, обе величины tPDH и tPDL будут пропорциональны и будут изменяться в одну и ту же сторону. Это соотношение может быть использовано для построения адаптивной системы. Специальные вычисления этой системы должны быть приложены для корректировки временнЫх характеристик каждый раз после reset, поскольку индивидуальные временнЫе характеристики устройств iButton могут меняться в зависимости от температуры и нагрузки.

Точность измерений времени, требуемая для адаптивной подстройки временнЫх диаграмм, ограничена характеристиками входной логики master, постоянной времени линии 1-Wire (сопротивление нагрузочного резистора помножить на ёмкость кабеля) и прикладываемой частотой выборок состояния линии 1-Wire. Если видимое время нарастания или спада сигнала превышает 1 мкс, или если возможная наивысшая частота выборок не превышает 1 МГц, то адаптивную подстройку применить не получится.

Если iButton отключен от считывающего устройства, то он притягивает свою линию данных на низкий уровень через внутренний источник тока 5 мкА. Это симулирует импульс reset неограниченной длины. Как только iButton определит высокий уровень на своей линии данных, он сгенерирует импульс presence. Эта особенность может быть использована для автоматического включения устройства master с целью сохранения энергии между чтениями или записями. Это также удобно использовать для включения аппаратного прерывания последовательного порта, когда используется PC и адаптер COM-порта.

Устройства iButton специально разработаны для работы в условиях плохих электрических соединений. Однако требуется некоторое минимальное время контакта, требуемое для пересылки команд и пакета данных. Оно зависит от вида выполняемой операции. Для DS1990A, используемого в качестве электронного ключа, это время может не превышать 5 мс.

Повышенная скорость.

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

Фактически повышенная скорость реализуется изменением внутренней временнОй базы iButton в 10 раз. Это относится ко всем коммуникационным формам сигнала, включая импульсы reset и presence, но не включая длительность программирующих импульсов для устройств EEPROM (детали см. на рис. 3-1…3-4). Все iButton, которые могут работать с повышенной скоростью, будут работать со скоростью нормальной, если их специально не переключить на повышенную скорость. Устройства, реализующие повышенную скорость, можно идентифицировать по их family code, или с помощью специальных команд, которые не распознаются "не высокоскоростными" устройствами. Более подробно о протоколе, вводе iButton в состояние ожидания и о повышенной скорости обмена можно прочитать в Книге Стандартов iButton фирмы Dallas Semiconductor, часть 5.

Комментарии (0)
Только зарегистрированные пользователи могут оставлять комментарии!
 
Баннер

Рейтинг@Mail.ru Rambler's Top100 top100.sec.ru