Мы используем файлы cookie.
Продолжая использовать сайт, вы даете свое согласие на работу с этими файлами.

IEEE-488

Подписчиков: 0, рейтинг: 0
IEEE-488
кабель IEEE-488 с соединителем
кабель IEEE-488 с соединителем
Тип шина
История
Разработчик HP
Разработано 1965
Вытеснил IEEE-488.2
Вытеснено HP-IB, GPIB (1975)
Спецификации
Горячая замена да
Параметры данных
Битовая ширина 8 бит
Пропускная способность 8 Мб/с
Макс. устройств 15
Протокол параллельный
Логотип Викисклада Медиафайлы на Викискладе

IEEE-488 (англ. Standard Digital Interface for Programmable Instrumentation) — спецификация международного стандарта, описывающая интерфейс подключения к шине цифровых измерительных приборов.

Разработана Hewlett-Packard в конце 1960-х годов для использования в автоматизированном измерительном оборудовании (англ. automated test equipment, ATE) под названием интерфейсная шина Hewlett-Packard (англ. Hewlett-Packard Interface Bus, HP-IB). В 1975 году стандартизирована американским Институтом инженеров электротехнической и электронной промышленности как IEEE-488, и до сих пор применяется в данном качестве. IEEE-488 также известна под названием «Интерфейсная шина общего назначения» (англ. General Purpose Interface Bus, GPIB), стандарт IEC-625 (МЭК 625.1), а также под другими названиями. В аналогичном советском стандарте ГОСТ 26.003-80 «Система интерфейса для измерительных устройств с байт-последовательным, бит-параллельным обменом информацией», называется «многопроводным магистральным каналом общего пользования».

Характеристики

Каждое устройство на шине имеет уникальный пятибитный первичный адрес в диапазоне от 0 до 30 (таким образом, возможное количество устройств — 31). Адреса устройств не обязаны быть непрерывными, но во избежание конфликтов обязаны быть различными. Стандарт позволяет подключить до 15 устройств к одной двадцатиметровой физической шине, используя для наращивания соединители цепочечного типа.

Активные расширители позволяют удлинить шину и использовать вплоть до 31 теоретически возможного на логической шине устройства.

Определено три различных типа устройств, которые могут быть подключены к шине: «listener» (слушатель), «talker» (спикер) и/или контроллер (точнее, устройства могут находиться в состоянии «listener» либо «talker», либо быть типа «контроллер»). Устройство в состоянии «listener» считывает сообщения с шины; устройство в состоянии «talker» посылает сообщения на шину. В каждый конкретный момент времени в состоянии «talker» может быть одно и только одно устройство, в то время как в состоянии «listener» может быть произвольное количество устройств. Контроллер выполняет функции арбитра и определяет, какие из устройств в данный момент находятся в состоянии «talker» и «listener». К шине может быть одновременно подключено несколько контроллеров. В этом случае один из контроллеров (как правило, расположенный на интерфейсной карте GPIB) является ответственным контроллером (Controller-in-Charge, CIC) и делегирует по мере надобности свои функции другим контроллерам.

Элемент управления и функции передачи данных логически отдельные; диспетчер может обратиться к одному устройству как «болтуну» (англ. talker) и к одному или более устройствам как к «слушателям» (англ. listeners) без необходимости участвовать в передаче данных. Это даёт возможность совместно использовать одну и ту же шину для множества контроллеров. В любое данное время только одно шинное устройство может быть активно как ответственный контроллер.

Данные передаются по шине во время трёхфазной процедуры установления соединения готовность/доступность/приём, логике в которой самое медленное участвующее устройство определяет скорость транзакции. Максимальная скорость передачи данных составляла 1 МБ/с в оригинальном издании стандарта и была увеличена до 8 МБ/с в расширениях стандарта.

Электрически IEEE-488 восьмибитная параллельная шина, содержащая шестнадцать сигнальных линий (восемь двусторонних используются для передачи данных, три — для установки соединения, пять — для управления шиной) плюс восемь — обратные провода для земли.

Все сигнальные линии используют отрицательную логику: наибольшее положительное напряжение интерпретируется как логический «0», а наибольшее отрицательное — как логическая «1». Линии данных (DIO) пронумерованы от 1 до 8, а линии данных (ЛД) в ГОСТ от 0 до 7.

Пять линий управления интерфейсом сообщают устройствам, присоединенным к шине, какие действия предпринимать, в каком режиме находиться и как реагировать на команды GPIB.

Команды

Команды GPIB всегда передаются с использованием классического протокола IEEE-488.1. Стандарт задает формат команд, посылаемых инструментам, и формат и кодировку откликов. Команды, как правило, являются аббревиатурами соответствующих слов английского языка. Команды-запросы снабжаются на конце вопросительным знаком. Все обязательные команды префиксируются астериском (*). Стандарт определяет минимальный набор возможностей, которыми должен обладать каждый инструмент, а именно: принимать и передавать данные, посылать запрос на обслуживание и реагировать на сигнал «Очистить интерфейс». Все команды и большинство данных используют 7-битный набор ASCII, в котором 8-й бит не используется или используется для четности.

Для получения информации от устройств, подключенных к шине, и переконфигурации шины контроллер посылает команды пяти классов: «Uniline» («однобитная»), «Universal Multiline» («многобитная общего назначения»), «Address Multiline» («многобитная адресная»), «Talk Address Group Multiline» («многобитная групповая адресная передающая») и «Listen Address Group Multiline» («многобитная групповая адресная приемная»).

Управляющие последовательности IEEE-488.2

Описание Управляющая последовательность Требования IEEE-488.2
Посылка команда ATN- истинно Send Command Обязательно
Установка адреса для посылки данных Send Setup Обязательно
Посылка команд ATN-ложно Send Data Bytes Обязательно
Посылка программного сообщения Send Обязательно
Установка адреса для получения данных Receive Setup Обязательно
Получение данных ATN-ложно Receive Response Message Обязательно
Получение сообщения ответа Receive Обязательно
Активизация линии IFC Send IFC Обязательно
Очистка приборов Device Clear Обязательно
Установка приборов в автономное состояние Enable Local Controls Обязательно
Установка приборов в состояние удалённого управления Enable Remote Обязательно
Установка приборов в режим удалённого управления в состоянии локаута Set RWLS Обязательно
Установка приборов в автономное состояние в состоянии локаута Send LLO Обязательно
Чтение байта статуса 488.1 Read Status Byte Обязательно
Посылка сообщения выполнения триггера группе (GET) Trigger Обязательно
Передача управления другому прибору Pass Control Обязательно
Параллельный опрос Perform Parallel Poll
Конфигурация приборов для параллельного опроса Parallel Poll Configure
Отмена возможности параллельного опроса Parallel Poll Unconfigure

Вторым компонентом системы команд является Стандарт команд программируемого инструмента, SCPI (англ. Standard Commands for Programming Instruments), принятый в 1990 году. SCPI определяет стандартные правила сокращения ключевых слов, используемых в качестве команд. Ключевые слова могут быть использованы либо в длинной (например, MEASure — измерить), либо в короткой прописной форме (MEAS). Команды в формате SCPI префиксируются двоеточием. Аргументы команд разделяются запятой. Стандарт SCPI оперирует с моделью программируемого инструмента. Функциональные компоненты модели включают систему измерений (подсистемы «вход», «датчик» и «калькулятор»), систему генерации сигналов (подсистемы «калькулятор», «источник» и «выход») и подсистемы «формат», «показ», «память» и «триггер». Естественно, что у некоторых инструментов отсутствуют некоторые системы либо подсистемы. Например, осциллограф не имеет системы генерации сигналов, а программируемый генератор цифровых последовательностей — системы измерений. Команды для работы с компонентами систем и подсистем имеют иерархический вид и состоят из подкоманд, разделенных двоеточиями.

Пример команды, конфигурирующей цифровой мультиметр для измерения переменного напряжения величиной до 20 В с точностью 1 мВ и одновременно запрашивающей результат измерения:

: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

Разъёмы

Гнездо разъёма IEEE-488
№ контакта наименование по IEEE наименование по ГОСТ Назначение
1 Data input/output bit. DIO1 Линия данных 0 ЛД0 Провод в КОП системы интерфейса, применяемый для передачи информации между соединенными устройствами.
2 Data input/output bit. DIO2 Линия данных 1 ЛД1 Провод в КОП системы интерфейса, применяемый для передачи информации между соединенными устройствами.
3 Data input/output bit. DIO3 Линия данных 2 ЛД2 Провод в КОП системы интерфейса, применяемый для передачи информации между соединенными устройствами.
4 Data input/output bit. DIO4 Линия данных 3 ЛД3 Провод в КОП системы интерфейса, применяемый для передачи информации между соединенными устройствами.
5 End-or-identify. EOI Линия «конец передачи» КП Используется «talker» для идентификации конца сообщения. Контроллер выставляет этот сигнал для инициации параллельного опроса подключенных к шине устройств.
6 Data valid. DAV Линия «сопровождение данных» СД Используется устройством типа «talker» для оповещения устройств типа «listener» о том, что информация, подготовленная «talker», выставлена на линиях данных и достоверна.
7 Not ready for data. NRFD Линия «готов к приему» ГП Используется устройствами типа «listener» для того, чтобы сообщить устройству типа «talker» о том, что они не готовы к приему данных. В этом случае устройство типа «talker» прекращает обмен информацией до того момента, когда все устройства типа «listener» будут готовы к продолжению диалога. Шина реализована по принципу «монтажное ИЛИ», что позволяет каждому взятому в отдельности устройству типа «listener» приостановить всю шину.
8 Not data accepted. NDAC Линия «данные приняты» ДП Используется устройствами типа «listener» и сообщает устройству типа «talker», что данные приняты всеми адресатами. Когда этот сигнал не активен, «talker» может быть уверен, что все клиенты успешно прочли данные с шины и можно приступать к передаче следующего байта данных.
9 Interface clear. IFC Линия «очистить интерфейс» ОИ Сигнал используется для инициализации или реинициализации шины и приведение интерфейса в исходное состояние.
10 Service request. SRQ Линия «запрос на обслуживания» ЗО Сигнал доступен любому клиенту шины. Вырабатывается прибором при необходимости передать контроллеру информацию об изменениях в работе (состоянии) прибора и необходимости передать эти данные контроллеру для принятия решения об изменениях в функционировании системы в целом. По этому сигналу контроллер переводит, по возможности, подавшее его устройство в состояние «talker» и передает ему функции передачи данных.
11 Attention. ATN Линия «управление» УП Контроллер шины использует линию для сообщения клиентам о том, что по шине идут команды, а не данные.
12 Shield SHIELD Экран СП УП Провод от контакта 12 скручивается с проводом от контакта 11
13 Data input/output bit. DIO5 Линия данных 4 ЛД4 Провод в КОП системы интерфейса, применяемый для передачи информации между соединенными устройствами.
14 Data input/output bit. DIO6 Линия данных 5 ЛД5 Провод в КОП системы интерфейса, применяемый для передачи информации между соединенными устройствами.
15 Data input/output bit. DIO7 Линия данных 6 ЛД6 Провод в КОП системы интерфейса, применяемый для передачи информации между соединенными устройствами.
16 Data input/output bit. DIO8 Линия данных 7 ЛД7 Провод в КОП системы интерфейса, применяемый для передачи информации между соединенными устройствами.
17 Remote enable. REN Линия «дистанционное управление» ДУ Переводит устройство, подключенное к шине, в режим исполнения команд с шины (а не с контрольной панели) и обратно. Вырабатывается контроллером для активизации работы подключенных к шине приборов по командам, поступающим от контроллера.
18 (wire twisted with DAV) GND Скрученная пара провода сигнальной линии СД СП СД Один из проводов «логической земли», скрученный с сигнальной линией, для минимизации взаимных помех между сигнальными линиями, восприимчивости сигнальных линий к внешним шумам и передачи интерфейсных сигналов во внешнюю среду.
19 (wire twisted with NRFD) GND Скрученная пара провода сигнальной линии ГП СП ГП Аналогично
20 (wire twisted with NDAC) GND Скрученная пара провода сигнальной линии ДП СП ДП Аналогично
21 (wire twisted with IFC) GND Скрученная пара провода сигнальной линии ОИ СП ОИ Аналогично
22 (wire twisted with SRQ) GND Скрученная пара провода сигнальной линии ЗО СП ЗО Аналогично
23 (wire twisted with ATN) GND Скрученная пара провода сигнальной линии УП СП УП Аналогично
24 Logic ground «Логическая земля»

IEEE-488

IEEE-488 определяет для подключения 24-контактный микроразъем ленточного типа Amphenol. Микроразъем ленточного типа имеет D-образный металлический кожух, который крупнее, чем D-subminiature разъём. Иногда разъём ошибочно называются «разъём Centronics», поскольку 36-контактный разъём такого же типа применялся производителями принтеров для соответствующих подключений принтеров.

Необычная особенность разъёма IEEE-488 состоит в том, что обычно используют «двуглавый» дизайн, с вилкой на одной стороне и гнездом на другой стороне разъёма (на обоих концах кабеля). Это позволяет осуществить подключение соединителей для простого цепочечного подключения. Механические особенности разъёма ограничивают число расположенных в стеке соединителей четырьмя или меньшим количеством.

Они держатся на месте винтами с резьбой UTS (англ. Unified Thread Standard) (сейчас в значительной степени устаревший) либо метрическими винтами M3,5×0,6. По договоренности, метрические винты окрашены в чёрный цвет, так что два соединителя разного типа не пересекаются.

IEC-625

Стандарт IEC-625 предписывает использовать 25-контактные D-subminiature разъёмы, такие же, как использует IBM PC-совместимый компьютер для параллельного порта. Этот соединитель, по сравнению с 24-контактным типом разъёма, не приобрел существенного признания на рынке.

История

В конце 1960-х Hewlett-Packard (HP) выпускала различные измерительные инструменты и тестирующее оборудование, такие, как цифровые мультиметры и логические анализаторы сигналов. Для установления связи между собой и компьютером они использовали HP Interface Bus (HP-IB).

Шина была относительно простой, основывалась на существующих в то время технологиях, используя простые параллельные электрические шины и несколько индивидуальных линий для управления. Например, HP 59501 Power Supply Programmer и HP 59306A Relay Actuator были относительно простыми периферийными устройствами использующими HP-IB, реализовывались только на ТТЛ-логике и не использовали микропроцессоров.

Другие производители фактически скопировали HP-IB, назвав свои разработки General Purpose Interface Bus (GPIB), де-факто создав индустриальный стандарт для управления автоматизированными измерениями. С ростом популярности GPIB происходила и его стандартизация международными организациями по стандартизации.

Стандарты

IEEE

В 1975 году IEEE стандартизировал шину как «Standard Digital Interface for Programmable Instrumentation» IEEE-488 (сейчас IEEE-488.1). Это формализовало механические, электрические и основные параметры протокола универсальной интерфейсной GPIB, но ничего не говорило о формате команд или данных.

В 1987 году IEEE представил «Standard Codes, Formats, Protocols, and Common Commands» IEEE-488.2, переопределяющий предыдущую спецификацию как IEEE-488.1. IEEE-488.2 обеспечил основной синтаксис и формат соглашений, такие, как не зависящий от устройства команды, структуры данных, ошибочные протоколы, и подобные. IEEE-488.2, построенный на IEEE-488.1 без его замены; оборудование может соответствовать 488.1, не соответствуя 488.2. Новый стандарт содержит две части: IEEE-488.1, описывающую аппаратную часть и низкоуровневое взаимодействие с шиной, и IEEE-488.2, определяющую порядок передачи команд по шине. Стандарт IEEE-488.2 был ещё раз пересмотрен в 1992 году. На этапе принятия первой версии стандарта ещё не было никакого стандарта для команд, специфических для инструмента. Команды управления тем же классом инструмента (например, мультиметр) сильно разнились между изготовителями и даже моделями.

В 1990 году был представлен «Стандарт команд программируемого инструмента».SCPI добавил универсальные команды стандарта, и серии инструментальных классов с передачей специфических для класса команд. Несмотря на то, что SCPI был разработан на основе стандарта IEEE-488.2, он может быть легко адаптирован для любой другой (не-IEEE-488.1) аппаратной базы.

IEC

IEC параллельно с IEEE разработала свой собственный стандарт — IEC-60625-1 и IEC-60625-2.

В 2004 IEEE и IEC скомбинировали свои соответствующие стандарты в «Двойной протокол» IEEE/IEC — стандарт IEC-60488-1, в котором Standard for Higher Performance Protocol for the Standard Digital Interface for Programmable Instrumentation — Part 1: General заменил IEEE-488.1/IEC-60625-1, а IEEE-488.2/IEC-60625-2. IEC-60488-2 соответственно заменён на Part 2: Codes, Formats, Protocols and Common Commands

ГОСТ

Общее число адресов приёмников и источников информации в системе не должно превышать 961 при двухбайтной организации.

Приложение № 8 фактически декларирует отсутствие в стандарте средств обнаружения ошибок:

Необходимость в средствах обнаружения ошибок в устройствах широко варьируется в зависимости от шумной среды, важности данных, проходящих через интерфейс, типа функций устройства, активных в источнике и приемнике данных, и от общего применения системы, в которой используется устройство.

Специализированные и конкретные средства для обнаружения ошибок не включены в данный стандарт. Соответствующий метод обнаружения ошибок зависит от конкретного применен ни устройств или системы и поэтому в настоящем стандарте не устанавливается.

Некоторые общие положения, приведенные ниже, служат для иллюстрации преимуществ обычных средств обнаружения ошибок.

Контрольный разряд четности на ЛД7 для обнаружения ошибок, содержащихся на ЛД0—ЛД6 7-битного кода, обеспечивает минимальные средства для обнаружения ошибок и требует минимальной аппаратной части. Проверка на четность позволяет обнаружить одиночную ошибку в пределах группировки битов любого байта. Несколько битов с ошибкой в пределах одного байта могут быть не обнаружены.

Продольный контрольный разряд четности на каждой линии ЛД в конце строки или блока данных может быть использован таким же образом, что и контрольный разряд четности (для той же цели и тех же результатов).

Циклический контроль c помощью избыточных кодов является более сложный и значительно повышает стоимость контроля по сравнению с вышеуказанными способами. Различные коды циклического контроля могут применяться для обнаружения ошибок различного типа. Специальные ходы циклического контроля настоящим стандартом не рассматриваются.

HS-488 от National Instruments

National Instruments представил обратносовместимое расширение для IEEE-488.1, изначально называемое высокоскоростной протокол GPIB (HS-488). Используя стандартные кабели и аппаратную базу, HS-488 улучшает производительность шины путём устранения задержек, связанных с необходимостью дожидаться подтверждения в трехсигнальной схеме IEEE-488.1 (DAV/NRFD/NDAC), где максимальная пропускная способность не превышает 1,5 МБ/с. Таким образом удалось увеличить скорость передачи данных до 8 МБ/с, хотя скорость уменьшилась, когда к шине подключалось большее количество устройств. Это отобразилось в стандарте в 2003 (IEEE-488.1-2003).

Использование

В оборудовании для автоматических измерений

Продукты, выпускаемые National Instruments, ориентированы на автоматизацию лабораторных рабочих мест. Это такие классы измерительных приборов, как анализаторы-тестеры, системы калибровки, осциллографы и источники питания, базирующиеся на шине GPIB. Модульные решения (VXI) превалируют для многоцелевых систем, и самыми популярными приборами здесь являются всевозможные типы переключателей-мультиплексоров. Мультиметры в равной мере представлены в обоих случаях.

Сложные измерительные системы выпускаются фирмами HP, Wavetek, B&K Precision (Cobra Electronics), Kinetic Systems, Inc. В 1993 году более половины интерфейсов GPIB приходилось на рабочие станции Sun, SGI, IBM RISC System/6000 и HP. В них используется программные средства уровня специальных языков типа Abbreviated Test Language for All Systems (ATLAS) и языков общего назначения типа Ада.

В качестве интерфейса в компьютере

Внимание разработчиков HP фокусировалось на оснащении интерфейсом цифровой измерительной аппаратуры, проектировщики особо не планировали делать IEEE-488 интерфейсом периферийных устройств для универсальных компьютеров. Но когда первым микрокомпьютерам HP потребовался интерфейс для периферии (жёстким дискам, стримеры, принтерам, плоттерам, и т. д.), HP-IB был с готовностью доступен и легко приспособлен для достижения этой цели.

Компьютеры, производимые HP, использовали HP-IB, например, HP 9800, серии HP 2100, и серии HP 3000. Некоторые из инженерных калькуляторов, выпускаемых HP в 1980-х, такие, как серии HP-41 и HP-71B, также имели возможность использования IEEE-488, через необязательный интерфейсный модуль HP-IL/HP-IB.

Другие изготовители также приняли универсальную интерфейсную шину для своих компьютеров, как, например, линейка Tektronix 405x.

Commodore PET использовал шину IEEE-488 с нестандартным соединителем платы для подключения своих внешних устройств. Commodore наследовал восьмибитные компьютеры, такие, как VIC-20, C-64 и C-128, в которых применялся последовательный интерфейс, использующий круглый соединитель DIN, для которого они сохранили программирование интерфейса и терминологии IEEE-488.

Пока скорость шины IEEE-488 была увеличена для некоторых приложений до 10 МБ/с, отсутствие стандартов командного протокола ограничило сторонние предложения и функциональную совместимость. В конечном итоге, более быстрые и полные стандарты (например, SCSI) заменили IEEE-488 в периферийных устройствах.

Достоинства

  • Простой аппаратный интерфейс
  • Позволяет подключать вперемешку высокоскоростные устройства с низкоскоростными
  • Популярный, хорошо поддержан на рынке

Недостатки

  • Разъёмы и кабели механически громоздкие
  • Ограничения на скорость и расширения спецификации
  • Отсутствие стандартов командного протокола (перед SCPI)
  • Реализации опций (например, конец обработки передачи) могут усложнить функциональную совместимость
  • Нет обязательной гальванической изоляции между шиной и устройствами

См. также

Ссылки


Новое сообщение