Ханс-Петер ФЛАЙШХОЙЕР (Hans-Peter Fleischheuer)
В архитектуре последовательной шины по одному сигнальному тракту могут передаваться сигналы адресации, управления, синхронизации и данные. Осциллографы серии DPO4000 представляют собой идеальную платформу для регистрации и анализа сигналов в наиболее распространенных низкоскоростных последовательных шинах, включая CAN, SPI и I2C (рис. 1). Основные характеристики осциллографов с цифровым люминофором серии DPO4000 — полоса пропускания, частота дискретизации, длина памяти и количество каналов — отлично подходят для работы. Еще более важны некоторые новые функции, позволяющие значительно упростить процесс отладки последовательных шин.
Диагностика последовательной шины включает несколько этапов: запуск по определенному событию в последовательной шине, декодирование события и его интерпретация, поиск данных относительно других событий.
До сегодняшнего дня не существовало отдельной платформы, объединяющей и автоматизирующей все вышеперечисленные функции. Осциллографы серии DP04000
Новый союзник разработчиков
в диагностике серийных шин
Новая серия осциллографов DPO4000 предназначена для удовлетворения растущего спроса на оборудование, способное не только решать различные общие задачи измерения, но и соответствовать потребностям отдельных конкретных приложений. Диагностика последовательных шин является одним из приложений подобного класса. Исследования показали, что приблизительно 60% всех инженеров-проектировщиков радиоэлектронной аппаратуры используют низкоскоростные серийные шины для выполнения рутинных работ по проектированию и отладке. Проектировщикам требуются инструменты, облегчающие избирательную регистрацию данных в последовательных потоках данных, и проведение анализа содержимого пакетов и других сигналов.
Рис. 1. Просмотр осциллограммы с записью большой длины для шины 12С
стали первыми измерительными приборами для диагностики последовательных шин, обладая следующими функциями:
• подключаемые модули позволяют выполнять запуск по содержимому пакета в последовательной шине данных;
• автоматическое декодирование пакетов и отображение данных в формате, представляющем содержимое в доступной и понятной форме;
• встроенные функции поиска данных позволяют выполнять поиск и отмечать отдель-
ные события в последовательной шине, а также ускоряют переход от точки к точке в пределах 10 млн точек стандартной памяти осциллограммы.
Запуск — первый простой шаг
Часто в процессе диагностики необходимо убедиться, что в последовательной шине данных сгенерирован или отправлен определенный пакет. Пакет содержит значения данных и другие сообщения. Стандартные функции осциллографов, например запуск по состоянию или комбинации, в данном случае не подходят. Они используются для данных, передаваемых параллельно по нескольким каналам. В подобном случае нужен триггер, реагирующий на содержимое потока последовательных данных.
Осциллографы серии DP04000, оборудованные дополнительным модулем DP04EMBD для шин I2C и SPI или модулем DP04AUT0 для шины CAN, реагируют на заданные пользователем условия запуска такие как содержимое данных в последовательной шине, сообщения начала и конца адреса и т. д. В таблице 1 показаны некоторые примеры условий запуска для одной последователь-
Таблица 1. Примеры условий последовательного запуска
Содержимое Характеристики запуска для шины I2C
Start (Старт) Запуск, если значение БРА низкое, а значение БСЬ высокое.
Repeated Start (Повторный старт) Запуск, если условие старта происходит без предыдущего условия остановки (обычно, когда главное устройство отправляет несколько сообщений без освобождения шины).
Stop (Стоп) Запуск, если значение БРА высокое, а значение БСЬ низкое.
Missing ACK (Отсутствие подтверждения) Запуск, если ведомое устройство не генерирует бит подтверждения.
Address (Адрес) Запуск по заданному пользователем адресу или любому из предварительно запрограммированных адресов (общий вызов, стартовый байт и т. п.). Адресация в 7- или 10-битном формате, выраженная в двоичном или шестнадцатеричном формате.
Data (Данные) Запуск по заданным пользователем значениям данных, содержащих до 12 байт, в двоичном или шестнадцатеричном формате.
Address and Data (Адрес или данные) Запуск по определенной комбинации значений адреса и данных, а также по состоянию чтения или записи для точной регистрации требуемого события.
ной шины — I2C. Запуск для шин SPI и CAN выполняется аналогичным образом.
Запуск немедленно вызывает два действия. Во-первых, прибор регистрирует данные о событии и данные о соседних событиях — до 10 млн выборок. Во-вторых, запуск свидетельствует о том, что произошло определенное событие.
В осциллографах серии DP04000 имеется уникальная пара кнопок Bus (Шина) на передней панели (В1 и В2), предназначенная для ускорения анализа последовательного потока данных. В сущности, каждая кнопка используется для выбора предварительной настройки определенного типа в последовательной шине. Можно создать предварительную настройку и определить, какие каналы получают сигналы синхронизации и данные, а также пороговые значения, определяющие два двоичных состояния (1 и 0). Для использования этой настройки в дальнейшем (до тех пор, пока она не будет перезаписана), следует просто нажать соответствующую кнопку Bus. Отпадает необходимость в повторном обращении к меню запуска или задания пороговых значений. Кнопки Bus позволяют сэкономить время при настройке и регистрации данных из последовательной шины, особенно при диагностике нескольких конфигураций шин.
Достоинство форм шины
Осциллограмма последовательных пакетов данных отображается на дисплее осциллографа в виде последовательности значений 1 и 0. Декодирование этой информации с помощью отслеживания фронтов тактовых импульсов и связанных с ними значений двоичных данных — довольно сложный процесс, поэтому возможно появление ошибок. Но до сих пор многие проектировщики вынуждены были использовать именно такой метод интерпретации зарегистрированных в последовательной шине данных.
Осциллографы с цифровым люминофором серии DP04000 автоматически выполняют декодирование пакетов в шинах I2C, SPI и CAN. На дисплее представлена не только осциллограмма, но и уникальная «форма шины». Форма сигнала шины, заимствованная из наиболее совершенных платформ логических анализаторов Tektronix, представляет собой сигнал, составленный из символических огибающих, выровненных по компонентам пакетов осциллограммы. Но вместо отдельных двоичных импульсов 1 и 0 форма сигнала шины, как правило, содержит шестнадцатеричное значение, представляющее декодированное содержимое пакета (можно также выбрать двоичный формат). Можно просмотреть, что происходит в шине, не прибегая к долгому, утомительному процессу ручного декодирования. Также важно наличие символов для других событий и значений: старт, стоп, адрес (включая состояние чтения или
записи) и отсутствие событий подтверждения приема.
Кроме того, доступно другое декодированное представление, позволяющее сэкономить время, — таблица событий. В ней представлено декодированное содержимое с меткой времени для каждого события. Данные соответствуют всей зарегистрированной информации. Таблица предоставляет возможность просмотреть все отдельные события в шине и сократить время между измерениями. Осциллографы серии DP04000 формируют таблицу событий для любой из трех последовательных шин.
В поисках ответов
После регистрации данных для полной отладки нередко требуется проанализировать всю запись (до 10 млн выборок в секунду). При декодировании каждого пакета просмотр всех пакетов в зарегистрированном сигнале может занять длительное время. Наилучшим решением будет средство, которое автоматически выполняет в зарегистрированных данных поиск событий, удовлетворяющих заданным критериям.
Такую возможность в осциллографах серии DP04000 предоставляет средство Wave Inspector. Помимо поиска по фронту, длительности импульсов, рант-импульсам, логическим условиям, нарушениям времени установки и удержания и времени нарастания/спада, Wave Inspector может выполнять поиск по содержимому пакетов в потоке последовательных данных. Например, Wave Inspector способен выделить все сообщения в шине CAN с определенным расположением адреса и значений данных и отметить на дисплее каждый такой случай указателем. Переход между указателями выполняется с помощью кнопок Previous (Назад) и Next (Вперед).
Wave Inspector позволяет проектировщикам быстро решать проблемы
Wave Inspector, стандартная функция для всех моделей осциллографов с цифровым люминофором Tektronix серии DP04000, представляет собой средство, значительно упрощающее процедуру отладки, занимающую много времени: поиск отдельных событий в осциллограммах большой длины. До сих пор данная задача выполнялась вручную с помощью просмотра зарегистрированных данных и проверки потока данных в осциллограмме.
Wave Inspector облегчает этот процесс. Принцип его действия значительно отличается от концепции линейной прокрутки. Это не просто «удобное в использовании» и «дружественное к пользователю» средство. Wave Inspector является тактильным интерфейсом, обеспечивающим интерактивное взаимодействие с хранящейся в памя-
ти осциллограммой и ее представлением на дисплее. Wave Inspector дает возможность пользователям работать быстрее и эффективней.
Длинная память — продолжительное время поиска
Стандартная длина памяти в осциллографах серии DP04000 составляет 10 млн выборок, пользователи могут регистрировать сигнал значительной длительности с высокой частотой дискретизации. Это хорошо для данных, но из-за большого объема информации довольно сложно найти нужное событие или типы событий, находящихся в памяти. При отладке проекта необходимо точно найти все события, связанные с определенным поведением цепи, — ошибки, переходные состояния или определенные пакеты данных. И сделать это необходимо как можно быстрее. Но просмотр вручную 10 млн выборок данных можно сравнить с поиском отдельного факта в Интернете без помощи поисковых машин, веб-обозревателя или использования закладок. Традиционный метод поиска информации занимает много времени и подвержен ошибкам.
Средство Wave Inspector, встроенное в осциллографы серии DP04000, использует новый подход к решению этих задач и сокращает время их выполнения.
Эффективный переход по миллионам выборок
Wave Inspector содержит группу функций масштабирования, просмотра, прокрутки и поиска, которые поддерживаются аппаратным и программным обеспечением осциллографов серии DP04000. Можно сказать, что Wave Inspector предоставляет простой доступ ко всем наиболее важным функциям.
Наиболее существенная функция визуализации Wave Inspector — ручка масштаб/просмотр на передней панели осциллографа. Внешне этот элемент управления напоминает другие реализации ручки масштаб/просмотр, но отличается своим интерактивным «поведением».
Масштаб и просмотр
Элемент управления Zoom/Pan (Масштаб/ просмотр) фактически состоит из двух круглых ручек управления, предназначенных для масштабирования и просмотра. Внутренняя ручка изменяет масштаб. При вращении по часовой стрелке на дисплее отображается большая часть осциллограммы. Внешняя ручка используется для управления просмотром. При повороте этой ручки в любом направлении осуществляется перемещение по осциллограмме. Такой порядок соответствует рациональным эргономическим требованиям.
Поиск в осциллограмме определенного события часто представляет собой процесс
повторяющихся циклов изменения масштаба и просмотра. До настоящего времени для этого требовалось совершать определенную последовательность действий: увеличение, просмотр осциллограммы, уменьшение, перемещение в новое положение, снова увеличение и т. д. К тому же столь утомительная процедура усложняется использованием меню, если элементы управления отсутствуют на передней панели прибора.
Wave Inspector позволяет просто перемещать увеличенную осциллограмму с помощью вращения ручки управления (внешняя ручка). Осциллограмма перемещается со скоростью, пропорциональной повороту ручки.
Воспроизведение/пауза
Уникальная функция воспроизведения/паузы предназначена для автоматического просмотра всей записанной осциллограммы. Ручка просмотра управляет скоростью перемещения по осциллограмме. Чем сильнее повернуть ручку, тем быстрее будет перемещение по осциллограмме. Автоматическое воспроизведение аналогично быстрой перемотке на DVD-проигрывателях. С его помощью инженеры могут быстро просмотреть значительное количество информации и найти нужные визуальные признаки. Чтобы остановить прокрутку осциллограммы, следует еще раз нажать кнопку Play/Pause (Воспроизведение/пауза).
Маркеры
Функция маркеров также облегчает процесс просмотра информации на осциллограмме. Кнопка Set/Clear Mark (Установить/удалить маркер) используется для размещения маркера в выбранных точках осциллограммы. Кнопки на передней панели Previous (Назад) и Next (Далее) позволяют перемещаться между маркерами.
Поиск в больших объемах данных
Все указанные функции связаны с визуальным поиском в памяти. Кроме того, новая эффективная функция автоматического поиска позволяет ускорить процесс поиска повторяющихся событий или определенных пакетов данных, передаваемых по определенной шине. Эта новая функция Wave Inspector подобна поиску в Интернете и установке закладок.
Поиск и установка маркеров
Wave Inspector может выполнить поиск по всем зарегистрированным данным и автоматически установить маркеры для всех заданных пользователем событий (например, для положительного фронта, пересекающего определенный порог напряжения). Функция Search & Mark (Поиск и установка маркеров) используется для обнаружения события и установки маркера. Затем с помощью кнопок Previous (Назад) и Next (Далее) можно легко перемещаться между событиями.
При этом важно, что критерии поиска и установки маркеров не ограничиваются простым определением фронта. В таблице 2 представлены все критерии функции поиска. Можно задать такие сложные переменные, как Setup & Hold (Время установки и удержания). Проверка нарушения времени установки и удержания становится простой. Инженер задает время фиксации, равное нулю, и уменьшает время установки до тех пор, пока Wave Inspector будет определять только одно событие. Это пример наихудшего случая.
Поиск в шине
Данная функция позволяет обнаружить определенные пакеты данных, зарегистрированных в последовательных шинах I2C, SPI или CAN. С помощью дополнительных модулей DP04EMBD и DP04AUT0 можно использовать запуск по содержимому пакетов и автоматически декодировать зарегистрированные пакеты в двоичный или шестнадцатеричный формат. Функция поиска в шине разрешает задать критерии поиска пакетов и установить маркеры на все пакеты, соответствующие этим критериям.
Поиск в шине идеально иллюстрирует возможности экономии времени при использовании Wave Inspector. Без этой функции приходилось просматривать все пакеты в записи осциллограммы и затем вручную декодировать данные в пакетах, отслеживая
двоичное значение, представленное каждым фронтом тактового импульса. В зарегистрированном сигнале могут содержаться тысячи таких пакетов.
В отличие от этого функция поиска в шине анализирует пакеты, декодированные модулем, и устанавливает маркеры на пакеты, соответствующие заданным критериям. Таким образом, после определения запуска можно просмотреть нужные события, например, выяснить, является ошибка постоянной или случайной.
Функции поиска и запуска говорят на одном языке
Wave Inspector (рис. 2) дает возможность пользователям копировать настройки запуска в критерии поиска и наоборот. Это простой способ, предназначенный для настройки поиска повторений событий запуска, вызывающих регистрацию. Данная функция также позволяет ускорить настройку запуска в случае необходимости регистрации с использованием тех же самых критериев, определенных для события (рис. 3) во время поиска. В таблице 2 представлены все критерии поиска и запуска.
Осциллографы серии DP04000 с функциями запуска на последовательные потоки данных, декодирования и поиска ежедневно помогают инженерам эффективно решать проблемы, возникающие в процессе отладки в последовательных шинах. Платформа DP04000 задает новый стандарт эффективности при диагностике встроенных систем. ■
Таблица 2. Возможности поиска Wave Inspector
Тип поиска Действия
Edge (Фронт) Поиск фронта (нарастающий или спадающий) с заданным пользователем пороговым уровнем.
Pulse Width (Длительность импульса) Поиск положительной или отрицательной длительности импульса, который >, <, = или * заданной пользователем длительности.
Runt (Рант-импульс) Поиск положительных или отрицательных импульсов, пересекающих один порог амплитуды, но не пересекающих второй порог до следующего пересечения первого порога. Поиск всех рант-импульсов или только тех, длительность которых >, <, = или * заданному пользователем времени.
Logic (Логика) Поиск логических моделей (AND, OR, NAND или NOR) в нескольких осциллограммах с заданным входом High (высокий), Low (Низкий) или Don't Care (Не имеет значения). Поиск ситуации, когда событие истинно, ложно или остается действительным для >, <, = или * заданного пользователем времени. Один вход можно назначить как тактовый сигнал для поиска состояния синхронизации.
Setup & Hold (Установка и фиксация) Поиск нарушений заданных пользователем времен настройки и фиксации.
Время нарастания/спада Поиск нарастающих или спадающих фронтов с временем, >, <, = или * заданного пользователем времени.
Bus (Шина) Параметры управления, кадрирования и данные шин I2C, SPI, CAN.