Грант ДРЕНКОУ
Основной стандарт подключения контрольно-измерительных приборов — GPIB — был представлен еще в 1972 году. На протяжении многих лет он оставался лучшим решением для создания измерительных систем, затем к нему добавились VXI и PXI, более подходящие для создания систем автоматизированного тестирования. Однако эти стандарты обладают рядом недостатков. GPIB — относительно медленный и мало подходит для использования в системах автоматизированного тестирования, существуют определенные проблемы подключения и программирования, стандарты на основе базовых блоков — очень дороги и ограничены количеством свободных слотов, и, как следствие, архитектура системы должна соответствовать серьезным требованиям.
26 сентября 2004 года консорциум ведущих мировых производителей и пользователей контрольно-измерительного оборудования объявил о создании LXI (LAN extensions for Instruments — расширения LAN для приборов) — нового стандарта измерительных систем. Консорциум LXI был образован в 2004 году для повышения скорости работы систем, снижения их стоимости, уменьшения их размеров, сокращения времени, затрачиваемого на настройку и установку систем, а также для повышения роли программного обеспечения. С использованием Ethernet (IEEE 802.3) в качестве главного интерфейса появилась возможность в полной мере воспользоваться плодами эволюции компьютерной отрасли. Использование преимуществ ряда существующих стандартов Ethernet, средств, характерных для сети Internet, про-
Некоторые факты о скорости, пропускной способности
и задержках в приборах стандарта LXI
Объявление о создании стандарта LXI (LAN eXtensions for Instruments) вызвало большой резонанс в среде инженеров, проектирующих измерительные системы. Это новое поколение измерительных приборов обладает большим числом преимуществ в скорости ввода/вывода, синхронизации и легкости использования. Однако возник ряд вопросов о задержке передачи данных по сети LAN. Насколько эта задержка реально важна? Что важнее — скорость ввода/вывода или задержка? Как она влияет на скорость тестирования? В представленной статье вы получите ответы на эти вопросы.
токолов ЬАН стандарта физических размеров 1ЕС и драйверов 1У1 дает возможность перейти на более быстрый ввод/вывод, избавиться от базовых блоков и дорогих кабелей ввода/вывода, а также усилить роль ПО. Создание архитектуры, основанной на широко распространенных и проявивших себя стандартах, позволяло воспользоваться уже готовым средством и создать долгосрочное решение для разработчиков измерительных систем.
Основные определения
• Скорость ввода/вывода — это скорость, с которой данные передаются от компьютера к прибору или наоборот. Скорость ввода/вывода ограничена строением интерфейса связи.
• Задержка — это время, проходящее, пока первый байт данных не будет передан по интерфейсу. На этот параметр влияют как аппаратное обеспечение интерфейса, так и ПО в виде драйвера.
• Скорость тестирования — это мера времени, затрачиваемого на то, чтобы осуществить всю тестовую последовательность. Скорость ввода/вывода и задержка — это всего лишь два из множества параметров, влияющих на скорость тестирования, причем другие параметры влияют значительно сильнее, чем эти.
Что увеличивает скорость тестирования?
Чтобы понять сущность скорости тестирования, предлагается подробно разобрать, что происходит при осуществлении тестовой последовательности. Рисунок показывает типичную последовательность событий.
1. Настройка прибора. В зависимости от собственно прибора это может быть последовательность битов в одном из регистров, набор команд для прибора (А8СП или двоичных), переданных по интерфейсу связи, или загрузка профиля измерения (набора стандартных процедур измерения), уже хранящегося в памяти прибора. Частью процесса настройки прибора является «взведение» его системы запуска. Если есть возможность настроить прибор заранее — этот этап никак не повлияет на скорость тестирования. Однако, если команды установки и настройки передаются прибору в ходе уже идущего тестирования, на скорость будет влиять совокупность факторов — количество команд настройки, скорость интерфейса связи, времени изменения конфигурации самого прибора после получения команды настройки и, потенциально, задержка пути ввода/вывода (если процесс настройки задействует блок команд, состоящий из нескольких строк).
Кчгтрг*ік* IIT1r#>V4rf . R”r*nr. глилгп Ч ІІНХ".“.-.І.-Т.«ІІНГ Лцадо Ллк-wx : їереда & Л VHbJV
Рисунок. Типичная последовательность событий
Таблица 1. Скорость ввода/вывода для различных типов приборов
Какова типичная скорость ввода/вывода?
Типичная скорость ввода/вывода GPIB VXI PXI LXI (100 Мегабит) LXI (Гигабит)
Теоретический максимум 1 Мбит/с 80 Мбит/с 132 Мбит/с 12 Мбит/с 125 Мбит/с
Low-end 0,2 Мбит/с 40 Мбит/с 40 Мбит/с 5 Мбит/с Нет данных
High-end 0,5 Мбит/с 60 Мбит/с 60 Мбит/с 11,5 Мбит/с 40 Мбит/с
2. Синхронизация измерений. Самая быстрая синхронизация — это та, которая реализуется на основе встроенного тактового генератора самого прибора: синхронизация происходит практически мгновенно. Приближается к этой скорости аппаратная синхронизация с прибором (сигнал синхронизации передается со скоростью 5 нс/м по медному кабелю или шине): скорость ограничена только длиной кабеля. Несколько более медленный вариант — программная синхронизация, осуществляемая с помощью команды синхронизации, переданной компьютером. Такая команда проходит весь путь по каналу связи с прибором. Синхронизация тогда срабатывает хорошо, когда прибор настроен и сможет начать измерения в тот же момент, как поступит команда/событие, запускающие измерение. Скорость программной синхронизации ограничена эффективностью программы на РС и задержкой интерфейса связи между РС и прибором. И, наконец, самый медленный способ синхронизации подразумевает отправку команды для измерений (или, в худшем случае, набора команд) прибору и ожидание его реакции. Скорости тестирования наносится серьезный урон, так как время реакции зависит от задержки ввода/вывода, скорости ввода/вывода, набора команд, скорости работы центрального процессора прибора, который обрабатывает команду (или команды), времени, требующегося прибору на перенастройку, а также лага между получением команды и началом измерений. К сожалению, многие программисты используют именно этот подход.
3. Время самого измерения всегда будет самым главным фактором, влияющим на скорость тестирования. Время, затрачиваемое на настройку прибора и синхронизацию, невелико по сравнению со временем измерения. Следует наиболее тщательным образом относиться к выбору прибора для достижения точных результатов измерения в кратчайшее время. Осуществление точных измерений, как правило, занимает больше времени (в зависимости от конкретной задачи и прибора), а высокоскоростные измерения часто жертвуют качеством. Те наносекунды, затраченные на аппаратную синхронизацию, и микросекунды — на программную, меркнут по сравнению с миллисекундами и секундами, необходимыми для достижения точных результатов измерений.
4. Анализ данных. Этот этап важен при оценке скорости тестирования. Приборы, наделенные интеллектуальными функциями, используют хорошо оптимизированные и отлаженные алгоритмы, часто реализо-
ванные на базе ПЛИС или Л8ІС для обеспечения максимальной возможной скорости. Эти алгоритмы осуществляют такие функции, как калибровка, температурная компенсация, снижение уровня шума, корреляция времени/фазы и усечение данных. Встроенные процедуры анализа снижают объем данных, пересылаемых РС, значительно повышая этим скорость тестирования. Встроенные модули на базе архитектуры базовых блоков (УХІ или РХІ), не обладающие встроенными функциями анализа, должны переправлять все данные и факторы калибровки РС, который осуществляет анализ. Для точной оценки скорости тестирования системы на основе базовых блоков нужно принимать в расчет время, затрачиваемое на пересылку всего объема сырых, необработанных данных на РС, и время, затрачиваемое РС на анализ этих данных. При работе с несколькими приборами компьютер становится самым слабым звеном в системе, заставляя другие приборы ожидать, пока он закончит передачу всех данных, калибровку, усечение и анализ.
5. Передача данных от прибора PC. Приборы, обладающие интеллектуальными функциями, отправляют меньшие объемы данных, так как усечение данных и анализ производятся самим прибором. Не обладающие таковыми передают все данные РС, который осуществляет калибровку и анализ. Чтобы повысить скорость тестирования, необходимо либо ускорить ввод/вывод, либо уменьшить объемы данных, передающиеся РС. Последний вариант дает большее уменьшение скорости передачи данных. Самый эффективный метод передачи данных — это передача больших по размеру блоков данных, содержащих конечные результаты измерений (а не сырую информацию). Большой размер блоков минимизирует влияние задержки, так как снижается их количество. Передача конечных результатов минимизирует объем передаваемой информации, что, опять же, снижает время передачи. И этот метод сводит время, затрачиваемое РС на обработку сырых данных, к нулю.
Самым неэффективным способом передачи данных является отправка в каждую единицу времени небольшого блока данных. И передача каждого блока увеличивает задержку. А если данные еще и сырые, нужно учесть время, требующееся РС для переработки этих данных в готовый результат. Использование буфера данных в приборе для их накопления, а затем отправки большими блоками повышает скорость тестирования, особенно в стандарте ЬХІ, так как LAN оптимизирована для передачи именно больших блоков данных.
В таблице 1 показана скорость ввода/вывода для различных типов приборов. Указано теоретически максимальное и типичное значения, а также лучшая скорость, доступная при использовании самых мощных современных приборов. GPIB служит контрольно-измерительному миру уже на протяжении 35 лет и имеет максимальную скорость
1 Мбит/с. Современные стандарты вроде LXI обеспечивают стократно большую скорость; этого более чем достаточно для большинства современных приборов.
Каково типичное время задержки?
Таблица 2 показывает типичное время передачи данных в один конец для приборов класса low-end и high-end с разными интерфейсами. Архитектуры на основе базовых блоков обеспечивают минимальную задержку, так как связаны напрямую с шиной PC и не требуют контроля со стороны программных протоколов. LXI (и его протокол TCP/IP) оптимизирован для передачи больших блоков данных, и его уровень задержки выше. Задержка происходит однократно для каждого блока данных (независимо от размера). Чтобы снизить задержку, нужно просто уменьшить количество передаваемых блоков.
Таблица 2. Типичное время передачи данных в один конец для приборов класса low-end и high-end
Типичная задержка GPIB VXI PXI LXI (100 Мбит) LXI (Гигабит)
Low-end 120 мкс 4 мкс 4 мкс 300 мкс 300 мкс
High-end 120 мкс 4 мкс 4 мкс 100 мкс 100 мкс
В общей картине процедуры измерения время, затрачиваемое на задержку, очень невелико, по сравнению с настройкой прибора, самим измерением и анализом данных. При отправке больших блоков, содержащих команды и данные, задержка не является проблемой. Она заслуживает внимания только в том случае, когда передается одна команда или точка данных в единицу времени. В этом случае задержка может сравниться с общим временем отправки этой команды или точки данных. Чтобы не превратить задержку в серьезную проблему — старайтесь избегать этой методологии.
Насколько быстро происходит синхронизация?
Таблица 3 показывает разные типы синхронизации. Аппаратные шины синхронизации обеспечивают самую высокую скорость — порядка 5 нс на метр провода. Скорость синхронизации с использованием протокола 1ЕЕЕ 1588 обычно равна 100 нс, так как в современных условиях джиттер базируется на точности существующих тактовых
Настройка прибора Синхронизация Измерение Анализ данных Передача данных
От миллисекунд до секунд От наносекунд до микросекунд От микросекунд до секунд От микросекунд до секунд От микросекунд до секунд
Зависит от сложности прибора У синхронизации на основе времени нет задержки, а программные команды медленнее всего Зависит от точности измерения Зависит от сложности измерений — быстрее всего осуществляется при измерениях ПЛИС Зависит от объема передаваемых данных и скорости ввода/вывода
Синхронизация GPIB VXI PXI LXI
Синхронизация на основе сообщений (программная) 15 мкс* 2 мкс 2 мкс 10 мкс*
Синхронизация на базе IEEE 1588 (временная) n/a n/a n/a 100 нс (джиттер)
Аппаратная (шинная) синхронизация 5 нс 5 нс 5 нс 5 нс
* рассчитано, как 50% времени отправки и возврата
генераторов (±100 нс). Тактовые генераторы приборов обладают джиттером, меньшим, чем 10 нс. Скорость синхронизации по протоколу IEEE 1588 будет улучшаться по мере совершенствования тактовых генераторов. Синхронизация на основе сообщений — самая медленная, но и она не превышает 15 мкс.
Что такое IEEE 1588?
IEEE 1588 — это протокол точного времени, принятый для синхронизации работы устройств по LAN. Он поддерживается приборами, соответствующими стандарту LXI класса A и B. Синхронизация нескольких разных LXI-приборов делает возможным осуществление комплексных тестов с использованием временной синхронизации вместо отправки команд приборам по LAN. Использование протокола IEEE 1588 позволяет избежать задержки ввода/вывода.
Как стандарт LXI позволяет увеличить скорость тестирования?
У LXI есть три класса:
• Класс С — это базовый класс приборов LXI. Он совмещает преимущества LAN-интерфейса со скоростью ввода/вывода, примерно в 10 раз превышающей скорость GPIB (при использования 100 Мбит LAN) или даже в 100 раз (при использовании Gigabit LAN). Класс C лучше всего работает с приборами, которые способны накапливать данные в своем буфере, а затем пересылать их компьютеру в виде блоков большого размера.
• Класс B обладает всеми функциями класса С и добавляет функцию синхронизации по протоколу точной временной синхронизации (PTP) IEEE 1588. IEEE 1588 открывает целую эру в контрольно-измерительной отрасли — эру на основе времени. Он устраняет задержку, связанную с передачей данных по LAN, так как прибор начинает осуществлять измерения на основании данных о времени, а не команды, поступающей с компьютера. На данном этапе этот протокол позволяет синхронизировать приборы с разницей до 100 нс между ними. Однако в лабораториях компании Agilent Technologies уже удалось достичь уровня в 2 нс, используя прецизионный тактовый генератор обычных ВЧ-приборов. IEEE 1588 также позволяет проставить на все события
отметку времени — запуск, начало измерения, завершение измерения, время установления, внешние события, а также сообщения, передаваемые по LAN, — и это только часть возможных вариантов. Приборы могут быть физически удалены друг от друга и, несмотря на это, работать в соответствии с IEEE 1588 и отметками времени. Класс B обеспечивает также функцию запуска одним прибором других — одного или более. Эти сигналы запуска в виде сообщений LAN позволяют не превращать компьютер в узкое место всей системы. PC теперь не обязательно участвовать в каждой транзакции — приборы работают независимо от него, без необходимости ожидания команды. Запуск по LAN снижает сложность программирования, позволяя избавить компьютер от состояния ожидания. Когда один прибор заканчивает измерения, он отправляет команду запуска (LXI-событие) другому прибору. Компьютер теперь не находится в это время в цикле ожидания и не опрашивает приборы постоянно с целью определить, когда те завершат измерения, что делает его работу более эффективной. Дополнительный плюс: приборы могут быть физически удалены друг от друга, при этом использовать LXI-события (команды запуска) и не требовать аппаратной шины синхронизации.
• Класс А дополняет класс B еще одной функцией — аппаратной шиной синхронизации. Эта шина (совместимая с шиной синхронизации VXI) — восьмижильная и представляет собой кабель, который обеспечивает очень точную и стабильную синхронизацию приборов друг с другом. Сигнал синхронизации передается от одного прибора к другому со скоростью 5 нс/м. Очевидно, что наилучшим образом этот метод синхронизации работает, когда приборы находятся рядом друг с другом.
LXI улучшает скорость тестирования, уменьшая количество взаимодействий с участием компьютера. Прибор может быть настроен до самого измерения на то, чтобы работать на базе времени (IEEE 1588), сообщениях между приборами (LXI-события) или высокоскоростной аппаратной шины синхронизации (Класс A LXI). LXI увеличивает скорость тестирования, когда прибор накапливает данные в буфере, а затем отправляет их компьютеру большими блоками. В зависимости от конструкции LXI прибора, интеллектуальные LXI-устройства могут калибровать данные и выдавать готовый результат без необходимости отправлять компьютеру большие объемы сырых данных на обработку.
Так куда вы вложите большую часть времени?
Таблица 4 показывает основные этапы и затраты времени на них в типичной процедуре тестирования. Как видно из данных таблицы, скорость ввода/вывода и задержка относятся к этапу передачи данных. Однако их влияние на скорость тестирования в целом очень незначительно. Вы добьетесь большего прироста скорости, настроив прибор до самого измерения, а также используя высококачественные приборы, что позволит не усреднять результаты измерений, отправляя данные большими блоками для минимизации времени задержки, и перекладывая как можно больше функций анализа на сам прибор для избегания передачи больших объемов сырых данных на РС. В общем объеме времени на измерение задержка занимает очень незначительное место (являясь частью этапа передачи данных), по сравнению с настройкой прибора, временем измерения и анализа данных.
Итак,рекомендации
Концентрируйтесь на скорости измерения в целом и не увлекайтесь достижением более быстрого ввода/вывода или более низкой задержки. В большинстве случаев лучше всего сработают следующие методы:
1. Настраивайте приборы до измерения и снижайте количество изменений настроек прибора в ходе измерения.
2. Используйте те приборы, которые обеспечивают точные результаты без необходимости их усреднять, усекать, калибровать или анализировать с использованием компьютера. Этап самого измерения — самый значимый по времени для всего процесса тестирования.
3. «Взводите» приборы, чтобы они начинали измерения, основываясь на времени (1ЕЕЕ 1588) или аппаратной шине запуска, чтобы избежать эффекта задержки.
4. Используйте встроенный интеллект самих приборов, избегая пересылать большие объемы данных компьютеру.
5. Организуйте команды, передаваемые при-
бору, и результаты, возвращаемые им компьютеру, таким образом, чтобы они представляли собой большие блоки данных — это позволяет более эффективно использовать интерфейс связи и избежать влияния задержки. ■