Однопроводной интерфейс
Отличительной особенностью Touch Memory является разработанный фирмой "Dallas Semiconductor" протокол обмена со считывающим устройством.
Для приема-передачи информации используется одна двунаправленная сигнальная линия (второй провод - земляной контакт).
Обмен по одной линии осуществляется в режиме полудуплекса (или прием, или передача). Взаимодействие приборов по однопроводному интерфейсу организовано по принципу "ведущий-ведомый" (master-slave). При этом считывающее устройство всегда ведущее, а один или несколько приборов Touch Memory - ведомые. Взаимодействие нескольких приборов со считывающим устройством по одной двунаправленной линии поддерживается аппаратными средствами Touch Memory.
Протокол обмена по однопроводному интерфейсу является двухуровневым. На первом -логическом уровне для взаимодействия устройств используются команды обмена с ПЗУ и ОЗУ (табл. 2).
Тип прибора | Команды ПЗУ | Команды блокнотной памяти | Команды оперативной памяти | Команды установки паролей | |
Чтение Пропуск Сравнение Поиск |
Чтение Запись Копирование |
Чтение | Запись | Запись | |
DS1990A | + | - | - | - | - |
DS1991 | + | + | + | + | + |
DS1992 | + | + | + | - | - |
DS1993 | + | + | + | - | - |
DS1994 | + | + | + | - | - |
Группу команд обмена с ПЗУ составляют четыре команды: чтение ПЗУ, пропуск, сравнение и поиск. Две последние команды обеспечивают взаимодействие по одной линии нескольких Touch Memory со считывающим устройством. Команда сравнение инициирует обмен с прибором, серийный номер которого указан. Команда поиск позволяет определить серийный номер одного из приборов, подключенных к двунаправленной линии.
Команды обмена с блокнотной и основной памятью обрабатываются Touch Memory только после исполнения одной из команд обмена с ПЗУ. Таким образом, при взаимодействии нескольких приборов, подключенных к одной линии, считывающее устройство посылает по линии команду сравнение, по которой выбирается только один прибор, принимающий в дальнейшем команды обмена с памятью.
Все команды обмена имеют фиксированный размер - один байт, данные представлены 8-разрядными целыми числами.
Ведущее устройство всегда инициирует обмен, посылая команды ведомому устройству. Протокол физического уровня используется для передачи команд и данных по однопроводному интерфейсу. Команды и данные передаются в последовательном коде. Для обеспечения целостности передаваемой информации протокол обмена на физическом уровне строго регламентирует временные параметры сигналов на линии. Протокол обмена данными состоит из трех основных циклов: инициализации, записи и чтения. Цикл инициализации является начальным циклом любого информационного обмена с Touch Memory. В этом цикле ведущее устройство опрашивает линию, определяя присутствие на ней Touch Memory. Синхронизация цикла инициализации осуществляется отрицательным импульсом сброса, формируемым ведущим устройством. После посылки сигнала ведущее устройство освобождает линию и переходит в режим приема. В том случае, если к линии подключен прибор Touch Memory, он обнаруживает синхросигнал ведущего и после временной паузы посылает ему сигнал опознания (рис. 5). Этот ответный сигнал информирует ведущее устройство о том, что имеется электрический контакт с Touch Memory и можно начинать обмен.
Pис. 5 Данные передаются по однопроводной двунаправленной линии в течение дискретных временных интервалов, которые называются временными сегментами (типовая длительность - около 60 мкс). При передаче данных используется широтноимпульсный метод кодирования, напоминающий азбуку Морзе: в течение одного временного сегмента длинные или короткие состояния логического нуля на линии определяют значение передаваемого разряда. Обеспечивается скорость передачи данных до 16,6 кбит/сек. Синхронизация временного сегмента при записи осуществляется отрицательным фронтом сигнала, который формирует ведущее устройство. Для передачи в Touch Memory логической единицы ведущее устройство после посылки синхросигнала освобождает линию, для записи логического нуля ведущее устройство поддерживает низкое состояние линии в течение всего временного сегмента (рис. 6а).
Описанный цикл записи повторяется для каждого передаваемого разряда команды.
Pис. 6а В начале цикла чтения ведущее устройство также передает в линию синхронизирующий сигнал низкого уровня, после чего освобождает линию и переходит в режим приема. Далее в течение всего временного сегмента состояние однопроводной линии определяется ведомым устройством - Touch Memory. При этом логическая единица передается высоким уровнем, а логический нуль - низким уровнем однопроводной линии в течение всего, временного сегмента. Наилучший момент стробирования данных ведущим устройством - это 8 мкс после начала временного сегмента (рис. 6б). Цикл чтения одного разряда повторяется до тех пор, пока все данные не будут считаны.
Pис. 6б В конце каждого временного сегмента ведущее устройство обеспечивает паузу в обмене (момент восстановления), удерживая линию в высоком состоянии. Возможна приостановка сеанса связи на любое время между временными сегментами, при этом на линии поддерживается высокое состояние. Во всех сеансах связи первым передается младший значащий разряд данных.