К списку статей

Применение логических анализаторов в тестировании цифровой техники


Авторы: Михаил Перцовский, Евгений Воробьев, Алексей Трифонов

В статье описаны эксплуатационные возможности и функциональные особенности современных логических анализаторов Источник:  http://www.cta.ru/cms/f/?/366656.pdf

КЛАСС ЗАДАЧ, В КОТОРЫХ ПРИМЕНЯЕТСЯ ЛОГИЧЕСКИЙ АНАЛИЗАТОР

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

НЕКОТОРЫЕ ОСОБЕННОСТИ И ВОЗМОЖНОСТИ ЛОГИЧЕСКИХ АНАЛИЗАТОРОВ

В [1] дано следующее определение ЛА: «Логические анализаторы — контрольноизмерительные приборы, предназначенные для сбора данных о поведении дискретных систем, для обработки этих данных и представления их человеку на различных уровнях абстракции. Они работают независимо и незаметно для испытуемых дискретных систем и применяются для их отладки и диагностирования (в первую очередь микропроцессорных систем) на всех этапах жизненного цикла.» Логические анализаторы характери зуются числом каналов, емкостью памяти на канал, частотой записи, способами синхронизации и запуска, форма ми представления данных. Для определения значений сигналов ЛА используют компараторы, с помощью которых выясняется, выше или ниже входной сигнал заданного порогового уровня. Если сигнал превышает порог, ег о уровень определяется как высокий, если ниже порога, то низкий. Пороговое напряжение компараторов, как правило, может регули роваться (в основном от –10 до +10 В). Подключение ЛА требует доступа к участкам цифрового устройства (на пример, выводам микросхем или трассам платы). Анализаторы снабжаются специальными щупами и зажимами. Основное требование – минимизация влияния прибора на испытуемое устройство. ЛА должны обладать высоким входным сопротивлением (при мерно 1 МОм) и малой входной емко стью (порядка 1025 пФ). Для обеспе чения этих требований компараторы логических уровней делаются выносными. Запись информации в ЛА происхо дитпо тактовым сигналам (clock). В том случае, когда тактовые сигналы поступают от внутреннего генератора независимо от испытуемого объекта, реализуется асинхронный режим записи данных. Если для синхронизации ра боты ЛА используются сигналы испытуемого объекта, то реализуется синхронный режим записи данных. При этом значения могут записываться фронтом или срезом тактового сигнала. Выборочная запись информации реализуется с помощью квалификаторов [1] – отдельных каналов, не фиксируемых в памяти, но определяющих возможность записи входных данных в память. Это позволяет экономить объем свободной памяти. В реальных системах могут возникать импульсы и всплески, длительность которых меньше длительности тактового сигнала. Такие ложные сигналы считаются помехами. Существует два способа обнаружения помех: увеличение тактовой частоты в асинхронном режиме и применение «ловушек». В первом случае помехи фиксируются и визуализируются как данные, во втором случае помехи фиксируются от дельно от основных данных и визуали зируются не как биты данных, а как ложные сигналы. Основное разнообразие в семейство логических анализаторов вносят спо собы запуска и формы представления данных. Этим вопросам далее будет уделено особое внимание. Традиционно ЛА выпускались рядом фирм, таких как HewlettPackard (HP)*, Tektronix, Philips. Эти компании имеют свои взгляды на состав и особенности ЛА, но основные принципы можно считать неизменными.

РАЗДЕЛЕНИЕ ЛОГИЧЕСКИХ АНАЛИЗАТОРОВ ПО ФУНКЦИОНАЛЬНОМУ НАЗНАЧЕНИЮ

В соответствии с сегодняшними тре бованиями можно разделить ЛА на не сколько типов. Фирма Tektronix выделяет два основных типа: анализаторы микропроцессорных систем на программном уровне описания (embedded microprocessor software debug applica tions), называемые также анализатора мисостояний (state analyser) и анализа торы цифровых систем на логическом и временном уровне (hardware debug applications), называемые анализатора ми временных соотношений (timing analyser). Первый тип ЛА характеризуется от сутствиемявной причинноследственной связи между событием и вызванным им следствием. Причем событие и следствие намного разнесены по времени. Очень часто следствие, вызванное неисправностью, появляется много позже, чем неисправность. Поэтому основные требования для таких анализаторов – наличие разнообразных сложных механизмов запуска, позво ляющих отследить причину и следствие, и большие объемы памяти, необходимые для этого. Основной задачей ЛА данного типа является фиксация логических состояний на шинах процессора с частотой, соответствующей частоте работы процессора. Целесообразнее использовать внешнюю синхронизацию процессора и синхронный режим, вследствие чего частота синхро низации будет, как правило, меньше, чем у второго типа ЛА. Для отладки микропроцессорных систем требуется не только зафиксировать логические состояния, передавае мые по одной магистрали, но и идентифицировать информацию, то есть оп ределить, к какому типу она относится (данные, команды или управление). Для этого используют многофазную синхронизацию. Этот режим работы анализатора может быть реализован следующим образом. Входные каналы анализатора разбиваются на две или три группы. По одной группе каналов записывается адрес, по другой — данные, по третьей — команды и коды управления. Каждая группа каналов за писывается по своему тактовому сигналу и в свои разряды буферного регистра. После прихода всех тактовых им пульсов данные из буферного регистра подаются одновременно и в память, и на логический компаратор. Информация из памяти расшифровывается, ко ды команд переводятся в мнемонический код, соответствующий данному типу процессора, а данные и коды управления остаются без изменений. Эта операция называется дисассемблирование, после чего производятся визуализация и сохранение информации. Второй тип ЛА характеризуется тесной причинноследственной связью и хронологической зависимостью между событием и следствием. Поэтому часто требуется срабатывание ЛА именно по причине, а не по следствию. Для данного типа характерен небольшой объем памяти, но анализ временных соотно шений требует более высокой частоты опроса. В таких устройствах чаще всего используется асинхронный режим, позволяющий отследить временные сдвиги сигналов. Способы запуска таких анализаторов не отличаются большим разнообразием и часто ограничиваются запуском по какомулибо событию. Частота исследуемых сигналов зна чительно возросла, поэтому существенное влияние на работу системы может оказать изменение формы сигналов. Это привело к тому, что помимо оценки временных характеристик часто бывает необходимо исследовать такие характеристики сигналов, как активные длительности фронта и среза,активная длительность импульса, всплески, дребезг сигналов и т.д. Для этого в состав модуля ЛА включается цифровой осциллограф, позволяющий видеть реальный сигнал и использо вать его параметры при задании способов запуска ЛА. Рассмотрим основные типы ЛА на примере анализаторов фирмы HP [2]. 1. Настольный логический анализа тор (benchtop logic analyser). Предназ начен для решения комплексных задач программноаппаратной отладки микропроцессорных систем . Сочетает в себе все необходимые возможно сти для решения конкретной задачи. Прибор может включать различные опции, например, аналоговый вход, большой объем памяти, осциллограф, генератор логических состояний. 2. Модульная система логического анализа (modular logic analysis system). Предоставляются наборы измерительных средств для различных задач тестирования цифровых систем, например, модули анализа временных соотношений и анализа состояний (state and timing analysis modules), модулици фрового осциллографа (digitizing oscilloscope modules), генератор логических состояний (pattern generator module), программные анализаторы реального времени (realtime software analysers). Модульная система представляет собой более мощное средство логического анализа, чем настольный логический анализатор. Она включает основной блок (mainframe) и набор модулей. При помощи добавления раз личных модулей можно как наращивать число каналов системы, так и расширять ее функциональные возможности. 3. Анализатор прототипов (prototype analyser). Используется для обработ ки и визуализации сигналов, со бранных при помощи модуль ной системы логического ана лиза. Пользователю предо ставляется удобный оконный интерфейс, позволяющий в различных окнах разместить такие представления сигналов, как временные диа граммы, листинг кода, гистограммы и т.д. С помощью маркеров обеспечива ется привязка сигналов во времени для всех окон. СПОСОБЫ ЗАПУСКА ЛОГИЧЕСКИХ АНАЛИЗАТОРОВ Как уже было сказано, ЛА различа ются по способам их запуска. Большинство ЛА предоставляют раз личные возможности для задания спо собов запуска. Пользователю предлага ется определить события, которые бу дут последовательно оцениваться ЛА и при возникновении которых осуществ ляется запуск. События могут комби нироваться, зависеть друг от друга, оцениваться одновременно. Такие со бытия называются условиями запуска. Основная функция запуска — оста вить в памяти данные, которые полно стью описывают событие, определяе мое условиями запуска. Запуск сраба тывает только после сбора необходи мого количества информации, пред шествующего запускающему событию. Эта информация называется предыс торией (prehistory). Информация, со бранная после прихода запускающего события, называется послеисторией (posthistory). Такая особенность запус ка определяется цикличностью записи в память. Каждое новое слово записы вается в следующую ячейку памяти. Рис. 3. Настольные логические анализаторы Hewlett Packard Когда память заполняется, новая информация записывается поверх старой в циклическом порядке. При остановке сбора в памяти выделяется «окно» необходимых пользователю данных, содержащее определенную пользователем предысторию и послеисторию. Механизм запуска также может использоваться для подсчета событий, для выборочной записи информации или для отображения в реальном времени. Способы запуска зависят от того, для какой задачи используется ЛА. Если в системе анализируются логические уровни и их временные соотношения, то и условия должны содержать набор состояний входов и выходов, временные соотношения между ними, време на существования набора состояний. Если производится отладка и тестирование микропроцессорных систем, то условие срабатывания должно содержать наборы команд, данных или их сочетания и временные соотношения между ними. Так, например, ЛА фирмы Tektronix используют для задания запуска автомат состояний срабатываний (trigger state machine). Этот автомат может содержать до шести состояний, где каждое состояние содержит от одного до четырех условных выражений типа «если то иначе» (ifthenelse). Каждое выражение оценивает комбинации из со бытий, число которых может быть до восьми, а выполнение его условий может определять до восьми действий. С приходом сигнала синхронизации в текущем состоянии оцениваются все выражения «еслитоиначе». Первое вы ражение в списке, условия которого выполняются, преобладает над остальными, и далее производятся действия, связанные с этим выражением. Если не выполняются условия ни одного выражения, автомат запуска остается в те кущем состоянии и действия не произ водятся. ЛА фирмы HP предоставляют библиотеку макросов, определяющих пара метры срабатывания. Каждый макрос имеет график измерения и структуру, похожую на предложение. Семейство макросов включает в себя основные макросы, последовательно определенные макросы, включая на хождение последовательности из n бит, макросы нахождения временных несоответствий, включая нахождение некоторого события X, произошедшего вскоре после события Y. Основу всех библиотек и состояний запуска составляют несколько основных условий. Первую группу условий можно определить как регистрирование событий. Канал или группа каналов определя ются как тестовые, и каждое опрошенное значение этой группы проверяется на соответствие событию, определенному пользователем. Исключение каналов из тестовой группы возможно с помощью маскирования каналов. Самый простой способ запуска, при менявшийся уже в первых анализаторах, — запуск по кодовому слову (по комбинации значений сигналов). Введение в логический анализатор схемы запуска такого типа позволяет производить запуск при появлении на входах логичес кого анализатора определенного, заранее выбранного двоичного слова. Программы, как правило, содержат циклы подпрограмм и даже вложенные циклы, так что выбранное запускающее слово при последовательных проходах цикла может встречаться много кратно. Чтобы анализатор мог различать эти циклы, в устройство запуска добавляется счетчик проходов, который задерживает момент фиксации данных в памяти, отсчитывая не синхросигналы, а число появлений запускающего слова, так что запуск производится по nму проходу подпрограммы. Такой запуск называется запуском по последовательностям слов. Больше всего хлопот доставляют перемежающиеся неисправности, которые появляются не часто, случайным образом, и при обычных периодически повторяющихся экспериментах могут не обнаруживаться. Для борьбы с перемежающимися неисправностями дискретных систем в некоторых моделях анализаторов предусмотрен запуск по несовпадению. Используя определенный критерий запуска, анализатор фиксирует пришедшие данные и берет их за эталон, с которым сравнивает следующую последовательность данных, удовлетворяющую критерию запуска. Если данные различны, производится запуск ЛА. Возможно также задание эталонного набора данных пользователем. Может применяться комбинация описанных вариантов для задания более сложного запуска, например, такого, как подсчет времени, в течение которого данные не соответствовали за данному эталону. Вторая группа условий — это запуск по помехе. ЛА может включать в себя встроенный детектор помех, который непрерывно ожидает помехи на каж дом канале. Детектор помех отслеживает поток собираемых данных. Когда возникает помеха, ЛА срабатывает и помеха выводится на экран. Детектор помех используется в основном для исследования помех на линии синхронизации. В высокоскоростных логических устройствах параметры синхронизации наряду с качеством сигнала – один из важнейших показателей. Третья группа условий — запуск по установке и удержанию (setupand hold). Запуск происходит по нарушению наиболее критичных параметров временных соотношений сигналов – времени установки сигнала и его удержания. Встроенный контролер установки и удержания определяет переключения во входных сигналах после того, как они собраны. Нарушения об наруживаются, если переключения сигналов находятся в пределах интервала, определенного пользователем. С помощью данного метода может быть определен разброс времени установки и удержания сигнала, помогающий определить критичные условия работы устройства. Четвертая группа условий — запуск с помощью цифрового осциллографа. Совместно с логическим анализатором часто применяется цифровой осциллограф, сигналы от которого могут использоваться для запуска анализатора. Используются различные виды за пуска. Запуск по перепаду – запуск по событию, когда фронт или спадпере секает заданный уровень; запуск переключения — по заданному уровню фронта и/или спада и временному интервалу. Срабатывание происходит, когда пересекается заданный уровень и время фронта или спада, в зависимости от требований пользователя, выше или ниже установленного. Запуск по помехе – отслеживание паразитных импульсов. Запуск по ширине импульса – контролируется продолжительность импульса. Запуск по прошествии времени используется при «зависании» системы, когда логические состояния не изменяются и анализатор срабатывает по прошествии некоторого време ни после «зависания». Также цифровой осциллограф может использоваться при таких запусках, как запуск по установке и удержанию и запуск по кодовому слову.

ВИЗУАЛИЗАЦИЯ СОБРАННОЙ ИНФОРМАЦИИ

Когда нужная информация собрана, возникает необходимость ее представления на экране. Причем визуализировать требуется не только собранную информацию, но и результаты ее обработки (например диаграммы и коды). На ранней стадии развития средств представления информации достаточ но было текстовых чернобелых мониторов с небольшим разрешением. Сей час используются самые современные средства: мониторы с высоким разрешением и глубиной цвета, позволяю щие реализовать отображение в графическом режиме, многооконный интерфейс, упрощающий настройку прибора и визуализацию информации, манипуляторы мышь, существенно упрощающие работу с прибором. Например, Prototype Analyser фирмы HP предоставляет возможность под ключения к внешнему монитору и под держивает при этом разрешение 1024· 768. ЛА фирмы Tektronix дает воз можность самим обрабатывать данные с помощью интерфейса программирования TLA 700 (TPI), базирующегося на технологии Microsoft COM. Пользователь может с использованием при вычного ему средства разработки написать приложение, конфигурирующее ЛА, собирающее и визуализирующее информацию. Наиболее распространенной формой представления данных являются временные диаграммы и таблицы состояний. При отображении применяются такие средства, упрощающие работу с данными, как маркер запуска, индицирующий момент запуска, масштабирование по осям, курсор или экранный указатель, перемещая который, можно отслеживать значение данных. Данные в таблице состояний могут воспроизводиться в различных кодах (двоичном, шестнадцатеричном, ASCII и т.д.). Для удобства восприятия применяется группировка строк и столбцов данных в блоки. Для удобства представления и возможности отладки программ в анализаторах состояния данные описывают ся на языке ассемблер, причем, как правило, адреса изображаются в шестнадцатеричном виде, команды декодируются в мнемонический код, а управляющие линии, метки и линии состоя ния записываются в двоичном коде. Профессиональные ЛА предоставля ют возможность коррелировать по вре мени анализ состояний и анализ вре менных соотношений и показывать это на экране . При отображении и просмотре информации обычно имеется возможность осуществлять фильтрацию информации при выводе, поиск, сравнение, назначение закладок и меток, расчет временных интервалов между указанными точками и т.д. Существует такой способ отображения, как карта состояния. В этом режиме вместо таблицы единиц и нулей на экране воспроизводится матрица 2N точек. Каждая точка представляет одну возможную комбинацию значе ний N входных линий, так что любое исходное слово – точка. Слово, со держащее все нули, находится в верх нем левом углу экрана; слово, содер жащее все единицы, — в нижнем пра вом углу. Точки взаимосвязаны таким образом, что можно наблюдать после довательность обработки данных. От резок линии становится более ярким по мере приближения к новой точке, указывая тем самым направление по тока данных. Такой способ дает возможность весьма быстрого обнаруже ния искажений программы путем сравнения с «образцовой» картой со стояния. При отображении очень часто поль зуются гистограммами, показываю щими, например, повторяемость дан ных (рис. 7). При этом используются такие возможности, как выбор значе ния шкалы повторяемости (абсолют ное, процентное), сортировка шкалы данных, использование цвета, шриф тов и т.д. Гистограммы могут показывать ко личественную характеристику повто ряемости событий, таких как число вы зовов функций, процедур или других событий, определяемых пользовате лем. Другой тип гистограмм показыва ет временную характеристику повторя емости события, отражая время выпол нения определенных событий.ЛОГИЧЕСКИЕ АНАЛИЗАТОРЫ НА БАЗЕ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА Отечественный рынок средств диа гностирования и отладки цифровых систем имеет свои особенности. Часто решающим фактором является цена изделия, в связи с чем получили распространение ЛА, выполненные в виде периферийных устройств или плат расширения для персональных компьютеров. Зачастую по своим тех ническим параметрам, надежности, обеспечению документацией и сопро вождению такие анализаторы не уступают западным аналогам. Например, фирма «Лаборатория ав томатизированных систем и управле ния» («АС») предлагает целый ряд ЛА на базе персонального компьютера (ПК) с числом каналов от 16 до 64 и скоростью записи до 100 МГц. Уст ройства ввода логических сигналов вы полнены в виде встраиваемых плат или внешних устройств, осуществляющих обмен с компьютером через параллель ный порт. Это существенно уменьшает стоимость изделия, не ухудшая его ха рактеристик. Настройка системы и ви зуализация собранной информации производятся программной оболочкой (рис. 8), причем высокая производи тельность ПК не обязательна, так как встраиваемые платы включают в себя все быстродействующие модули ЛА: память, счетчики предыстории и по слеистории, модуль запуска, детектор помех. Модульное построение про граммного обеспечения, а также воз можность добавления в ПК допол нительных плат ЛА делают систему гибкой и легко адаптируемой к кон кретным задачам диагностики цифро вых устройств. Это позволяет использовать ее как законченное устройство (ЛА) или как базовое средство для раз работки систем цифровой диагностики «под ключ». Системы фирмы «АС» работают в асинхронном и синхронном режимах сбора информации. Запуск анализато ра производится по кодовому слову с использованием маскирования кана лов. При необходимости исследования формы сигналов ЛА фирмы «АС» мо жет дооснащаться программным ос циллографом, реализованным на базе встраиваемой платы с АЦП. В этом случае система синхронизирует свою работу с осциллографом, отображая не только уровни сигналов, но и их форму. Для подключения ЛА к тестируемо му устройству используются выносные аналоговые компараторы, обеспечива ющие большое входное сопротивление и малую входную емкость (рис. 9). Программная оболочка ЛА осуще ствляет управление сбором и визуали зацию собранных данных в виде вре менных диаграмм и таблиц состояний, при этом включая в себя набор таких сервисных услуг, как экранный указа тель, поиск заданных блоков данных, сравнение, масштабирование. Для полноценного диагностирова ния закрытого цифрового устройства бывает необходимо не только соби рать цифровую информацию, но и по давать на вход устройства некоторое воздействие в виде последовательнос тей цифровых сигналов. Для данной цели используют генераторы слов. «Генераторы слов (генераторы дан ных, генераторы тестовых последова тельностей) – приборы, предназна ченные для формирования и подачи входных воздействий на проектируемую или диагностируемую дискрет ную систему.»[1]. Генераторы слов должны иметь большое количество каналов, формирователи входных воз действий, а также объем памяти, до статочный для записи необходимого объема тестовых последовательнос тей, высокую частоту подачи воздей ствий, соответствующую частоте ра боты тестируемого устройства, и воз можность регулировать частоту. Фирмой «АС» разработан генератор слов, отвечающий основным перечис ленным требованиям. Создание и редактирование сигналов производится как в виде временных диаграмм, так и в виде таблиц состояний, с возможностью перевода заданного набора сигналов из одного вида в другой. Редактирование и визуализация заданного набора сигналов включает тот же набор сервисных услуг, что и ЛА. На базе систем анализа цифровой информации и генератора слов возможно создание комплексов диагностирования, объединяющих обе системы, с согласованным по времени распространением сигналов, с общим программным обеспечением, осуществляющим управление всем комплексом. Авторы благодарны В.В. Веденкину за ценные замечания при написании данной статьи.

ЛИТЕРАТУРА

1. Микропроцессоры: [В 3 кн.] /Кн.3.– Под ред. Л.Н. Преснухина. – М.: Высшая школа, 1982.
2. HewlettPackard Test & Measurement Catalog 1999.


К списку статей