Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/FlukeTrendar/D19790118Elc031.shtml

Обеспечение тест-пригодности микро-ЭВМ на этапе разработки

Липлшн (М.D.Lippman),
Фирма Fluke Trendar Corp. (Маунтен-Вью, шт.Калифорния)

В настоящее время работает в EG&G (Саннивейл,шт. Калифорния)

Донн (E.S.Donn)
Фирма Fluke Trendar Corp. (Маунтен-Вью, шт.Калифорния)

В настоящее время работает в Electro Scientific Industries Inc. (Портленд, шт.Орегон)

М.D.Lippman, E.S.Donn. Design forethought promotes easier testing of microcomputer boards, pp.113—119

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

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

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

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

Преимущества автодиагностики

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

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

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

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

Облегчение доступа к проверяемым узлам

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

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

Микрокомпьютеры же могут генерировать испытательные воздействия сами для себя; и проводить анализ результатов этих воздействий при проверках типа «годен/негоден». Несколько команд, оперируя одним-двумя килобайтами памяти программ, могут сформировать до одного миллиарда бит испытательных воздействий на системной шине и до десяти миллиардов по всей испытуемой плате (рис.2).

Тест-программа для ЗУПВ микропроцессора 8080

Автодиагностика ЗУПВ. 15 команд микропроцессора 8080 осуществляют проверку 1-кбайт ЗУПВ и занимают только 30 байт в памяти программ. Однако они генери
Рис.2. Автодиагностика ЗУПВ. 15 команд микропроцессора 8080 осуществляют проверку 1-кбайт ЗУПВ и занимают только 30 байт в памяти программ. Однако они генерируют около 427 кбит входных испытательных воздействий. Блок-схема процедуры самопроверки показывает простой, повторяющийся характер ее работы.

Эта жизненно важная программа автодиагностики может быть всегда встроена в микро-ЭВМ, если ее записать в недорогое ПЗУ. Для ее написания на ассемблере с использованием системы проектирования микро-ЭВМ может потребоваться около месяца, после чего ее используют при любых обстоятельствах, когда надо убедиться, работоспособна система или нет.

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

Автодиагностика позволяет радикально снизить количество необходимого специального автоматического проверочного оборудования, поскольку проверка по принципу «годен/негоден» быстро определяет исправные платы, которые не нужно далее проверять на специальном оборудовании. При этом самопроверка регистрирует только сам факт отказа, не выявляя его причину. Для этого на сцену выходят испытательные алгоритмы.

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

В то же время проверка отдельных плат с произвольной логикой довольно проста, поскольку преобладающий тип отказа таких плат состоит в «залипании» какого-либо вывода — поддержании на нем неправильного уровня напряжения. Для обнаружения такого отказа необходимо начать с момента появления неправильного кода на разъеме платы и проводить анализ в обратном направлении до обнаружения элемента с правильными входными и неправильным выходным сигналами. Для этого применяется алгоритм пространственной диагностики, но может потребоваться обойти всю плату, чтобы проследить маршрут, ведущий к точке отказа.

Обнаружение системных неисправностей

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

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

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

Для обнаружения динамических отказов микро-ЭВМ требуется большой объем входных воздействий, но, к счастью, их формирование при помощи программного ЗУ не представляет затруднений. В реальных условиях испытание одной микрокомпьютерной платы занимает примерно полминуты. Для 32-разрядной магистрали (16 разрядов адреса, 8 информационных и 8 управляющих) объем входной информации для испытаний можно оценить из соотношения: объем информации = 32 разряда * 30 с * МГц = 0,96*109 бит.

Хранение такого колоссального количества информации имеет смысл только для испытательных систем, работающих по принципу эмуляции заведомо исправной платы, идентичной испытуемой. Такой подход аналогичен использованному в недавно разработанных способах проверки БИС1{Электроника, 1978, №11, с.51}.

Алгоритм последовательной диагностики

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

Если микро-ЭВМ не выполняет цикл чтения, то, стало быть, отказ пришел от канала прямого доступа в память или от центрального процессора. Информация о состоянии, конечно, уточнит, откуда именно.

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

Однако для проектирования тест-пригодной системы требуется большее, чем учет способности микро-ЭВМ к автодиагностике и подбор диагностических алгоритмов. Нужно с самого начала разработки стремиться сделать систему приспособленной к требованиям тестирования, обязательно указывая аппаратные и программные средства проверки в составе исходных данных для проекта.

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

Правила проектирования тест-пригодной системы

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

При осуществлении доступа к точкам платы в первую очередь необходимо помнить, что ее «центральную нервную систему» образуют адресная, информационная и управляющая шины. К ним обязательно должен быть удобный доступ: желательно, чтобы все эти линии были выведены на внешний разъем платы.

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

Плотная упаковка. Одноплатная микро-ЭВМ Kim фирмы Commodore служит примером конструкции с исполнительными элементами ВВ на самой плате. Клавиатура и и
Рис.4. Плотная упаковка. Одноплатная микро-ЭВМ Kim фирмы Commodore служит примером конструкции с исполнительными элементами ВВ на самой плате. Клавиатура и индикаторные микросхемы видны в правом нижнем углу платы. Раньше их обычно устанавливали на отдельных платах.

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

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

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

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

Синхронизированные тактовые частоты

Иногда в системе необходимо иметь несколько тактовых частот, например когда микропроцессор работает совместно с универсальным асинхронным приемопередатчиком. Если эти частоты не синхронизированы, то испытание систем как целого станет невозможным. Это препятствие можно преодолеть, если использовать кратные друг другу частоты, полученные делением частоты общего генератора.

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

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

Способы синхронизации

В некоторых микропроцессорных ИС тактовых генераторов, например Intel 8224, такая синхронизация при сбросе предусмотрена. Если же в системе нет такой ИС, то синхронизацию можно выполнить с помощью простой схемы, показанной на рис.5,б.

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

Все элементы памяти в системе должны быть в начале работы переведены в исходное состояние, причем не только аппаратные регистры и счетчики, но и те ячейки ОЗУ и регистры периферийных устройств, которые предполагается читать. Чтобы добраться до этих ячеек и регистров, можно воспользоваться программной инициализацией, т.е. получить к ним доступ с помощью программы системы. Однако использование такого, довольно нового, подхода может натолкнуться на некоторые препятствия, связанные, в частности, с прерываниями и стековыми операциями (см. врезку «Трудности программной инициализации»).

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

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

Соображения по автодиагностике

Если включение программы проверки в штатный комплект системы нецелесообразно, тогда необходимо оставить свободное гнездо для микросхемы ПЗУ и организовать для нее отдельный дешифратор адреса, чтобы иметь к ней доступ. Достаточно отвести дополнительное пространство только для одного ПЗУ емкостью 2К 8-разрядных слов.

Если нельзя даже одно гнездо оставить пустым, то следует предусмотреть средства подачи на плату сигнала блокировки декодирования адреса из испытательного устройства. С помощью такого сигнала можно «наложить» программу автодиагностики на рабочую программу. К сожалению, область памяти, занятая при этом программой автодиагностики, не может быть проконтролирована, поэтому следует делать размер этой области как можно меньшим.

Очень эффективную проверку схем ВВ можно провести, если выводные порты связать с вводными специальным разъемом. Многие из ИС сопряжения с последовательными каналами связи, подобно элементу 8250 фирмы National, предназначенному для асинхронной связи, имеют программно-устанавливаемый режим работы «на себя», который облегчает подобного рода проверки ввода-вывода.

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

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

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

Некоторые из проверочных программных модулей могут быть универсальными, используемыми в различных системах. Примером таких диагностических программ служат программы проверки одноплатных микро-ЭВМ SBC80/10, разработанные фирмой Intel. В эти программы входят тесты ЦП, ЗУПВ, ПЗУ и ВВ.

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

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

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

На границах между точным цифровым и расплывчатым аналоговым мирами могут возникать специфические проблемы проверки. Цифроаналоговое преобразование не представляет в этом отношении проблем. Но аналого-цифровым преобразователям свойственна неустранимая неопределенность показаний. При одном и том же входном напряжении один преобразователь может, например, дать результат 01111111, а другой — 10000000, причем оба работают в пределах своих технических данных (рис.7). Хотя возможные значения выходов будут близки к номиналу, измерить это различие в реальном времени очень трудно.

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

Какое значение выбрать? Поскольку всем АЦП присуща неустранимая неопределенность ±1 разряд, одно и то же аналоговое напряжение на входе может дать раз
Рис.7. Какое значение выбрать? Поскольку всем АЦП присуща неустранимая неопределенность ±1 разряд, одно и то же аналоговое напряжение на входе может дать различные цифровые коды. Это свойство ЦАП представляет специфическую проблему при проверке плат, управляемых микропроцессорами

Варианты решения

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

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

Благоразумно также не применять разнотипные микропроцессоры только для того, чтобы реализовать какие-либо технические тонкости. Семейства микропроцессоров и микро-ЭВМ специально создавались для облегчения совместной работы, достигаемого благодаря общим наборам команд, компонентов, архитектур и требований к синхронизации. Конструкция на основе однородных процессоров значительно легче поддается проверке, чем при использовании разнотипных ЦП.

Дочерние статьи:

Трудности программной инициализации

Выходные данные:

Журнал "Электроника" том 52, No.02 (554), 1979г - пер. с англ. М.: Мир, 1979, стр.33

Electronics Vol.52 No.2 January 18, 1979 A McGraw-Hill Publication

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Микрокомпьютеры





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/FlukeTrendar/D19790118Elc031.shtml