Логический анализатор зачем нужен
Перейти к содержимому

Логический анализатор зачем нужен

  • автор:

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

Логический анализатор (англ. Logic Analyzer) — электронный прибор, который может записывать и отображать последовательности цифровых сигналов. Он используется для тестирования и отладки цифровых электронных схем, например, при проектировании компонентов компьютеров и управляющих электронных устройств. В отличие от осциллографов, логические анализаторы имеют значительно больше входов (обычно от 16 до нескольких сотен), но при этом часто способны показывать лишь два уровня сигнала («0») и («1»), к которым иногда добавлено состояние «Z». [1]

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

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

Содержание

Использует [ ]

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

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

История [ ]

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

Логический анализатор HP 5000A, представленный в октябрьском номере журнала Hewlett-Packard за 1973 год, был, вероятно, первым коммерчески доступным инструментом, получившим название «Логический анализатор». Однако HP 5000A был ограничен двумя каналами и отображал информацию с помощью двух рядов из 32 светодиодов. Первым по-настоящему параллельным прибором был двенадцатиканальный HP 1601L, он был подключаемым модулем для основных осциллографов серии HP 180 и использовал экран осциллографа для представления 16 строк из 12-разрядных слов в виде 1 и 0. Он был представлен в январе 1974 года в журнале Hewlett-Packard Journal.

Осциллографы со смешанным сигналом [ ]

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

Логические и сигнатурные анализаторы

“Логический анализатор — устройство, предназначенное для записи и анализа цифровых последовательностей. Может быть автономным, а также в виде приставки к ПК. Характеризуется числом каналов и максимальной скоростью считывания данных”1.

Логический анализатор необходим:

•Когда необходимо увидеть много сигналов одновременно;
•Когда нужно представить сигналы так, как их видит само оборудование;
•Если нужно синхронизироваться от определенной комбинации сигналов на нескольких линиях и увидеть результат
“Когда сигнал в вашей системе пересекает пороговое значение, логический анализатор реагирует на него точно так же как и сама логическая схема. Он распознает лишь два состояния — «ноль» или «единица». Кроме того он может синхронизироваться по определенному сочетанию нулей и единиц исследуемых сигналов”. ( Chip News №5 (129): статья Ай-Ли Куана «Основы применения логических анализаторов».2008)
В общем случае логический анализатор используется тогда, когда необходимо увидеть больше сигналов, чем может показать осциллограф. Они полезны для определения временных соотношений или для исследования данных, передаваемых по шине, например, адресов, данных или управляющих сигналов на шине микропроцессора. Логические анализаторы также могут декодировать информацию на шине и представлять её в осмысленном виде.
Современные логические анализаторы рассчитаны на широкий круг задач при отладке микропроцессорных систем, удобны в эксплуатации, мобильны и легко настраиваются. Они выполнены в виде приставки к персональному компьютеру (ноутбуку), являются портативными устройствами с питанием по интерфейсу USB, имеют широкие возможности по записи и анализу цифровых сигналов и продуманный, интуитивно понятный интерфейс управления. Все модели с необходимым набором шлейфов и зажимов для подключения к объекту тестирования.
“Модели логических анализаторов отличаются числом логических каналов, объёмом памяти, набором протоколов декодирования цифровых интерфейсов (шин данных), и некоторыми специальными параметрами, таких как коэффициент компрессии. В таблице 1 представлены основные технические характеристики логических анализаторов”2.
Таблица 1
Основные технические характеристики логических анализаторов.
“Модели логических анализаторов отличаются числом логических каналов, объёмом памяти, набором протоколов декодирования цифровых интерфейсов (шин данных), и некоторыми специальными параметрами, таких как коэффициент компрессии. В таблице представлены основные технические характеристики логических анализаторов”3.

1.2 Особенности логических анализаторов

Число входных каналов логического анализатора в большей или меньшей степени определяется возможностями прибора. Например, если применяется для анализа 8-разрядной логический анализатор микропроцессорной системы с 16-разрядной адресной шиной, 8-разрядной шиной данных и пятью или шестью линиями управления, то минимальное число необходимых входных каналов анализатора идеально равняется 30. Для полного анализа 16-разрядной микропроцессорной системы аналогично потребуется логический анализатор примерно с 46 входными каналами. Его полный входной сопротивление подобно осциллографом обычно равна 1 МОм, а номинал параллельно включенной емкости 10-15 пФ
Другим фактором, определяющим характеристики логического анализатора, является гибкость запуска. В отличие от осциллографа, который обычно запускается при первом пересечении входным сигналом заранее заданного предельного значения, логический анализатор должен иметь несколько дополнительных режимов запуска. “Важнейшими из них являются следующие:
1. Запуск при появлении заданного слова данных, т.е. анализатор запускается, когда входные сигналы формируют отдельную (частичную) комбинацию данных;
2. Передзапуск / послезапуск, используемые для запоминания, а если необходимо, то и для индикации входных данных, которые пришли к поступлений слова и после него;
3. Запуск, когда возникает определенная разница между ожидаемыми сигналами и полученными входными данными;
4. Запоминание и индикация данных, принятых за определенный временной интервал (обычно определяется числом циклов тактового генератора) после поступающих слова;
5. Запоминание и индикация данных, принятых после определенного числа появления поступающих слова;
6. Сравнение событий по фактическим данным с ожидаемыми событиями и запуск только в том случае, если они не совпадают
Важными факторами, определяющими характеристики анализатора, является объем памяти и скорость считывания.
Пользователь сам определяет, какой сегмент памяти следует использовать для выполнения определенных функций. Типичный объем памяти одного сегмента составляет от 64 слов до 2К слов
Временное окно, то есть промежуток времени, в течение которого могут наблюдаться сигнальные данные, непосредственно определяется общим объемом памяти логического анализатора. В ситуациях, когда нет необходимости в использовании всех входных сигнальных каналов логического анализатора, сегменты памяти объединяются в последовательные звенья таким образом, чтобы меньшее количество входных сигналов можно было наблюдать в более длительном временном окне
Часто в анализатор встраиваемые цифровой генератор слов, что обеспечивает стимулирующие воздействия на исследуемый микропроцессорная система. В этом случае анализатор может применяться для наблюдения за тем, что происходит в системе под действием этих стимулирующих сигналов
Более сложные логические анализаторы имеют энергетически-энергонезависимую память (ЕНПЗП, КМОП, ОЗУ с батарейным питанием и т.п.) для чтения, записи входных данных, размещения в ней информации пользователя или эталонной информации, а также для ее сравнения с информацией, которая поступает. В ряде случаев, если требуется большой объем памяти данных, используется память на гибких дисках. Много логических анализаторов предполагают проведение прямых сравнений между новыми поступающих и эталонными данными. Иногда логические анализаторы оснащаются двумя и даже тремя тактовым системами, которые позволяют осуществлять ввод данных, например, из мультиплексорных микропроцессорных систем”4.
Поскольку сами по себе логические анализаторы являются приборами, спроектированных на основе микропроцессоров, то их характеристики иногда могут меняться уже на стадии изготовления за счет модификации программного обеспечения.

1.3 Основы применения логических анализаторов

Рассмотрим основные методы работы с логическим анализатором и особенности его использования в качестве анализатора временных соотношений и в качестве анализатора состояний. Логический анализатор необходим, когда нужно представить сигналы именно так, как видит их само оборудование или если нужно синхронизироваться от определенной комбинации сигналов на нескольких линиях и увидеть результат. Когда сигнал системе пересекает пороговое значение, логический анализатор реагирует на него точно так же, как и сама логическая схема. Он распознает лишь два состояния сигнала — “ноль” или “единица”. Кроме того, он может синхронизироваться по определенному сочетанию нулей и единиц исследуемых сигналов. В общем случае используется логический анализатор тогда, когда нужно увидеть больше сигналов, чем может показать осциллограф.
Логические анализаторы очень полезны для определения временных соотношений или для исследования данных, передаваемых по шине, например, адресов, данных или управляющих сигналов на шине микропроцессора. Они могут декодировать информацию на шинах микропроцессоров и представлять ее в осмысленном виде. Если закончен параметрический этап проектирования и пользователь занят исследованиями временных соотношений между многими сигналами, причем ему нужно синхронизироваться по определенному сочетанию логических уровней этих сигналов, то ему нужен именно логический анализатор.

1.4 Принцип действия логического анализатора

Многие логические анализаторы состоят, по сути дела, из двух анализаторов. Первый из них — это анализатор временных соотношений, а второй — анализатор состояний.

1.4.1 Анализатор временных соотношений

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

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

Дискретизация
переходов
При захвате пакетных данных нужно выбрать максимальное разрешение (например, 4 нс), чтобы захватить быстрые импульсы в самом начале. Это значит, что анализатор временных соотношений с объемом памяти 4K (4096 отсчетов) прекратит захват данных через 16,4 мкс, и второй пакет данных вы уже не захватите. Во время повседневной отладки нам постоянно приходится регистрировать и сохранять данные в моменты, когда активность сигнала отсутствует.
Это приводит к бесполезному расходу памяти анализатора, не давая никакой дополнительной информации. Эту проблему можно решить, если знать, в какие моменты времени возникает переходной процесс и какой будет полярность сигнала — положительной или отрицательной. Эта информация составляет основу анализа переходов и позволяет повысить эффективность использования памяти.
Для реализации эффективного анализа переходов нужно использовать на входе анализатора временных соотношений “детектор переходов” и счетчик. Теперь анализатор будет сохранять только те отсчеты, которым предшествовал переход, вместе со временем, прошедшим от последнего перехода. При таком подходе используется всего две ячейки памяти на каждый переход, а при отсутствии активности — память вообще не используется. В данном примере можно захватить второй пакет, а также третий, четвертый и пятый, в зависимости от того, сколько импульсов входит в состав пакета. В то же время можно сохранить максимальное разрешение 4 нс.

Захват выбросов
Выбросы имеют “дурную привычку” появляться в самые неподходящие моменты времени с самыми тяжелыми последствиями. Анализатор временных соотношений дискретизирует входные сигналы, следит за переходами, возникающими между выборками, и может обнаружить появление выброса. В случае анализатора выброс определяется как переход, несколько раз пересекающий порог между соседними выборками. Для распознания выброса необходимо “научить” анализатор распознавать множественные переходы и показывать их, как выбросы. Хотя отображение выбросов само по себе очень полезно, было бы еще полезней синхронизироваться от выброса и показывать данные, предшествующие ему. Это помогло бы определить причину, вызвавшую выброс. К тому же такая способность позволила бы анализатору регистрировать данные только тогда, когда нужно — в момент появления выброса.
Предположим, что есть система, которая периодически сбоит из-за выбросов на одной из линий. Поскольку выбросы появляются редко, постоянное сохранение данных приведет к невероятному увеличению объема анализируемой информации (при наличии достаточного объема памяти). Или можно взять анализатор без функции синхронизации по выбросам и сидеть перед ним, нажимая кнопку “Пуск”, пока не заметим выброс.

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

Синхронизация по комбинации сигналов
“Определение условий трассировки для анализатора временных соотношений несколько отличается от настройки уровня синхронизации осциллографа. Многие анализаторы могут синхронизироваться от определенного сочетания нулей и единиц на входных линиях. Для облегчения работы условия синхронизации в большинстве анализаторов можно вводить в виде двоичных (нулей и единиц), шестнадцатеричных, восьмеричных или десятичных чисел или в виде символов ASCII.
ИСпользование шестнадцатеричных чисел особенно удобно для анализа шин, имеющих разрядность 4, 8, 16, 24, или 32 бита”5.

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

Применение анализатора состояний
“Состоянием” логической схемы называется значение шины или линии в момент, когда данные достоверны. Рассмотрим обычный D-триггер. Данные на входе D недостоверны до тех пор, пока не появится положительный фронт тактового сигнала. Таким образом, состояние этого триггера соответствует моменту появления положительного фронта тактового сигнала.
Допустим, что есть восемь таких триггеров. Все восемь подключены к одному и тому же тактовому сигналу. При появлении положительного фронта тактового сигнала все восемь триггеров захватывают данные со своих “D” входов, и это происходит при каждом положительном фронте тактового сигнала. Эти восемь линий аналогичны шине микропроцессора. Если подключить к этим восьми линиям логический анализатор и сообщить ему, регистрировать данные при каждом появлении положительного фронта тактового сигнала, анализатор как раз и будет анализировать логические состояния. Никакая активность на входе не будет регистрироваться, пока сигнал тактовой частоты не перейдет в единицу.
Анализатор временных соотношений использует для управления дискретизацией встроенный генератор тактовой частоты, в результате он асинхронно дискретизирует сигналы исследуемой системы. Анализатор состояния дискретизирует сигналы синхронно, поскольку он получает тактовую частоту от самой системы. Как правило, анализатор состояния выводит данные в виде списка, тогда как анализатор временных соотношений выводит данные в виде временной диаграммы.
Тактовая частота
“В анализаторе временных соотношений дискретизация выполняется под управлением внутреннего генератора тактовой частоты, что сильно упрощает ситуацию. Однако в микропроцессорных схемах система может иметь несколько тактовых частот.
Необходимо засинхронизироваться от определенного адреса памяти и увидеть сохраненные в нем данные. В системе используется процессор Zilog Z80. Чтобы анализатор мог захватывать адреса процессора Z80, он должен регистрировать данные в тот момент, когда линия MREQ переходит в ноль. Однако для захвата данных анализатор должен делать выборку в момент, когда в ноль переходит линия WR (цикл записи) или когда в ноль переходит линия RD (цикл чтения).
Некоторые процессоры передают данные и адрес по одним и тем же линиям. Анализатор должен уметь считывать информацию с одной и той же шины, но в разные моменты времени. Во время цикла чтения или записи Z80 сначала выводит адрес на шину адреса. Затем он устанавливает сигнал MREQ, показывая, что на шине присутствует достоверный адрес для чтения или записи в память. После этого устанавливается линия R D или WR, в зависимости от того, что выполняется, чтение или запись. Причем линия WR устанавливается только при наличии на шине достоверных данных.
Таким образом, анализатор временных соотношений выступает в роли демультиплексора, который в нужное время захватывает адрес, а затем захватывает данные, которые появляются на тех же линиях”6.

1.4.2 Анализатор состояний

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

Уровни последовательности
Анализаторы состояния имеют “уровни последовательности”, которые облегчают синхронизацию и сохранение. Уровни последовательности позволяют более точно классифицировать сохраняемые данные, нежели отдельные точки синхронизации. Это значит, что можно точно установить окно регистрации данных, не сохраняя информацию, которая не нужна. Обычно уровни последовательности выглядят, примерно, так:
1 find xxxx else on xxxx go to level x 2 then find
Xxxx else on xxxx go to level x 3 trigger on xxxx

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

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

Подключение пробников
Физическое подключение к цифровым системам должно быть надежным и удобным, чтобы точно передавать данные в логический анализатор с минимальным влиянием на исследуемую систему. “Типичным решением является пассивный пробник с шестнадцатью каналами на один кабель. Каждый кабель терминируется с обоих концов нагрузкой с сопротивлением 100 кОм и емкостью 8 пФ. Кроме небольших размеров и высокой надежности, преимущество пассивной системы пробников заключаются в том, что можно терминировать пробник непосредственно в точке подключения его к исследуемой системе. Это позволяет исключить дополнительную паразитную емкость, связанную с проводами, соединяющими большие активные пробники с исследуемой системой. В результате тестируемая система “видит” емкость всего 8 пФ вместо 16 пФ, как в прежних системах снятия сигнала”7.

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

2. Сигнатурный анализатор

В настоящее время в новой технике тестирования цифровых схем сигнатурный анализ применяется наиболее часто. Это было предопределено несколькими причинами, например такими: равномерность закона распределения вероятности Pi необнаружения ошибки кратности i и множество необнаруживаемых ошибок Vi кратности i включает в себя маловероятные конфигурации ошибочных бит в последовательности данных. Построить сигнатурный анализатор можно двумя способами:
1.метод деления полиномов;
2.метод свёртки;
“ Главная идея сигнатурного анализа при использовании метода деления полинома на полином основывается на выполнении операции деления многочленов. В качестве делимого используется поток данных, формируемых на выходе анализируемого цифрового узла, который может быть представлен как многочлен p(x) степени L-1, где L — длина потока. Делителем служит примитивный неприводимый полином p(x), в результате деления на который получается частное q(x) и остаток S(x), связанные соотношением
p(x)= q(x) p(x)+ s(x),
где остаток s(x), представляющий собой полином степени, меньшей чем m=degP(x), называется сигнатурой.

Рис.2.1 Схема сигнатурного анализатора, построенного по методу деления полиномов

Рис.2.2 Схема сигнатурного анализатора, построенного по методу свертки

Однако, результат свёртки c(x) последовательности на сигнатурном анализаторе не есть остаток s(x) от деления на полином p(x). В то же время между c(x) и s(x) существует однозначная связь”5.
Как правило, в изделия, при эксплуатации которых предполагается использовать сигнатурный анализ, в процессе разработки вносят определенные средства, позволяющие производить этот анализ наиболее простыми и дешевыми приборами и повысить эффективность контроля. Прежде всего, это средства, позволяющие разрывать в режиме контроля цепи обратной связи в контролируемой схеме. Когда выходит из строя один из элементов, входящих в контур с обратной связью, локализовать неисправности внутри этого контура с помощью сигнатурного анализа не удается.
На практике, как правило, не требуется разрывать контуры с обратной связью, включающие в себе всего несколько простейших логических элементов, так как локализация сигнатурным анализом неисправности с точностью до такого контура позволяет быстро выявить неисправность конкретного элемента другими методами. Что же касается МПС в целом, то она целиком охвачена обратной связью по контуру программного управления.
Поэтому для применения сигнатурного анализа необходимо иметь возможность разрывать цепи обратной связи в режиме тестирования МПС. Для однокристального микропроцессора это условие реализуется отключением шины данных от входа МП. Разрыв обратной связи по шине данных можно реализовать с помощью механических переключателей или электронных ключей.
Вторым важным условием пригодности МПС для испытаний с помощью сигнатурного анализа является наличие схем, вырабатывающих сигналы Пуск и Стоп, необходимые сигнатурному анализатору для выработки измерительного «окна», т.е. интервала времени, в течении которого накапливается сигнатура.
Третьим требованием является наличие в составе МПС ПЗУ, в котором содержится тестовая программа. В качестве тестовой программы может выступать:
• специально разработанная рабочая программа;
• определенная рабочая программа, если она, по мнению разработчика, в достаточной мере использует все устройства МПС”8.

2.1 Общая характеристика сигнатурного анализа

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

Рис.1 Примеры сигнатур

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

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

“Сигнатура формируется в схеме, которая содержит 16-разрядный регистр сдвига, состоящий из 16 триггеров, четыре последовательно соединенннных сумматора по модулю два и цепи обратной связи.
Тест-последовательность может быть любой длины, но в конце цикла обработки анализируется только шестнадцати битовое число, зафиксированное в регистре. Это число, выраженное в несколько видоизмененном шестнадцатиричном коде и представляет собой сигнатуру данной тест-последовательности. Так как число бит тест-последовательности намного больше числа знаков сигнатуры, то говорят, что сигнатурный анализатор осуществляет сжатие информации.
У приведенной схеме следующие особенности:
1) до начала работы все триггеры регистра находятся в состоянии логического «0»;
2) имеет место следующая закономерность: если на вторых входах всех четырех сумматоров по модулю два находится бит «0» или у четного числа сумматоров бит «1», то бит, поданный на вход схемы, передается на вход D регистра без изменения. Если бит «1» имеется на вторых входах нечетного числа сумматоров, то на вход регистра передается бит, противоположный входному.
Сигнатурный анализ обладает высокой достоверностью, что подтверждается следующими выводами:
1.Вероятность того, что у двух одинаковых двоичных последовательностей будут одинаковые сигнатуры равна единице.
2.Вероятность получения одинаковых сигнатур для двух двоичных последовательностей, отличающихся только одним битом, равна нулю.
3.Вероятность получения одинаковых сигнатуру для двух двоичных последовательностей, отличающихся несколькими битами, не превышает 0,000015”9.
Структурная схема сигнатурного анализатора представлена на рисунке 3.
Рис.3 Структурная схема сигнатурного анализатора

ФВВ – формирователь временных ворот;
ФТП  формирователь тест-последовательности;
ФДКС  формирователь двоичного кода сигнатуры;
БП  блок памяти;
СОИ  схема однократного измерения.
В приведенной схеме анализатора выполняется три основных операции:
1) формирование тест-последовательности;
2) формирование сигнатуры;
3) отображение сигнатуры.
Первая операция протекает следующим образом. Из исследуемого устройства через пробник в анализатор поступают сигналы трех видов: тактовые импульсы, сигналы запуска ПУСК и сигналы останова СТОП. Фронт сигнала ПУСК подготавливает регистр сдвига формирователя сигнатур к приему тест-последовательности и задает фронт временных ворот, а фронт сигнала СТОП – их срез. Таким образом,
интервал времени, разделяющий фронты сигналов ПУСК и СТОП определяет длительность временных ворот как показано на рисунке 4.

Рис.4 Длительность временных ворот

Полученный стробирующий импульс (временные ворота) и тактовые импульсы подаются в формирователь тест-последовательности, в который через пробник данных также поступает последовательность данных из исследуемого устройства.
В моменты совпадения фронтов тактовых импульсов с битами данных образуются биты тест-последовательности. Причем на её структуру не влияют никакие изменения данных в промежутках между фронтами тактовых импульсов.
Длину тест-последовательности (число бит в ней) можно изменять, изменяя интервал времени между импульсами ПУСК и СТОП. Длину тест-последовательности (число бит в ней) можно изменять, изменяя интервал времени между импульсами ПУСК и СТОП.
Синхронизация работы всех узлов анализатора осуществляется тактовыми импульсами исследуемого устройства.
Сформированное двоичное число, определяющее сигнатуру, поступает в два блока памяти (БП). БП1 хранит это число в течение одного цикла измерения. Это число преобразуется дешифратором в четырехзначный шестнадцатеричный код — сигнатуру, который и высвечивается на дисплее. БП2 хранит результаты формирования сигнатур, полученных за два цикла измерения следующие один за другим. Если сигнатуры не совпадают, то на дисплее высвечивается надпись: «Нестабильная сигнатура». Это позволяет обнаружить случайные сбои в работе исследуемого устройства.

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

Рис.5 Модовая дисперсия

Скорость света, распространяющаяся в волокне, зависит от длины волны. Следовательно, импульс, занимающий конечную полосу длины волн в спектре, будет уширяться из-за того, что его составляющие с различными длинами волн будут распространяться с разными скоростями. Это явление называется хроматическая дисперсией, которая складывается из материальной дисперсии и волновой дисперсии.
Материальная дисперсия вызывается зависимостью групповой скорости света от длины волны. Эта зависимость обусловлена тем, что показатель преломления стеклянных волокон меняется с изменением длины волны. Материальная дисперсия сказывается, если передаваемый сигнал имеет широкий спектральный интервал. На рисунке 6 показано уширение импульса в следствие материальной дисперсии (а – входной ипульс, б – выходной импульс).

Рис.6 Уширение импульса

Волноводная дисперсия по своему действию подобна материальной, но возникает вследствие зависимости фазовой и групповой скоростей каждой моды световой волны от длины волны. В общем случае она мала по сравнению с другими видами дисперсий.
Затухание (поглощение)
При распространении по ОВ сигнал затухает вследствие оптических потерь, которые пропорциональны длине световода. Затухание измеряется в децибелах на единицу длины и на практике применяются от 0.2 дБ/км до 10дБ/км.
Затухание обусловлено тремя основными причинами:
1) поглощение света примесями (в качестве примесей выступают ионы металлов и гидроксильные ионы ОН из-за наличия воды в стекле);
2) рассеяние света;
3) потери на излучение на микроизгибах ОВ.
Существует два основных механизма рассеяния света в ОВ. Первый из них — рэлеевское рассеяние, вызываемое неоднородностью диэлектрических свойств вследствие хаотического распределения молекул в аморфном стекле.
Второй механизм связан с технологическими неоднородностями на поверхности раздела сердцевины и оболочки. Вследствие этого лучи света, падающие на поверхность под некоторым углом, отражаются под разными углами, что приводит к смешению мод.
Микроизгибы оптического волокна вызывают потери света вследствие излучения, но эти потери невелики, если радиус изгиба больше некоторого критического значения.
Для измерения затухания в основном используют два метода:
1) обратного рассеяния;
2) метод прямого измерения затухания.
Метод обратного рассеяния нашел широкое применение в виду возможности одновременного измерения нескольких параметров ОВ, относительно высокой скорости измерения с одного конца линии, а также достаточной для большинства задач точности. Принцип измерения параметров ОВ методом обратного рассеяния основан на наблюдении потока обратного рассеяния (ПОР), возникающего вследствие отражения зондирующего сигнала при его прохождении по ОВ от рассеянных и локальных неоднородностей. Этот метод позволяет измерять затухание ОВ, функции распределения затухания по длине ОВ и распределения локальных неоднородностей, места обрыва, а также определить дисперсию и групповое время прохождения сигнала по волокну.
На практике метод обратного рассеяния реализуется в оптических рефлектометрах, регистрирующих поток обратного рассеяния и измеряющих его параметры.

2.1 Мера качества сигнатурных анализаторов

Анализу качества сигнатурных анализаторов(СА) посвящено много работ. Хотя в результате этих исследований не выработана единая мера качества, предпочтение отдается СА, описываемым неприводимыми примитивными полиномами. В моей работе за меру качества взята сумма минимальных расстояний полиномиальных кодов, порождаемых полиномом и переменной длинной анализируемой последовательности. Предлагаемая мера позволяет также сравнивать между собой примитивные СА.
СА можно рассматривать как линейную последовательную машину без выходов, определяемую в виде совокупности двух объектов C=(A,B). “Для вычисления суммы длин минимальных расстояний полинома степени r выполняем следующие действия:
1.Строим бинарную (r,r) матрицу A;
2.Строим вектор-столбец B размерности r, у которого первая компонента равна 1, а остальные являются нулями.
3.Строим бинарную (r,n)-матрицу Hc(n) = Ak-1B, Ak-2B . A1B, A0B. В операции умножения бинарных матриц под умножением бинарных элементов понимаем их конъюнкцию, а под сложением сложение по модулю 2.
4.Обозначим минимальное расстояние dc(n), где n — длина входной последовательности. СА обнаруживает dc-1 ошибок. Если полином примитивный, то для n=2r dc(n)=2.
5.Допустим, что для n, которое больше r dc(n)=d 1. Если матрица А неособенная (это будет тогда и только тогда, когда a0=1), то для вычисления dc(n+1) нужно проверить, существуют ли такие наименьшие d’ меньше d-2 и n-1 больше k1. kd’ и больше нуля, что AnB можно получить линейной комбинацией из d’ столбцов из матрицы H, которые расположены после n-того столбца. Если такое d’ существует, то dc(n+1)=d’+2, иначе dc (n+1)=dc(n)=d.
6.Суммируем длины всех минимальных расстояний, полученных при длинах входных последовательностях от 1 до 2r-1, где r — старшая степень полинома”10.

Логический анализатор, который всегда с тобой

Вот он, всем известный герой.

Не так давно он обошелся мне гораздо дешевле.

Да, это тот самый всем известный китайский клон Saleae, который на Али продают по три копейки кубометр. Но у Saleae нет программного обеспечения под Android. Но я уже и на большом компьютере предпочитаю использовать Sigrok в связке с PulseView, который работает с этим анализатором. Не знаю почему, но программное обеспечение для Linux от Saleae у меня умудряется через какое-то время USB завалить. Приходится запускать, смотреть картинку, и закрывать приложение, пока цел. Через какое-то время ничего, кроме кнопки выключения питания работать не будет. Особенно, если кроме анализатора, к USB какой-нибудь ST-Link подключен — тогда это случится гарантированно и быстро. Поэтому предпочитаю Sigrok — хоть не так красиво и удобно, зато все работает.
В интернетах пишут, что программное обеспечение от Saleae не дружит с семейством процессоров, один их которых у меня стоит, но не менять же его из-за одной программы. С другим еще что-нибудь не будет дружить.

Недавно Зоркий Сокол вдруг заметил на сайте Sigrok какое-то слово знакомое — Android.
Ну-ка, ну-ка, иди сюда.

Из магазина приложений возможности загрузиться нет, поэтому у телефона разрешаем установку сторонних приложений и устанавливаем загруженную apk.

Дополнительная ссылка на apk.

И — тадам! — теперь у вас есть карманный анализатор. Если у телефона USB OTG есть — а у последних, наверно, уже у всех есть.

Экран телефона:

Вид со стороны:

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

Проницательный читатель уже понял что это значит. Да, вы правы — я таки написал для Rasperry Pi Pico программу, которая с помощью одной дешевой платы управляет светодиодным дисплеем из 20 тысяч адресуемых светодиодов при 30 кадрах в секунду. Можете считать это анонсом следующей статьи, где эти исходники пренепременно будут.

Нет, вы представьте себе такую картинку маслом — укуренный весь из себя такой д’Артаньян в шляпе, идешь по переулочку, кусаешь булочку, в одном кармане телефон, с другом — логический анализатор и инфракрасная камера, чтобы котиков фотографировать…

Стоп, чего-то не хватает. Понял — осциллографа! Но дело поправимое — можно и осциллограф в тот же карман положить. Больше 100 килогерц им, конечно, вряд ли посмотришь, но главное — сам факт, он есть и лежит в кармане.

На Али можно найти клон еще одного анализатора от Saleae, он на 16 каналов, но главное его преимущество — если уменьшить число каналов до 4, то он уже работает с частотой 50 МГц — в 2 раза быстрее 8-канального.

К сожалению, с телефоном он работать не будет, как заставить — не знаю. Sigrok на Linux через танцы с бубном работает — но сначала нужно запустить программу от Saleae, она загрузит прошивку в анализатор, после этого можно остановить Saleae и запускать Sigrok. После отключения питания от анализатора, все надо повторять.

Может, кому полезно будет — лаптоп тоже не особо большой, но тут и на экране место освобождается и гальваническая развязка от компьютера может кому пригодится.

Список декодируемых Sigrok протоколов:

6.5. Логические анализаторы

Широкое использование в современной электронной аппаратуре логических ИМС привело к созданию особых (специальных) измери­тельных приборов — логических анализаторов (по квалификационной классификации — ЛА), которые, в отличие от осциллографа, позво­ляют просматривать одновременно несколько десятков сигналов, т.е. логический анализатор является эквивалентом осциллографа, специ­ально приспособленного для проверки ЦИМС.

В логических анализаторах не требуется измерять напряжение контролируемых сигналов: при работе с логическими ИМС достаточ­но знать в каком состоянии находится конкретный узел (в состоянии логической «1» или логического «0»).

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

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

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

В зависимости от наличия внутреннего генератора и вида индика­ции различают анализаторы логических состояний (АЛС) и анализа­торы временных диаграмм (АВД).

АЛС используются для записи во внутреннюю память сигнала, внешнего по отношению к прибору. В качестве такого сигнала чаще используются стимулирующие сигналы, изменяющие логические со­стояния проверяемых микросхем. В АВД предусмотрено наличие внутреннего тактового генератора, который используется для записи логи­ческого состояния в данной точке во внутреннюю память прибора. На рисунке 6.5 приведены структурные схемы анализаторов двух видов.

Рис. 6.5. Структурные схемы АЛС (а) и АВД (б)

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

В первом случае данные заносятся в память синхронно с измене­нием логического состояния испытуемого узла, а во втором случае — асинхронно. Поэтому АВД часто называют синхронными анализа­торами, а АЛС — асинхронными. На рисунке 6.6 приведен пример информации, отображаемой на индикаторе.

Рис. 6.6. Таблица истинности для АЛС (а) и квазивременная диаграмма для АВД (б)

Чтобы не потерять информацию в АВД, следует ввести запись в память с частотой, в несколько раз превышающей рабочую часто­ту испытуемого узла. Следовательно, тактовая частота АВД всегда должна быть больше тактовой частоты АЛС. Кроме того, для полного воспроизведения программы изменения логических состояний вну­тренняя память должна быть заметно больше, чем у АЛС. Например, у наиболее известных моделей АЛС объем памяти составляет 64 бита на канал, а у АВД — 2048 бит на канал.

На начальной стадии проектирования и при отладке аппаратных средств чаще всего используют АВД, которые позволяют оценить от­носительные задержки между каналами. Благодаря большому объе­му памяти и специальной схеме детектирования коротких импульсов с помощью АВД можно обнаружить короткие паразитные импуль­сы, существующие между тактовыми импульсами.

АВД удобен при работе с асинхронными устройствами, например для контроля синхронизации канала общего пользования (КОП).

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

Наряду с рассмотренными анализаторами выпускают специали­зированные, используемые для решения более узкого круга задач. Например, анализатор ЛА814 позволяет только контролировать прохождение сигнала по КОП. Также имеются анализаторы, поз­воляющие контролировать прохождение информации по шинам ми­кропроцессоров конкретного типа.

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

Многоканальность — это количество каналов, ограничиваемое объемом внутренней памяти и габаритами индикатора. Современные анализаторы имеют от двух до ста и более каналов. Использование многоканальных анализаторов удобно при регулировании и ремон­те печатных плат с комбинационной и последовательной логикой, к которым относятся регистры, счетчики, сумматоры. Многоканальность анализаторов необходима при проверке плат памяти, разнообразных интерфейсных плат и микропроцессорных устройств, где только адресная шина (ША) занимает 16 и более каналов. Например, для 8-разрядного микропроцессора, имеющего 16-разрядную ША, 8-разрядную шину данных (ШД) и ряд других линий, потребуется не менее чем 32-канальный анализатор.

Быстродействие позволяет избежать потерь информации: испы­тание устройства будет корректным только в том случае, если оно проводится на рабочей частоте. Следовательно, чем выше быстродей­ствие анализатора, тем лучше. Быстродействие подавляющего боль­шинства АЛС составляет (10. 20) МГц и выше, что достаточно для современных микропроцессоров. Быстродействие современных АВД достигает 600 МГц с тенденцией дальнейшего роста.

Выбирая АВД по быстродействию, необходимо учитывать тот факт, что все анализаторы имеют возможность генерировать узкие паразитные выбросы, существующие между тактовыми импульсами. Чем выше рабочая частота анализатора, тем более узкие импульсы он способен захватывать. Например, анализатор с частотой 100 МГц способен различать паразитные импульсы длительностью 3. 5 нс, а анализатор с частотой 50 МГц — длительностью 5. 10 нс.

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

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

Рис. 6.7. Таблица истинности с временной диаграммой при вводе запускающего слова (комбинационный запуск)

Рис. 6.8. Таблица истинности с временной диаграммой при вводе запускающего слова (запуск с цифровой задержкой)

Цифровая задержка позволяет также при одном и том же запускаю­щем слове исследовать программу по частям, определив с абсолютной точностью окно данных, которое необходимо для наблюдения. Зна­чение цифровой задержки у анализаторов разных типов колеблется в пределах 10 4 . 10 6 импульсов. Существует связь между длиной запу­скающего слова и значением цифровой задержки: чем длиннее запу­скающее слово, тем короче цифровая задержка. Это объясняется тем, что в длинной последовательности данных всегда можно выбрать за­пускающее слово, отстоящее недалеко от необходимого окна данных.

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

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

На рисунке 6.9 в условной форме приведены все рассмотренные ре­жимы работы анализатора.

Обобщенная структурная схема анализаторов АЛС и АВД приве­дена на рис. 6.10. Тактовые импульсы могут быть внутренними и внеш­ними. В зависимости от типа анализатора некоторые узлы структур­ной схемы могут отсутствовать.

Показанные на схеме узлы имеют следующее назначение:

компараторы сортируют информацию на логический «0» и логи­ческую «1»;

память записывает информацию с помощью внешнего (АЛС) или внутреннего (АВД) тактового импульса;

компаратор кодов сравнивает поступающую информацию с инфор­мацией, вводимой с передней панели. При приходе запускающего слова вырабатывается сигнал на устройство запуска;

Рис. 6.9. Режимы работы анализатора: а — начало, после момента запуска; б — конец, до момента запуска; о — сдвиг, до и после момента запуска; г — после задержки на;n тактовых импульсов; д — после прихода трех запускающих слов; е — после прихода двух запускающих слов И задержки на п тактовых импульсов

Рис. 6.10. Обобщенная структурная схема анализаторов АЛС и АВД

устройство запуска разрешает запись приходящей информации в память;

счетчик цифровой задержки задерживает разрешение записи в па­мять на заданное число тактовых импульсов;

счетчик задержки запуска задерживает разрешение записи в па­мять на заданное число запускающих слов;

схема преобразования информации преобразует информацию, записанную в память, в удобную для восприятия форму;

индикатор высвечивает информацию в виде таблицы истинности или временной диаграммы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *