() — спецификация международного стандарта, описывающая интерфейс подключения к шине цифровых измерительных приборов.
Разработана компанией Hewlett-Packard (HP) в конце годов для использования в под названием HP-IB (). В 1975 году стандартизована американским Институтом инженеров электротехники и электроники (IEEE) как и по сей день применяется в данном качестве. Известна также и под другими названиями — в частности, GPIB () и как стандарт Международной электротехнической комиссии (IEC) (сокр. ), а в аналогичном советском стандарте «Система интерфейса для измерительных устройств с байт-последовательным, бит-параллельным обменом информацией» носит название «многопроводной магистральный канал общего пользования».
Характеристики Каждое устройство на шине имеет уникальный пятибитный первичный адрес в диапазоне от 0 до 30 (таким образом, максимально возможное количество устройств — 31). Адреса устройств не обязаны быть непрерывными, но во избежание конфликтов обязаны быть различными. Стандарт позволяет подключить до 15 устройств к одной двадцатиметровой физической шине, используя для наращивания соединители цепочечного типа.
Активные расширители позволяют удлинить шину и использовать вплоть до 31 теоретически возможного на логической шине устройства.
Определено три различных типа устройств, которые могут быть подключены к шине: «listener» (слушатель), «talker» (спикер) и/или контроллер (точнее, устройства могут находиться в состоянии «listener» либо «talker», либо быть типа «контроллер»). Устройство в состоянии «listener» считывает сообщения с шины; устройство в состоянии «talker» посылает сообщения на шину. В каждый конкретный момент времени в состоянии «talker» может быть одно и только одно устройство, в то время как в состоянии «listener» может быть произвольное количество устройств. Контроллер выполняет функции арбитра и определяет, какие из устройств в данный момент находятся в состоянии «talker» и «listener». К шине может быть одновременно подключено несколько контроллеров. В этом случае один из контроллеров (как правило, расположенный на интерфейсной карте GPIB) является ответственным контроллером (Controller-in-Charge, CIC) и делегирует по мере надобности свои функции другим контроллерам.
Элемент управления и функции передачи данных логически отдельные; диспетчер может обратиться к одному устройству как «болтуну» () и к одному или более устройствам как к «слушателям» () без необходимости участвовать в передаче данных. Это даёт возможность совместно использовать одну и ту же шину для множества контроллеров. В любое данное время только одно шинное устройство может быть активно как ответственный контроллер.
Данные передаются по шине во время трёхфазной процедуры установления соединения готовность/доступность/приём, логике в которой самое медленное участвующее устройство определяет скорость транзакции. Максимальная скорость передачи данных составляла в оригинальном издании стандарта и была увеличена до в расширениях стандарта.
Электрически — восьмибитная параллельная шина, содержащая шестнадцать сигнальных линий (восемь двусторонних используются для передачи данных, три — для установки соединения, пять — для управления шиной) плюс восемь — обратные провода для земли.
Все сигнальные линии используют отрицательную логику: наибольшее положительное напряжение интерпретируется как логический «0», а наибольшее отрицательное — как логическая «1». Линии данных (DIO) пронумерованы от 1 до 8, а линии данных (ЛД) в ГОСТе — от 0 до 7.
Пять линий управления интерфейсом сообщают устройствам, присоединённым к шине, какие действия предпринимать, в каком режиме находиться и как реагировать на команды GPIB.
Команды Команды GPIB всегда передаются с использованием классического протокола . Стандарт задаёт формат команд, посылаемых инструментам, и формат и кодировку откликов. Команды, как правило, являются аббревиатурами соответствующих слов английского языка. Команды-запросы снабжаются на конце вопросительным знаком. Все обязательные команды предваряются звёздочкой (*). Стандарт определяет минимальный набор возможностей, которыми должен обладать каждый инструмент, а именно: принимать и передавать данные, посылать запрос на обслуживание и реагировать на сигнал «Очистить интерфейс». Все команды и большинство данных используют 7-битный код ASCII, в котором бит не используется или используется как бит чётности.
Для получения информации от устройств, подключённых к шине, и переконфигурации шины контроллер посылает команды пяти классов: «Uniline» («однобитная»), «Universal Multiline» («многобитная общего назначения»), «Address Multiline» («многобитная адресная»), «Talk Address Group Multiline» («многобитная групповая адресная передающая») и «Listen Address Group Multiline» («многобитная групповая адресная приёмная»).
Управляющие последовательности IEEE 488.2 ОписаниеУправляющая последовательностьТребования Посылка команда ATN- истинноSend CommandОбязательноУстановка адреса для посылки данныхSend SetupОбязательноПосылка команд ATN-ложноSend Data BytesОбязательноПосылка программного сообщенияSendОбязательноУстановка адреса для получения данныхReceive SetupОбязательноПолучение данных ATN-ложноReceive Response MessageОбязательноПолучение сообщения ответаReceiveОбязательноАктивизация линии IFCSend IFCОбязательноОчистка приборовDevice ClearОбязательноУстановка приборов в автономное состояниеEnable Local ControlsОбязательноУстановка приборов в состояние удалённого управленияEnable RemoteОбязательноУстановка приборов в режим удалённого управления в состоянии локаутаSet RWLSОбязательноУстановка приборов в автономное состояние в состоянии локаутаSend LLOОбязательноЧтение байта статуса 488.1Read Status ByteОбязательноПосылка сообщения выполнения триггера группе (GET)TriggerОбязательноПередача управления другому приборуPass ControlОбязательноПараллельный опросPerform Parallel PollКонфигурация приборов для параллельного опросаParallel Poll ConfigureОтмена возможности параллельного опросаParallel Poll Unconfigure
Вторым компонентом системы команд является стандарт (), принятый в 1990 году. SCPI определяет стандартные правила сокращения ключевых слов, используемых в качестве команд. Ключевые слова могут быть использованы либо в длинной (например, MEASure — «измерить»), либо в короткой прописной форме (MEAS). Команды в формате SCPI предваряются двоеточием (:). Аргументы команд разделяются запятой (,). Стандарт SCPI оперирует с моделью программируемого инструмента. Функциональные компоненты модели включают систему измерений (подсистемы «вход», «датчик» и «калькулятор»), систему генерации сигналов (подсистемы «калькулятор», «источник» и «выход») и подсистемы «формат», «показ», «память» и «триггер». Естественно, что у некоторых инструментов отсутствуют некоторые системы либо подсистемы. Например, осциллограф не имеет системы генерации сигналов, а программируемый генератор цифровых последовательностей — системы измерений. Команды для работы с компонентами систем и подсистем имеют иерархический вид и состоят из подкоманд, разделённых двоеточиями.
Пример команды, конфигурирующей цифровой мультиметр для измерения переменного напряжения величиной до с точностью и одновременно запрашивающей результат измерения:
:MEASure:VOLTage:AC?20,0.001 Двоеточие обозначает начало новой команды. Ключевые слова MEASure:VOLTage:AC сообщают мультиметру, что требуется произвести измерение переменного напряжения. Вопросительный знак сообщает мультиметру, что результат измерения должен быть возвращён компьютеру либо контроллеру. Числа 20 и 0.001, разделённые запятой, задают диапазон и точность измерения.
Протоколы контроллера 488.2 Протоколы объединяют наборы управляющих последовательностей, с тем, чтобы выполнить полную измерительную операцию. Определено 2 обязательных и 6 опциональных протоколов. Протокол RESET обеспечивает инициализацию всех приборов. Протокол ALLSPOLL опрашивает каждый прибор последовательно и возвращает байт статуса каждого прибора. Протоколы PASSCTL и REQUESTCTL обеспечивают передачу управления шиной разным приборам. Протокол TESTSYS реализует функцию самотестирования каждого прибора.
Протоколы FINDLSTN и FINDRQS поддерживают управление системой GPIB. При этом используются возможности, заложенные в стандарте 488.1. Контроллер выполняет протокол FINDLSTN, генерируя адрес Слушателя и проверяя наличие прибора на шине по состоянию линии NDAC. Протокол FINDLSTN возвращает список «Слушателей», и выполнение этого протокола до начала работы прикладной программы гарантирует правильность текущей конфигурации системы. Для работы протокола FINDRQS используется возможность проверки линии SRQ. Входной список устройств можно ранжировать по приоритетам. Тем самым обеспечивается обслуживание наиболее ответственных приборов в первую очередь.
Ключевое слово Название Требования RESET Установка системы Обязательно ALLSPOLL Последовательный опрос приборов Обязательно FINDRQS Поиск прибора, требующего FINDRQS Опционально PASSCTL Передача управления Опционально REQUESTCTL Запрос управления Опционально FIDLSTN Поиск слушателей Опционально TESTSYS Автотест системы Опционально SETADD Установка адреса Опционально, но требует FIDLSTN
Разъёмы