Обзор GPIB

Что такое GPIB?

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

  • Спецификация IEEE 488.1-1975 определяет электрические и механические характеристики интерфейса и его основные функциональные характеристики.

  • Спецификация IEEE-488.2-1987 основана на спецификации IEEE 488.1, чтобы определить приемлемое минимальное строение и основной набор команд приборов и общих форматов данных.

  • Спецификация Standard Commands for Programmable Instrumentation (SCPI) основана на командах, заданных спецификацией IEEE 488.2, для определения стандартного набора команд прибора, который может использоваться GPIB или другими интерфейсами.

Для многих приложений GPIB можно общаться со своим инструментом без детального знания того, как работает GPIB. Связь устанавливается через объект GPIB, который вы создаете в MATLAB® рабочей области.

Если ваше приложение является простым или вы уже знакомы с вышеупомянутыми темами, можно начать с создания объекта GPIB. Если требуется высокоуровневое описание всех шагов, которые вы, вероятно, сделаете при общении с инструментом, обратитесь к разделу Создание объектов инструмента.

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

Важные функции GPIB

Важные функции GPIB описаны ниже. Подробную информацию о функциональности GPIB см. в соответствующих ссылках в Библиографии.

Шина и соединитель

Шина GPIB представляет собой кабель с двумя 24-контактными разъемами, которые позволяют подключать несколько устройств друг к другу. Шина и разъем имеют следующие функции и ограничения:

  • Можно подключить до 15 устройств к шине.

  • Можно подключить устройства в звездном строении, линейном строении или комбинации строений.

  • Для достижения максимальной скорости передачи данных длина кабеля не должна превышать 20 метров в целом или в среднем 2 метра на устройство. Можно устранить эти ограничения при помощи расширителя шины.

Устройства GPIB

Каждое устройство GPIB должно быть некоторой комбинацией Talker, прослушиватель или контроллер. Контроллер обычно является платой, которую вы устанавливаете на свой компьютер. Болтовни и прослушиватели обычно являются инструментами, такими как осциллографы, генераторы функций, мультиметры и так далее. Большинство современных инструментов - это и Talkers, и прослушиватели.

  • Talkers - Talker передает данные через интерфейс, когда адресован для разговора Контроллером. За раз может быть только один Говорящий.

  • Прослушиватели - Прослушиватель получает данные по интерфейсу при обращении для прослушивания Контроллером. В данный момент может быть до 14 прослушивателей. Как правило, Контроллер является Говорящим, в то время как один или несколько инструментов на GPIB являются Прослушивателями.

  • Контроллеры - Контроллер определяет, какие устройства являются Контроллерами или Прослушивателями. Система GPIB может содержать несколько контроллеров. Один из них обозначается системным контроллером. Однако в данный момент может быть активен только один контроллер. Текущий активный контроллер является входным контроллером (CIC). CIC может передавать управление неактивному контроллеру, но только системный контроллер может сделать себя CIC.

    Когда контроллер не отправляет сообщения, Talker может отправлять сообщения. Как правило, CIC является прослушивателем, в то время как другое устройство включено в качестве говорящего.

Каждый контроллер идентифицируется уникальным индексным номером платы. Каждый Talker/Listener идентифицируется по уникальному первичному адресу в диапазоне от 0 до 30 и по необязательному вторичному адресу, который может быть 0 или может варьироваться от 96 до 126.

Данные GPIB

Существует два типа данных, которые могут быть переданы по GPIB: данные прибора и сообщения интерфейса:

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

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

Передача данных состоит из одного байта (8 биты), переданных параллельно. Скорость передачи данных через интерфейс ограничена 1 мегабайтом в секунду. Однако эта скорость передачи данных обычно не достигается на практике и ограничена самым медленным устройством на шине.

Линии GPIB

GPIB состоит из 24 линий, которые разделяются всеми инструментами, подключенными к шине. Для сигналов используются 16 линий, а для земли - восемь линий. Сигнальные линии разделены на следующие группы:

  • Восемь линии данных

  • Пять линий управления интерфейсами

  • Три линии рукопожатия

Сигнальные линии используют низкоправдовое (отрицательное) логическое соглашение с уровнями TTL. Это означает, что линия является низкой (true или утвержденной), когда это низкий уровень TTL, и линия является высокой (false или unasserted), когда это высокий уровень TTL. Схема назначения контактов для разъема GPIB представлена ниже.

Назначение контактов и сигналов GPIB

Контакт

Метка

Имя сигнала

Контакт

Метка

Имя сигнала

1

DIO1

Передача данных

13

DIO5

Передача данных

2

DIO2

Передача данных

14

DIO6

Передача данных

3

DIO3

Передача данных

15

DIO7

Передача данных

4

DIO4

Передача данных

16

DIO8

Передача данных

5

EOI

Завершите или идентифицируйте

17

ЖЭНЬ

Удаленное включение

6

DAV

Данные действительны

18

GND

Заземление DAV

7

NRFD

Не готов к данным

19

GND

Заземление NRFD

8

NDAC

Не приняты данные

20

GND

Заземление NDAC

9

IFC

Очистка интерфейса

21

GND

Заземление IFC

10

SRQ

Запрос на обслуживание

22

GND

Земля SRQ

11

ATN

Внимание

23

GND

Заземление ATN

12

Щит

Заземление шасси

24

GND

Сигнальная земля

Линии данных

Восемь линии данных, DIO1- DIO8, используются для передачи данных по одному байту за раз. DIO1 - наименее значительный бит, в то время как DIO8 - самый значительный бит. Переданные данные могут быть командой instrument или командой GPIB interface.

Форматы данных зависят от поставщика и могут основываться на тексте (ASCII) или быть двоичными. Команды интерфейса GPIB определяются стандартом IEEE 488.

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

Линии управления интерфейсами управляют потоком данных через интерфейс GPIB.

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

Линия

Описание

ATN

Используется контроллером для информирования всех устройств на GPIB о том, что байты подаются. Если линия ATN высока, байты интерпретируются как команда instrument. Если линия ATN является низкой, байты интерпретируются как сообщение интерфейса.

IFC

Используется контроллером для инициализации шины. Если линия IFC низкая, контроллер и прослушиватели отключаются, и системный контроллер становится зарядным контроллером.

ЖЭНЬ

Используется контроллером для перевода инструментов в удаленный или локальный программный режим. Если REN является низким, все прослушиватели помещаются в удаленный режим, и вы не можете изменить их настройки с передней панели. Если REN является высоким, все прослушиватели переводятся в локальный режим.

SRQ

Используется Talkers для асинхронного запроса услуги от контроллера. Если SRQ низок, то один или несколько Талеров требуют обслуживания (для примера была получена ошибка типа недопустимой команды). Вы проводите последовательный опрос, чтобы определить, какой Talker запросил услугу. Опрос автоматически устанавливает высокую линию SRQ.

EOI

Если линия ATN высока, линия EOI используется Talkers, чтобы идентифицировать конец потока байтов, такого как команда instrument. Если строка ATN является низкой, линия EOI используется контроллером для выполнения параллельного опроса (не поддерживается тулбоксом).

Можно проверить состояние линий управления интерфейсами с помощью BusManagementStatus свойство.

Линии квитирования

Три линии квитирования, DAV, NRFD и NDAC, используются для передачи байтов по линиям данных от Talker к одному или нескольким адресуемым прослушивателям.

Перед передачей данных вся три линии должны быть в надлежащем состоянии. Активный Talker управляет линией DAV, а прослушиватели (Прослушиватели ) - линиями NRFD и NDAC. Процесс квитирования позволяет безошибочно передавать данные .

Линии квитирования

Линия

Описание

DAV

Используется Talker, чтобы указать, что байт может быть прочитан Прослушивателями.

NRFD

Указывает, готов ли прослушиватель к приему байта.

NDAC

Указывает, принял ли прослушиватель байт.

Процесс квитирования выполняется на следующих этапах:

  1. Первоначально Talker удерживает высокий уровень линии DAV, указывающий, что данные не доступны, в то время как прослушиватели держат высокий уровень линии NRFD и низкий уровень линии NDAC, указывающий, что они готовы к данным, и никакие данные не принимаются, соответственно.

  2. Когда Talker помещает данные на шину, он устанавливает линию DAV на низкий уровень, что указывает на то, что данные действительны.

  3. Прослушиватели устанавливают нижнюю линию NRFD, что указывает на то, что они не готовы принимать новые данные.

  4. Прослушиватели задают высокий уровень линии NDAC, что указывает на принятие данных.

  5. Когда все прослушиватели указывают, что они приняли данные, Talker устанавливает высокий уровень линии DAV, указывающий, что данные больше не действительны. Теперь можно передать следующий байт данных.

  6. Прослушиватели удерживают высокую строку NRFD, указывающую, что они готовы снова получить данные, и линия NDAC остается низкой, указывая, что данные не принимаются.

Примечание

Если линия ATN высока во время процесса квитирования, информация рассматривается как данные, такие как команда прибора. Если линия ATN является низкой, информация рассматривается как сообщение интерфейса GPIB.

Этапы квитирования показаны ниже.

Можно проверить состояние линий квитирования с помощью HandshakeStatus свойство.

Отчеты о состоянии и событиях

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

  • Регистры состояния - Регистр байтов состояния (SBR) и Стандартный регистр состояния события (SESR) содержат информацию о состоянии прибора.

  • Включить регистры - регистр включения статуса события (ESER) и регистр включения запроса на обслуживание (SRER) определяют, какие типы событий сообщаются в регистры состояния и очередь событий. ESER включает SESR, в то время как SRER включает SBR.

Регистры состояния, активные регистры и выходная очередь показаны ниже.

Регистр байтов состояния

Каждый бит в регистре байтов состояния (SBR) связан с определенным типом события. Когда происходит событие, инструмент устанавливает соответствующий бит равным 1. Можно включить или отключить биты SBR с помощью регистра включения запроса на обслуживание (SRER). Можно определить, какие события произошли, считав разрешенные биты SBR.

Биты регистра байтов состояния

Бит

Метка

Описание

0-3

Итоговые сообщения для конкретного инструмента.

4

MAV

Бит Message Available указывает, доступны ли данные в очереди выхода. MAV равен 1, если выходная очередь содержит данные. MAV равен 0, если выходная очередь пуста.

5

ESB

Бит состояния события указывает, произошло ли одно или несколько включенных событий. ESB равен 1, если происходит включенное событие. ESB равен 0, если не происходит включенных событий. Вы включаете события с помощью регистра включения стандартного состояния событий.

6

Г-ЖА

В главном сводном состоянии представлены биты ESB и MAV. MSS равен 1, если MAV или ESB равны 1. MSS равен 0, если и MAV, и ESB равны 0. Этот бит получен из *STB? команда.

RQS

Бит Request Service указывает, что прибор запрашивает обслуживание от контроллера GPIB. Этот бит получен из последовательного опроса.

7

Итоговое сообщение для конкретного инструмента.

Для примера, если вы хотите знать, когда происходит определенный тип ошибки прибора, вы бы включили бит 5 SRER. Кроме того, вы активируете соответствующий бит Стандартного регистра активации статуса события (см. Стандартный регистр состояния события), так что интересующее событие ошибки сообщается битом ESB SBR.

Регистр состояния стандартного события

Каждый бит в Стандартном Регистре Состояния События (SESR) сопоставлен с определенным состоянием инструмента. Когда состояние меняется, инструмент устанавливает соответствующие биты равными 1. Можно включить или отключить биты SESR с помощью Стандартного регистра включения состояния события (ESER). Можно определить состояние прибора путем чтения разрешенных бит SESR. Биты SESR описаны ниже.

Биты SESR

Бит

Метка

Описание

0

OPC

Бит завершения операции указывает, что все команды завершены.

1

RQC

Бит Request Control не используется большинством инструментов.

2

QYE

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

3

DDE

Бит Device Dependent Error указывает, что произошла ошибка устройства (например, ошибка самотестирования).

4

EXE

Бит ошибки выполнения указывает, что ошибка произошла, когда устройство выполняло команду или запрос.

5

CME

Бит Command Error указывает, что произошёл синтаксис команд ошибка.

6

URQ

Бит запроса пользователя не используется большинством инструментов.

7

PON

Бит степени питания указывает, что устройство включено.

Для примера, если вы хотите узнать, когда происходит ошибка выполнения, вы активируете бит 4 ESER. Кроме того, бит 5 SRER (см. Status Byte Register) можно включить так, чтобы интересующее событие ошибки было сообщено битом ESB SBR.

Чтение и запись регистрационной информации

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

Регистрируйте команды

Зарегистрироваться

Операция

Команда

Описание

SESR

Читать

*ESR?

Возвращает десятичное значение, которое соответствует взвешенной сумме всех бит, установленных в регистре SESR.

Написать

Н/Д

Запись в регистр SESR невозможна.

ESER

Читать

*ESE?

Верните десятичное значение, которое соответствует взвешенной сумме всех бит, активируемых *ESE команда.

Написать

*ESE

Напишите десятичное значение, которое соответствует взвешенной сумме всех бит, которые вы хотите включить в реестре SESR.

SBR

Читать

*STB?

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

Написать

Н/Д

Вы не можете записать в реестр SBR.

SRER

Читать

*SRE?

Верните десятичное значение, которое соответствует взвешенной сумме всех бит, активируемых *SRE команда.

Написать

*SRE

Напишите десятичное значение, которое соответствует взвешенной сумме всех бит, которые вы хотите включить в реестре SBR.

Для примера, чтобы включить бит 4 SESR, вы записываете команду *ESE 16. Чтобы включить бит 4 и бит 5 SESR, вы записываете команду *ESE 48. Чтобы включить бит 5 SBR, вы записываете команду *SRE 32.

Чтобы увидеть, как использовать многие из этих команд в контексте сеанса управления инструментом, смотрите Выполнение последовательного опроса.

Внешние веб-сайты