Организация обмена по однопроводному интерфейсу

February 16, 2013 by admin Комментировать »

При всем разнообразии номенклатуры устройств, поддерживающих однопроводный интерфейс, обмен информацией между ними и мастером проходит по единому протоколу, называемому протоколом однопроводной шины, или протоколом однопроводного интерфейса. Этот протокол регламентирует временные, электрические и логические параметры сигналов. В этой главе мы подробно рассмотрим все аппаратные и программные аспекты реализации обмена по однопроводной шине.

Однопроводная шина

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

2.1.1.                                                 Аппаратная конфигурация

Электрическая эквивалентная схема однопроводной шины с подключенными к ней мастером и одним помощником (по сути, эквивалентная схема простейшей MicroLAN) представлена на рис. 2.1. Со стороны мастера шины сеть оборудована источником напряжения постоянного тока VP, определяющим потенциал, к которому подтягивается шина в состоянии логической единицы, подтягивающим резистором Rn и управляемым мастером шины транзисторным ключом К, опускающим шину до уровня логического нуля.

Соединительные провода (кабель) на эквивалентной схеме представлены индуктивными LnP, L0Bp и активными Rnp, R сопротивлениями соответственно прямой и обратной линий, а также суммарной емкостью С^Б кабеля. Суммарная емкость есть произведение погонной емкости кабеля на его длину. Активное сопротивление прямого провода произведение длины этого провода на величину его погонного сопротивления. Активное сопротивление обратной линии равно сопротивлению прямой линии плюс несколько Ом, приходящихся на каждый из ключей, расположенных между мастером шины и наиболее удаленной ветвью. Если адресуемых ключей в составе сети нет, то сопротивления прямой и обратной линий равны.

Рис. 2.1. Эквивалентная схема простейшей MicroLAN.

Устройство с однопроводным интерфейсом (помощник) на эквивалентной схеме представлено своей входной емкостью Свх, постоянным разрядным током lPA3P (обычно равным 5 мкА), цепью пассивного питания (Dnn, Rnn> СПп) и рабочим током lP (возникающим при обмене и равным 10 мкА). Любой прибор, включенный в сеть, потребляет рабочий ток, даже если он в данный момент не адресуется. Этот ток необходим для синхронизации его однопроводного интерфейса с протоколом обмена. В открытом состоянии импеданс устройства с однопроводным интерфейсом составляет 100 Ом, что приводит к стекающему току 4 мА и падению напряжения на устройстве 0.4В. Если к шине подключено несколько устройств, то значения Свх, 1РАзр, lp и СПп должны быть умножены на число устройств; величину Rnn нужно разделить на число устройств. Полевой транзистор Т в эквивалентной схеме устройства позволяет ему реагировать на команды мастера шины и передавать данные, переводя шину в состояние логического нуля. В каждый момент

времени только один такой транзистор в сети находится в открытом состоянии, опуская шину на короткие периоды временных интервалов чтения. Исключение составляют режим, когда мастер шины проверяет наличие на ней приборов с однопроводным интерфейсом (так называемый цикл опроса присутствия), а также периоды выполнения команд Search ROM (Исследование ПЗУ), Skip ROM (Игнорирование ПЗУ) и Read ROM (Чтение ПЗУ) (об этих командах см. ниже).

Многоточечная шина состоит из однопроводной шины со множеством присоединенных к ней помощников. Однопроводная шина требует подтягивающего резистора примерно в 5кОм. В исходном состоянии на шине присутствует высокий уровень. Если по какой-либо причине обработку нужно прервать, то шина ДОЛЖНА находиться в исходном, т.е. высоком состоянии до тех пор, пока обработка продолжится. Если этого не обеспечить и шина останется в низком состоянии на время, большее 480 мкс, то все компоненты шины будут сброшены. Иными словами, все датчики перейдут в режим ожидания, а все адресуемые ключи окажутся разомкнутыми.

Сигналы однопроводной шины

Для сохранения целостности данных требуется выполнение строгого протокола обмена. Протокол состоит из нескольких типов сигналов в линии: импульса сброса, импульса присутствия, записи нуля, записи единицы, чтения нуля, чтения единицы. Все эти сигналы, за исключением импульса присутствия, генерируются мастером шины. На рис. 2.2 приведена инициализирующая последовательность, необходимая для начала любых обменов в шине. Импульс сброса и следующий за ним импульс присутствия показывают, что помощник готов к передаче или приему данных, инициируемых командами функций ПЗУ и памяти. Мастер шины передает импульс сброса (сигнал низкого уровня длительностью не менее 480 мкс). Затем освобождает линию и переходит в режим приема. Однопроводная шина подтянута к высокому логическому уровню подтягивающим резистором 5кОм. Обнаружив задний (восходящий) фронт имульса сброса, помощник ждет 15-60 мкс и затем передает импульс присутствия (сигнал низкого уровня длительностью 60-240 мкс).

Чтение и запись данных происходят с использованием временных интервалов чтения/записи, разделяющих соседние биты, а также командного слова, определяющего смысл операции.

Рис. 2.2. Инициализирующая последовательность в однопроводной шине.

Временные интервалы {слоты) записи. Временной интервал записи инициируется сразу же, как только мастер переведет шину из высокого логического состояния в низкое. Имеется два типа временных интервалов записи: временные интервалы записи единицы и временные интервалы записи нуля. Каждый из временных интервалов записи должен иметь длительность не менее 60 мкс, а между соседними интервалами записи должна быть восстановительная пауза не менее 1 мкс.

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

Рис. 2.3. Временные слоты чтения/записи.

Временные интервалы (слоты) чтения. Если нужно считать данные из помощника, мастер генерирует временные интервалы чтения. Временной интервал чтения инициируется сразу же, как только мастер переведет шину из высокого логического состояния в низкое. Шина данных должна оставаться в низком состоянии, как минимум, в течение 1 мкс. Данные от помощника будут истинны в течение 15 мкс после спадающего фронта временного интервала чтения. Значит, мастер через 1 мкс после перевода шины в низкое состояние (т.е. начала генерации временного интервала чтения) должен освободить шину, чтобы иметь возможность в последующие 14 мкс прочитать ее истинное значение, устанавливаемое помощником (см. рис. 2.3). По окончании временного интервала чтения шина под воздействием подтягивающего резистора возвратится в высокое логическое состояние, так как помощник по истечении 15 мкс перейдет в Z-состояние. Каждый из временных интервалов чтения должен иметь длительность не менее 60 мкс, а между соседними интервалами чтения должна быть восстановительная пауза не менее 1 мкс.

На рис. 2.4 показано, что сумма времени инициализации интервала чтения T|Nrr, времени освобождения шины TREC и времени анализа шины TSAPMLe не должна превышать 15 мкс. Из рис. 2.5 видно, что надежные условия чтения можно обеспечить, сводя к минимуму времена T и T и сдвигая окно анализа состояния шины к концу 15-микросекундного интервала.

Рис.2.5.Рекомендуемая диаграмма временного слота чтения "1′

2.1.3. Последовательность обработки данных

Протокол доступа к помощнику через однопроводный порт следующий:

Инициализация Команда функции ПЗУ Команда функции памяти

Инициализация.

Вся обработка на однопроводной шине начинается с инициализирующей последовательности. Инициализирующая последовательность состоит из импульса сброса, посылаемого мастером шины, за которым следует(ют) импульс(ы) присутствия, посылаемый помощником (помощниками). Импульс присутствия сообщает мастеру, что помощник подключен к линии и готов к работе. Подробнее об этом было сказано выше.

Команды функции ПЗУ Как только мастер шины определил наличие подсоединенных помощников, он может выдать одну из команд функции ПЗУ. Все команды функции ПЗУ имеют длину 8 бит. Младший бит передается первым. Список этих команд следующий:

Чтение ПЗУ (Read ROM, Г33И1)

Команда позволяет мастеру шины прочитать 8-битовый код принадлежности к семейству однопроводных устройств из 64-битового ПЗУ помощника, уникальный 48-битовый серийный номер и 8-битовый ЦИК. Её можно использовать, если к шине подключен только один помощник. Если к шине подключено больше помощников, то при использовании этой команды может возникнуть конфликт данных, когда все помощники сразу начнут передачу (открытый сток при этом даст результат, эквивалентный монтажному "И").

Выбор ПЗУ (Match ROM, Г55И1)

Эта команда, если за ней следует 64-битовый код, позволяет мастеру адресоваться к конкретному устройству на многоточечной шине. Только тот помощник, чей код в точности соответствует посланной мастером 64-битовой последовательности, откликнется на последующую команду функции памяти. Все остальные помощники будут ждать импульса сброса. Команда может использоваться как при единственном подключенном к шине помощнике, так и в случае, когда их много.

Игнорирование ПЗУ (Skip ROM, rCChl)

Команда экономит время в случае, если к шине подключен только один помощник. Она позволяет мастеру обратиться к функциям памяти без предварительного генерирования 64-битового кода ПЗУ. Если на шине присутствует более одного помощника и после команды CCh следует команда чтения, возникнет конфликт данных, так как несколько помощников будут передавать одновременно (открытый сток при этом даст результат, эквивалентный монтажному "И").

Исследование ПЗУ (Search ROM, TF0hl)

При первом включении системы мастер шины может не знать, сколько устройств подключено к шине, а также их коды. Данная команда позволяет мастеру методом исключения идентифицировать ПЗУ-коды всех подключенных помощников.

Аварийный опрос (Alarm Search, TEChl)

Эта команда используется только при диалоге с датчиками температуры. Её алгоритм идентичен алгоритму команды "Исследование ПЗУ". Однако датчик будет откликаться на эту команду только в том случае, если при последнем температурном измерении был зафиксирован выход за пределы выбранных порогов. Флаг тревоги остается установленным в датчике до его отключения от питания либо до первого температурного измерения, обнаруживающего, что температура устройства пришла в норму. Если флаг тревоги установлен и при этом изменены установки триггеров TL или ТН, то для правильной установки состояния тревоги нужно провести еще одно измерение температуры.

Исследование ПЗУ только активных устройств (Active-Onlv Search ROM, TEChl)

Используется только при диалоге с адресуемыми ключами. Она работает точно так же, как и команда "Исследование ПЗУ", за исключением того факта, что в процессе участвуют только те ключи, у которых закорачивающие транзисторы открыты. Иными словами, с помощью этой команды мастер может из общего числа адресуемых ключей выделить те из них, которые находятся в активном состоянии (см. главу 4).

Команды функции памяти После успешного выполнения команды функции ПЗУ мастер может выдать одну из команд функции памяти. Эта группа команд используется для связи с датчиками температуры. Их подробное описание приведено в главе 3.

Источник: Карначёв А.С., Белошенко В.А., Титиевский В.И., Микролокальные сети: интеллектуальные датчики, однопроводный интерфейс, системы сбора информации. Донецк: ДонФТИ НАНУ Украины, 2000. 199с. с ил.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты