Какие из возможностей осциллографа — аппаратные или программные — лучше использовать для оценки высокоскоростных каналов передачи данных?
Предположим, в составе вашего проекта есть высокоскоростной канал передачи данных, который необходимо оценить. Это может быть канал PCI-Express, Serial ATA, Fibre Channel, FBDIMM, либо канал вашей собственной разработки. Осциллограф реального времени предлагает широкий спектр возможностей для оценки канала передачи данных, например, восстановление тактового сигнала, идентификация событий и анализ глазковой диаграммы. Каждая из этих возможностей может быть реализована либо на аппаратном, либо на программном уровне.
Функция восстановления тактового сигнала
В поток данных, передаваемых по каналу,
встроен также тактовый сигнал. При декодировании он используется для определения
скорости канала (например, 2,5 Гбит/с), а поток данных интерпретируется как последовательность нулей и единиц, передаваемых
с частотой этого сигнала. Восстановленный
тактовый сигнал также используется как точка отсчета для измерений джиттера сигнала.
Точное восстановление тактового сигнала
жизненно важно для определения корректности функционирования последовательного
канала передачи данных. Осциллографы реального времени могут восстанавливать тактовый сигнал на аппаратном уровне, на программном или на обоих одновременно.
На аппаратном уровне для этого используется специальная схема восстановления, которая генерирует тактовый сигнал. В этом
случае тактовый сигнал, восстановленный
на аппаратном уровне, подвержен возникновению джиттера и сдвигам, вызванным непосредственно схемой восстановления. Главное
достоинство этого метода состоит в том, что
полученный опорный сигнал можно передать другому устройству или измерительному прибору для обеспечения синхронизации.
Этот сигнал всегда можно использовать для
синхронизации — в его передаче нет задержек по времени. Среди недостатков метода — вышеупомянутое наведение постепенно нарастающего джиттера и тот факт, что
осциллографы с высокоскоростными аппаратными цепями восстановления тактового сигнала не всегда можно найти на рынке. Скорости
аппаратного восстановления тактового сигнала ограничены 1,25 Гбит/с. Нарастающий
джиттер делает данный метод не подходящим
для точных измерений, точного восстановления данных или анализа глазковой диаграммы на соответствие сигнала маске.
Для восстановления тактового сигнала на
программном уровне создается эталонный
генератор тактового сигнала на основе описания, заданного пользователем, либо формируется алгоритмическим методом при программном анализе сигнала передачи данных.
Интеллектуальный подход к решению этой
задачи в режиме оперативной помощи предоставляет обе эти возможности (рис. 1).
Программное восстановление тактового сигнала происходит на полной скорости работы
осциллографа и имеет нулевой уровень наведения джиттера, так как основывается
на идеальном генераторе тактового сигнала.
Не все системы на базе осциллографов имеют возможность установки и настройки этой
функции в режиме оперативной помощи,
но те, которые обеспечивают эту функцию,
создают среду, очень подходящую по своим
параметрам для проведения высокоточных
и систематических измерений джиттера
и анализа глазковой диаграммы на соответствие сигнала маске. Кроме того, системы,
имеющие режим оперативной помощи, более чувствительны и гибки в практическом
применении. Некоторые программные системы восстановления тактового сигнала также поддерживают использование выделенного (аппаратного) тактового сигнала. Системы,
основанные на выделенном тактовом сигнале, реже применяются для исследования последовательных каналов передачи данных, но некоторые задачи предполагают их
использование.
Рис. 1. Пример интерфейса для анализа последовательных данных с помощью модуля оперативной помощи (при получении информации о тактовом сигнале модуль вычисляет, сколько времени потребуется системе фазовой автоподстройки частоты для синхронизации).
Функция идентификации событий
Как только тактовый сигнал восстановлен,
можно декодировать сигнал данных в последовательность нулей и единиц. Затем в потоке последовательных данных можно выделить
отдельные события и рассмотреть их изолированно, а также определить, какие события
предшествовали данному. Попытка найти
требуемую информацию в последовательном
канале, передающем более десятка тысяч отдельных кадров, может стать трудновыполнимой задачей. Решить ее помогают как аппаратные, так и программные подходы.
Чтобы из потока последовательных данных
выделить единичное событие, состоящее из заданной последовательности нулей и единиц,
можно использовать аппаратную идентификацию событий (аппаратную синхронизацию).
Передовые аппаратные системы запуска по событию из потока последовательных данных
могут обеспечивать скорость до 3,25 Гбит/с.
Они обеспечивают нулевое время задержки
при запуске по единичному возникновению
события. Пользовательский интерфейс такой
системы может быть рассчитан как на двоичный ввод маски, так и на восьмеричный или
шестнадцатеричный. Недостатками аппаратного подхода являются увеличение стоимости системы запуска, сложность корректного
аппаратного распознавания последовательных данных с плавающим качеством сигнала,
ограниченная гибкость при анализе ранее полученных данных и ограничение максимальной скорости в 3,25 Гбит/с.
Программная идентификация событий
(поиск) может быть использована в режиме
пост-обработки для определения заданной
последовательности нулей и единиц в потоке данных. Программные системы запуска
обеспечивают скорость, приближающуюся
к пределу скорости сбора данных аппаратной
частью осциллографа — в диапазоне от 8,5
до 10 Гбит/с. Так как программный запуск работает в режиме пост-обработки, у него имеется значительное время задержки, и он плохо подходит для поиска редко происходящих
событий. Однако многие измерительные среды обеспечивают функцию повторного возбуждения аномальных событий. Пользовательский интерфейс программных систем запуска гораздо изящнее и гибче по сравнению
с интерфейсом систем с аппаратной идентификацией событий (рис. 2).
Рис. 2. Настройка восьмеричного/шестнадцатеричного программного запуска для интерфейса PCI-Express
Поиск можно осуществлять по ранее полученным данным или в повторяющемся цикле «сбор данных — поиск». Кроме того, можно отслеживать многочисленные реализации заданного события в одной и той же записи данных. Программный подход также позволяет отображать восьмеричные ишестнадцатеричные коды в режиме взаимосвязи с осциллограммой (рис. 3). Декодирование и отображение в виде восьмеричного или шестнадцатеричного кода делает интерпретацию длинных потоков последовательных данных гораздо более легкой задачей. Методы, основанные исключительно на аппаратном уровне, не предоставляют такой возможности.
Рис. 3. Декодирование символов восьмеричного/шестнадцатеричного кода, показанное во взаимосвязи с осциллограммой
Анализ глазковой диаграммы
Традиционные глазковые диаграммы для последовательных каналов могут быть сгенерированы на аппаратном уровне. Если доступен восстановленный программным способом тактовый сигнал, то можно воспользоваться новым видом тестирования — анализом глазковой диаграммы в реальном времени. Оба метода предназначены для тестирования худших вариантов осциллограмм на соответствие минимальным приемлемым требованиям, заданным маской. У обоих методов есть преимущества и недостатки, рассмотренные ниже. Анализ глазковой диаграммы аппаратными средствами Повторяющиеся глазковые диаграммы осциллограф может сгенерировать, используя запуск по перепаду с переменным направлением или запуск по перепаду с заданным направлением и отображая диаграмму с задержкой на несколько единичных интервалов. Достоинства повторяющихся глазковых диаграмм — легкость их генерации, высокая частота обновления сигналов и возможность использования их на нескольких каналах одновременно. К недостаткам можно отнести неспособность компенсировать отклонения тактового сигнала с расширенным спектром — это значит, что системы на базе осциллографов, не обладающие функцией динамической калибровки джиттера системы запуска, будут генерировать недопустимый уровень джиттера системы запуска, делая этот метод на практике неэффективным.
Анализ глазковой диаграммы программными средствами
Диаграммы в реальном времени могут быть построены с использованием программно восстановленного тактового сигнала. Идея такова — одна осциллограмма с большой длительностью захвата «свертывается» в глазковую диаграмму, где каждая «свертка» происходит с единичным интервалом, заданным эталонным (программно восстановленным) тактовым сигналом (рис. 4). Этот метод устраняет проблему джиттера системы запуска и является корректирующим фактором для осциллографов с посредственными показателями уровня джиттера.
Рис. 4. Пример анализа глазковой диаграммы на соответствие сигнала — непройденный тест сигнала Serial ATA
Однако осциллографы и пробники со слабыми значениями уровня собственных шумов и джиттера не смогут улучшить свои ха- рактеристики с помощью глазковых диаграмм в реальном времени. Аппаратные недостатки (уровень шума и джиттера) все равно будут проявляться в виде уменьшенного запаса надежности при проведении теста на соответствие маске и в виде увеличенного числа непройденных тестов. Некоторые системы, обеспечивающие тестирование с помощью глазковых диаграмм в реальном времени, обладают функцией обнаружения ошибок — если сбой произошел при тестировании на соответствие маске в режиме глазковой диаграммы, глаз может «развернуться», и участки, на которых произошли сбои, будут отмечены в длинном потоке последовательных данных. Это очень полезная функция, которую не следует упускать из виду. Недостатки использования глазковых диаграмм в реальном времени: для генерации диаграмм требуется дополнительное время (медленное реагирование), аппаратуре необходима более сложная настройка, в единицу времени можно тестировать только один поток данных.
Заключение
На основе приведенного обзора возможностей осциллографов можно сделать следующие выводы:
1. Программное восстановление тактового
сигнала позволяет получить результаты гораздо лучшие, чем аппаратное (за исключением редкого случая, когда необходимо
для системы проектирования или тестирования генерировать тактовый сигнал на аппаратном уровне).
2. Иногда возникает реальная необходимость
использования аппаратного запуска в последовательном канале, но в подавляющем большинстве случаев программная реализация
запуска обеспечивает большую производительность, большую гибкость и помогает
быстрее интерпретировать поток последовательных данных благодаря своим возможностям декодирования и отображения.
3. Программно реализованный анализ глазковых диаграмм на соответствие маске
в реальном времени обеспечивает высокую
точность анализа. Совместное использование этого анализа с функцией обнаружения места сбоев является заметно более
эффективным решением по сравнению
с аппаратным подходом.
Итак, пока еще существуют области, где используются аппаратные функции осциллографов, но ключом к высокоэффективной оценке последовательных каналов передачи данных становятся именно программные функции.
Лон Хинтце