Интерфейс приборной магистрали HP-IB Разработан фирмой HP в 1972 г. (HP-IB – Hewlett-Packard Interface Bus). В 1975 г. одобрен советом IEEE (документ IEEE-488). В 1976 г. комиссия IEC утвердила стандарт в качестве международного (документ IEC 625-1). Стандартизован во многих странах: ANSI стандарт ANST MC1.1 в 1978 г.(США), DIN IEC 66.22-1976 Германия). В 1980 г. в СССР введен соответствующий ГОСТ 26.003-80 (русская транскрипция интерфейса – КОП (канал общего пользования)). Интерфейс предназначен для соединения программируемых и непрограммируемых электронных устройств (приборов), применяемых в лабораторных или цеховых условиях, в которых используется битпараллельный, байт-последовательный асинхронный способ обмена информацией. Программируемым прибором называется прибор, способный принимать данные через интерфейс для изменения состояния своих внутренних цепей. Соединение устройств осуществляется через пассивную многопроводную (24 линии) магистраль-канал общего пользования (КОП),длиной не более 20 м.Число подключаемых к КОП приборов -не более 15.Магистраль полностью пассивная,все активные цепи,по которым выдают управляющую информацию, осуществляют прием и передачу информации размещаются на печатных платах внутри приборов. Обмен информацией по магистрали осуществляется между источником (И) и приемником (П) под воздействием контроллера (К).При этом каждый из приборов может обладать функциями приемника и источника информации,а также контроллера в их различных сочетаниях. Структура магистрали интерфейса Магистраль интерфейса (табл.1) состоит из 16 сигнальных линий, по которым в кодированном виде передаются все информационные, в т.ч. и измерительные данные, а также интерфейсные и приборные сообщения между абонентами. По своему функциональному назначению все линии объединены в три группы: шину данных (ШД), шину управления (ШУ), шину синхронизации (ШС).Обозначение шин и линий (русское и международное ) и их наименование приведено в табл.1. Таблица 1 Линии интерфейса КОП (ГОСТ 26.003-80) Наименование Обозначение русское Обозначение международное Источник сигнала ЛД0…ЛД7 DIO1…DIO8 контроллер, источник Шина синхронизации (ШС) Готов к приему Даные приняты Сопровождение данных ГП ДП СД NFRD NDAC DAV приемники приемники контроллер, источник Шина управления (ШУ) Управление Очистить интерфейс Дистанционое управление Запрос на обслуживание Конец передачи УП ОИ ДУ ЗО КП ATN IFC REN SRQ EOI контроллер контроллер контроллер источник контроллер, источник Шина данных (ШД) Линии данных Линии ЛД0...ЛД7 используются для передачи интерфейсных сообщений (адресов и команд) от контроллера к приборам, приборных сообщений (программ, результатов измерений) между приборами, а также сигналов состояния от приборов к контроллеру. Тип информации, передаваемой по ШД, определяется состоянием линии УП. Если линия УП находится в низком состоянии, то по ШД передается адрес или команда. Период времени, в течение которого информация действительна на ШД ,зависит от сигнала на линии СД. Линия СД переводится в низкое состояние источником, указывая на достоверность байта информации на ШД. Линия ГП управляется всеми устройствами, адресованными на прием (объединены по "ИЛИ").Высокое состояние линии указывает, что приемники готовы к приему информации. Устройства, не адресованные на прием должны поддерживать высокое состояние линии ГП. Линия ДП управляется всеми устройствами, когда линия УП имеет низкое состояние, или теми устройствами, которые адресованы на прием, когда линия УП имеет высокое состояние. Высокое состояние на линии ДП указывает на конец приема информации приемниками (все приняли). Линия УП активируется только тем устройством, которое в данный момент выполняет функцию контроллера. Когда на линию УП поступает сигнал (низкое состояние), все остальные устройства переходят в режим "ожидание", и только контроллер может передавать информацию. Когда линия УП переходит в высокое состояние, передают (или принимают) только те устройства, которые были адресованы во время низкого состояния линии УП. При этом в качестве "источника" (на "передачу") одновременно может быть включено не более одного устройства. На количество "приемников" таких ограничений не накладывается. Любое устройство становится "источником", если его адрес источника помещается на ШД в то время, когда линия УП находится в низком состоянии и остается "источником" до тех пор, пока не будут переданы команды "не передавай", "очистить интерфейс", или когда по ШД передается адрес другого "источника". Линия КП устанавливается "источником" в низкое состояние параллельно с передачей последнего байта данных. Линия ОИ используется при запуске системы. Когда она устанавливается в низкое состояние, прекращается вся деятельность КОП, все устройства освобождают себя от адресов и переходят в состояние холостого хода. Линия ДУ используется для переключения управления прибором с "местного" (например, ручные органы управления на передней панели) на "дистанционное". При высоком состоянии линии ДУ прибор должен находиться в "местном" управлении. Линия ЗО переходит в низкое состояние в том случае, когда какое-либо устройство посылает контроллеру сигнал запроса на обслуживание. Все сообщения ,которые передаются через магистраль КОП, называются дистанционными и подразделяются на три класса: 1.Интерфейсные сообщения (команды); 2.Сообщения устройств (измерительная информация, программные данные); 3.Данные о состоянии устройств (байт состояния, ответы устройств); Интерфейсные сообщения (команды) (см.табл.2) используются для управления функциями интерфейса (коды команд жестко регламентированы стандартом) и передаются при низком состоянии линии УП: а) группа универсальных команд (ГУК) - команды, вызывающие соответствующее действие одновременно во всех устройствах, например, "сброс", "запирание местного управления" и др. (5 команд); б) группа адресных команд (ГАК) - команды, вызывающие соответствующее действие только в устройствах, запомнивших свой адрес, например, "запуск устройства", "переход на местное управление" и др.(5 команд); в) группа адресов приемников (ГАП) - команды (адреса), которые включают определенные устройства для приема информации из КОП. Каждому "приемнику" должен быть приписан свой "адрес на прием" (младшие 5 бит которого могут совпадать с аналогичными битами его адреса источника, т.е., один и тот же прибор может быть адресован в качестве приемника и источника данных). Формат сообщений группы адресов приемников приведен в таблице 3; г) группа адресов источников (ГАИ) - команды (адреса), которые включают определенные устройства для передачи данных в КОП и для выключения любого другого устройства, уже работающего в качестве источника. Формат сообщений группы адресов источников приведен в таблице 3; д) группа вторичных команд (ГВК) – команды, используемые в качестве второго адресного байта при адресации устройства на прием или передачу. Таблица 2 Интерфейсные сообщения, передаваемые через КОП Наименование Группа универсальных команд (ГУК) Сброс универсальный Запирание местного управления Отпирание последовательного опроса Запирание последовательного опроса Деконфигурация параллельного опроса Группа адресных команд (ГАК) Запуск устройства Переход на местное управление Конфигурация параллельного опроса Сброс адресный Взять управление Группа адресов приемников (ГАП) Адреса приемников Не принимать Группа адресов источников(ГАИ) Адреса источников Не передавать Группа вторичных команд (ГВК) Второй байт адреса Отпирание параллельного опроса Запирание параллельного опроса Обозначение русское Обозначение международное Шестнадцатиричый код СБУ ЗПМ ОПО ЗПО ДПР DCL LLO SPE SPD PPU 0x14 0x11 0x18 0x19 0x15 ЗАП ПНМ КПР СБА ВУП GET GTL PPC SDC TCT 0x08 0x01 0x05 0x04 0x09 МАП НПМ UNL см.след.табл. 0x3F МАИ НПД UNP см.след.табл. 0x5F МВА ОПР ЗПР PPE PPD см.след.табл. см.след.табл. 0x70...0x7F Таблица 3 Команда МАП МАИ МВА ОПР Форматы интерфейсных сообщений Разряд шины данных ЛД6 ЛД5 ЛД4 ЛД3 ЛД2 0 1 A A A 1 0 A A A 1 1 A A A 1 1 0 У Р ЛД1 A A A Р ЛД0 A A A Р Сообщения устройств и данные о состоянии устройств – это сообщения, которые используются устройствами при выполнении ими основной задачи: программные данные (коды функций, приказов которые должен выполнить прибор при подготовке к работе, например, установка того или иного режима, предела, программы измерений ); основные данные (результаты измерений напряжения, частоты, текст с экрана дисплея и др.); данные о состоянии. Сообщения устройств (данные) передаются при высоком состоянии линии УП. Коды и форматы основных, программных данных и данных о состоянии устанавливаются в соответствии с рекомендациями стандарта ГОСТ 26.003-80, являются индивидуальными для данного прибора и приведены в технической документации на программируемый прибор. Временные диаграммы синхронизации циклов обмена в КОП Алгоритм работы "источника" и "приемника" показан на рис.1. Временная диаграмма сигналов в шине синхронизации для одного источника и нескольких приемников информации приведена на рис.2. Как следует из диаграммы, при асинхронном режиме обмена данные на шинах для передачи могут быть установлены лишь после получения сигналов готовности от всех приборов-приемников. В свою очередь сигналы в шинах данных могут быть изменены, а сами пути их передачи блокированы лишь после получения сообщений о завершении приема информации от всех приборов-приемников, что гарантирует надежность приема данных самым медленным из всех приборов. Сигналы о готовности и о завершении приема передаются по линиям NRFD и NDAC прибору, реализующему функцию синхронизации передачи байта (СИ). Передача байта (слова) выполняется независимо от вида сообщения - внешнее приборное или интерфейсное. 1 - (исходное состояние, "источник" и "приемник" адресованы) "источник" устанавливает сигнал СД в высокое состояние (данные недействительны). 2 - "приемники" устанавливают ГП и ДП в низкое состояние (ничего не принято, никто не готов); 3 - "источник" проверяет ошибку (ДП и ГП - в высоком состоянии), затем устанавливает на ШД байт данных; 4 - "источник" задерживает подтверждение истинности данных для того, чтобы данные могли поступить через ШД на все "приемники" (чтобы данные установились); 5 - все "приемники" подготовились к приему и высоким уровнем сигнала ГП указали на готовность приема первого байта данных; 6 - после приема ГП "источник" устанавливает СД в низкое состояние, указывая приемникам ,что данные на ШД установлены и они истинны; 7 - после перехода СД в низкое состояние "приемник" переводит ГП в низкое состояние (не готов к приему), затем принимает данные. Остальные приемники работают, каждый со своим быстродействием, аналогичным образом; Рис.1 8 - первый "приемник" устанавливает ДП в высокое состояние, указывая, что он принял данные, но линия ДП остается в низком состоянии, так как остальные "приемники" удерживают ее (из-за худшего быстродействия); 9 - последний (самый медленный) "приемник" устанавливает ДП в высокое состояние, указывая, что он и все остальные "приемники" приняли данные. Линия ДП при этом переходит в высокое состояние (все "приемники" и "источники" подключены к линиям ДП и ГП по "ИЛИ"); 10 - "источник", приняв информацию о том, что ДП находится в высоком состоянии, устанавливает СД в высокое состояние. Это показывает "приемникам", что данные на ШД должны рассматриваться как недействительные; 11 - "источник" изменяет данные на ШД; 12 - "источник" задерживает подтверждение истинности данных для того, чтобы данные установились на линиях ШД; 13 - первый (самый быстрый) "приемник", приняв информацию о том, что СД находится в высоком состоянии, устанавливает ДП в низкое состояние для подготовки к следующему циклу; 14 - первый "приемник" показывает, что он готов к приему следующего байта данных, устанавливая ГП в высокое состояние, но линия ГП остается в низком состоянии, так как остальные (более медленные) "приемники" удерживают ее в этом состоянии; 15 - последний (самый медленный) "приемник" устанавливает ГП в высокое состояние, показывая, что он и все остальные готовы к приему следующего байта данных; 16 - "источник", приняв информацию о том, что ГП находится в высоком состоянии, устанавливает СД в низкое состояние, указывая этим, что данные на ШД установлены и истинны; 17 - первый "приемник" устанавливает ГП в низкое состояние, затем принимает данные; 18,19,20 - соответствуют позициям 8,9,10; 21 - "источник" снимает байт данных (конец передачи) с ШД после установки СД в высокое состояние; 22 - "приемник",приняв информацию о том, что СД находится в высоком состоянии, устанавливает ДП в низкое состояние для подготовки к следующему циклу; В промежуток времени между позициями 9 и 15 контроллер может прервать передачу данных (установив УП в низкое состояние) без потери байта данных в данном процессе передачи.