Мегаобучалка Главная | О нас | Обратная связь


Линии управления шины GPIB



2018-07-06 870 Обсуждений (0)
Линии управления шины GPIB 0.00 из 5.00 0 оценок




НаименованиеIEEE / GPIB НаименованиеГОСТ Назначение
ATN(Attention) УП(Управление) Контроллер шины использует линию для сообщения слушателям о том, что по шине идут команды, а не данные.
SRQ(ServiceRequest) ЗО(Запрос обслуживания) Сигнал доступен любому слушателю шины. Вырабатывается прибором при необходимости передать контроллеру информацию об изменениях в работе (состоянии) прибора и необходимости передать эти данные контроллеру для принятия решения об изменениях в функционировании системы в целом. По этому сигналу контроллер переводит, по возможности, подавшее его устройство в состояние «говорящий» и передает ему функции передачи данных.
IFC(InterFace Clear) ОИ(Очистка Интерфейса) Сигнал используется для инициализации или реинициализации шины и приведение интерфейса в исходное состояние.
REN(Remote ENable) ДУ(Дистанционное Управление) Сигнал переводит устройство, подключенное к шине, в режим исполнения команд с шины (а не с контрольной панели) и обратно. Вырабатывается контроллером для активизации работы подключенных к шине приборов по командам, поступающим от контроллера.
EOI(End Of Identify) КП(Конец Передачи) Сигнал используется «говорящим» для идентификации конца сообщения. Контроллер также выставляет этот сигнал для инициации параллельного опроса подключенных к шине устройств.

 

Существуют два алгоритма определения источника запроса: последовательного и параллельного опроса.

При последовательном опросеконтроллер последовательно опрашивает все устройства, способные сформировать сигнал SRQ до момента определения устройства, сгенерировавшего этот сигнал SRQ (ЗО). Данный метод универсален, но не отличается быстродействием.

Последовательный опрос инициализируется «контроллером» как реакция на появление сигнала SRQ, сгенерированным одним из подключенных устройств, так и для проверки состояния подключенных устройств.

Последовательность команд для реализации последовательного опроса следующая.

1. Контроллер выставляет на шину GPIB команду SPE («отпирание последовательного опроса»).

2. Устройства, подключенные к шине GPIB, подготавливают сообщение о своем состоянии в определенном формате.

3. Контроллер назначает очередное устройство «говорящим», и снимает сигнал ATN (УП).

4. Назначенное «говорящим» устройство выдает сообщение о своем состоянии.

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

При параллельном опросеконтроллер выставляет в канал шины GPIB специальную команду, а в ответ все устройства выставляют на шину данных бит состояния. Контроллер, считывая состояние шины данных GPIB, определяет устройство, сгенерировавшее сигнал SRQ (ЗО). Каждое из устройств формирует свой уникальный бит состояния.

Параллельный опрос позволяет контроллеру быстро отреагировать на сигнал ЗО (SRQ), однако такой метод позволяет опросить ограниченное число (не более 8) средств измерений.

Для обмена информацией средства измерений, удовлетворяющие стандарту IEEE-488.2, используют текстовые команды, состоящие из 7 бит. Стандарт определяет минимальный набор возможностей, которыми должен обладать каждый инструмент, а именно: принимать и передавать данные, посылать запрос на обслуживание и реагировать на сигнал IFC (ОИ).

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

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

Архитектура системы программного обеспечения для GPIB аналогична архитектуре других устройств компании NationalInstruments. Интерфейс GPIB использует специальные драйверы интерфейса GPIB, универсальные драйверы программного интерфейса VISA (VirtualInstrumentSoftwareArchitecture) и драйверы измерительных приборов конкретных типов.

Для конфигурации измерительной системы, имеющей в своем составе аппаратные средства компании NationalInstruments, следует использовать утилиту MAX.

 

Лабораторный стенд

Структурная схема измерительной системы, построенной с использованием интерфейса GPIB, приведена на рисунке 2.

 

Рисунок 2 – Структурная схема измерительной системы на основе интерфейса GPIB

В составе системы персональный компьютер, оснащенный контроллером GPIB типа NIPCIe-GPIB, и средства измерений. Персональный компьютер (через контроллер GPIB) и средства измерений связаны между собой магистралью, по которой производится прием и передача команд и данных.

Аналогичную структуру имеет и лабораторный стенд с той лишь разницей, что вместо СИ в нем используются симуляторы измерительного прибора типа NIInstrumentSimulator. Обычно в работе используется один или два симулятора (n=2)с адресами 2 и 10. В дальнейшем для простоты изложения материала будем считать, что в системе установлен один симулятор с адресом 2.

 

Рабочее задание

Задание 1. Проверка конфигурации системы и работоспособности средств измерений

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

1.1. Включите симулятор с адресом 2 и проверьте, загорелись ли светодиоды Power и Ready. Затем запустите утилиту MAX двойным щелчком мыши по ее иконке на рабочем столе или выбором пункта главного меню Tools>>Measurement&AutomationExplorer в среде LabVIEW.

1.2. Откройте секцию DevicesandInterfaces, которая отобразит установленные в системе интерфейсы. Если GPIB-интерфейс присутствует в списке, то программные средства NI-488.2 правильно загружены в систему. В противном случае обратитесь к преподавателю. Выделите GPIB-интерфейс и нажмите кнопку Properties (свойства) на инструментальной панели для отображения диалогового окна Properties(смотреть рисунок 3). Изучите их, но не изменяйте установки GPIB-интерфейса. Затем нажмите на кнопку OK.

 

Рисунок 3 – Диалоговое окно свойств интерфейса GPIB

 

Убедитесь в том, что в секции DevicesandInterfaces все еще выбран GPIB-интерфейс, и нажмите на кнопку ScanforInstruments инструментальной панели.

1.3. Откройте секцию GPIB-board. В левой секции появится измерительный прибор под именем Instrument0.Выделите имя Instrument0 для отображения информации в правой половине панели MAX (смотреть рисунок 4). Убедитесь, что симулятор имеет первичный адрес GPIB, равный 2.

1.4. Нажмите на кнопку CommunicatewithInstrument инструментальной панели. Появится интерактивное окно коммуникатора (смотреть рисунок 5), в котором можно посылать команды (запросы), производить чтение или запись информации.

Введите команду *IDN? в поле SendString и нажмите на кнопку Query. Симулятор вернет номер модели в поле StringReceived(как показано на рисунке 5).

 

Рисунок 4 – Окно параметров выбранного измерительного прибора в секции GPIB-board

 

Рисунок 5 – Отклик симулятора в интерактивном окне коммуникатора в ответ на команду *IDN?

 

Аналогично используйте команду MEAS:DC? и другие команды, присылающие короткие ответы (отклик симулятора на MEAS:DC? представлен на рисунке 6). Следите за изменением сигналов интерфейса, расположенных в левой части окна. Для выхода из коммуникатора нажмите на кнопку Exit.

 

Рисунок 6 – Отклик симулятора в интерактивном окне коммуникатора в ответ на команду MEAS:DC?

 

1.5. Посмотрите, какое имя VISA (VISAalias) установлено для NIInstrumentSimulator. Обычно это «GPIB0::2::INSTR».

При желании для симулятора можно установить другое имя, более удобное для пользователя. Для этого при выбранном в MAX имени Instrument0 нажмите на кнопку VISA Properties для отображения диалогового окна Properties (смотреть рисунок 7).

Введите новое имя (например, Sim1) в поле VISA alias и нажмите на кнопку OK. Теперь при написании программ для обращения к инструменту можно использовать это имя.

 

Рисунок 7 – Диалоговое окно настройки имени выбранного измерительного прибора

1.6. Выберите пункт File>>Exit для выхода из конфигурационной утилиты MAX.

Задание 2. Программа чтения измерительного сигнала с использованиемспециализированного драйвера

2. По блок-диаграмме LabVIEW (смотреть рисунки 8-9) создайте программу чтения сигнала синусоидальной формы или формы, заданной преподавателем. Используйте функции специализированного драйвера GPIB и соответствующую команду запроса массива измерительной информации (например, SOUR:FUNCSQU;SENS:DATA?). Полученную строку преобразуйте в числовой массив с помощью подпрограммы ExtractNumbers.vi и отобразите сигнал на графическом экране WaveformGraph (результаты смотреть на скриншотах лицевой панели ВП, представленных на рисунках 10-13).

 

Рисунок 8 – Отправка команды к симулятору по адресу «2»

 

Рисунок 9 – Чтение 10 000 байтов данных от симулятора по адресу «2», вывод прочитанных данных в строку, преобразование строки с шестисимвольным сдвигом влево в числовой массив с выводом массива на экран

 

Рисунок 10 – Лицевая панель ВП при отклике симулятора на подачу последовательности команд: генерации меандра sour:funcsqu и получение сгенерированного массива sens:data?

Рисунок 11 – Лицевая панель ВП при отклике симулятора на подачу последовательности команд: генерации синуса sour:funcsin и получение сгенерированного массива sens:data?

 

Рисунок 12 – Лицевая панель ВП при отклике симулятора на подачу последовательности команд: генерации ЛЧМ-сигналаsour:funcpch и получение сгенерированного массива sens:data?

Рисунок 13 – Лицевая панель ВП при отклике симулятора на подачу последовательности команд: генерации случайного сигнала sour:funcrand и получение сгенерированного массива sens:data?

 

Задание 3. Программа чтения измерительного сигнала с использованием драйвераVISA

3. Выполните задание 2 с использованием функций драйвера VISA (смотреть рисунки 14-16). Используйте имя ресурса VISA, которое было определено в п. 1.5 (например, «GPIB0::2::INSTR»). Результат представлен на рисунке 17.

 

Рисунок 14 – Открытие порта, отправка команды к симулятору по имени симулятора

 

Рисунок 15 – Время ожидания отправки команды и получения ответа

Рисунок 16 – Чтение заданного числа байтов данных от симулятора по его идентификатору, вывод прочитанных данных в строку, преобразование строки с шестисимвольным сдвигом влево в числовой массив с выводом массива на экран, закрытие порта

 

Рисунок 17 – Лицеваяпанель ВП при отклике симулятора на подачу последовательности команд: генерации меандра sour:funcsqu и получение сгенерированного массива sens:data?

 

Задание 4. Программа сбора и форматированного отображения измерительного сигнала

4. Выполните задание 4. Разработайте программу получения шумового сигнала и его отображения на графическом экране с необходимым форматированием осей: ось X – время, ось Y - уровень сигнала (смотреть рисунки 18-22).Результаты представлены на рисунке 23.

Предложенная последовательность команд устанавливает байтовый формат массива измерительной информации, генерирует шумовой сигнал и считывает измерительную информацию. Для масштабирования осей графического экрана используется информация о цене деления оси времени TIME, смещении вдоль оси YOFFSET, диапазоне измерений RANGE.

Вначалепосылаютсякоманды:FORM:DATA INT,8;SOUR:FUNC NOIS;SENS:DATA?

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

 

Рисунок 18 – Команда установки формата целого восьмибитного беззнакового числа, генерации шума и возвращения сгенерированного массива чисел

 

В данном программе используется подпалитра «GPIB 488.2»палитры «GPIB». Основное отличие «GPIB 488.2» от «GPIB» — это то, что 488.2 является не только инструментальным, но и программным драйвером. Данный стандартоперирует с моделью программируемого инструмента. Функциональные компоненты модели включают систему измерений (подсистемы "вход", "датчик" и "калькулятор"), систему генерации сигналов (подсистемы "калькулятор", "источник" и "выход") и подсистемы "формат", "показ", "память" и "тригер". У некоторых инструментов отсутствуют некоторые системы либо подсистемы. Например, осциллограф не имеет системы генерации сигналов, а программируемый генератор цифровых последовательностей — системы измерений. В этом случае и пригождается 488.2. Программы, написанные с использованием протоколов488.2, могут быть легко адаптированы для любой аппаратной базы измерительной системы, использующий интерфейс GPIB.

Функция «Send»в данном примере три входа. Один вход – это отправляемая «говорящим» команда, которую принимает «слушатель». Верхний вход – это адрес слушателя, в качестве слушателя выступает аппаратный симулятор NI, адрес слушателя узнаётся из утилиты MAXпри конфигурации устройства. Ниже под адресным входом расположен вход, значение которого определяет способ определения «слушателем» конца данных. При значении 0 «слушатель» никак не определяет конец данных, бит «END» (находится в конце сообщения) активен. При значении 1 «слушатель» определяет конец сообщения по установленному в неактивное состояние биту «END» и по отправленной после бита «END» команде «NL» (переход на новую строку).При значении 2 «слушатель» определяет конец сообщения только по неактивному биту «END». Определяется конец сообщения по неактивному состоянию из-за того, что сигнальные линии GPIBиспользуют отрицательную логику. Когда «слушатель» понимает, что наступил конец сообщения – он прекращает приём команды от «говорящего».

 

Рисунок 19 – Приём данных от симулятора, преобразование полученной строки в массив целых чисел

Функция «Receive» имеет два входа и один выход. Верхний вход – это адрес «говорящего». В данном случае «говорящим» выступает аппаратный симулятор NI, который отправляет «слушателю» ответ на переданную ранее симулятору команду. Адрес на этой стадии совпадает с адресом в предыдущей стадии, поскольку адрес самого устройства не поменялся, поменялась только роль устройства. Нижний вход – это максимальное число байтов данных, возвращаемых аппаратным симулятором. Также неактивным остался вход, который позволяет «слушателю» определить конец ответа от «говорящего». На вход могут подаваться значения от 0 до 255, тогда конец ответа будет определён тем символом, ASCII-код которого соответствует поданному значению. Если же на вход подано значение 256, или если на входе ничего нет – то конец сообщения определяется по неактивному состоянию бита «END», который находится сразу после ответа. Как только «слушатель»понимает, что наступил конец ответа – чтение данных, поступающих от «говорящего» симулятора, прекращается.

На выходе функции «Receive» появляется ответ в виде строки от «говорящего» устройства, количество байт в котором не превышает числа, переданного в качестве входного значения на нижний вход функции. Строка ответа затем преобразуется в подстроку длиной в 128 элементов со смещением на 5 элементов влево (первые пять элементов являются служебными и не несут необходимую измерительную информацию). Полученная подстрока в последующем преобразовывается в желаемый тип данных, в конкретном случае подстрока данных преобразуется в одномерный массив целых чисел.

 

Рисунок 20 – Подача команды, при получении которой симулятор возвратит смещение, множитель диапазона и цену деления оси времени

 

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

 

Рисунок 21 – Чтение ответа от симулятора, в ответе содержится информация о масштабирующих параметрах симулятора

Рисунок 22 – Формирование числовых массивов для графика выходной характеристики симулятора

 

На данной стадии обрабатываются данные от симулятора, несущие информацию о масштабирующих параметрах. Данные передаются в виде строки в следующем формате: OFFSET=x.xxxxE+x,RANGE=x.xxxxE+x, TIME=1E-3<LF>. Поэтому используют функцию «MatchPattern», которая в качестве возвращаемого значения отправляет часть строки, идущая только после определённых символовили последовательности символов, которые подаются на нижний вход функции. После последовательности «OFFSET=» находится значение смещения симулятора, после «RANGE=»находится значение множителя диапазона симулятора, после«TIME=»находится значение цены деления оси времени симулятора.

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

 

Рисунок 23 – Результат построения выходной характеристики шума с учётом масштабирующих параметров аппаратного симулятора измерительного устройства

 

ВЫВОДЫ

При выполнении данной работы были получены навыки программирования интерфейса GPIBв среде LabVIEW. При написании программ использовались разные палитры инструментов. Палитра GPIBявляется специализированным драйвером, описывающим аппаратную часть и низкоуровневое взаимодействие с шиной. При его использовании может возникнуть проблема совместимости с разными измерительными приборами, использующими интерфейс GPIB. Это связано с тем, что разные устройства могут использовать разный порядок передачи команд по шине. Поэтому лучше использовать расширенную палитру инструментов «GPIB 488.2», функции которой используют единый протокол,определяющий для всех GPIB-устройств единый порядок передачи команд по шине. Поэтому разработанный ВП на основе функций палитры «GPIB 488.2» обладает большей универсальностью по сравнению с обычной палитрой «GPIB», он может быть легко адаптирован для любой другой аппаратной базы, основанной на интерфейсе КОП. Также использовался программный драйвер VISA, являющийся самым гибким инструментом, поскольку позволяет работать с многими стандартными интерфейсами измерительных устройств и систем.Но функции «GPIB 488.2» позволяют с большей простотой работать с сигналами синхронизации и управления.

Были получены следующие результаты:

1. Сконфигурированный и проверенный на работоспособность MAXс положительными результатами проверки аппаратный симулятор измерительного устройства фирмы NI в утилите NI;

2. Изученный и проверенный на работоспособность виртуальный осциллограф на интерфейсе GPIB, использующий в качестве основы функции палитры «GPIB»;

3. Изученный и проверенный на работоспособность виртуальный осциллограф на интерфейсе GPIB, использующий в качестве основы функции палитры «VISA»;

4. Изученный и проверенный на работоспособность виртуальный осциллограф на интерфейсе GPIB, использующий в качестве основы функции расширенной палитры «GPIB 488.2»;

 

 



2018-07-06 870 Обсуждений (0)
Линии управления шины GPIB 0.00 из 5.00 0 оценок









Обсуждение в статье: Линии управления шины GPIB

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (870)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.012 сек.)