Каталог товаров
Выберите модификацию товара.
Изображение
Товар добавлен к сравнению.

Добавлен к сравнению.

GPIB - интерфейсная шина общего назначения

20.06.2019

Стандарт и интерфейсная шина общего назначения GPIB в общих чертах были созданы практически одновременно с началом эры торжества компьютерных технологий. Бурное развитие электронных устройств и расширение возможностей измерительных приборов практически сразу поставили вопрос о взаимодействии между контрольно-управляющей и измерительной аппаратурой и компьютерной техникой. Компания Hewlett-Packard в середине 60-х годов представила интерфейс Hewlett-Packard Interface Bus (HP-IB) как многоцелевой контроллер. Бурно растущий рынок и значительное расширение сферы применений контрольно-измерительной аппаратуры потребовали возможностей комбинирования компьютера и конечного измерительного прибора. HP-IB стал удачным и гармоничным решением этой задачи.

В 1970-х стандарт HP-IB был преобразован в более общий GPIB, а также был принят как стандарт IEEE-488. Распространение стандарта и его востребованность стали основой для принятие его как одного из основных. В начале 1990-х годов были выпущены новые спецификации стандарта. А также выпущена спецификация языка программирования SCPI, позволяющего сравнительно удобно создавать программное обеспечение для измерительной техники.

Основные достоинства GPIB:
• достаточно высокая скорость передачи,
• достаточное число приборов на шине,
• гибкость топологии системы,
• возможность значительных расстояний между приборами

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

Хотя в поледнее время появился ряд более новых стандартов - VXI, PXI, LXI - компании-лидеры в производстве информационно-измерительной техники расширяют и номенклатуру GPIB, а также средств сопряжения GPIB с более новыми интерфейсами. Это объясняется крайне просто и понятно - всегда будут нужны системы на 1-2 прибора.

Основные причины успеха GPIB - техническая состоятельность и рыночная привлекательность. Успех GPIB - это успех гармонично сбалансированной платформы.

История GPIB

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

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

В 1975 году HPIB превратился в GPIB, а также был принят как стандарт IEEE-488 
В 1987 году IEEE-488 получил номер IEEE-488.1, также был принят стандарт IEEE-488.2
В 1990 году была принята спецификация SCPI
В 1992-1993 году оба стандарта IEEE-488 вышли в новых версиях

Стандарт 488.2

Одновременно с принятием стандарта 488.1 фирмы HP, Tektronix и другие начали работать в рамках IEEE над первым уровнем программной стандартизации, получившей имя IEEE-488.2 Standard Codes and Formats (Стандартные коды и форматы, принят в 1987 году) [IEEE-488.2]. Такая стандартизация была существенным шагом вперед, обеспечивая надежный способ общения по шине в смысле механизма доставки команд, однако относительно самих команд попытки стандартизации сделано не было. В качестве аналогии для этой ситуации можно привести пример телефонной системы, в которой получено хорошее качество связи, но с абонентами, говорящими на разных языках.

Разработка стандарта шла поэтапно. В 1987 году был выпущен набросок стандарта, а старое название 488 преобразовано в 488.1. В 1990 году был принят стандарт SCPI для приборов с интерфейсом 488. В 1992 году была принята новая ревизия стандарта 488.2.

Цель стандарта 488.2 - преодоление различных ограничений исходного стандарта 488. Первичный стандарт не определял форматы данных, общие команды конфигурации, протокол обмена сообщениями, и команды, специфичные для приборов. Стандарт 488.2 не затрагивает аппаратной части, основываясь на 488.1.

Основной концепцией 488.2 является точная речь и снисходительные слушатели. Стандарт определяет требования к Контроллеру и приборам с тем, чтобы получить высоконадежную и эффективную систему.

Что такое снисходительные слушатели? Приборы, удовлетворяющие 488.2, должны уметь правильно интерпретировать команды и их небольшие вариации. В частности, они должны производить анализ содержимого регистров и правильно интерпретировать полную и краткую форму команд. Последнее обстоятельство существенно упрощает пользование системой. Например, установка частоты генератора может быть произведена любым из перечисленных ниже способов:
Frequency 24.356
Frequency +24
FREQUENCY 24
FREQuency 2.4E+1
Frequency +2.43E+1

Существенно то, что интерпретация формата данных также возложена на прибор. Округление производится в соответствии с внутренней точностью прибора. При запросе FREQ? Прибор возвратит установку в одном из предопределённом стандартом форматов, независимо от того, каким образом эта установка в нем была произведена.

Контроллеры 488.2

Управляющие последовательности. В стандарте 488.2 определены управляющие последовательности, которые формируют точные сообщения 488.1, выдаваемые Контроллером, а также порядок сообщений, если их требуется послать несколько. Всего определено 19 последовательностей 15 обязательных и 4 опциональных.

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

Протоколы 488.2.

Протоколы объединяют наборы управляющих последовательностей, с тем, чтобы выполнить полную измерительную операцию. Определено 2 обязательных и 6 опциональных протоколов. Протокол RESET обеспечивает инициализацию всех приборов. Протокол ALLSPOLL опрашивает каждый прибор последовательно и возвращает байт статуса каждого прибора. Протоколы PASSCTL и REQUESTCTL обеспечивают передачу управления шиной разным приборам. Протокол TESTSYS реализует функцию самотестирования каждого прибора.

Протоколы FINDLSTN и FINDRQS поддерживают управление системой GPIB. При этом используются возможности, заложенные в стандарте 488.1. Контроллер выполняет протокол FINDLSTN, генерируя адрес Слушателя и проверяя наличие прибора на шине по состоянию линии NDAC. Протокол FINDLSTN возвращает список Слушателей, и выполнение этого протокола до начала работы прикладной программы гарантирует правильность текущей конфигурации системы. Для работы протокола FINDRQS используется возможность проверки линии SRQ. Входной список устройств можно ранжировать по приоритетам. Тем самым обеспечивается обслуживание наиболее ответственных приборов в первую очередь.

Приборы 488.2

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

Стандарт 488.2 определяет минимальный набор возможностей интерфейса 488.1 для приборов. Все приборы должны иметь возможность посылать и принимать данные, запрашивать обслуживание и отвечать на сообщение очистки устройства. Также определен формат команд, посылаемых в приборы, и формат ответов на запросы, выдаваемых приборами. Поскольку эти команды и запросы одинаковы для всех устройств, они стандартизованы. Стандартизована также и статусная информация.

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

Обеспечение надежной и хорошо описанной связи измерительной техники и компьютера было первым шагом в построении открытых измерительных систем. В конце 60-начале 70 годов был популярен другой недорогой интерфейс связи оборудования и компьютеров BCD (Binary-Coded Decimal). Интерфейс HP-IB получил большее распространение ввиду его полной открытости и документированности.

В 1975 году он был переименован в GPIB и официально одобрен Институтом инженеров электротехников и электронщиков (IEEE) как стандарт IEEE 488-1975 [IEEE-488.1], который позднее стал стандартом ANSI/IEEE 488.1. Этот стандарт зафиксировал электрические и механические соединения между компьютерами и приборами.

Помимо HP, аппаратуру GPIB начали производить для рабочих станций, а затем и для IBM-совместимых ПК фирмы National Instruments (NI) и другие.

Приборы и линии управления GPIB

Стандарт 488.1 определяет электрические и механические характеристики и модель коммуникации.

Топология сети может быть линейной и звездообразной. В сети не может быть более 15 приборов, расстояние между ними не может превышать 4 м при полной длине кабеля до 20 м. Возможно расширение сети с помощью расширителей.

Типы сообщений GPIB

Приборы GPIB обмениваются информацией, передавая сообщения интерфейса и сообщения, зависящие от прибора, через интерфейс системы.

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

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

Типы приборов GPIB

Приборы GPIB могут быть Слушателями, Спикерами, Контроллерами. Спикер посылает данные одному или более Слушателям. Контроллер управляет шиной, посылая команды всем приборам.

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

В системе GPIB может быть только один Системный контроллер. Он может передать функцию управления другому Контроллеру, сделав его Текущим контроллером.

Сигналы и линии GPIB

Интерфейс состоит из 16 сигнальных линий и 8 линий заземления или возврата сигнала. Сигнальные линии группируются следующим образом: 8 линий данных, 3 линии протокола и 5 линий управления интерфейсом.

Линии данных предназначены для передачи данных и команд. Все команды и большинство данных используют 7-битный набор ASCII, в котором 8 бит не используется или используется для четности.

Линии протокола управляют асинхронным образом передачей байтов между приборами. Используемый способ называется 3-проводным рукопожатием со взаимной блокировкой (interlocked handshake). Он гарантирует передачу данных по линиям данных без ошибок.

  • Линия NRFD (not ready for data) отображает, готов ли прибор к приему байта сообщения. Линия устанавливается всеми приборами при приеме команд и Слушателями при приеме данных.
  • Линия NDAC (not data accepted) означает, приняты ли данные. Линия устанавливается всеми приборами при приеме команд, и Слушателями при приеме данных.
  • Линия DAV (data valid) сообщает, что линии сигналов и данных стабильны (правильны) и могут быть правильно восприняты приборами. Контроллер устанавливает линии DAV при посылке команд, а Спикер устанавливает эти линии при посылке данных.

Линии управления интерфейсом

  • ATN (attention) Контроллер устанавливает линию ATN в логическую 1 при посылке команд, и в логический 0, когда Спикер может посылать данные.
  • IFC (interface clear) Системный контроллер устанавливает линию IFC для инициализации шины с тем, чтобы стать Текущим контроллером.
  • REN (remote enable) Системный контроллер устанавливает линию REN при установке приборов в локальную или удаленную программную моду.
  • SQR (service request) Любой прибор может установить линию SRQ для асинхронного запроса на обслуживание Контроллером.
  • EOI (end or indentify) Имеет 2 назначения. Спикер использует линию для обозначения конца строки сообщения, а Контроллер таким образом сообщает приборам, что они должны идентифицировать свой ответ при параллельном опросе.

Язык программирования приборов SCPI

Прояснив вопросы доступа к приборным интерфейсам, можно перейти собственно к вопросам программирования приборов. Классическим способом здесь является программирование с помощью посылок строк ASCII. В 60-80-х годах разработчики ориентировались на способ программирования приборов, подобный тому, как это делалось в современных им средствам разработки в условиях дороговизны памяти. Например, программные функции вызывались как F1, F2, и т.д., диапазоны измерений как R1, R2, и т.д. При этом возникали трудности для охвата функциональности из-за недостатка алфавита. Даже в одной и той же фирме для разных изделий использовались разные команды для одинаковых функций. Подобный стиль получил на Западе название R2D2.

Неудачной попыткой стандартизации языка команд, предпринятой ВВС США, был язык CIIL (Command Instrument Interface Language). В 1990 году был предложен язык SCPI (Standard Commands for Programmable Instruments) как открытый стандарт, который определяет общий набор команд для программируемых устройств.

SCPI стандарт состоит из нескольких частей. Основные из них следующие:

  • Синтаксис;
  • Стандартные команды;
  • Форматы данных.

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

Наиболее важной частью стандарта является модель универсального программируемого прибора. На этой основе и строятся команды управления, которые объединены в более чем 20 групп.

Модель прибора SCPI

Как уже говорилось, SCPI не просто язык. Для достижения совместимости и классификации групп команд, SCPI определяет модель программируемого прибора. Общая модель SCPI, представленная на рисунке 3, применима ко всем типам измерительных приборов.

В стандарте SCPI реализованы три важных идеи совместимости команд управления: горизонтальная, вертикальная и функциональная. Эти идеи удобно проиллюстрировать на примере. Предположим, что контроллер посылает команды различным осциллографам для измерения напряжения. Эти команды будут иметь один и тот же вид: SENSE1:VOLT:RANGE 1.0,

То есть в SCPI используются одни и те же команды для одинаковых функций внутри семейства приборов - вертикальная совместимость. Реализация самих функций возложена на разработчика программного обеспечения прибора.

SCPI реализует команды различного уровня: от высокоуровневых команд, которые легко запомнить и использовать, до низкоуровневых, которые адресуют конкретику функциональности и обеспечивают тонкую настройку. Высокоуровневая команда MEASure:FERQuency? или ее короткая форма MEAS:FERQ? может быть послана различным приборам. Например, частотомеру или счетчику, которые выполняют такое измерение по-разному. Использование одних и тех же команд для приборов разного типа называется горизонтальной совместимостью.

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

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

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

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

Компонент сопряжения с объектом (signal routing) связывает прибор с внешним сигналом; компонент измерения преобразует сигнал в промежуточную форму; компонент генерации сигнала преобразует данные в реальные сигналы. Компонент память хранит данные в приборе. Компонент формата преобразует данные прибора в формат данных шины. Компонент триггер синхронизует операции прибора с внутренними функциями, внешними событиями или другими приборами.

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

Функции измерения и генерации сигнала распадаются на 3 компонента. Блоки INPut и OUTput служат для связи внешнего сигнала с измерением или генерацией. Блоки SENSe и SOURce преобразуют сигнал во внутренний формат до его преобразования в данные и наоборот. CALCulate связывает данные прибора с данными приложения.

Другим удобством использования приборов, управляемых от компьютера, является возможность обмена данными. Поскольку SCPI стандартизует форматы обмена данных, не возникает проблемы их дополнительной интерпретации, например, при использовании горизонтально совместимых команд. В наиболее абстрактной форме это проявляется при представлении данных в виде файлов и обмене между приборами. Например, регистратор передает буфер данных анализатору спектра для частотного анализа, плоттеру для печати, компьютеру для отображения на экране дисплея.

Возврат к списку
Корзина 0 Сравнение0 Обратная связь