Содержание

Содержание Назад Содержание Вперед
• Введение
• Возможности
• Технические характеристики
• Инсталляция
• Возможные проблемы при первом запуске
• Интерфейс
• Строка меню
• Осциллограф
- Осциллограф (настройка)
• Спектр анализатор
- Спектр анализатор (настройка)
• Самописец
- Самописец (настройка)
• Логический анализатор / генератор
- Режим склейки
- Логический анализатор / генератор (настройка)
• Режимы чтения
• Информация о крутилке
• Задание параметров фильтра
• Звуки
• Статистика
• Обновление ПО устройства
• Анализ стандартных интерфейсов UART, SPI, I2C, 1-Wire
- Анализ интерфейса UART
- Анализ интерфейса SPI
- Анализ интерфейса I2C
- Анализ интерфейса 1-Wire
• Терминал
• Системные настройки
• Сочетания быстрых клавиш
Назад Содержание Вперед


Введение

Введение Назад Содержание Вперед
При разработке или исследовании, каких либо электронных устройств радиолюбителю часто требуется произвести измерение параметров сигнала, или хотя бы посмотреть входные и выходные сигналы, произвести их запись и, возможно, расшифровку. Для решения этих задач при анализе цифроаналоговых схем обычно применяются несколько устройств: осциллограф, спектр анализатор, самописец, логический анализатор/генератор. Как правило, каждое устройство требует наличие свободного интерфейсного разъема (обычно LPT) и поставляется со своим источником питания. К тому же профессиональная измерительная аппаратура, например, выпускаемая под маркой Techtronics и Adgilent, не по карману не только радиолюбителю-разработчику, но даже и не очень крупным фирмам. В тоже время появление новых микроконтроллеров (C8051F321) с богатым набором периферии и поддержкой высокоскоростного канала обмена данными (USB) с компьютером не требующих дополнительных источников питания позволяют создать компактное устройство сочетающие в себе все выше перечисленные функции по очень низкой цене. Именно таким устройством и есть представляемый USB осциллограф.


Возможности

Возможности Назад Содержание Вперед
USB осциллограф обеспечивает следующие режимы работы:

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

- 2-х канальный спектр анализатор (маркерные измерения, измерение коэффициента нелинейных искажений, различные оконные функции, фильтрация…).

- 2-х канальный самописец (маркерные измерения, возможность добавления 99 маркеров с комментариями, измерение максимального, минимального и среднего напряжений по каждому из каналов, запись сигнала в течение нескольких десятков часов…).

- 16(8)-ти канальный логический анализатор (маркерные измерения, синхронизация (по фронту, маске) и регулируемый претриггер, внешнее тактирования (синхронизация), пропуск заданного количества импульсов, поиск заданной логической комбинации / фронта, расшифровка интерфейсов UART, SPI, I2C, 1-Wire…).

- 8-ми канальный логический генератор (табличное задание сигнала или непосредственное построение временных диаграмм мышкой на экране…).

- В процессе разработки функции управления зарядом / разрядом аккумуляторов и аппаратной потдержки протоколов UART, SPI, I2C, 1-Wire.

Кроме того, USB осциллограф позволяет:

- Добавлять к каждому измерению комментарии (записываются в файл с результатами измерения)

- Сохранять результаты всех измерений виде векторного или растрового рисунка для последующей импорта в другие программы или в файле данных для последующего анализа.

- Распечатывать результаты всех измерений.

- Копировать результаты всех измерений в буфер обмена.

- Задавать события и звуковое сопровождение к ним.

- Рассчитывать различные цифровые фильтры и производить фильтрацию аналоговых сигналов.

- Производить сглаживание временных диаграмм осциллографа.

- Отображать статистику по всем каналам логического анализатора и генератора.

- Изменять язык интерфейса.

- Производить обновление прошивки устройства по USB шине, что позволяет дополнить возможности устройства любыми функциями на заказ.


Tехнические характеристики

Tехнические характеристики Назад Содержание Вперед
Осциллограф, спектр анализатор: |
- количество каналов | 2
- частота дискретизации | 100 Гц … 200 КГц
- глубина памяти |
чтение через буфер: | 1126 отсчетов/канал (1 канал), 563 oтс/кан (2 канала)
потоковое чтение: | 64K отсчетов/канал (1 или 2 канала)
- входное напряжение | -20 ... +20 В (аппаратно 2 поддиапазона)
- разрядность АЦП | 10 бит
- синхронизация | абсолютная (по нарастающему/спадающему фронту), дифференциальная (по разнице между соседними отсчетами), внешняя (по нарастающему/спадающему фронту ТТЛ уровни)
- оконные функции | Хамминга, Ханнинга, Блэкмана, Блэкмана-Харриса
Самописец: |
- частота дискретизации | 0,01 Гц … 200 КГц
- максимальное время записи | 24 часа при Fд < 100 Гц
- входное напряжение | -20 ... +20 В (аппаратно 2 поддиапазона)
- разрядность АЦП | 10 бит
Логический анализатор: |
- количество каналов | 16 (8 при включении логического генератора)
- частота дискретизации | 1 КГц … 8 МГц
- глубина памяти |
чтение через буфер (Fд=4-8 мГц): | 128 бит/канал
чтение через буфер (Fд=2-2,66 мГц): | 1160 бит/канал
чтение через буфер (Fд<= 1мГц): | 1544 бит/канал
чтение через буфер в режиме склейки | 1 Мбит/канал
потоковое чтение (Fд< 500кГц): | от 4К до 256M бит/канал
- входное напряжение | 0 ... +5 В (есть защита от перенапряжения)
- синхронизация | по фронтам, маске, пропуск импульсов, внешнее тактирование
- тактирование | внутренне / внешнее
Логический генератор: |
- количество каналов | 8
- частота дискретизации | 1 кГц … 1 МГц
- глубина памяти | 1544 бит/канал
- выходное напряжение | "0" - 0 В, "1" - 3,3 В
- максимальный втекающий/вытекающий ток | 10 мА


Инсталляция

Инсталляция Назад Содержание Вперед
После распаковки файлов дистрибутива открывается окно установки драйверов и создания ярлыков.
Данное окно позволяет автоматически произвести установку драйверов (файлы usb_osc.inf, windrvr6.inf и windrvr6.sys), т.е. переписать 3 файла в соответствующие системные папки и зарегистрировать их в реестре Windows. Установка драйвера сводится к определению типа операционной системы (на базе NT или нет) и запуску соответствующего *.bat файла из папки Driver (install_win2k_XP.bat или install_win98-ME.bat). Если автоматическая установка драйверов не удалась, то драйвера придется установить вручную через окно мастера установки оборудования. Подробнее прочитать об установке драйверов можно из файла ReadMe.txt который должен находится в папке Driver.

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


Возможные проблемы при первом запуске

Возможные проблемы при первом запуске Назад Содержание Вперед
Иногда в англоязычных версиях Windows, например Windows XP SP2 с русским MUI, вместо русских символов отображаются не понятные символы или знаки вопроса и при этом при запуске программы выдается ошибка "Floating point division by zero".

Для решения это проблемы нужно открыть следующий файл (font.reg) который просто изменит в системном реестре кодовую страницу ("1252"="c_1251.nls").

Если после этого проблема не будет решена, следует проверить правильность установки Languadge Options: запускаем апплет Regional and Languadge Options (он в Контрольной панели) и открыть закладку Regional Options. В разделе Standart and formats имеет смысл выставить "russian", в разделе Location, отвечающем в том числе за системные шрифты - обязательно указать "Russia". Для полного счастья необходимо проверить вкладку Advanced: Language for non-Unicode programs должен быть выставлен в "Russian".


Интерфейс

Интерфейс Назад Содержание Вперед
На рисунке приведено основное окно программы (щелкнув по выбранному элементу окна можно перейти к соответствующему разделу описания). Под заголовком окна расположена строка меню [image], ниже размещены 4 закладки [image] позволяющие выбрать режим работы. По центру основного окна расположен рабочий экран [image] выбранного режима работы, на котором собственно и отображаются все результаты измерений. Под рабочим экраном размещается панель настройки [image] выбранного режима работы. Внизу рабочего окна находится строка состояния [image] на которой отображается текущие состояние прибора, например информация об ожидании окончания измерения, а также краткая подсказка обо всех элементах программы, которая появляется при подведении указателя мыши к соответствующему элементу.


Строка меню

Строка меню Назад Содержание Вперед
Меню "Файл"
Меню "Файл" содержит следующие пункты:

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

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

• Сохранить как векторный рисунок - позволяет сохранить результаты измерений выбранного режима работы в виде векторного рисунка формата *.emf (Enhanced Metafile).

• Сохранить как растровый рисунок - позволяет сохранить результаты измерений выбранного режима работы в виде растрового рисунка формата *.bmp (Windows Bitmap).

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

• Печать - печать результатов измерения выбранного режима работы.

• Выход - завершение работы программы.

Меню "Правка"
Меню "Правка" содержит следующие пункты:

• Копировать как векторный рисунок - позволяет скопировать в буфер обмена Windows результаты измерений выбранного режима работы в виде векторного рисунка формата *.emf (Enhanced Metafile).

• Копировать как векторный рисунок - позволяет скопировать в буфер обмена Windows результаты измерений выбранного режима работы в виде растрового рисунка формата *.bmp (Windows Bitmap).

• Очистить - очищает результаты измерений выбранного режима работы.

• Комментарий - открывает окно ввода комментария для результатов измерения выбранного режима.

Текст комментария интегрируется в файл с результатами измерения. Максимальная длина комментария составляет 64K для Windows 98/ME, а для Windows 2000/XP ограничена максимальным размером файла.

Меню "Аналоговые сигналы"
Меню "Аналоговые сигналы" содержит следующие пункты:

• Сглаживание канала A/B - подменю этого пункта позволяет определить степень сглаживания формы сигнала и удаления шума (только при работе в режимы осциллограф).

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

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

• Звуки - открывает окно задания параметров событий и их звукового сопровождения. Данное окно может быть полезно в том случае если производится поиск, например, напряжение 3,3 В, для того чтобы постоянное не переводить взгляд с исследуемого устройства на экран монитора, можно задать звук, которые будет сообщать о том, что напряжения на выбранном канале приблизилось к 3,3 В.

• Зарядка аккумуляторов - открывает окно управления процессом заряда / разряда аккумуляторов (на этапе разработки).

Меню "Логический анализатор"
Меню "Логический анализатор" содержит следующие пункты:

• Режим склейки - включение или выключение режима склейки диаграмм логического анализатора.

• Удерживать состояние выходов - включение или выключение режима удержания выходов генератора в последнем состоянии. Если режим выключен, то состояние выходов изменяется в соответствии с заданной временной диаграммой только в течение измерения (генерации), т.е. после нажатия кнопки "Запуск" и до отжатия кнопки (когда кнопка изменит цвет с красного снова на зеленый), после окончания измерения все выходы перейдут в третье состояние. Если включить режим удержания состояния выходов, то после окончания измерения состояние выходов будет соответствовать последнему значению временной диаграммы. Выходы автоматически переводятся в третье состояние при отключении режима удержания или отжатия кнопки генератора. Данный режим сделан с целью устранить не желательное подавление (изменение) сигнала, если случайно не были отключены соответствующие каналы генератора от каких либо элементов исследуемого устройства.

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

• Статистика - открыть окно статистики.

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

• UART, SPI, I2C, 1-Wire - открывают окна анализа и расшифровки соответствующих интерфейсов.

• Терминал - открыть окно аппаратной поддержки (ввода / вывода) интерфейсов UART, SPI, I2C, 1-Wire (на этапе разработки, пока реализованы только базовые функции для I2C).

Меню "Сервис"
Меню "Сервис" содержит следующие пункты:

• Настройка - открывает окно настройки режимов работы.

• Language - подменю этого пункта позволяет выбрать доступные языки интерфейса.

Меню "Обновление ПО"
Данный пункт меню открывает окно обновления программного обеспечения устройства (прошивки).

Меню "Справка"
Меню "Справка" содержит следующие пункты:

• Помощь - открывает окно (файл) помощи.

• О программе - открывает окно с информацией о программе.


Осциллограф

Осциллограф Назад Содержание Вперед
На рисунке приведено основное окно программы при работе в режиме осциллографа. В центре окна находится рабочий экран на котором отображаются осциллограммы, красная осциллограмма соответствует каналу А, а синяя каналу В. Слева от рамки рабочего экрана расположена шкала по напряжению канала A (красный шрифт), справа от рамки - шкала по напряжению канала B (синий шрифт). Размерность обоих шкал по напряжению всегда Вольты. Снизу рабочего экрана расположена ось времени (развертка).

Слева и справа от рабочего экрана находятся 2 указателя [image] и [image] позволяющих смещать нуль канала A и канала B соответственно. Смещение нуля целесообразно проводить, если сигналы обоих каналов чересчур накладываются друг на друга, что затрудняет их анализ. Для установки одной из 9-ти стандартных позиций нуля необходимо щелкнуть правой кнопкой мыши над соответствующем указателем, после чего из появившегося всплывающего меню выбрать одно из возможных значений положения нуля.

Над рамкой рабочего экрана расположены два маркера [image] и [image] предназначенные для точного измерения временных интервалов и значений амплитуд напряжений каждого из каналов. Маркеры можно передвигать с помощью мыши, для этого необходимо щелкнуть левой кнопкой мыши над треугольником, после чего не отпуская левою кнопку передвигать мышь влево или вправо. При передвижении маркера по рабочему экрану на панели [image] будут отображаться параметры сигнала под маркером.

Для задания уровня синхронизации используются два горизонтальных маркера [image] и [image]. Маркер A задает уровень (амплитуду) напряжения канала A который используется при включенной синхронизации (абсолютной) по каналу A. Маркер B аналогично задает уровень, используемый при включенной синхронизации по каналу B. Перемещение маркеров синхронизации осуществляется аналогично перемещению маркеров [image] и [image], кроме того, при перемещении маркеров синхронизации на строке состояния точно отображается устанавливаемый уровень.

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

Задать размах шкалы напряжения канала A/B возможно на панели [image] / [image] "Канал A/B (Вольт/экран)". Размах задается с помощью ручки настройки - "крутилки" (подробнее). Необходимо отметить, что USB осциллограф аппаратно поддерживает два диапазона входных сигналов 0-2 В и 2-20 В. Из этого следует, что для того чтобы получить наиболее достоверную осциллограмму амплитуда которой находится в диапазоне ±2 В целесообразно выбрать размах ±2 Вольт/экран или ниже. Так как ошибка кантования при размахе ±2 Вольт/экран и ниже будет составлять 4В / 1024 = 0,0039 В (разрядность 10 бит), в то время как при размахе ±5 Вольт/экран и выше ошибка кантования будет в 10 раз больше 40В / 1024 = 0,039 В. На этих же панелях расположены кнопки включения / выключения каналов. Если при анализе устройства не требуется анализировать одновременно два аналоговых сигнала, то целесообразно будет выключить один из каналов, что позволит увеличить максимальную частоту дискретизации с 100 кГц до 200 кГц.

Панель "Период" [image] позволяет задавать период дискретизации (развертку) с которой происходит оцифровка входного аналогового сигнала. Для нормального просмотра осциллограмм рекомендуется, чтобы частота дискретизации была хотя бы 5-6 раз выше максимальной частоты входного сигнала. Кроме выбора развертки на панели " Период " также можно задавать масштаб отображения осциллограмм, т.е. можно растянуть осциллограмму по оси времени для более детального анализа, например, каких либо временных параметров сигнала. В правом верхнем углу панели "Период" располагается информация о режиме чтения (если разрешено): buf - чтение с использованием внутреннего буфера МК, pipe - потоковое чтение данных в компьютер (в несколько раз увеличивается размер буфера отсчетов но ужесточаются требования предъявляемые к компьютеру (подробнее о режимах чтения)). Граничный период на основании которого определяется режим чтения задается на в окне настроек. Двойной щелчок левой кнопкой мыши по метки с информацией о режиме чтения открывает окно настроек, аналогично Сервис/Настройка.

Все управляющие элементы синхронизацией, за исключением маркеров, расположены на панели "Синхронизация" [image]. Кнопка "Включена/Выключена" позволяет включить или выключить синхронизацию. Кнопки "A" и "B" выбирают канал и соответствующий маркер, сигнал с которого будет использоваться в качестве источника синхронизации. Кнопка "Ext" указывает что источником синхронизации будет внешний источник подключаемый к каналу B.5 логического анализатора, который работает как вход (внешняя синхронизации доступна только при чтении через буфер). Кнопки выбора фронта определяют, по какому фронту сигнала (нарастающему или спадающему) будет абсолютная синхронизация, по какому перепаду сигнала (положительному или отрицательному) будет дифференциальная синхронизация и по какому фронту внешнего синхросигнала (нарастающему или спадающему) будет внешняя синхронизация. Две кнопки расположенные внизу панели определяют тип синхронизации: абсолютная или дифференциальная. Поле, расположенное возле кнопки задания дифференциальной синхронизации определяет разницу между соседними отсчетами сигнала при превышении, которой будет выполнение условия синхронизации. Необходимом отметить, что при задание параметров синхронизации которые не могут быть выполнены, например задан уровень 5 В, а максимальная амплитуда сигнала не превышает 2 В, прибор все время будет находится в ожидании выполнения условия синхронизации, т.е. одна из кнопок запуска измерения будет красной. В данном случае совсем не обязательно останавливать измерения нажимая кнопку "Сброс", так как при измерения любых условий синхронизации они автоматически будут переданы в устройство.

На панели "Параметры сигнала под маркерами" [image] отображаются, положение каждого маркера на оси времени и амплитуда сигнала обеих каналов под каждым маркером. Также вычисляется разница времени маркеров и амплитуд сигналов, при этом цвет результата разницы будет определяться цветом того маркера соответствующие значение, которого больше.

На панели "Общие параметры сигнала" [image] отображаются вычисленные значения постоянной и переменной составляющей напряжения и если возможно, то и значение частоты по каждому каналу.

Панель "Фильтрация" [image] обеспечивает подключение, и расчет цифровых фильтров для каждого канала. Для включения фильтрации по каналу сначала необходимо рассчитать фильтр открыв окно задания параметров фильтра нажав кнопку "…", после чего установить галочку "Вкл." для выбранного канала.

Для того, чтобы произвести измерение необходимо нажать кнопку "Однокр." или "Цикл." на панели "Управление" [image]. Кнопка " Однокр." инициализирует только одно измерение (оцифровка и накопление отсчетов микроконтроллером, а затем передача их оболочке при работе через буфер) после чего на рабочем экране отображаются только что считанные осциллограммы. Кнопка " Цикл." выполняет аналогичные действии за исключением того, что после окончания измерения автоматически запускается новое измерение. После нажатия на одну из кнопок запуска она меняет свое название на "Сброс" красного цвета, нажатие на такую кнопку вызовите немедленный сброс устройства и прекращение ожидания результатов измерения. Кнопка "Сброс" может оказаться единственным средством останова измерения, например, когда задан уровень синхронизации который ни когда не может быть достигнут.


Осциллограф (настройка)

Осциллограф (настройка) Назад Содержание Вперед
На рисунке приведена закладка настройки параметров осциллографа.

На закладке расположены следующие элементы:

• Тд грн. буфера - список позволяющий выбрать граничный период дискретизации меньше, которого будет чтение через буфер. В данном случае установлен граничный период равный 10 мкс (Fд=100 КГц), т.е. для периодов дискретизации 9 мкс…5 мкс (Fд=111 КГц …200 КГц) будет чтение через буфер, а для периодов дискретизации 10 мс…10 мкс (Fд=100 Гц …100 КГц) будет потоковое чтение. Тд грн. буфера определяется экспериментально на основании нескольких измерений. Например, сначала нужно установить Тд грн. буфера = 5 мкс, т.е. при любом периоде дискретизации будет потоковое чтение, и провести измерения также на Тд=5 мкс (Fд=200 КГц), если искажений сигнала не будет, значит, на Вашем компьютере и ОС можно передавать данные на максимальной скорости. Если же будут искажения, то необходимо увеличить период дискретизации, например до 6 мкс (167 КГц) и еще раз провести измерения, и так далее. После определения периода дискретизации, при котором нет искажений в полученных результатах измерения, целесообразно установить его в качестве граничного. Почему так сделано.

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

• Буфер на 1024/512 байт - принудительно уменьшение буфера с 1126(1 канал) / 563 (2 канала) отсчетов до 1024/512. Суть этого флажка заключена в следующем: для фильтрации используется БПФ, а, как известно количество отсчетов для БПФ должно быть 2^n, т.е. если фильтр включен по какому либо каналу то это приведет к автоматическому уменьшению глубины буфера до 1024/512 отсчетов, что вызовет какое то недоумении, например, почему сигнал по каналу A (нет фильтра) длиннее чем сигнал по каналу B (есть фильтр). Если Вас это не смущает то не включайте этот флажок, что обеспечит дополнительные 102/51 отсчетов при не использовании фильтра.

• Глубина памяти – при потоковом чтении определяется количеством доступной памяти на компьютере и в режиме осциллографа искусственно ограничена 65535 отсчетами на канал, так как при большой глубине памяти не удобно просматривать периодические сигналы (для исследования не периодических или очень длинных сигналов рекомендуется использовать самописец).

• Запрет усреднения – этот флажок запрещает уменьшать период (увеличивать частоту) дискретизации и производить усреднение по нескольким отсчетам (среднее арифметическое).

• Привязка к экрану / привязка к сигналу – флажок задает к чему следует привязать маркеры синхронизации, если выбрана привязка к сигналу маркер синхронизации будет синхронно перемещается по экрану с изменение развертки или перемещением нуля удерживаю заданную позицию в Вольтах.

• Авто включения фильтра – разрешает включение [+] Вкл. соответствующего фильтра после задания его параметров.

• Авто включения синхронизации – разрешает автоматически включать синхронизацию при нажатии на любую кнопку из панели “Синхронизация”.

• Вывести информацию о режиме чтения (буфер/поток) - разрешает выводить информацию о режиме чтения на панели “Период”.


Спектр анализатор

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

Также добавились новые элементы, относящиеся исключительно к спектральному анализу. Так на панелях "Канал A/B (Вольт/экран)" появились дополнительные кнопки "В / дБ" и "0 дБ = 0,775 В / 0 дБ = Umax" [image] и [image]. Первая кнопка определяет, в каких единицах будет отображаться вертикальная шкала: в Вольтах или децибелах. Вторая кнопка (активна только в том случае если нажата первая) определяет какой уровень напряжения соответствует 0 дБ: 0,775 В или максимальное значение напряжение по всей частотной оси для заданного канала.

На панели "Частота" добавлена кнопка [image], определяющая будет ли ось частоты линейной или логарифмической.

Панель синхронизации заменена панелью задания оконной функции БПФ [image]. На панели находится раскрывающийся список, содержащий некоторые распространенные оконные функции: Хамминга, Ханнинга, Блэкмана и Блэкмана-Харриса.

Также добавлена панель [image] расчета коэффициента нелинейных искажений (КНИ) или коэффициента гармоник. На панели выводятся результаты расчета общего КНИ, КНИ третей гармоники и частоты первой (основной) гармоники, которая может задаваться принудительно в поле F1 либо рассчитываться автоматически при включенном флажке [+] Max.


Спектр анализатор (настройка)

Спектр анализатор (настройка) Назад Содержание Вперед
На рисунке приведена закладка настройки параметров спектр анализатора.
На закладке расположены следующие элементы:

• Fд грн. буфера - список позволяющий выбрать граничную частоту дискретизации больше, которой будет чтение через буфер. В данном случае установлена граничная частота равная 100 КГц, т.е. для частот дискретизации 111 КГц …200 КГц будет чтение через буфер, а для частот дискретизации Fд=100 Гц …100 КГц будет потоковое чтение. Fд грн. буфера определяется экспериментально на основании нескольких измерений. Например, сначала нужно установить Fд грн. буфера = 200 КГц, т.е. при любой частоте дискретизации будет потоковое чтение, и провести измерения также на Fд=200 КГц, если искажений сигнала не будет, значит, на Вашем компьютере и ОС можно передавать данные на максимальной скорости. Если же будут искажения, то необходимо уменьшить частоту дискретизации, например до 190 КГц и еще раз провести измерения, и так далее. После определения частоты дискретизации, при которой нет искажений в полученных результатах измерения, целесообразно установить ее в качестве граничной. Почему так сделано.

• Глубина памяти – при потоковом чтении определяется количеством доступной памяти на компьютере и в режиме анализатора спектра искусственно ограничена 65535 отсчетами на канал.

• Запрет усреднения – этот флажок запрещает увеличивать частоту дискретизации и производить усреднение по нескольким отсчетам (среднее арифметическое).

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

• Авто включения фильтра – разрешает включение [+] Вкл. соответствующего фильтра после задания его параметров.

• Вывести информацию о режиме чтения (буфер/поток) – разрешает выводить информацию о режиме чтения на панели “Частота”.


Самописец

Самописец Назад Содержание Вперед
На рисунке приведено основное окно программы при работе в режиме самописца. Большинство элементов окна при работе в данном режиме аналогичны соответствующим элементам при работе в режиме осциллографа с некоторыми исключениями, обусловленными тем, что при работе в режиме самописца сигнал непрерывно в реальном режиме времени считывается из микроконтроллера. Вследствие чего в режиме самописца отсутствуют панели синхронизации, фильтрации и изменена панель общих параметров сигнала, а также формат оси времени (часы : минуты : секунды : миллисекунды).

Необходимо учесть, что в режиме самописца не может быть ни одиночного измерения, ни циклического измерения, поэтому для начала записи сигнала необходимо нажать кнопку "Запуск", после чего кнопка изменит свое название на "Сброс" красного цвета. Для окончания записи нужно нажать на кнопку "Сброс". Во время записи блокируется возможность изменения размаха шкалы напряжения, включения / выключения каналов и изменения развертки. Это связано с тем, что запись сигнала идет в реальном режиме времени, а любое изменение приведет к существенной загрузки центрального процессора, вследствие чего возможны пропуски новой порции данных.

В правом верхнем углу панели "Период" [image] вместо информации о режиме чтения располагается информация о необходимости прорисовке сигнала непосредственно в режиме записи (если разрешено): Dis - прорисовка запрещена, En - разрешена. Смысл в запрете или разрешении прорисовки во время измерения заключается в том, что при периоде дискретизации например 5 мкс (200 КГц) каждую секунду на экране нужно прорисовывать 200 тысяч точек, это не посильно даже современным компьютерам, да и при такой скорости прорисовки на экране ничего не будет понятно (сигнал будет просто мельтешить). Но с другой стороны при больших периодах (меньших частотах) дискретизации вывод результатов измерения на экран непосредственно в режиме записи даст возможность визуально проанализировать в динамике изменения сигнала и возможно остановить запись при определенных условиях. Кроме того, в режиме самописца сигнал можно не только растягивать (увеличивать) но и сжимать (уменьшать) как с помощью соответствующих кнопок, так и изменяя развертку, это полезно в том случае если нужно будет просмотреть общую картину сигнала, например при Тд=5 мкс, записана 1 минута сигнала (60/5e-6 = 12 млн. точек).

Для более удобного анализа длительных сигналов добавлена возможность маркирования характерных участков сигнала. Справа от панели "Период" находится таблица [image] предназначенная для добавления / удаления / перемещения к маркерам [image] и изменения их параметров. Так для того чтобы добавить (создать новый маркер) необходимо: два раза щелкнуть левой кнопкой мыши над свободной ячейкой таблицы либо выбрать свободную ячейку таблицы и нажать клавишу Insert либо щелкнуть правой кнопкой мыши над свободной ячейкой и в появившемся меню [image] выбрать пункт "Добавить маркер". После чего, если разрешено, появятся два диалоговых окна для задания комментария и цвета маркера, затем по центру рабочего экрана появится только что добавленный (созданный) маркер. Добавленный маркер можно передвигать по экрану аналогично другим маркерам. Для удаления маркера необходимо: выбрать не пустую ячейку таблицы и нажать клавишу Delete либо щелкнуть правой кнопкой мыши над не пустой ячейкой или над удаляемым маркером и в появившемся меню [image] / [image] выбрать пункт "Удалить маркер". Так как маркеры привязаны к оси времени (характерному участку сигнала) то при перемещении сигнала или его масштабировании возможно что необходимый маркер будет за пределами видимой области рабочего экрана. Для быстрого перемещения к заданному маркеру необходимо выбрать, например щелчком левой кнопки мыши, соответствующую ячейку таблицы (тот же цвет, что и у маркера). Изменять параметры маркеров (цвет и комментарий) можно из соответствующих всплывающих меню. Необходимо отметить, что положение маркеров и их параметры сохраняются внутри файла с результатами измерения, т.е. при открытии файла все маркеры будут указывать на соответствующие характерные участки сигнала.

На панели "Общие параметры сигнала" [image] отображаются максимально, минимально и среднее значение напряжений по каждому каналу.

На панели управления добавлены элементы [image], позволяющие задать время по прошествию, которого будет произведен автоматический останов записи сигнала. Автоостанов удобно использовать в том случае, если необходимо произвести длительную, но в тоже время ограниченную запись сигнала. Кроме того, при записи на периодах дискретизации 0,1 мс и ниже (частотах выше 10 КГц) очень рекомендуется заранее установить необходимую длительность записи сигнала, так как это позволит программе заблаговременно выделить необходимую память до начала процесса записи, а не выделять ее динамически при необходимости непосредственно в процессе записи сигнала. Под элементом задания времени автоостанова находится строка, информирующая о суммарном времени записи сигнала.

Необходимо отметить, что режим самописца очень требователен к объему памяти компьютера, так например при записи с периодом дискретизации 5 мкс (200 КГц) в течении 1 минуты результаты измерения будут занимать: 200 000 (отсчетов/сек) * 60 (сек) * 2 (координата по вертикали и горизонтали) * 8 (размер double) = 187 МБ, примерно столько же будет занимать и файл с результатами измерений.


Самописец (настройка)

Самописец (настройка) Назад Содержание Вперед
На рисунке приведена закладка настройки параметров самописца.
На закладке расположены следующие элементы:

• Тд мин рабочее - список позволяющий выбрать минимальный период дискретизации меньше, которого будет запись запрещена. В данном случае установлен минимальный период равный 10 мкс (Fд=100 КГц), т.е. периоды дискретизации 9 мкс…5 мкс (Fд=111 КГц …200 КГц) невозможно будет выбрать. Тд мин рабочее определяется экспериментально на основании нескольких измерений. Например, сначала нужно установить Тд мин рабочее = 5 мкс, т.е. разрешить запись при любом периоде дискретизации, и провести измерения также на Тд=5 мкс (Fд=200 КГц), если искажений сигнала не будет, значит, на Вашем компьютере и ОС можно передавать данные на максимальной скорости. Если же будут искажения, то необходимо увеличить период дискретизации, например до 6 мкс (167 КГц) и еще раз провести измерения, и так далее. После определения периода дискретизации, при котором нет искажений в полученных результатах измерения, целесообразно установить его в качестве минимального. Т.е. эта опция всего на всего запрещает задавать те периоды дискретизации, на которых Вы определите, что запись идет с искажениями. Почему так сделано.

• Тд мин отображения – список позволяющий выбрать минимальный период дискретизации меньше, которого будет запрещено прорисовка сигнала непосредственно в режиме записи. . Смысл в запрете или разрешении прорисовки во время измерения заключается в том, что при периоде дискретизации например 5 мкс (200 КГц) каждую секунду на экране нужно прорисовывать 200 тысяч точек, это не посильно даже современным компьютерам, да и при такой скорости прорисовки на экране ничего не будет понятно (сигнал будет просто мельтешить). Но с другой стороны при больших периодах (меньших частотах) дискретизации вывод результатов измерения на экран непосредственно в режиме записи даст возможность визуально проанализировать в динамике изменения сигнала и возможно остановить запись при определенных условиях. Также необходимо отметить, что Тд мин отображения несколько зависит от количества уже записанных отсчетов, так, например на Athlon XP 1700, 512M можно записывать сигнал с Тд мин отображения 20 мс (50 КГц), но после 3-5 минуты записи (около 10 млн. отсчетов) время на прорисовку следующего куска сигнала существенно возрастает за счет необходимости просчета дополнительных параметров графика.

• Запрет усреднения (Тд<10 мс) – этот флажок запрещает уменьшать период (увеличивать частоту) дискретизации и производить усреднение по нескольким отсчетам (среднее арифметическое). Данный флажок действителен только для периодов меньше 10 мс (частот выше 100 Гц), при больших периодах (меньших частотах) дискретизации усреднение будет включено автоматически. При работе на периодах дискретизации близких к Тд мин отображения и Тд мин рабочее, рекомендуется запрещать усреднение. В случае если период дискретизации на много больше Тд мин отображения, усреднение рекомендуется разрешить исходя из тех соображений, что данные из микроконтроллера считываются по 409 отсчетов (512/1.25 (10 бит)) за раз, после чего выполняется прорисовка, то например для периода дискретизации 10 мс (100) прорисовка будет выполнятся раз в 409 * 0,01 = 4 секунды, а если разрешить усреднение и установить Тд мин отображения, например 1 мс (1 КГц, т.е. искусственно ограничив максимальное увеличение частоты дискретизации до 1 КГц), то прорисовка будет выполнятся раз в 409 * 0,001 = 0,4 секунды по 409/10=50 отсчетов, при этом будет гораздо удобнее наблюдать за изменением сигнала.

• Масштабирование разверткой – разрешение сжатия / растягивания сигнала изменением периода дискретизации. Имеет смысл только при необходимости большого сжатия сигнала, если нужно будет просмотреть общую картину сигнала.

• Запрос цвета при добавлении маркера – если флажок установлен, то после добавления (создания) нового маркера автоматически открывается диалоговое окно задания цвета.

• Запрос цвета при добавлении маркера – если флажок установлен, то после добавления (создания) нового маркера автоматически открывается диалоговое окно ввода комментария.

• Ускоренная прорисовка результатов измерения – если флажок установлен, то прорисовка результатов измерения выполняется с использованием более быстродействующих упрощенных функций. В ОС Windows 98/Me несколько может снизиться точность отображения результатов.

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

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

• Динамическое выделение памяти (по мере необходимости) - если флажок установлен и не установлен автоостанов то выделение памяти для хранения получаемых отсчетов сигнала происходит непосредственно в режиме записи сигнала из-за чего расходуется больше ресурсов и снижается максимальная частота дискретизации для медленных компьютеров. Если же флажок не установлен, то перед запуском программа пытается выделить всю доступную ей память, но не более 256M из-за чего запись сигнала стартует с некоторым запаздыванием. Если Вы знаете или предполагаете, за какой интервал времени необходимо произвести запись сигнала очень рекомендуется установить время автоостанова, так как это позволит программе заблаговременно выделить необходимую память (не будет лишнего выделения памяти) до начала процесса записи.


Логический анализатор / генератор

Логический анализатор / генератор Назад Содержание Вперед
На рисунке приведено основное окно программы при работе в режиме логического анализатора. Такие элементы как маркеры, линейка прокрутки и панель задания частоты дискретизации (развертки) полностью аналогичны соответствующим элементам при работе в режиме осциллографа. Поэтому подробнее остановимся на новых элементах присущих только данному режиму.

Слева от рабочего экрана находится панель, содержащая названия всех 16-ти каналов, которые функционально разделены на две шины. Первые 8 каналов относятся к шине A [image], а следующие восемь каналов к шине B [image]. Каналы шины A (далее шина A) всегда используются в качестве 8-ми канального анализатора. Каналы шины B (далее шина B) могут использоваться в режиме 8-ми канального логического генератора, так и в качестве дополнительного 8-ми канального анализатора либо вообще могут быть не задействованы. Режим работы шины B задается соответственными кнопками на панели управления [image]. Кроме того, цвет и название каждого из каналов можно изменить, для чего необходимо подвести указатель мыши к названию выбранного канала и нажать левую кнопку мыши, после чего откроется окно задание параметров канала.
Для изменения названия канала необходимо ввести новое название в поле “Название канала”. Для изменения цвета канала необходимо щелкнуть левой кнопкой мышки по раскрывающемуся списку “Цвет канала”, а затем выбрать необходимый цвет, если же в списке нет желаемого цвета, то следует щелкнуть по цвету “Custom…” после чего будет открыто стандартное окно Windows определения цвета. Для того чтобы внесенные изменения вступили в силу необходимо нажать кнопу “ОК”, для отмены всех внесенных изменений следует нажать кнопку “Отмена”.

Внизу панели “Каналы” расположены две кнопки [image] позволяющие открывать и сохранять все названия и цвета каналов в файле.
В нижнем левом углу основного окна расположена панель “Данные генератора”, которая активна только в том случае если шина B использоваться в режиме 8-ми канального логического генератора. Как следует из названия панели, она предназначена для задания (создания) временных диаграмм генератора. Левую часть панели занимает таблица [image] содержащая данные генератора в двоичном и шестнадцатеричном форматах. Изменять данные в таблицы можно двумя способами: непосредственно вводя с клавиатуры или выделяя необходимый участок в таблице и нажимая соответствующие кнопки генерации временной диаграммы [image]. Для перехода в режим непосредственного редактирования необходимо нажать на кнопку расположенную возле правого верхнего угла таблицы или два раза щелкнуть левой кнопкой мыши над таблицей. Для перехода в режим выделения данных следует еще раз нажать на кнопку расположенную возле правого верхнего угла таблицы или нажать на клавиатуре сочетание клавиш “Ctrl+D”. Для того чтобы выделить участок данных в таблице необходимо сначала выделить начало диапазона щелчком левой кнопки мышки над выбранной ячейкой после чего, не отпуская левую кнопку мыши перемещать мышь вверх или вниз. Если же требуется выделить большой участок данных, то целесообразно после выделения начала диапазона переместится к окончанию диапазона передвигая, ползунок, после чего щелкнуть левой кнопкой мыши на последней ячейке диапазона, при этом удерживая клавишу “Shift”. Для того чтобы выделить все ячейки следует нажать на клавиатуре сочетанием клавиш “Ctrl+A”. Также участок данных в таблице можно выделить с помощью маркеров, положение которых на рабочем экране и определяет границы выделяемого участка. Это может быть удобно в том случае если, например, требуется сгенерировать импульс на одном из каналов генератора длительностью равной импульсу на каком либо канале анализатора. Для этого необходимо сначала маркерами определить границы импульса анализатора, после чего выделить участок данных в таблице, нажав, например “Ctrl+M” и затем нажать кнопку “Кн.=1”. Под таблицей данных генератора находится строка, информирующая о границах текущего выделенного участка данных.

Также на панели данных генератора расположен ряд кнопок [image] позволяющих произвести очистку данных генератора, считать данные генератора из файла или сохранить данные генератора в файле. Сместить выделенный участок данных на одну позиции вверх или вниз, вырезать или скопировать выделенный участок в буфер (не буфер обмена Windows), а также вставить данные из буфера, в таблицу начиная с выделенной ячейки.

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

Панель “Частота” [image] позволяет задавать частоту дискретизации (развертку). Функционально данная панель полностью аналогична другим панелям задания развертки. Исключение заключается лишь в том, что фактически существует несколько подрежимов логического анализатора, которые автоматически выбираются в зависимости от установленной развертки:

- 4…8 МГц – размер буфера всего 128 байт, функционирует только шина А, синхронизация по маске только для шины А (не учитывается безразличное состояние), синхронизация по фронту только для каналов шины B (т.е. можно анализировать 8-ми битную шину и синхронизироваться по сигналам WR, RD и т.д.), нет пре триггера, нет пропуска импульсов. Данный подрежим предназначен для анализа не очень скоростных 8-ми битных шин с возможностью синхронизации по дополнительным сигналам.

- 2…2.67 МГц – размер буфера равен 1160 байт, функционирует только шина А, синхронизация по маске только для шины А (безразличное состояние учитывается), синхронизация по фронту только для каналов шины B (т.е. при необходимости синхронизации по фронту по одному из каналов шины A придется подсоединить еще и соответствующий провод шины B, что конечно не очень удобно), фиксированная длина буфера пре триггера равная 8-ми байтам, нет пропуска импульсов. Данный подрежим предназначен для анализа низкоскоростных 8-ми битных шин с возможностью синхронизации по дополнительным сигналам и небольшим пре тиггером.

- от 1 МГц и ниже (при чтении через буфер) – размер буфера равен 1544 байт, доступны все режимы (анализатор, анализатор + генератор, анализатор + анализатор). Функционируют все типы синхронизации и есть пропуск импульсов, регулируемая глубина буфера пре триггера от 8 до 120 байт. А также добавлена возможность внешнего тактирования (синхронизации). Данный подрежим предназначен для общего применения, можно анализировать как низкочастотные шины данных та и последовательные интерфейсы (но именно анализировать, а не захватывать данные), также в данном подрежиме функционирует логический генератор.

- от 500 КГц и ниже (при потоковом чтении) – размер буфера равен, ограничен памятью компьютера. Не рекомендуется устанавливать размер буфера больше нескольких Мбайт, так как анализировать такие длинные сигналы крайне не удобно. А отображение одного канала занимает в 16 (2*SizeOf(double)) раз больше памяти, чем размер буфера, т.е. для отображения всей шины требуется в 16*8 = 128 раз больше памяти, при условии, что значение сигнала меняется при каждой выборке. Если же есть паузы или импульсы длиннее одной выборки, то они кодируются всего 16-тью байтами (2*SizeOf(double)). При потоковом чтении функционирует только шина А, доступны все типы синхронизации, регулируемая глубина буфера пре триггера от 1 до 99% от заданной глубины буфера. А также добавлена возможность внешнего тактирования (синхронизации). Данный подрежим предназначен в основном для анализа последовательных интерфейсов. За счет использования памяти компьютера в качестве буфера для сигнала, возможно, записать очень длинные участки сигнала для его последующего анализа.

Под “крутилкой” задания частоты дискретизации расположены элементы [image] обеспечивающие включение режима внешнего тактирования (синхронизации). С помощью этих элементов можно выбрать фронт внешнего тактового сигнала, по которому будет осуществляться выборка. Частоту внешнего тактового сигнала можно задать либо с помощью “крутилки” либо введя точное значение частоты в поле Fд. Задавать значение частоты внешнего тактового сигнала необходимо всего лишь для правильного отображения полученных диаграмм на оси времени.

Смысл использования внешнего тактирования целесообразно пояснить на примере:
На рисунке показаны следующие сигналы:
• синий цвет – входной сигнал
• красный цвет – полученный (отображаемый) сигнал
• зеленый цвет – внешний тактовый сигнал

В первом случае используется внутренняя частота дискретизации, например 1 МГц, пунктирными линиями показан момент выборки сигнала, которые идут через 1 мкс. Частота входного сигнала ПРИМЕРНО равна 250 КГц, т.е. в 4 раза меньше частоты дискретизации, что вроде бы хорошо. Как видно из двух верхних диаграмм первый импульс и пауза в полученном сигнале полностью соответствуют входному сигналу. Следующий импульс получится почти на 50% длиннее из-за того, что в момент выборки входной сигнал находился в высоком логическом уровне всего на несколько долей мкс больше чем для первого импульса. Как видно из рисунка из-за того, что частота входного сигнала ПРИМЕРНО равна 250 КГц, т.е. существует небольшое дрожание длительностей импульсов и пауз, то полученный сигнал получается заметно искаженным (это нужно учитывать, если требуется точно измерить параметры входного сигнала).

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

Из приведенного выше можно сделать вывод, что при наличии внешнего тактового сигнала синхронного с входным сигналом (обычно для последовательных протоколов так и есть) “ценность” каждой выборки возрастает. Так при внутреннем тактировании было 16 выборок, и полученный сигнал был несколько искажен, а при внешнем тактировании было всего 8 выборок и полученный сигнал полностью соответствовал входному. “Ценность” каждой выборки растет из-за того, что выборка производится в “правильный” момент времени, определяемый внешним тактовым сигналом. Кроме того, если предположить, что вместо 4-х импульсов входного сигнала будет только 2, а тактовых 4 (например, из-за отсутствия обмена), то при внутреннем тактировании будет все равно 16 выборок, половина из которых попадут на отсутствие обмена, в тоже время при внешнем тактировании будет всего 2 “правильные” выборки. Для функций внешнего тактирования используются аппаратные средства микроконтроллера из-за чего внешний тактовый сигнал можно подавать только на каналы шины B, т.е. при использовании шины B в качестве 8-ми канального генератора внешнее тактирование не доступно.

Все управляющие элементы синхронизацией (для дискретных сигналов также называют триггером) за исключением маркеров, расположены на панели “Триггер” [image]. Включить или выключить синхронизацию позволяет кнопка “Вкл/Выкл”, под которой расположены кнопки выбора условия срабатывания синхронизации: по нарастающему или спадающему фронту сигнала выбранного канала или синхронизация по маске. Под кнопками выбора фронта сигнала для синхронизации расположен раскрывающийся список, предназначенный для выбора канала источника синхронизации только по фронту. Справа от кнопки задания синхронизации по маске расположены две небольшие кнопки выбора шины, на которую будет накладываться заданная маска при синхронизации. Маска задается в поле расположенном под кнопкой задания синхронизации по маске в двоичном формате причем символ ‘x’ или ‘-‘ означает безразличное состояние соответствующего канала. В нижней половине панели синхронизации находятся элементы, определяющие необходимость пропуска заданного количества импульсов [image]. Пропуск импульсов будет функционировать лишь в случае включенной синхронизации. Для того чтобы включить режим пропуска импульсов следует нажать на одну из кнопок определяющих начало импульса, если ни одна из кнопок не нажата пропуск импульсов не будет выполнен. В поле “N импульсов” задается требуемое количество пропускаемых импульсов после выполнения условия синхронизации, а в раскрывающемся списке расположенном внизу панели выбирается канал, на котором будет произведен подсчет и пропуск заданного количества импульсов. Режим пропуска импульсов целесообразно использовать при включенном режиме склейки.

На панели “Параметры сигнала под маркерами” [image] как и в случае работы в режиме осциллографа отображаются, положение каждого маркера на оси времени и состояние каждой из шин под маркером. Также вычисляется разница времени маркеров.

Для поиска логической комбинации/фронта на одной из двух шин предназначена панель [image]. Пред началом поиска следует выбрать шину/канал, на которой будет произведен поиск, и задать логическую комбинацию/фронт в двоичном, шестнадцатеричном или десятичном формате. Для начала поиска необходимо нажать на одну из кнопок поиска. Если заданная логическая комбинация/фронт будет найдена то на нее автоматически будет переведен маркер 1, в противном случае будет открыто информационное окно сообщающие о том, что заданная логическая комбинация/фронт не найдена.

На панели управления [image] расположены кнопки определяющие режим работы шины B. Кнопка с изображением буквы “G” переводит шину B в режим работы логического генератора, а кнопка с изображением буквы “A” в режим дополнительного 8-ми канального анализатора. Если ни одна из кнопок не нажата, то шина B считается выключенной. На панели управления также расположена кнопка запуска одиночного измерения. Необходимо отметить, что если шина B используется в режиме логического генератора и включена синхронизация, то данные начнут выдаваться на шину генератора после выполнения события синхронизации, а не сразу же после нажатия на кнопку “Запуск”.


Режим склейки

Режим склейки Назад Содержание Вперед
Режим склейки предназначен для увеличения глубины памяти отводимой на один канал при чтении данных через буфер МК. Физический используемый микроконтроллер (С8051F321) позволяет выделить всего от 128 до 1544 бит на каждый канал при использовании только 8 каналов в качестве логического анализатора.

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

1. Для наглядности анализа называем канал A0, например SCK, а канал A2, например MOSI (интерфейс SPI).

2. Включаем синхронизацию по спадающему фронту сигнала для канала SCK.

3. Нажимаем на кнопку "Запуск" и перезапускаем анализируемое устройство.

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

5. Открываем окно статистики, нажатием "Ctrl+T" и определяем количество спадающих фронтов по каналу SCK, для определенности пусть будет 50.

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

7. Включаем режим склейки, нажатием "Ctrl+G".

8. Нажимаем на кнопку "Запуск" и перезапускаем анализируемое устройство.

9. Так как условие синхронизации не изменилось то начало полученных временных диаграмм должно совпадать с 48 импульсом синхронизации.

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

11. Так как в основной диаграмме содержится 50 импульсов синхронизации, а пропустили на 2 меньше, то необходимо сместить вклеиваемую диаграмму на 2 импульса SCK. Для этого следует нажать на кнопку со стрелкой влево и держать ее в нажатом состоянии до тех пор, пока начало вклеиваемой диаграммы сместится на два импульса SCK, при этом под двумя "лишними" импульсами SCK должны визуально совпасть основная диаграмма с вклеиваемой диаграммой по каналу данных. Так, например, на рисунке маркер 2 указывает на конец основной диаграммы, а маркер 1 на начало вклеиваемой диаграммы с учетом сдвига, как видно из рисунка вклеиваемую диаграмму следует еще немножко сдвинуть влево, чтобы она совпала с основной.

12. Если считанная вклейка как-то не удачно совмещается с основной диаграммой то можно, например, изменить количество пропускаемых импульсов и повторить все действия, начиная с пункта 8. После чего предыдущая считанная вклейка будет заменена на только что считанную, причем повторное измерение вклейки ни как не скажется на основной диаграмме.

13. Если же вклеиваемая диаграмма будет удачно совмещена с основной можно нажать кнопку "Склеить" вследствие чего вклеиваемая диаграмма станет продолжением основной.

14. Если по-прежнему считаны не все передаваемые данные, то все повторяется, начиная с пункта 5.

Использование режима вклейки позволяет увеличить глубину памяти отводимой на один канал до 1 Mбит т.е. почти в 1000 раз, за счет конечно дополнительных действий пользователя.


Логический анализатор / генератор (настройка)

Логический анализатор / генератор (настройка) Назад Содержание Вперед
На рисунке приведена закладка настройки параметров логического анализатора.
На закладке расположены следующие элементы:

• Fд грн. буфера – список позволяющий выбрать граничную частоту дискретизации больше, которой будет чтение через буфер. В данном случае установлена граничная частота равная 300 КГц, т.е. для частот дискретизации от 400 КГц и выше будет чтение через буфер, а частот для дискретизации 1 …300 КГц будет потоковое чтение. Fд грн. буфера определяется экспериментально на основании нескольких измерений. Так, например, сначала можно установить Fд грн. буфера = 300 КГц, и провести измерения также на Fд=300 КГц, если искажений сигнала не будет, значит, на Вашем компьютере и ОС можно передавать данные в реальном режиме времени на заданной частоте дискретизации Fд=300 КГц. Если же будут искажения, то необходимо уменьшить частоту дискретизации, например до 250 КГц и еще раз провести измерения, и так далее. После определения частоты дискретизации, при которой нет искажений в полученных результатах измерения, целесообразно установить ее в качестве граничной. Теоретически данный МК может передавать данные со скоростью 1 МБайт/сек, но практически получается только 256 КБайт/сек, так как пока нет нормальных драйверов от Silabs для работы в изохорном режиме. Если задан не большой буфер то частоту дискретизации можно поднять и до 400 КГц, так например при чтении всего 4K данных, FIFO МК (1024 байта) не успеет переполнится и соответственно искажений не будет. Почему так сделано.

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

• Глубина памяти – при потоковом чтении определяется количеством доступной памяти на компьютере и в режиме логического анализатора искусственно ограничена 256M. Хотя не рекомендуется устанавливать размер буфера больше нескольких Мбайт, так как анализировать такие длинные сигналы крайне не удобно и к тому же очень много памяти расходуется, для того чтобы отобразить (прорисовать) диаграммы на экране.

• Кн. [7]…[0] – флажки разрешения прорисовки данных по соответствующему каналу шины А при потоковом чтении. Так как обычно последовательные интерфейсы имеют количество каналов меньше 8-ми, а шина A всегда 8-ми разрядная. То при прорисовки диаграмм последовательного интерфейса, ресурсы компьютера могут тратиться в пустую из-за прорисовки данных по не используемым каналам.

• Канал для внешнего тактирования (шина B) – позволяет выбрать один из 8-ми каналов шины B для подключения внешнего тактового генератора.

• Инверсия шины A (для новых устройств) – данный флажок следует установить только для новых устройств, так как для уменьшения размеров печатной платы каналы шины А идут в инверсном порядке.

• Авто включения триггера (синхронизации) – разрешает автоматически включать синхронизации при нажатии на любую кнопку из панели “Триггер”.

• Пропуск группы одинаковых байт при поиске – включение данной опции позволяет пропускать при поиске группу подряд идущих одинаковых байт. Например шина A содержит следующие байты AA’ BB CC AA’’ AA* AA DD AA’’’, если требуется найти комбинацию АА, то после первого на нажатия на кнопку поиска маркер будет указывать на AA’, после второго на AA’’, после третьего нажатия на AA’’’ (если разрешен пропуск) или на AA* (если пропуск запрещен).

• Вывести информацию о режиме чтения (буфер/поток) - разрешает выводить информацию о режиме чтения на панели “Частота”.


Режимы чтения

Режимы чтения Назад Содержание Вперед
Приведено описание режимов чтения для аналоговых сигналов, для дискретных (цифровых) сигналов все аналогично.
В данном ПО реализовано два режима чтения данных из устройства:
- чтение данных из буфера микроконтроллера
- потоковое чтение данных

При чтении данных из буфера микроконтроллера процесс измерения состоит из следующих этапов:
1. Задание частоты дискретизации
2. Чтение на заданной частоте дискретизации 1126 10-ти битных отсчетов (глубина буфера МК 1024(xdata) + 256 (EP2) + 128 (EP1) = 1408 байт / 1.25 (10 бит) = 1126 отсчетов) и упаковка их во внутренней буфер, при необходимости синхронизация.
3. Уведомление компьютера о получении всех отсчетов
4. Передача буфера МК в компьютер
5. Распаковка буфера и калибровка отсчетов
6. Вывод результатов измерения на экран

Из чего следует, что при чтении с использованием буфера невозможно считать больше 1126 отсчетов сигнала за одно непрерывное измерение. Задание частоты дискретизации необходимо, для того чтобы обеспечить возможность нормального просмотра как низко так и высокочастотных сигналов. Так, например если бы частота дискретизации была всегда 200 КГц, то при анализе тона с частотой 1 КГц (т.е. 200 отсчетов на период сигнала) на экране отображалось бы 1156/200 = 5 полных периодов сигнала, что довольно хорошо, а если анализировать тон частотой 50 Гц (т.е. 4000 отсчетов на период сигнала), то на экране будет менее чем 1/3 периода, что не приемлемо, для какого ли анализа.

При потоковом чтение данных процесс измерения состоит из следующих этапов:
1. Задание частоты дискретизации
2. Запуск потокового обмена
3. Чтение из МК в реальном режиме времени пакетов по 409 отсчетов (512/1.25 (10 бит))
4. Когда компьютер читает пакет, МК пишет отсчеты в свое FIFO (1024 байта) для обеспечения непрерывности измерения
5. Распаковка полученных пакетов, калибровка, при необходимости синхронизация.
6. После заполнения заданного буфера останов потокового обмена.

Возникает вопрос, зачем тогда чтение с использованием буфера МК. Дело в том, что не на всех компьютерах есть USB1.1 и установлена ОС на платформе NT, т.е. Windows 2000 и XP, которые обеспечивают нормальную приоритетность процессов и выделения ресурсов процессора. Так как процесс обмена данными идет непрерывно и в реальном режиме времени, то предъявляются повышенные требования к компьютеру (особенно к контроллеру USB шины) и ОС. Для обеспечения максимально частоты дискретизации при потоковом чтении контролер шины USB должен успевать читать по 512 байт данных (EP3) из End Point МК каждую миллисекунду. Причем ОС должна выделить необходимые ресурсы процессу чтения данных, т.е. нормально поддерживать приоритетность процессов и потоков. Если у Вас как минимум Celeron 600, 128M ОЗУ и ОС Windows 2000 или XP, все должно работать на максимальных частотах (проверялось на 3-х машинах) если конечно в это время не запущенно какое-то ресурсоемкое приложение. Если же Ваш компьютер при подключении устройства выдает:

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

Но даже на медленных компьютерах возможно потоковое чтение, нужно только экспериментально побрать граничную частоту дискретизации больше которой будет автоматическое чтение через буфер, так, например на Celeron 300, 64M Windows 98, потоковое чтение работало при Fд<=30 КГц, на Celeron 600, 128M Windows 98 при Fд<=100 КГц, хотя при Windows 2000 потоковое чтение работало максимальных частотах.

Также необходимо отметить, что при использование одновременно 2-х каналов частота дискретизации удваивается, так например при Fд = 100 КГц, на самом деле частота дискретизации Fд = 200 КГц, вот почему при одновременном включении 2-х каналов автоматически запрещается установка частоты дискретизации выше 100 КГц.


Информация о крутилке

Информация о крутилке Назад Содержание Вперед

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

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

Способы изменения положение указателя "крутилки":

1. Мышкой - щелкаем левой кнопкой мыши над крутилкой (указатель принимает форму руки) и начинаем перемещать мышь, причем не обязательно над крутилкой. Во время передвижения мыши указатель "крутилки" будет располагаться вдоль прямой проведенной от центра крутилки" до положения указателя мыши, т.е. создается эффект механической ручки управления. После щелчка мышью над "крутилкой" это элемент получает фокус ввода, т.е. может, управляется с помощью клавиатуры или колесика мыши, даже если курсор мыши не находится над крутилкой. Это полезно если знать, что большинство других используемых элемент не получаю фокус ввода, т.е. можно изменять различные режимы / уровни синхронизации и подстраивать скажем период дискретизации или размах по напряжению колесиком мыши.

2. Колесиком мыши

3. Клавишами Left, Right, Up, Down, Home, End, PageUp, PageDown

Также необходимо отметить, что при нахождении указателя мыши на крутилкой в строке состояния выводится подсказка о устанавливаемом / установленном значении.


Задание параметров фильтра

Задание параметров фильтра Назад Содержание Вперед
На рисунке приведено окно задания параметров фильтра. Большую часть окна занимает график АЧХ [image] рассчитываемого фильтра. Горизонтальная ось графика это частотная ось, а вертикальная это ось коэффициента передачи, размерность которой может быть выражена как в разах, так и в децибелах. Все построение требуемой АЧХ выполняется с помощью мыши. График АЧХ состоит из опорных точек и прямых линий, соединяющих опорные точки, причем значение коэффициента передачи между опорными точками вычисляется с помощью линейной аппроксимации. Построение АЧХ начинается с добавления новых опорных точек, которое осуществляется с помощью щелчка мышкой на линии (если указатель мыши находится над опорной точкой или линией он принимает вид "руки"). После щелчка на линии появляется новая опорная точка, которую можно перемещать как по вертикали, так и по горизонтали (за исключением крайних опорных точек), но не далее чем соседние опорные точки. Для перемещения опорной точки следует подвести к ней указатель мыши, который должен принять вид "руки", после чего щелкнуть левой кнопкой мыши и начать перемещать опорную точку в выбранном направлении, не отпуская при этом левую кнопку мыши. Во время перемещения опорной точки на панели статуса будут отображаться ее текущие координаты: значение коэффициента передачи и частоты. Для того чтобы удалить опорную точку достаточно подвести к ней указатель мыши и щелкнуть левой кнопкой мыши, при этом удерживая клавишу "Ctrl".

В верхней части окна задания параметров фильтра находится панель инструментов. В начале панели инструментов расположен ряд кнопок [image] позволяющих произвести отмену внесенных изменений, считать параметры фильтра из файла и сохранить параметры фильтра в файле.

Кнопка [image] определяет размерность вертикальной оси, если кнопка нажата то ось будет в децибелах, в противном случае ось будет в разах.

Поля ввода "Kmax" и "Кmin" [image] задают границы вертикальной оси либо в разах либо в децибелах.

Кнопка [image] определяет масштаб вертикальной оси: линейный или логарифмический. Если кнопка нажата, то частотная ось будет логарифмической в противном случае линейной.

Поле ввода "Fmax" [image] максимальное значение частоты горизонтальной оси.

Кнопка [image] устанавливает заданные параметры фильтра и закрывает рассматриваемое окно.


Звуки

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

Функционально элементы окна разбиты на две группы одна группа на один канал, каждая группа элементов разбита еще на 3 подгруппы каждая на один из измеряемых параметров сигнала (постоянная и переменные составляющий напряжения и частота сигнала). Для каждого измеряемого параметра предусмотрено 3 события: увеличение параметра выше заданного порога, уменьшение параметра ниже заданного порога и приближение параметра к заданному порогу. Порог задается в поле расположенного слева от названия соответствующего параметра. Задания звукового сопровождения выполняется щелчком мыши на соответствующем раскрывающемся списке и выбором одного из стандартных звуков либо нажатием на соответствующую кнопку с изображением открытой папки и выбором необходимого звукового файла. Для того чтобы прослушать выбранное звуковое сопровождение необходимо нажать на соответствующую кнопку (расположенную в той же строке что и название события) с изображением динамика. Все стандартные звуки воспроизводятся с помощью встроенного в операционный блок компьютера динамика, выбранные же звуковые файлы проигрываются, используя звуковую карту компьютера, если таковая имеется. Для того чтобы быстро отключить все звуки для выбранного канала необходимо нажать на кнопку "Нет звуков" на соответствующей панели.

Также необходимо отметить, что при сравнении параметра с введенным порогом есть небольшая дельта, которая позволяет воспроизводить звук не при строгом равенстве значения параметра с порогом, а в некотором небольшом интервале возле порога. Для напряжения дельта определяется как ±5% от размаха шкалы рассматриваемого канала, например если для канала A установлено ±10 Вольт/экран, а значение Uconst = 3,3 В то тогда звук будет воспроизводиться, если постоянная составляющая напряжения по каналу A попадет в следующие пределы 2,8…3,8 В. Для частоты дельта все всегда постоянна и равна ±20 Гц.


Статистика

Статистика Назад Содержание Вперед
На рисунке приведено окно статистики при использовании обеих шин, т.е. когда шина B функционирует либо в режиме логического генератора либо в режиме дополнительного логического анализатора. Окно статистики содержит следующие элементы: слева находятся названия всех используемых каналов, далее количество нарастающих (передних) и спадающих (задних) фронтов сигнала рассматриваемого канала, затем минимальная / максимальная / средняя длительность импульса и паузы сигнала, причем средняя длительность вычисляется по всему сигналу, а не как средне арифметическое между минимальной и максимальной длительностью, далее средняя частота сигнала. Изменение любых данных логического анализатора или генератора немедленно приводит к перерасчету всей статистики. Для того чтобы оперативно просматривать статистику можно разрешить расположения окна статистики поверх остальных окон программы, при этом не придется постоянно щелкать по нему мышкой, чтобы переместить его выше основного окна.


Обновление ПО устройства

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

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

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

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

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


Анализ стандартных интерфейсов UART, SPI, I2C, 1-Wire

Анализ стандартных интерфейсов UART, SPI, I2C, 1-Wire Назад Содержание Вперед
При исследовании какого-либо цифрового устройства может возникнуть необходимость проанализировать канал обмена данными, если конечно таковой имеется. На первый взгляд эта тривиальная задача - снять временные диаграммы с необходимых линий канала связи, определить тип интерфейса и вручную произвести декодирование снятых временных диаграмм, не кажется очень сложной. Но после нескольких попыток декодирования временной диаграммы желания проводить эту рутинную процедуру явно поубавится. Так как перед тем как приступить к декодированию необходимо как минимум хотя бы бегло ознакомится со спецификацией анализируемого интерфейса и довольно хорошо изучить форматы его временных диаграмм. На все это требуется не так уж мало времени, особенно когда под рукой нет нормального описания интерфейса. После ознакомления с интерфейсом начинается самое интересное - декодирование. Обычно в большинстве интерфейсов есть какие либо признаки начала и окончания передачи байта, исключение составляет SPI, когда данные передаются без задержки. Поэтому декодирование начинается с поиска именно этих признаков. После нахождения, например, признака начала передачи начинают декодировать данные и тут возникает куча вопросов связанная с особенностями рассматриваемого протокола, что опять приводит к необходимости изучения спецификации рассматриваемого интерфейса, сличению полученных временных диаграмм с их аналогами в спецификации. Все это опять же забирает Ваше время, отвлекая от других возможно, куда боле интересных задач. Из личного опыта могу привести пример затрат времени на декодирования временных диаграмм интерфейса I2C (используемого в плате видео захвата) так при ручном декодировании за три с половиной часа удалось выделить аж 48 байт, причем вся получена информация кропотливо фиксировалась на листике на тот случай если что не так. При декодировании того же интерфейса с помощью аналогичной программы (той, которая в последствии и стала прототипом логического анализатора) за 8 минут был произведен анализ всего цикла обмена длинной в 1026 байт, правда на написание программы анализа I2C ушло почти полтора дня.

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


Анализ интерфейса UART

Анализ интерфейса UART Назад Содержание Вперед

На рисунке приведено окно анализа интерфейса UART, а под ним расположен рисунок с участком рабочего экрана содержащего временные диаграммы для каналов приема (RxD) и передачи (TxD) данных. Маркер 1 установлен на начало байта 0x0F, а маркер 2 на начало следующего байта 0xAA канала RxD.

Верхняя часть окна UART содержит изображение типичной временной диаграммы одного байта интерфейса UART. Ниже расположена панель задания основных параметров присущих рассматриваемому интерфейсу. Перед началом декодирования рекомендуется задать названия каналам интерфейса на панели "Каналы" логического анализатора. Если задать названия RxD и TxD, то они автоматически появятся в полях канал приема и канал передачи данных.

Как известно из спецификации интерфейса UART, передаче бит данных предшествует старт бит, всегда логический ноль, затем передаются биты данных, причем младшими битами вперед, после чего может идти бит четности и обязательно один или два стоп бита, всегда высокий уровень. Если обмена данных нет, то логический уровень соответствующей линии (TxD или RxD) всегда будет высоким. Поэтому целесообразно включить синхронизацию по спадающему фронту по одному из каналов желательно на том канале, где страт бит, появляется первым. Перед началом измерения хорошо было бы отключить питание от исследуемого устройства, после чего нажать кнопку "Запуск" а затем подать питание на устройство. Если синхронизация установлена, верно, то начало полученных временных диаграмм должно совпасть с началом обмена. Для нормального декодирования временных диаграмм необходимо чтобы частота дискретизации была хотя бы в 3-4 раза больше скорости (частоты) обмена, приблизительно скорость обратно пропорциональна минимальной длительности импульса, например для канала RxD.

После получения временных диаграмм необходимо определить скорость обмена. Для автоматического определения скорости обмена можно нажать на кнопку с изображением калькулятора. Скорость обмена определяется автоматически только на основании временной диаграммы канала RxD и если возможно корректируется на основании стандартного ряда скоростей. После определения скорости обмена хорошо бы правильно задать значения остальным параметрам интерфейса, определить которые автоматически не удается. По умолчанию, установлены наиболее распространены значения параметров интерфейса UART. После установки всех параметров желательно установить маркер 1 на старт бит канала RxD а маркер 2 на старт бит канала TxD, иначе первые 1-3 байта могут быть пропущены или не верно декодированы.

По завершению всех выше описанных процедур можно переходить к декодированию, нажав на кнопку "Декодировать". Результаты декодирования будут отображены в таблице в двоичном и шестнадцатеричном виде. Двойной щелчок два над выбранной ячейкой с результатами декодирования переведет маркер 1 в начало соответствующего байта.

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

Флажок Авто (автозаполнение полей таблицы) имеет смысл использовать только при необходимости генерации сигнала.

Кнопка с изображением микросхемы открывает окно терминала - аппаратная поддержка (ввода / вывода) исследуемого интерфейса (на этапе разработки).


Анализ интерфейса SPI

Анализ интерфейса SPI Назад Содержание Вперед

На рисунке приведено окно анализа интерфейса SPI, а под ним расположен рисунок с участком рабочего экрана содержащего временные диаграммы для канала синхронизации (SCK), какала выбора подчинено (~SS), каналов приема (MISO) и передачи (MOSI) данных. Маркер 1 установлен на начало байта 0xAA, а маркер 2 на начало следующего байта 0x55 канала MOSI.

Верхняя часть окна SPI содержит изображение типичной временной диаграммы одного байта интерфейса SPI. Ниже расположена панель задания основных параметров присущих рассматриваемому интерфейсу. Перед началом декодирования рекомендуется задать названия каналам интерфейса на панели "Каналы" логического анализатора. Если задать названия SCK, MISO и MOSI, то они автоматически появятся в полях канал синхронизации, канал приема и канал передачи данных.

Как известно из спецификации интерфейса SPI нет никаких специальных признаков, по которым можно определить начало байта, если данные передаются без пауз и сигнал выбора подчиненных не используется. Единственный способ точного определения начала байта заключается в том, чтобы запустить измерения до начала обмена с "правильной" синхронизацией по каналу SCK. Как известно из спецификации интерфейса SPI уровень канала SCK в режиме ожидания (если нет обмена) может быть как высоким, так и низким. Поэтому для установки "правильной" синхронизацией необходимо определить уровень SCK в режиме ожидания. Для этого необходимо несколько раз произвести измерение до появления по каналу SCK длинного импульса / паузы, длина которого должна существенно отличатся от соседних импульсов / пауз. Если был найден длинный импульс то уровень канала SCK в режиме ожидания высокий, т.е. синхронизация должна быть по спадающему фронту если была найдена длинная пауза, то низкий и синхронизация должна быть по нарастающему фронту. Перед началом измерения хорошо было бы отключить питание от исследуемого устройства, после чего нажать кнопку "Запуск" а затем подать питание на устройство. Если синхронизация установлена, верно, то начало полученных временных диаграмм должно совпасть с началом обмена. Для нормального декодирования временных диаграмм необходимо чтобы частота дискретизации была хотя бы в 3-4 раза больше частоты синхронизации.

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

По завершению всех выше описанных процедур можно переходить к декодированию, нажав на кнопку "Декодировать". Результаты декодирования будут отображены в таблице в двоичном и шестнадцатеричном виде. Двойной щелчок два над выбранной ячейкой с результатами декодирования переведет маркер 1 в начало соответствующего байта.

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

Флажок Авто (автозаполнение полей таблицы) имеет смысл использовать только при необходимости генерации сигнала.

Кнопка с изображением микросхемы открывает окно терминала - аппаратная поддержка (ввода / вывода) исследуемого интерфейса (на этапе разработки).


Анализ интерфейса I2C

Анализ интерфейса I2C Назад Содержание Вперед

На рисунке приведено окно анализа интерфейса I2C, а под ним расположен рисунок с участком рабочего экрана содержащего временные диаграммы для каналов синхронизации (SCL) и данных (SDA). Маркер 1 установлен на сигнал старт, а маркер 2 на начало передачи байта данных 0xFF.

Верхняя часть окна I2C содержит изображение типичной временной диаграммы передачи адреса и одного байта по интерфейсу I2C. Ниже расположена панель задания основных параметров присущих рассматриваемому интерфейсу. Перед началом декодирования рекомендуется задать названия каналам интерфейса на панели "Каналы" логического анализатора. Если задать названия SCL и SDA, то они автоматически появятся в полях канал синхронизации и канал данных.

Как известно из спецификации интерфейса I2C, сеанса передачи начинается с передачи сигнала старт (переход SDA из высокого состояния в низкое, в то время как SCL находится в высоком), затем передаются биты адреса или данных, причем старшими битами вперед, после чего идет бит подтверждения. Завершает сеанс передачи сигнал стоп (переход SDA низкого из состояния в высокое, в то время как SCL находится в высоком). Если на шине нет обмена данными, то логический уровень линий SCL и SDA всегда будет высоким за счет подтягивающих резисторов. Поэтому целесообразно включить синхронизацию по спадающему фронту для канала SDA. Перед началом измерения хорошо было бы отключить питание от исследуемого устройства, после чего нажать кнопку "Запуск" а затем подать питание на устройство. Если синхронизация установлена, верно, то начало полученных временных диаграмм должно совпасть с началом обмена. Для нормального декодирования временных диаграмм необходимо чтобы частота дискретизации была хотя бы в 4 раза больше частоты синхронизации.

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

По завершению всех выше описанных процедур можно переходить к декодированию, нажав на кнопку "Декодировать". Результаты декодирования будут отображены в таблице в символьном (сигнал старт, стоп, направление обмена и сигнал подтверждения) и двоичном (адрес и данные) виде. Двойной щелчок два над выбранной ячейкой с результатами декодирования переведет маркер 1 в начало соответствующего элемента интерфейса I2C.

Необходимо отметить, что кроме декодирования временных диаграмм окно I2C также позволяет сгенерировать временные диаграммы на основании заданных параметров интерфейса и данных таблицы (столбцы адрес, R/W, данные) для каналов SCL и SDA которые должны быть каналами логического генератора.

Флажок Авто (автозаполнение полей таблицы) имеет смысл использовать только при необходимости генерации сигнала.

Кнопка с изображением микросхемы открывает окно терминала - аппаратная поддержка (ввода / вывода) исследуемого интерфейса (на этапе разработки).


Анализ интерфейса 1-Wire

Анализ интерфейса 1-Wire Назад Содержание Вперед

На рисунке приведено окно анализа интерфейса 1-Wire, а под ним расположен рисунок с участком рабочего экрана содержащего временную диаграмму канала данных (DQ), причем измерение проводилось при Fд=200 кГц, а на рисунке временная диаграмма отображена для Fд=50 кГц. Маркер 1 установлен на начало импульса сброса, а маркер 2 на начало передачи байта 0xСС.

Верхняя часть окна 1-Wire содержит изображение типичной временной диаграммы интерфейса 1-Wire. На временной диаграмме красные линии означают подтягивание шины к логическому нулю мастером, сини - подчиненным, а сизые - означают подтягивание шины к логической единицы подтягивающим резистором. Ниже расположена панель задания основных параметров присущих рассматриваемому интерфейсу. Перед началом декодирования рекомендуется задать названия каналу интерфейса на панели "Каналы" логического анализатора. Если задать название DQ, то оно автоматически появятся в поле канал данных.

Как известно из спецификации интерфейса 1-Wire, сеанс передачи начинается с установки мастером сигнала сброса (низкий уровень длительностью более 480 мкс), затем через 15-60 мкс установки сигнала подтверждения (низкий уровень длительностью 15-60 мкс) если на шине есть хоть одно починное устройство. После получения сигнала подтверждения мастер передает один или несколько байт, причем старшими битами вперед, при необходимости подчиненный отвечает мастеру. Так как сеанс передачи начинается с перехода линии DQ из высокого в низкий логический уровень, то целесообразно включить синхронизацию по спадающему фронту. Перед началом измерения хорошо было бы отключить питание от исследуемого устройства, после чего нажать кнопку "Запуск" а затем подать питание на устройство. Если синхронизация установлена, верно, то начало полученной временной диаграммы должно совпасть с началом обмена. Для нормального декодирования временных диаграмм необходимо чтобы частота дискретизации была как минимум 200 кГц.

После получения временных диаграмм желательно установить маркер 1 на сигнала сброса, иначе будет произведен поиск ближайшего сигнала сброса справа от маркера 1, вследствие чего может быть пропущен один сеанс связи. Для более детального декодирования и описания, передаваемых байт можно выбрать одно из стандартных устройств поддерживающих интерфейс 1-Wire, если конечно его набор команд совпадает с набором команд исследуемого устройства. Пока в раскрывающемся списке находится только один тип устройств - термометры DS18x20/DS18x22, при необходимости в будущем, возможно, будет дополнить список другими устройствами.

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

Кнопка с изображением микросхемы открывает окно терминала - аппаратная поддержка (ввода / вывода) исследуемого интерфейса (на этапе разработки).


Терминал

Терминал Назад Содержание Вперед
На рисунке приведено аппаратной поддержки интерфейса I2C (на этапе разработки).
Данное окно предназначено для чтении и записи байт по шине I2C. Поддерживаются все 4 режима шины I2C:
1. Master Transmitter, т.е. мы говорим, что хотим передавать данные
2. Master Receiver, т.е. мы говорим, что хотим читать данные
3. Slave Receiver, т.е. нам сообщают, что должны читать данные (этот режим тестировался на реальном железе)
4. Slave Transmitter, т.е. нам сообщают, что должны передавать данные

Возможно задать количество передаваемых / принимаемых данных, адреса ведомых (Slave) к которым будет идти обращение, а также скорость обмена в режиме ведущего (Master).
Также есть задумки по созданию интерфейса для чтения записи стандартных EEPROM и других подобных устройств.


Системные настройки

Системные настройки Назад Содержание Вперед
Программа без проблем работает на ПК где нормально работает Windows 2000/XP т.е. это как минимум Celeron 500 и 64МБ ОЗУ, на менее мощных компьютерах и особенно под управлением Windows 98/ME возможно некорректное функционирование программы проявляющиеся в том, что после нажатия на кнопку запуска измерения кнопка меняет свое название на "Сброс" и ни каких результатов измерения не появляется. Это связано "медленной" обработкой событий USB шины, т.е. система попросту не успевает передать всю информацию за выделенное ей время. Для устранения этого необходимо открыть файл usb_osc.ini который должен находится в той папке, куда была произведена установка (по умолчанию в C:\Program Files\USB Oscillograph) и найти строчки:

[system]
usb_wr_timeout=50 - таймаут записи, мс
usb_rd_timeout=50 - таймаут чтения, мс

эти два параметра задают промежуток времени в мс (таймаут) за который система должна успеть передать (wr) и прочитать (rd) блок данных из устройства. По умолчанию оба таймаута равны 50 мс, на ПК с Athlon XP 1700 и 512МБ ОЗУ под управлением Windows XP все замечательно передает за 50 мс, на ПК с Celeron 600 и 192МБ ОЗУ под управлением Windows XP значение таймаутов можно увеличить до 100 мс, хотя и на 50 мс все работает, но на Celeron 600 и 192МБ ОЗУ под управлением Windows 98 для нормальной работы значение таймаутов должно быть как минимум 400-500 мс. Также был проведен тест для ПК с Pentium 200 и 32МБ ОЗУ под Windows 98 как ни странно программа работала даже на этом компьютере но таймауты были около 1000 мс.

Кроме того, в файле usb_osc.ini есть еще два важных системных параметра:

usb_reset_timeout=50 - задержка после сброса, мс
wait_reset_trigger=300 - задержка до сброса зависшей синхронизации, мс

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

Значении wait_reset_trigger определяет через, сколько будет произведен сброс устройства, если были изменены параметры синхронизации и устройство не отреагировало на них, т.е. зависло. Смысл данного параметра можно пояснить на следующем примере: включили абсолютную синхронизацию, задали уровень 5 В, максимальный уровень сигнала 2 В, т.е. условие синхронизации никогда не выполнится - устройство все время будет находится в режиме ожидании и на экране не будет ни каких изменений. Изменяем, уровень синхронизации до 1 Вольта, после это изменения программа ждет wait_reset_trigger мс, если устройство не отреагировало, а оно в данном случае не может отреагировать, так как ждет выполнения невозможного условия синхронизации, то происходит сброс устройства и естественно окончание измерения. А задержка нужна для того, чтобы дать возможность устройству ответить, вдруг условия синхронизации вполне выполнимы, но происходят довольно редко, например раз в 250 мс. Если предыдущие условие синхронизации таки выполнится, то устройство не будет сброшено в течении wait_reset_trigger после изменения условия синхронизации, а значит, измерение не будет сброшено, и результаты будут выведены на экран.

Также в разделе [system] появилась строка:

show_exchange_error=1

Данная строка была введена из-за того, что были выявлены некоторые проблемы в работе устройства при работе с ноутбуком и при установленной старой версии драйверов. Проблемы заключались в следующем: после запуска программы отображалась только одна закладка логического анализатора из-за того, что ПО определяла железяку как урезанную версию, а это в свою очередь происходило из-за того, что драйвер ядра (Jungo WinDriver) не корректно читал данные из устройства. Так как никаких ошибок при этом не выдается и данных проблем не было ни на одном из 10-ти компьютеров, на которых тестировалось устройство, и все устройства из первой партии тоже работали корректно, то возможность появления данной ошибки не учитывалась. Для того чтобы определить из-за чего, т.е. какая ошибка произошла во время обмена и добавлена эта строка. Если устройство ведет себя некорректно или вообще не работает то пожалуйста установите значение этого параметра в 1 и вышлите мне коды произошедших ошибок, если же все нормально работает то данную функции можно отключить установив значение параметра в 0.


Сочетания быстрых клавиш

Сочетания быстрых клавиш Назад Содержание Вперед
Сочетания клавиш | Описание
Ctrl+O | Открыть файл с данными осциллографа, спектр анализатора, самописца
Ctrl+S | Сохранить результаты измерения и текущие параметры выбранного режима работы (текущей выбранной закладки) в файл.
Shift+Ctrl+S | Сохранить результаты измерений выбранного режима работы в виде векторного рисунка формата *.emf (Enhanced Metafile).
Ctrl+Alt+S | Сохранить результаты измерений выбранного режима работы в виде растрового рисунка формата *.bmp (Windows Bitmap).
Shift+Ctrl+P | Открыть окно предварительного просмотра результатов измерения.
Ctrl+P | Печать результатов измерения выбранного режима работы.
Ctrl+Q | Завершение работы программы.
Shift+Ctrl+C | Cкопировать в буфер обмена Windows результаты измерений выбранного режима работы в виде векторного рисунка формата *.emf (Enhanced Metafile).
Shift+Ctrl+X | Cкопировать в буфер обмена Windows результаты измерений выбранного режима работы в виде растрового рисунка формата *.bmp (Windows Bitmap).
Ctrl+N | Очистить результаты измерений выбранного режима работы.
Ctrl+R | Открыть окно ввода комментария.
Ctrl+Z | Открыть окно задания параметров событий и их звукового сопровождения.
Ctrl+G | Включение / выключение режима склейки диаграмм логического анализатора.
Ctrl+K | Включение / выключение режима удержания выходов генератора в последнем состоянии.
Ctrl+M | Выделить участок данных генератора в таблице.
Ctrl+T | Открыть окно статистики.
Ctrl+A | Выделить всю таблицу данных логического анализатора.
Ctrl+D | Прейти из режима непосредственного редактирования данных логического анализатора в режим выделения.