Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Изделия фирмы National Instruments




Современные платы фирмы National Instruments полностью реализуют требования стандарта IEEE-488.2 благодаря использованию микроконтроллера NAT4882. Компания одна из первых разработала плату контроллера шины GPIB, которая полностью реализует требования стандарта IEEE-488.2. Новый однокристальный прибор NAT4882 в сочетании с усовершенствованной программой позволил реализовать в контроллерной плате АТ-GPIB дополнительные возможности и режимы, которые нельзя было получить при использовании интегральных схем предыдущего поколения. Плата AT-GPIB, предназначенная для персонального компьютера PC/AT корпорации IBM, представляет собой 16-pазpядный интерфейсный контроллер IEEE-488. Пpибоp NAT4882 реализует расширенный набор команд, позволяющих уменьшить пpогpамму-дpайвеp и размер кода, а также реализовать максимальную скорость передачи данных 1 Мбайт/с. Hовый КМОП-пpибоp pазмещен в 68-контактном пластмассовом корпусе.

В 1987 году компания объявила о превышении стандартной скорости передачи (1Mбайт/с) по шине GPIB за счет использования Turbo488. Плата контроллера полностью совместима с пpогpаммами-дpайвеpами и прикладными программами, написанными для двух самых популярных однокристальных контроллеров GPIB, приборов NECmPD7210 и ТI9914 фирмы Texac Instruments. Когда плата работает с новой пpогpаммой-дpайвеpом NI-488.2 компании National Instruments, она автоматически реализует режим с расширенными возможностями.

В 1990 глду National Instruments выпустила модуль NAT4882, удовлетворяющий требованиям IEEE-488.2 и реализующий все функции передатчика, приемника и контроллера. Обеспечена программная совместимость с NECmPD7210 и TMS 9914A. Модуль NAT4882 имеет дополнительные регистры, которые осуществляют обязательные и рекомендуемые компоненты IEEE-488.2. Расширенный набор команд микроконтроллера NAT4882 предоставляет такие новые возможности, как увеличенный выбор условий прерывания, встроенные таймеры, а также выбор условий установления связи с задержкой. Возможности работы с наборами регистров приборов 7210 и 9914 остались неизменными, однако для прибора NAT4882 определены вспомогательные команды, рассчитанные на использование микроконтроллеров прежних выпусков. Эти команды обеспечивают страничный режим использования дополнительных регистров, доступ к скрытым регистрам или непосредственное управление.

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

В контроллере NAT4882 исключены проблемы, свойственные прибору 7210, и ограничения, налагаемые прибором 9914. Если прибор 7210 работает в режиме передающего абонента и в его выходной регистр записывается байт данных, а в это время на линию управления шины GPIB выдал свой сигнал другой контроллер, тогда этот байт данных будет теряться. С контроллером NAT4882 такого произойти не может.

Контроллер NAT4882 способствует повышению скоростей передачи данных благодаря трем факторам:

 Во-первых, этот прибор может работать с тактовыми сигналами частотой 14 и 20 МГц против максимум 8 МГц для прибора 7210 и 5 МГц для прибора 9914.

Во-вторых, предусмотрен цикл автоматического переноса, который обеспечивает передачу последнего байта в режиме прямого доступа к памяти (ПДП). Если, например, по шине GPIB необходимо прочитать 10 байтов, то программа-драйвер обычно настраивается на чтение 9 байтов и ожидает сигнал EOI (End of Identify – конец или идентификация). Если такого сигнала нет, прибор завершает прямой доступ к памяти после обмена девятью байтами и задерживает установление связи до тех пор, пока не будет передан последний байт данных. Последний байт передается в режиме программного ввода-вывода. Цикл автоматического переноса NAT4882 позволяет передать все 10 байтов в режиме прямого доступа к памяти и автоматически обработать условия установления связи после завершения ПДП.

В-третьих, микроконтроллер может использовать минимально допустимую задержку Т1 согласно спецификации IEEE-488 (350 нс), что позволяет выполнять операции записи с максимально возможной скоростью передачи данных по шине. Задержка Т1 – это интервал времени между моментом, когда передающий абонент помещает данные на линии данных, и моментом, когда этот абонент может выдать сигнал на линию установления связи DAV (данные действительны).

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

В 1993 году появились специализированные чипы NAT7210, NAT9914 и TNT4882, предназначенные для IEEE-488.2. В добавление к стандартным функциям TNT4882 позволяет осуществить протокол HS488 для высокоскоростной передачи данных до 8 Mбайт/с при использовании стандартных GPIB-кабелей. Максимальная скорость передачи зависит от компьютера и конфигурации системы. В 100-пиновом корпусе реализован высокоскоростной GPIB-интерфейс с функциями контроллера, передатчика и приемника. Для рабочих приложений TNT4882 сокращает программное обеспечение при стандартных (IEEE-488.1) и скоростных протоколах обмена данными.

Протокол HS488 повышает производительность GPIB-системы путем удаления задержек “3-проводной” IEEE-488.1 GPIB-системы. Протокол HS488 установлен на аппаратном уровне внутри чипа TNT4882 и не нуждается в изменении программного обеспечения. Реализация HS488 на уровне аппаратных средств позволила сохранить все прикладные программы, давая пользователям возможности гибкого применения новых и старых пакетов.

Шина PCI обеспечила единый стандарт для расширения компьютеров типа PC, Macintosh и Workstation. Плата PCMCIA-GPIB – функциональный аналог модуля AT-GPIB/TNT. Спецификация Plug & Play облегчает конфигурирование системы путем автоматического выбора каждого адреса, прерывания и DMA каналов аппаратных средств без какого-либо участия пользователя. Платы не имеют никаких DIP-переключателей, все установки полностью программно конфигурируемы операционной системой или пользователем.

В табл. 3.4 приведены данные о контроллерах GPIB фирмы National Instruments для наиболее распространенных компьютерных шин и портов.

Кроме этого National Instruments производит контроллеры GPIB для платформ таких компаний, как Macintosh, Hewlett-Packard, Sun и некоторых других, а также полный набор дополнительного оборудования (расширители, кабели и т. д.) для создания функционально законченной приборно-модульной системы.

Программное обеспечение NI-488.2 состоит из драйвера, который устанавливается как часть операционной системы. Оно включает в себя утилиты, помогающие при разработке и отладке прикладных программ, содержит высокоуровневые программы и функции, которые автоматически осуществляют полное управление шиной, так что пользователю не обязательно знать детали программирования интерфейсной платы GPIB или протокола IEEE-488. Для максимальной гибкости и производительности прилагаются программы и функции низкого уровня. Программное обеспечение легко адаптируется к любой платформе, операционной системе и языкам программирования: Visual BASIC, C++, Visual C и др.

Таблица 3.4

Шина Плата GPIB Скорость передачи IEEE-488.1 Скорость передачи HS488
ISA AT-GPIB/TNT 1,5 Мбайт/с 1,6 Мбайт/с (ISA) 3,4 Мбайт/с (EISA)
PCMCIA PCMCIA-GPIB 1,5 Мбайт/с 2,3 Мбайт/с
PCI PCI-GPIB 1,5 Мбайт/с 7,7 Мбайт/с
EISA EISA-GPIB 1,5 Мбайт/с 7,5 Мбайт/с
PC Serial Port GPIB-232CT-A Зависит от параметров порта -
PC Parallel Port GPIB-1284CT 300 кбайт/сек (EPP) -
PC Ethernet GPIB-ENET 50 кбайт/с -

 

    Утилита конфигурации используется для редактирования средств аппаратного обеспечения, таких как базовый адрес ввода/вывода или канал DMA, и установки инструментов и плат, таких как первичные/вторичные адреса GPIB, вида конечного устройства (чтение/запись) и ограничения перерывов передачи данных. Обычно конфигурации инструментов выполняются программно, используя конфигурационные функции NI-488.2. Утилита интерактивного контроля является сильным приложением программного обеспечения и аварийным рабочим инструментом, который контролирует инструменты с помощью клавиатуры компьютера. Утилита проверки программного обеспечения NI-488.2 помогает различать приложения путем проверки, показа и записи всех вызовов программного обеспечения NI-488.2, сделанных приложениями. Широкий выбор интерфейсных библиотек языков помогает выполняющимся приложениям NI-488.2, используя популярные языки программирования. Утилита диагностики GPIB проверяет инсталляцию аппаратного и программного обеспечения NI-488.2.

Программное обеспечение NI-488.2 также предоставляет расширенные возможности настройки драйвера, что повышает гибкость разрабатываемых приборных систем. Все новые возможности и опции детально описаны в документации, поставляемой с пакетом NI-488.2. Существуют модификации NI-488.2 для работы под Windows 95, Windows NT, OS/2, Unix. Программное обеспечение NI-488.2 совместимо с такими программными продуктами фирмы National Instruments, как LabVIEW™, LabWindows™/CVI, Component Works™, Measure™. Имеются драйверы приборов различных производителей (более 500 приборов).

Программное обеспечение NI-488.2 полностью соответствует всем спецификациям IEEE-488.2:

· Командные байты не передаются, если нет устройств, подключенных к шине или включенных в сеть питания. Вместо этого выдается сообщение об ошибке ENOL (Error – No Listener – нет слушателя). При вызовах на уровне устройств NI-488.2 сообщает об ошибке EBUS (Error GPIB – ошибка шины).

· Программное обеспечение NI-488.2 выдает все команды GPIB согласно последовательностям, оговоренным в IEEE-488.2.

Шаблоны, утилиты и функции NI-488

Шаблоны NI-488.2 обеспечивают выполнение типовых операций, последовательностей и протоколов, определенных в стандарте IEEE-488.2. В частности, они обеспечивают обмен данными с модулями, опрос и контроль состояния.

Утилиты используются для настройки СКИМ. Например, утилиту интерактивного контроля интерфейсной шины (IBIC) можно использовать как приложение при установке нового прибора и проверке его функций (чтение, запись, опрос и др.). В результате можно отследить сбои и определить местонахождение нефункционирующих приборов GPIB, а также оптимально установить все задержки, повысив скорость работы приложений.

 Утилита проверки программного обеспечения (GPIB Spy) проверяет, записывает и отображает все обращения к палате и ПО. Это полезный инструмент для настройки и для подтверждения корректной работы всех приборов. Информация отображается в окне, она содержит наименование вызова и его параметры, информацию состояния и время. В дополнение к главному окну GPIB Spy можно получить детальную информацию по каждому записанному вызову. Детальная информация отображает содержимое буферов, процесс выполняемых приложений и время начала и окончания вызова.

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

Программное обеспечение NI-488.2 имеет пять новых функций: IBCONFIG, IBSRQ, IBRDKEY, IBWRTKEY и IBLINES. Функция IBCONFIG используется для того, чтобы динамически конфигурировать все программные параметры драйвера, при этом отпадает необходимость использования утилиты конфигурации IBCONF. Функция IBSRQ используется для регистрации программы обработки прерываний, которая вызывается при утверждении SRQ. Функции IBRDKEY и IBWRTKEY используются для взаимодействия с платами интерфейса, которые оборудованы программируемыми аппаратными ключами защиты. Раньше аппаратные защитные ключи требовали программирование на уровне регистров. Функция IBLINES возвращает статус всех линий управления и данных GPIB. Это значительно упрощает мониторинг линий шины IEEE-488.

Структура функций:

1. Функции ввода/вывода GPIB обеспечивают чтение и запись.

2. Функции управления шиной обеспечивают системные действия.

3. Функции конфигурации устанавливают и возвращают в исходное состояние информацию о конфигурации.

4. Функции контроля устройств GPIB обеспечивают управление шиной и получение инструкций для устройств.

5. Низкоуровневые функции ввода/вывода передают более детальную информацию в нестандартных ситуациях.

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

 

3.4. стандартные команды программируемых приборов

В 1990 году группа изготовителей приборов объявила спецификацию SCPI, которая определила принципы программирования и унифицированный набор команд измерений [10]. До SCPI каждый изготовитель использовал собственные наборы команд для программирования приборов. Это затрудняло стандартизацию и вынуждало разработчиков испытательных систем изучать индивидуальные особенности программирования и специфические параметры всех приборов, используемых в прикладной программе. Определяя набор команд программирования, стандарт SCPI уменьшает время разработки, унифицирует программы тестов и способствует взаимозаменяемости приборов. Первая версия стандарта была выпущена в 1990 году.

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

 На рис. 3.3 представлена схема условного разделения зон совместимости устройств в рамках стандартов IEEE-488.1 , IEEE-488.2 и SCPI. Зона D представляет индивидуальные функции устройства, зона C – общие системные функции, B – функции передачи сообщений, А – представляет интерфейсные функции. Зоны D, C и B предполагают приборно-зависимые сообщения.

 

 Рис. 3.3. Расширение зон унификации IEEE-488.1, IEEE-488.2 и SCPI

 

Язык SCPI многоуровневый. Высшим уровнем программного кода считаются SCPI-операторы MEASure. Этот уровень обеспечивает горизонтальную совместимость с использованием сигнально ориентированных команд. Они отражают суть задачи, которая ставится перед прибором. Таким образом, оператор MEASure для измерения частоты (FREQuency) может быть подан на осциллограф, счетчик или другой многофункциональный прибор, и требуемая функция будет реализована.

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

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

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

    История и предпосылки создания SCPI

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

Для управления идентичными функциями приборов производители использовали различные команды. Например, для управления режимом работы универсального вольтметра при измерении постоянного тока могли посылаться команды: VOLTDC, FUNCTION VOLTDC, DCVOLT или F1. В то же время идентичные команды (мнемоники) могли иметь иные значения у приборов различных производителей и даже у различных приборов одного производителя. Значение понятий “инициализация”, “запуск”, “загрузка”, “начало/остановка” также трактовалось неодинаково.

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

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

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

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

Решать вышеупомянутые проблемы можно только тогда, когда все приборы понимают и говорят на общем языке.

В 1985 году фирма Hewlett-Packard приступила к разработке стандартного системного языка программирования для испытаний и измерений – TMSL (Test and Measurement System Language). Язык определил универсальный набор команд управления приборов.

Фирма Hewlett-Packard начала с анализа списка мнемоник, используемых большинством приборов. Мнемоника – это короткое название или сокращение слова, применяемое как обозначение. Из всего списка мнемоник были отобраны наиболее общие сообщения для каждой группы приборов, которые предлагалось использовать в качестве набора взаимосвязанных команд программирования.

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

Очевидная эффективность использования TMSL способствовала образованию консорциума по стандартным командам для программируемых приборов (SCPI – Standard Commands for Programmable Instruments). В апреле 1990 года консорциум предложил TMSL как базис для SCPI-стандарта и добавил к нему модифицированную версию общего формата для аналоговой информации компании Теktronix.

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

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

Спецификация SCPI разработана таким образом, чтобы было полное соответствие стандарту GPIB. Однако, SCPI можно использовать и в других физических интерфейсах без требования совместимости со стандартом GPIB. Примерами таких интерфейсов являются RS-232 и VXI.










Последнее изменение этой страницы: 2018-04-12; просмотров: 536.

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