Text
                    АВТОМАТИКА ГЕЛЕМЕХАНИКА И СВЯЗЬ
НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ
ЫСШЕЕ


УДК 658.5:681.3 ББК 39.275 С 195 q 195 Сапожников В.В., Сапожников Вл.В. Основы технической диагностики: Учебное пособие для студентов вузов ж-д. транспорта. М.: Маршрут, 2004. — 318 с. ISBN 5-89035-123-0 Изложены основные понятия и методы технической диагностики. Описаны модели неисправностей логических схем. Рассмотрены мето- ды построения тестов для комбинационных схем и схем с памятью. Изло- жена теория контроля контактных схем. Даны основные структуры фун- кционального диагностирования микропроцессорных систем и систем непрерывного типа. Учебное пособие предназначено для студентов вузов железнодорож- ного транспорта по специальности Автоматика, телемеханика и связь на железнодорожном транспорте и может быть полезно аспирантам и инженерно-техническим работникам. УДК 658.5: 681.3 ББК 39.275 Книгу написали: В.В.Сапожников— главы 1, 2и5; Вл.В.Са- пожников — введение, главы 3, 7 и 8; Сапожников В. В. и Сапожни- ков Вл. В, — главы 4 и 6. Рецензенты: начальник отдела организации разработок и вне- дрения новых технических средств Департамента автоматики и теле- механики ОАО «РЖД» Е.А. Гоман; заведующий кафедрой «Транспорт- ная связь» РГОТУПСа, д-р техн, наук, проф. В. М. Алексеев. ISBN 5-89035-123-0 © Сапожников В.В., Сапожников Вл.В., 2004 © Издательство «Маршрут», 2004 © УМЦ МПС России, 2004
ВВЕДЕНИЕ Техническая диагностика является областью науки о распозна- вании состояний технических объектов. Эта задача возникает при производстве изделий на заводах и затем при их технической эксп- луатации При выпуске изделия на заводе необходимо убедиться в его исправности. Это означает, что изделие должно удовлетворять всем требованиям нормативно-технической и конструкторской документации. Если какое-то требование не выполняется, то изде- лие бракуется. Процент годности выпускаемой продукции являет- ся главным показателем качества производства. В процессе эксплуатации технического объекта необходимо конт- ролировать его работоспособность. При возникновении отказов объект теряет способность выполнять свои основные функции. В этом случае требуется зафиксировать факт отказа, определить место его возникновения и осуществить замену неисправного элемента или блока. Впоследствии такие блоки могут ремонтироваться специа- лизированными бригадами в ремонтно-технологических участках. В процессе эксплуатации возникают также проблемы предска- зания состояния объекта в будущем (проблема прогноза) и опреде- ления состояния объекта в прошлом (проблема генезиса). В пер- вом случае за счет фиксации предотказных состояний прогнозиру- ется возможность отказа объекта и осуществляются мероприятия по его предотвращению. Определение состояния объекта в про- шлом требуется при анализе надежности и качества эксплуатации объекта, при сборе статистических данных, а также при разборе возникших инцидентов и происшествий. Указанные задачи решаются с помощью тестового и функциональ- ного диагностирования. Тестовое диагностирование применяется, когда объект не используется по назначению. На объект подаются входные тестовые воздействия и фиксируется его реакция, которая сравнивается с эталонной. При функциональном диагностировании тестовыми воздействиями являются рабочие входные воздействия. В различных разделах технической диагностики разрабатываются: - диагностические модели объектов и модели неисправностей; - методы построения проверяющих и диагностических тестов; - алгоритмы диагностирования; 3
- технические средства диагностирования; - структуры контролепригодных объектов; - способы автоматизации процессов диагностирования; - методы обработки диагностической информации; - методы оценки полноты и эффективности тестирования. При эксплуатации устройств железнодорожной автоматики, телемеханики и связи решение проблем технического диагности- рования имеет первостепенное значение, поскольку эти устройства являются обслуживаемыми и восстанавливаемыми. При их отка- зах может произойти задержка поездов и в худшем случае наруше- ние безопасности движения. Перед эксплуатационным и обслужи- вающим персоналом (инженерами и электромеханиками) стоят за- дачи контроля и поддержания исправного состояния устройств, а в случае возникновения отказов — быстрого их обнаружения и ус- транения. Решение этих задач усложняют особенности эксплуата- ции таких устройств: непрерывный характер работы; длительный срок службы (15—20 лет); широкое распространение по всей стра- не; сложные климатические, динамические и электромагнитные условия работы. Релейные системы, составляющие пока еще основную массу ап- паратуры железнодорожной автоматики, имеют хорошую диагно- стируемость, поскольку реле — это элемент, состояние которого можно наблюдать визуально. По этой причине оперативная инфор- мация, выносимая в виде световой индикации на пульты-табло, служит и достаточно полной диагностической информацией. Ис- пользование такой информации удобно при организации регла- ментного (профилактического) обслуживания. При этом работы по контролю и поддержанию исправности устройств осуществля- ются периодически во времени по заранее составленному графику. Если возникает отказ, то бригада электромехаников немедленно занимается его устранением. Среднее время восстановления уст- ройств по сети дорог (включая время прибытия на место по- вреждения) составляет от 30 мин до 1 ч. При эксплуатации современных микроэлектронных и компью- терных систем целесообразен переход к восстановительной стра- тегии обслуживания. Эти системы имеют существенно более высо- кую надежность, чем релейные, и не требуют профилактического 4
контроля. В то же время устранение неисправностей в них на поря- док сложнее, поэтому необходимо применение отказоустойчивых и легко диагностируемых устройств. Для таких систем предпочти- тельно сервисное обслуживание, когда поиск повреждений и ре- монт микроэлектронной аппаратуры осуществляются в специали- зированных центрах. Таки$л образом, техническое диагностирование является важ- ной составляющей в ежедневной практике инженеров в области железнодорожной автоматики, телемеханики и связи. В данном пособии рассмотрены основные понятия технической диагности- ки и модели неисправностей. Изложена теория контроля контакт- ных схем и методы диагностирования комбинационных схем и схем с памятью. Рассмотрены основные способы функционального ди- агностирования дискретных систем. Учебное пособие предназначено для студентов вузов железнодо- рожного транспорта по специальности Автоматика, телемеханика и связь на железнодорожном транспорте и может быть полезно ас- пирантам и инженерно-техническим работникам в данной области. 5
Глава 1 ОСНОВЫ ТЕОРИИ ТЕХНИЧЕСКОЙ ДИАГНОСТИКИ 1.1. Основные понятия и определения Под технической диагностикой понимается область знаний, ох- ватывающая теорию, методы и средства определения техническо- го состояния объекта. Техническое состояние характеризуется в определенный момент времени при заданных условиях внешней среды значениями параметров, установленных технической доку- ментацией на объект. Процесс определения технического состояния объекта назы- вается диагностированием. Результат диагностирования, т.е. зак- лючение о техническом состоянии объекта, называется диагнозом [2, 11, 14, 19, 20, 35]. В общем случае различают три типа задач по определению со- стояния технического объекта. Задача диагноза —- это определение состояния, в котором находится объект в настоящий момент вре- мени. Она возникает при решении вопроса о работоспособности и исправности объектов, поиске в них неисправностей, при провер- ке устройств после их изготовления. Задача прогноза состоит в пред- сказании состояния, в котором окажется технический объект в не- который последующий момент времени. Такая задача часто реша- ется при эксплуатации устройств железнодорожной автоматики, те- лемеханики и связи, имеющих длительный срок службы. При этом определяется периодичность профилактических проверок и ремон- тов с целью предсказания и недопущения выхода устройств из строя. Задача генезиса заключается в определении состояния, в котором на- ходился технический объект ранее. Правильное решение згой задачи важно для систем железнодорожной автоматики при определении причин отказов систем с целью их дальнейшего предупреждения. На практике наиболее часто решается задача диагноза. Более того, при решении задач прогноза и генезиса всегда приходится решать и задачу диагноза. Наряду с технической диагностикой па- раллельно развиваются и тесно связаны с ней техническое прогно- зирование и техническая генетика. 6
Технический объект (система, машина, прибор, узел и т.п.), для которого решается задача распознавания состояния, называется объектом диагностирования (ОД). В качестве ОД могут выступать любые технические системы, которые удовлетворяют двум условиям: могут находиться, по край- ней мере, в двух взаимоисключающих и различимых состояниях (например, работоспособном и неработоспособном); в них можно выделить элементы, каждый из которых также характеризуется указанными различимыми состояниями. Главной отличительной особенностью объекта технического диагностирования является то, что его состояние в целом рассмат- ривается как функция, зависящая от состояний входящих в него элементов. Примером ОД может служить система электрической централизации (ЭЦ), которая предназначена для управления стрел- ками и сигналами на станции. Она имеет работоспособные и нера- ботоспособные состояния. К работоспособным относится состоя- ние, при котором возможны задание, замыкание, размыкание и отмена всех маршрутов. ЭЦ имеет много неработоспособных со- стояний, при которых невозможны перевод каких-либо стрелок, открытие сигнала при замкнутом маршруте и т.д. В качестве эле- ментов ЭЦ содержит блоки (рис. 1.1), которые имеют работоспо- собные и неработоспособные состояния. Блоки, в свою очередь, являются ОД, так как в качестве элементов они имеют реле, тоже имеющие работоспособное и неработоспособное состояния. По- иск неисправности в блочной системе ЭЦ состоит из двух этапов. Сначала систему рассматривают как совокупность блоков, где находится неисправный блок. Затем последний анализируют как совокупность реле и на- ходят неисправное реле. Понятие «состояние ОД» является ключевым в технической диагностике. Состояние ОД оценивает- ся по диагностическим признакам. Диагностичес- ким признаком (ДП) назы- вается параметр или ха- Реле Рис. 1.1. Система электрической централи- зации как объект диагностирования 7
рактеристика, используемые при диагностировании. В качестве параметров могут выступать значения сигналов (физические вели- чины) какого-либо рода на отдельных выходах системы или во внутренних контрольных точках. В системах железнодорожной автоматики, телемеханики и связи (системах ЖАТС) в качестве параметров наиболее часто используются напряжение, сила тока, частота тока, сопротивление цепи, мощность и др. Характеристи- ки, представляющие собой зависимость одной физической вели- чины от другой, используются при диагностировании устройств связи, рельсовых цепей и в других случаях. При диагностировании сложных многофункциональных систем управления (к ним относятся многие системы железнодорожной автоматики) в качестве параметра специального вида можно рас- сматривать возможность системы выполнять те или иные отдель- ные заданные функции: например, возможность управления стрел- ками и светофорами. Диагностические признаки делят на основные и вспомогатель- ные. Основные характеризуют выполнение системой заданных фун- кций, а вспомогательные — удобство эксплуатации, внешний вид и т.п. Каждому состоянию ОД соответствует определенное значе- ние диагностического признака. Диагностические признаки выбираются в результате анализа диагностической модели, под которой понимается формальное описание ОД (в аналитической, табличной, графической и других формах), учитывающее изменение его состояний. Различают четыре вида состояний ОД: исправные, неисправные, работоспособные и неработоспособные. Систему называют wc- правной, если она соответствует всем предъявляемым к ней требо- ваниям (фиксируются в нормативной документации), когда все ее параметры, как основные, так и вспомогательные, находятся в пре- делах заданной нормы. Выход за эти пределы любого параметра означает, что система неисправна. Система находится в работоспособном состоянии, если ее основ- ные параметры находятся в пределах заданной нормы и она пра- вильно выполняет заданные функции. Выход хотя бы одного ос- новного параметра за пределы заданной нормы переводит систе- му в множество неработоспособных состояний. Утрату работоспо- 8
собности также называют отказом. Работоспособная система мо- жет быть как исправной, так и неисправной. Исправная система всегда работоспособна. Неисправная система может быть как ра- ботоспособной, так и неработоспособной. Неработоспособная система всегда неисправна. Диаграмма состояний ОД показана на рис. 1.2. Полное множе- ство возможных состояний W-АиВиС, где А — множество состояний исправных систем; В — множе- ство состояний неисправных, но работоспособных систем; С — множество состояний отказавших систем. Множества состояний работоспособных и неисправных систем соответственно В области построения систем ЖАТС важнейшей задачей явля- ется синтез контролепригодных систем с повышенным уровнем надежности. Их построение связано с введением большого числа состояний 5, G В. При этом система строится таким образом, что- бы при всех наиболее вероятных отказах ее элементов (частич- ных отказах) был невозможен переход системы из множества со- стояний А в множество С, а система оказывалась бы в множестве состояний В. В этом случае си- стема продолжает выполнять свои основные функции (мо- жет быть с ухудшенными пока- зателями), но имеется возмож- ность зафиксировать возник- шую неисправность и устра- нить ее, тем самым предупре- див потерю системой рабо- тоспособности. На рис. 1.3 приведен граф переходов меж- ду состояниями системы с уче- том процесса диагностирования. Рис. 1.2. Диаграмма состояний ОД 9
На рис. 1.4 представлена структу- Рис. 1.3. Граф переходов между состояниями объекта диагности- рования ра системы управления стрелками и сигналами на станции. Она пре- дусматривает три уровня управле- ния. Первый уровень соответству- ет полной автоматизации управле- ния, при котором задача перевода стрелок и включения светофоров решается автоматически при по- мощи средств вычислительной тех- ники на основе заданного графи- ка движения поездов и информа- ции о фактическом выполнении этого графика. При выходе из строя системы автоматического уп- равления осуществляется переход на уровень частичной автомати- зации управления, при котором в процесс управления включается оператор. Последний путем определенных операций на пульте уп- равления осуществляет установку и отмену маршрутов движения поездов. При этом сохраняется возможность автоматического пе- ревода стрелок, а также обеспечивается проверка необходимых ус- 1 уровень 2 уровень 3 уровень Рис. 1.4. Структура современной системы управления стрелками и сигналами на станции 10
ловий безопасности. Переход с первого уровня управления на вто - рой связан с потерей эффективности управления (увеличение вре- мени установки маршрута, появление возможности ошибок опе- ратора и др.). Если отказывают одновременно системы полной и частичной автоматизации, то осуществляется переход на индиви- дуально^ управление стрелками и сигналами. В этом случае для перевода каждой стрелки и включения каждого светофора от опе- ратора требуется отдельное воздействие на пульте управления, что еще более снижает эффективность управления. Неотъемлемой частью системы автоматизации управления являются устройства диагности- рования, которые обеспечивают фиксацию и обнаружение неисправ- ностей и позволяют эксплуатировать систему длительное время так, чтобы избегать третьего уровня управления. Если ОД находится в работоспособном состоянии и выполняет заданные функции, то говорят, что объект функционирует штатно. Если объект выполняет часть функций, находясь в неработоспо- собном состоянии, то говорят, что он функционирует нештатно. Поэтому наряду с полным отказом, приводящим к полной потере работоспособности, различают частичный отказ, который приво- дит к потере работоспособности и нештатному функционирова- нию. Например, полный отказ схемы управления стрелкой зак- лючается в невозможности ее перевода из одного положения в дру- гое. Система ЭЦ имеет частичные отказы, когда теряется возмож- ность установки некоторых (но не всех) маршрутов. Относительно отдельных элементов различают также третий тип отказа — перемежающийся отказ. Такой отказ попеременно исче- зает, а затем снова появляется. Это затрудняет определение место- положения отказавшего элемента, так как при проверке системы, в которую входит элемент, она может оказаться работоспособной, а через некоторое время неработоспособной. Причиной потери работоспособности является дефект (от лат. defectus -г- изъян, недочет, недостаток). В ОД, состоящем из несколь- ких элементов, дефектом являются отказ элемента, нарушение свя- зи или появление связи между элементами. В электронной аппара- туре иногда дефект определяют как неисправность. Тогда под ис- правным ОД понимают объект, в котором нет ни одного дефекта (неисправности). Неисправный ОД содержит хотя бы один дефект.
В системах с избыточностью (структурной, временной, информа- ционной) не всякая неисправность приводит к потере работоспособ- ности. Для этого может потребоваться накопление неисправностей, которые возникают последовательно во времени. В тех случаях, ког- да в системе возникла неисправность, но система не потеряла рабо- тоспособность, говорят, что запас работоспособности снизился, а сле- довательно, повысилась вероятность отказа системы в дальнейшем. 1.2. Задачи технической диагностики При диагностировании решаются задачи точного определения состояния, в котором находится система, или установления мно- жества состояний, в одном из которых она находится. Это опреде- ляется тем, какая задача ставится при исследовании ОД. Различа- ют пять задач диагностирования. Первая задача диагностирования — проверка исправности, при которой решается задача обнаружения в объекте любой неисправ- ности, переводящей ОД из множества исправных состояний А в множество неисправных состояний (см Рис- 1 -2). Она возника- ет при изготовлении устройств на заводах, включении их после дол- гого хранения или ремонта. При введении в эксплуатацию уст- ройств ЖАТС (например, при регулировке и пуске ЭЦ) проверяют все элементы, узлы, цепи, источники питания и изоляцию. Часто это очень трудоемкий процесс, для упрощения которого необхо- димо применять методы технического диагностирования. Вторая задача диагностирования — проверка работоспособнос- ти, при которой решается задача обнаружения тех неисправностей, которые переводят ОД из множества работоспособных систем в множество отказавших систем С. Во время проверки работоспособ- ности можно оставлять необнаруженными неисправности, не пре- пятствующие применению системы по назначению. Например, при наличии резервирования система может быть работоспособна, не- смотря на наличие неисправностей в резервных элементах. Поэтому данная задача является менее детальной, чем проверка исправнос- ти, и может быть решена более простыми методами. Проверка ра- ботоспособности осуществляется при включении объекта в работу или при профилактических осмотрах, а также когда имеется огра- ничение на время, отведенное для проверки устройств. 12
Третья задача диапюстирования — проверка правильности функ- ционирования — решается во время работы ОД. При этом достаточно следить за тем, чтобы в объекте не появились неисправности, нару- шающие ее нормальную работу в настоящий момент времени, и ис- ключить недопустимое для нормальной работы влияние неисправно- стей. Проверка правильности функционирования позволяет делать вывод о правильной работе ОД только в данном режиме и в данный момент времени. Указанная задача имеет важное значение для уст- ройств железнодорожной автоматики, выполняющих ответственные функции по регулированию движения поездов. В них надо следить за тем, чтобы искажение алгоритма функционирования не приводило к опасным последствиям в поведении объекта управления. Четвертая задача диагностирования — поиск неисправностей (дефектов), при котором решается проблема точного указания в объекте неисправного элемента или множества элементов, среди которых находится неисправный элемент. Поиск дефектов может осуществляться в неисправных, неработоспособных и в неправиль- но функционирующих устройствах во время наладки при произ- водстве и во время ремонта при эксплуатации и хранении. Резуль- татом процесса поиска неисправностей является разбиение мно- жества состояний (если исследуется неисправный объект) или множества состояний С (если исследуется неработоспособный объект) на классы неразличимых между собой (или эквивалентных) состояний, а также соответствующих им неисправностей. Эквива- лентными неисправностями называются такие, которые нельзя от^~ личить друг от друга при принятом для исследования устройства способе диагностирования. При этом решается вопрос — в каком из классов эквивалентных состояний находится ОД: Число клас- сов определяет ту степень детализации, которая достигается при поиске неисправностей. Ее называют глубиной диагноза (поиска). Например, в любой блочной системе дефекты всех элементов, входящих в один блок, образуют в большинстве случаев один класс эквивалентных неисправностей. Поиск неисправностей в этом слу- чае ведется до неисправного блока, замена которого на исправ- ный обеспечивает восстановление работоспособности системы. Пятая задача диагностирования — прогнозирование состояния* ОД, для решения которой изучается характер изменения диагнос- 13
тических параметров и на основе сформировавшихся тенденций предсказываются значения параметров в будущий момент времени. Эффективность диагностирования ОД достигается в том случае, когда задачи диагностирования учитываются на всех этапах жиз- ни технического объекта (рис. 1.5). При проектировании решают- ся общие вопросы организации системы диагностирования. На ос- нове анализа ОД составляется ее диагностическая модель, проек- тируются технические средства диагностирования (СД), а также оценивается эффективность диагностирования. При изготовлении объекта целесообразно одновременно изго- товлять и СД. При этом главной задачей является обеспечение всех требований, предъявляемых к ОД и СД. При сборке и наладке ОД может возникать задача поиска дефектов. На заключительной ста- дии осуществляется выходной контроль и производится проверка исправности объекта. Рис. 1.5. Диагностирование на всех этапах жизни технического объекта 14
В процессе эксплуатации диагностирование ведется непрерыв- но или периодически с целью контроля правильности функциони- рования или работоспособности объекта. В случае необходимос- ти осуществляются прогнозирование или поиск возникшего дефек- та для выполнения профилактических или восстановительных ра- бот. Диагностирование на этом этапе позволяет обоснованно при- нимать*решения об использовании объекта в требуемый момент времени. 1.3. Тесты диагностирования Объект диагноза ОД представляют в виде устройства (рис. 1.6), имеющего входы и доступные для наблюдения выходы. Процесс диагностирования представляет собой последовательность опера- ций, каждая из которых предусматривает подачу на входы объек- та некоторого воздействия и определения на выходах реакции на это воздействие. Такую элементарную операцию называют про- веркой л. В качестве выходов наблюдения могут служить основ- ные или рабочие выходы системы, а также и дополнительные (кон- трольные) выходы. Совокупность проверок,, дозволяющую решать, какую-либо из задач диагноза^ называют тестом: Т = тгъ л7, ... ,л„. Под длиной 1' X’ ’ л — — теста L понимают число входящих в него проверок. По назначению тесты цедят на проверяющие и диагностичес- кие^рс^еряющийдестпроверок, позвсь ляющая обнаружить в системе любую неисправность из заданного спиСка \множсства). Проверяющий тест решает задачи проверки исправности системы (в этом случае в список неисправностей вклю- чают все возможные в системе неисправности) и проверки рабо- тоспособности (в список включают только те неисправности, ко- торые приводят к отказу системы). Диагностическим тест Тд это совокупность проверок, по- зволяющая указать месго-ыеис- правностис точностью до клас- сов^кшдаадатных неисправно- стей. Он_позволяет решать, за- дачу поиска неисправностей. Входы Выходы Рис. 1.6. Объект диагноза ОД 15
Важной характеристикой процедур диагностирования является полнота обнаружения неисправностей, задающая долю гаранти- рованно обнаруживаемых неисправностей относительно всех за- данных или рассматриваемых неисправностей объекта диагноза. Любая диагностическая процедура (а также и тест диагноза) обя- зательно связывается с определенным, строго фиксированным спис- ком неисправностей, обнаружение которых обеспечивается при ее проведении. Это фактически определяет ограничение, накладыва- емое на процесс обнаружения неисправностей, и в конечном итоге определяет глубину диагностирования. По полноте обнаружения неисправностей различают одиноч- ный, кратный и полный тесты. Одиночный тест обнаруживает в ycfpuiiClBc все одииичггйёЛюврсждения входящих в него элемен- тов. Кратный тест обнаруживает все возможные совокупности из к одиночных неисправностей элементов, причем тест кратности к должен фиксировать не только все совокупности из к одиночных неисправностей, но и все неисправности меньшей кратности, в том числе все одиночные неисправности. Полный тест обнаруживает неисправности любой кратности. Использование того или иного теста определяется решаемой задачей диагноза. Так, при исследо- вании устройства, в котором неисправность возникла в процессе функционирования, как правило, используют одиночные тесты, так как вероятность возникновения одновременно нескольких неис- правностей невелика. По сравнению с одиночными полные тесты имеют гораздо большую длину и поэтому требуют для испытания устройства больше времени. Их применяют при контроле устройств в процессе изготовления, когда вероятность одновременного су- , шествования нескольких повреждений повышается из-за дефектов комплектующих изделий и ошибок в монтаже и настройке. Независимости от длины разпичяют тр.ивиальный, минималь- ный и минимизированный тесты. Тривиальный тест, содержащий все возможные для данной системы проверки, имеет максималь- нуюдлину. Применение тривиального теста предусматривает пол- ное моделирование работы устройства. Наименьшее число прове- рок имеет минимальный тест Tm|n. Он обеспечивает решение за- данной задачи диагноза, при этом для данного устройства не су- ществует другого теста с меньшим числом проверок. 16
Построение Tmin требует больших вычислений, поэтому на практике чаще строят минимизированные тесты, имеющие длину, близкую к длине минимальных тестов. С помощью теста строится процедура диагностирования, в ос- нове которой лежат алгоритм диагностирования, представляющий собой последовательность элементарных проверок, составляющих тест, и правила анализа результатов этих проверок. Алгоритм ди- агностирования реализуется средствами диагностирования. 1.4. Математические модели объектов диагноза Объекты диагноза подразделяют на два класса. Непрерывные (ана- логовые) объекты имеют такие входные, внутренние и выходные сиг- налы, которые могут принимать значения из некоторых непрерывных множеств значений, а время, в котором дается описание объекта, от- считывается непрерывно Дискретные объекты имеют такие сигналы, значения которых задаются на конечных множествах, а время отсчи- тывается дискретно. Возможны также гибридные системы, в которых одни сигналы являются непрерывными, а другие — дискретными. Кроме того, объекты диагноза делят на комбинационные и после- довательные. Комбинационные, или объекты без памяти, характе- ризуются взаимно однозначным соответствием между входными и выходными сигналами. Последовательные, или объекты с памятью, имеют выходные сигналы, значения которых зависят не только от значений входных сигналов, но и от времени. В железнодорожной автоматике применяют системы всех ука- занных типов. Рельсовые цепи являются непрерывными система- ми без памяти; аналоговая система регулирования скорости дви- жения отцепа на сортировочной горке — непрерывной системой с памятью. В качестве дискретных комбинационных систем можно рассматривать схемы управления огнями светофоров, а в качестве дискретных систем с памятью — схемы замыкания и размыкания маршрутов в любой системе ЭЦ. Для построения тестов и алгоритмов диагноза необходимо иметь формальное описание объекта и его поведения в исправном и неис- правном состояниях. Такое формальное описание называют матема- тической моделью объекта диагноза. Различают модели с явным и не- явным описанием неисправностей. Явная модель объекта диагноза со- 17
стоит из описаний его исправной и всех неисправных модификаций. Неявная модель содержит описание исправного объекта, математичес- кие модели его физических неисправностей и правила получения по ним всех неисправных модификаций объекта. Выбор модели является важным элементом процесса организации процедуры диагноза. Наиболее общий характер имеет модель ОД [36] в виде таблицы функции неисправностей (ТФН) (табл. 1.1). Таблица 1.1 Проверка Результат Л проверки д ля системы, находящейся в состоянии 5() 51 « а 5, л, л2 • * л/ • а S3 . . . S5 . . . *3 S3 О д о к, о — ’ Сс; ‘ 1 ’ • « 4 « » а • • • • » • • » • « я/ Ri • я; о • ♦ * • • • • * • • a w а а • а as сеГ Эта таблица является явной моделью и может быть построена для объекта любой физической природы. В строках таблицы ука- зывают все возможные проверки лу, которые могут быть исполь- зованы в процедуре диагностирования, а следовательно, включе- ны в тест. Графы таблицы соответствуют исправному и всем возможным неисправным состояниям: Sj, ••• Каждое не- исправное состояние соответствует одной неисправности (одиноч- ной или кратной) из заданного класса неисправностей, относи- тельно которого строится тест. Физический смысл состояний и проверок определяется конкретными особенностями объекта ди- агноза. На пересечении У-й графы и j-й строки проставляется ре- зультат R1 j-й проверки для системы, находящейся в У-м состоя- нии. Если значение проверки /?/ в объекте с j-й неисправностью 18
совпадает с ее значением в исправном объекте, то в таблице запи- сывается значение /?/ = 1; в противном случае записывается зна- • * чение RJ = 0. Таким образом, информация в ТФН записывается в двоичном коде. В табл. 1.2 приведен конкретный пример ТФН. Графа 50 всегда заполняется одними единицами. Если две графы заполнены оди- наково, то они соответствуют эквивалентным неисправностям и могут быть объединены. В табл. 1.2 такими являются графы53 и 54. Если во всех элементах графы проставлены единицы (напри- мер, графа 5g), то она соответствует неисправности, которая не мо- жет быть обнаружена принятым методом диагностирования. Та- кая графа исключается из ТФН. На основании указанных свойств строится преобразованная ТФН (табл. 1.3), из которой также ис- ключается графа 5q. Таблица 1.2 5, 5, -е* S3 $4 $5 s6 Sy 5's Я1 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 1 Таблица 1.3 51 S2 Л4 s5 $6 Sy JQ 0 1 0 1 1 0 П2 0 0 0 1 1 1 «3 1 1 0 1 0 0 л4 1 1 0 0 0 1 ZS5 0 1 0 0 1 1 ТФН содержит всю необходимую информацию для получения тестов, которые находят с помощью специально математической обработки таблицы. 19
Рассмотрим процесс получения проверяющего теста Тп. По пре- образованной ТФН (см. табл. 1.3) составляется таблица покрытий (табл. 1.4), для чего в элементах таблицы, где проставлен 0, запи- сывают знак покрытия (х), а те элементы, где проставлена 1, остав- ляют незаполненными. Решается задача получения минимального покрытия. Определяется такое минимальное множество строк таб- лицы что каждая графа имеет знак покрытия хотя бы в одной строке этого множества. Тогда это множество состав- ляет проверяющий тест. Осуществляется сокращение таблицы покрытия. Для этого для каждой графы Sj находится множество Q(S^, включающее в себя те строки, на пересечении с которыми в графе проставлен знак покрытия. Для табл. 1.4 имеем: 2(S]) = {л|?л2, л5}, ^(52) = 2(S3, S4) = {лр л2, л3, л4, л5}, (2(55) = {л4, л5}, 2(S6) = {л3, л4}, Q(Sy) = {Лр л3}. Если Q(Sp) с Q(St), то графуS{ исключают из таблицы покрытий. Если Q(Sp) — Q(St), то исключается одна (любая) из граф S Sr В табл. 1.4 исключают графы Sj [так как (2(5{) с 6(52)] и (53, [так как Q(S3, S^) с 6(52)]. В результате образуется сокращенная таблица покрытий (табл. 1.5). ’ Таблица 1.4 $1 s2 S3, S4 S5 $6 s7 X X х Hz X X X л3 X X X л4 X X X X X X Таблица 1.5 s2 $5 s6 s7 Л1 X я2 X Лз X X *4 X X X 20
По сокращенной таблице покрытий составляется следующее логическое выражение: (1.1) ** f- где 5 — множество граф таблицы; — проверки, входящие в множество Q(St). Оно преобразуется по законам алгебры логики, при этом осуще- ствляются раскрытие всех скобок и удаление избыточных элементов^ По табл. 1.5 получаем е(Т) = и2 (я4 V Л5 )(л3 V Л4 Хтг, V Л3) = — Л2Л3Л4 V Л2Л3Л5 V Л1Л2Л4- (1.2) Полученное выражение представляет собой дизъюнкцию конъ- юнкций. Каждая конъюнкция соответствует одному из возможных проверяющих тестов. Тест образуется как множество проверок, входящих в конъюнкцию. Из (1.2) следует, что в рассматриваемом примере существуют три теста одинаковой длины: Тп, {Я2,7С3,Я4^; Тп, ^2,71:3’Я5^; Тп, Ц»Л2,Я4^ Для построения диагностического теста Тд по таблице покры- тий (см. табл. 1.4) составляется диагностическая таблица покры- тий (табл. 1.6). Она содержит граф, где к — число граф исход- ной таблицы покрытий. Каждая графа соответствует одному со- четанию (S? S-) из двух неисправных состояний, включенных в табл. 1.4. В табл. 1.6 эти состояния расположены в столбик. В гра- фе, соответствующей сочетанию (Sy, Sy), проставляется знак покры- тия во всех строках, где этот знак расположен в графах St и Sy, кро- ме тех строк, в которых знак покрытия записан в обеих графах. Знаки покрытия в графе (Sy, S,) указывают те проверки, при помо- щи которых при диагностировании можно различить друг от дру- га неисправные состояния Sy и Sj. 21
Таблица Тб Si, $3 5ь 55 5b 5б 5„ 57 52, 53 52. S, 52, 56 52, 5s 53, 56 5з, 57 55, 56 55, 57 5б, 5? TTj X X X X X X X X X X X X X X X X X X Дз X X X X X X X X X л4 X X X X X X X X X X X X X X X X X X Диагностическая таблица покрытий преобразуется по указан- ным выше правилам в сокращенную таблицу (табл. 1.7). Таблица 1.7 "\5 71^\ 5Ь 52 5ь 53 52, 57 S3, s7 55, 56 5е, 57 7lj X X X "2 X X X X X .... Л4 X X X "5 X X X Различают два вида диагностического теста. Тест использу- ется в том случае, когда заведомо известно, что объект неиспра- вен, и поэтому решается одна задача — обнаружение неисправно- го элемента. В этом случае по сокращенной таблице составляется выражение вида (1.1), которое преобразуется с целью получения всех возможных диагностических тестов. По табл. 1.7 получаем С(Т) = ( л1 v л5)(л3 v л4)( л, v л2 v л3 )(л2 v л4 v л5 ) х V Л[Л4 Л5 V УЛ-ЛЛ. V Л.Л-Л.. 2 4 5 1 2 4 х(л- УлДл. V Л.) = Л. Л, Л, УЛ.Л.Л J J А 1 -1 (1.3) По выражению (1.3) определяем следующие варианты диагнос- тического теста: 22
По диагностическому тесту составляется словарь неисправнос- тей, позволяющий фиксировать неисправность при помощи вы- полнение формальной процедуры. Словарь неисправностей пред- ставляет собой таблицу, являющуюся частью сокращенной ТФН (см. табл. 1.3). В эту таблицу входят строки, соответствующие про- веркам, входящим в Тд, и графы, соответствующие классам экви- валентных неисправностей. В табл. 1.8 представлен словарь неисправностей, составленный для теста = {т^, л4, л5}. Словарь неисправностей не содержит одинаково заполненных граф, но может содержать графу, запол- ненную одними единицами. По результатам всех входящих в таб- лицу проверок определяется неисправный элемент. Таблица 1.8 \5 51 5? 53,54 s, 5б 57 0 1 0 1 1 0 л4 1 1 0 0 0 1 S 0 1 0 0 1 1 2 Диагностический тест второго вида Т применяется в том слу- г чае, когда совмещаются в едином процессе проверка исправности и поиск неисправностей в объекте. При этом диагностический тест составляется по построенному ранее одному из вариантов прове- ряющего теста. Сокращенная диагностическая таблица покрытия (см. табл. 1.7) подвергается дальнейшему сокращению, для чего из нес исключаются столбцы, в которых проставлен знак покрытия хотя бы в одной строке, входящей в проверяющий тест. Напри- мер, рассмотрим табл. 1.7 и проверяющий тест ^2, л4) uJr В табл. 1.7 исключаются все графы, кроме графы с сочетанием со- стояний (S5, S^), в результате получаем табл. 1.9. По этой таблице составляется выражение (1.1) и определяется необходимое число 23
проверок, которыми необходимо дополнить проверяющий тест, чтобы получить диагностический. В данном случае существует два варианта теста: {, 712 * Л3 ’ ^4 ) Т2 Д1 Таблица 1.9 $5, s6 ... 7С1 712 71? X Т14 X Таблица 1.10 So Si & S3, S4 Ss s7 71, 1 0 1 0 1 1 0 Л2 ... 1 0 0 0 1 1 1 тц 1 1 1 0 1 0 0 «4 1 1 1 0 0 0 1 В табл. 1.10 приведен словарь неисправностей для первого из них. В этом случае в таблицу включается графа, соответствующая исправному состоянию объекта Sq. Недостатком ТФН являются ее большие размеры, так как чис- ло столбцов таблицы определяется общим числом возможных не- исправностей в ОД. Кроме того, если результат проверки в ТФН записывается в двоичной форме, то она является логической моде- лью ОД. В ряде случаев логическая модель существенно упрощает объект и поэтому не позволяет решить некоторые из задач техни- ческого диагностирования. Однако ТФН очень наглядна и удоб- на для анализа любого устройства и ее часто используют как не- посредственно, так и в сочетании с другими моделями. Эффектив- ным оказывается применение явных моделей, разработанных для узкого класса объектов. 24
Для непрерывных систем используют модели в виде графов при- чинно-следственных связей или диаграмм прохождения сигналов, а также топологические модели. Для дискретных систем приме- няют таблицы истинности, логические сети, альтернативные гра- фы, эквивалентную нормальную форму представления булевых функций, таблицы переходов-выходов многотактных схем и ин- терактивные модели. Выбор модели влияет на глубину и трудо- емкость процесса диагностирования. Указанные модели будут рас- смотрены далее при анализе ОД различного вида.
Глава 2 СИСТЕМЫ ДИАГНОСТИРОВАНИЯ 2.1. Функциональные схемы систем диагностирования При решении какой-либо задачи диагностирования исследуе- мый объект подвергается некоторым испытаниям. В общем случае процесс диагностирования представляет собой многократную по- дачу на объект (см. рис. 1.6) определенных входных воздействий, многократное измерение и анализ ответов (выходных сигналов или реакций) на эти воздействия, которые могут поступать на входы объекта от средств диагностирования (СД) или являться внешними (рабочими) сигналами, определяемыми алгоритмом функциониро- вания устройства. Измерение и анализ ответов объекта всегда осу- ществляется средствами диагностирования. Взаимодействующие между собой ОД и СД образуют систему диагностирования [8] Различают два вида систем диагностирования (рис. 2.1). Система тестового диагностирования (рис. 2.1, а) предусматри- вает подачу воздействий на ОД со стороны СД. Других воздействий на ОД не поступает. Поэтому как состав, так и последовательность подачи этих воздействий можно выбирать исходя из условий эф- фективной организации процесса диагностирования. При этом каждое очередное воздействие можно назначать в зависимости от ответов объекта на предыдущие воздействия. Воздействия в такой системе называют тестовыми. а б Рабочие диагностирования диагностирования Рис. 2.1. Системы диагностирования технического состояния ОД: а — тестовое диагностирование; б— функциональное диагностирование 26
Результаты диагностирования В системе функционального диагностирования (рис. 2.1, б) СД не формирует воздействий на ОД. На ОД и СД поступают рабочие воз- действия, предусмотренные алгоритмом функционирования объекта. Система диагностирования действует в процессе рабочего функциони- рования ОД и решает задачи правильности функционирования и поис- ка неисправностей, нарушающих нормальное функционирование. В функциональной схеме системы тестового диагностирования (рис. 2.2, а) блок управления (БУ) служит для хранения алгоритма ди- агностирования и управ- ления работой средств диагностирования. Ис- точник воздействий (ИВ) вырабатывает воздей- ствия Oj в виде элемен- тарных проверок, вхо- дящих в тест, и в соот- ветствии с алгоритмом диагностирования в оп- ределенной последова- тельности подает их че- рез устройство связи (УС) на объект диа! но- за (ОД), а также на мо- дель объекта диагноза (МОД). Блок МОД вы- рабатывает информа- цию о возможных тех- нических состояниях ОД в виде возможных результатов Ь* элемен- тарных проверок, вхо- дящих в тест. од в ответ на воздействие aj фор- мирует фактические ре- зультаты bj элементар- ных проверок, которые б Результаты диагностирования Рис. 2.2. Схемы систем тестового (а) и функционального (б) диагностирования 27
через УС и измерительное устройство (ИУ) поступают на вход бло- ка расшифровки результатов (БРР). В этом блоке сравниваются ре- зультаты элементарных проверок, снимаемых с выходов ОД и фор- мируемых МОД. Результат сравнения запоминается в БРР, после чего БУ назначает очередную элементарную проверку, входящую в тест. Если назначение очередной проверки зависит от результата предыдущей, то между блоками БРР и БУ устанавливается прямая связь (показана штриховой линией). После прохождения всего или части теста блок БРР формирует результаты диагностирования. В функциональной схеме системы функционального диагнос- тирования (рис. 2.2, б) рабочие воздействия л- поступают на ос- новные входы ОД, с которого снимаются сигналы yj управления средствами диагностирования и сигналы Ь- ответов ОД на воз- действия aj. Сигналы управляют блоками БУ и МОД в зависи- мости от режима работы объекта, при этом на входы МОД посту- пают воздействия cij. Между блоками БРР и ОД устанавливается прямая связь, (показана пунктиром), если ОД должен быть выклю- чен из работы при отрицательных результатах диагностирования. В конечном итоге процедура диагностирования сводится к срав- нению работы идеального устройства (задается моделью ОД) и реального исследуемого устройства. Число неисправностей в ре- альном устройстве, как правило, велико, поэтому процедура диаг- ностирования сложна и требует большого числа измерительных и вычислительных операций. Для проведения процедуры диагнос- тирования требуется решение следующих основных задач: выбор и построение модели ОД, синтез теста, построение алгоритма ди- агностирования, синтез и реализация средств диагностирования. 2.2. Функциональное диагностирование Представим схему системы функционального диагностирования (см, рис. 2.2, б) в виде схемы из двух блоков (рис. 2.3). В ней вся дополнительная аппаратура объединена в едином блоке — схеме контроля (СК). Результатом диагностирования является сигнал ошибки, который формируется при возникновении дефекта в ОД, а также, может быть, и в самой СК Для оценки эффективности функционального диагностирова- ния используется специальная характеристика — достоверность 28
результата работы D. Это веро- ятность, с которой оценивается истинность результата, получае- мого на выходе ОД. Достовер- ность D отражает как надежност- ные характеристики ОД и СК, так и информационные возможности используемого метода контроля. рис 23 Блок-схема функциональ- В общем случае могут иметь ного диагностирования место три возможных события: ОД с контролем работает правильно; ОД с контролем показывает наличие ошибки (ошибки могут обнаруживаться либо только в ОД, либо как в ОД, так и в СК); о работе ОД с контролем нельзя ска- зать ничего определенного (неопределенный результат). В самом деле, если объект работает правильно или используемый метод контроля позволяет обнаружить ошибку, то такой результат пра- вильно отражает истинное состояние ОД. Если ошибка произош- ла, а используемый метод контроля не смог ее обнаружить, или если ошибки нет, а схема контроля показывает наличие ошибки, то об истинном состоянии ОД с контролем ничего сказать невоз- можно. В этом случае имеет место неопределенность. Указанные три события образуют полную группу событий. Обо- значим вероятности их появления соответственно Роо(/) и Рнр(г). Тогда ^пр (0 + Роо (О + ^нр W “ 1* (2.1) Из данной формулы следует, что достоверность ^пр(0+^оо(0” 1 ^HpW (2.2) Для нахождения вероятности появления каждого из событий необходимо учитывать обнаруживающую способность выбранно- го метода контроля и вид его реализации. Под методом контроля понимают математический метод, обеспечивающий проверку пра- вильности функционирования ОД. Под видом контроля понима- ют способ аппаратной или программной реализации выбранного метода контроля. 29
Обозначим через /?обн вероятность, характеризующую способ- ность применяемого метода контроля обнаруживать ошибки. Она зависит от глубины охвата контролем заданного ОД и са- мой схемы контроля, а также кратности обнаруживаемых дефек- тов. Способ вычисления /?обн определяется используемым мето- дом контроля. Рассмотрим, например, случай контроля дискретного устрой- ства (ДУ) с использованием корректирующих кодов. При этом ДУ строится таким образом, что при всех возможных входных воздей- ствиях на выходах ДУ формируются двоичные векторы, соответ- ствующие разрешенным кодовым словам. Неисправность обнару- живается тогда, когда она приводит к появлению на выходах ДУ двоичного вектора, не принадлежащего заданному коду. Общее число возможных искажений «-разрядного кодового вектора а _ 2" - 1 - Поэтому значение робн вычисляется по формуле ! N Ро6и ~ ~ уГГс (2-3) где N — мощность множества разрешенных кодовых слов; /V = ,к — число информационных разрядов кода. Обозначим через рисх(0 вероятность безотказной работы ис- ходного объекта диагноза, а через рк(/) — вероятность безотказ- ной работы схемы контроля. В дальнейшем в обозначениях веро- ятностей будем опускать обозначение времени /, так как безот- казность и достоверность оцениваются за один и тот же период времени /. Для нахождения величин Рпр, Роо и Рнр будем использовать таблицу истинности булевых функций (табл. 2.1), соответствующих событиям, отвечающим указанным вероятностям. Булевы функции определим следующим образом. Если ОД работает правильно, то придадим этому событию значение р - 1; в противном случае зна- чение р = 0. Событию, когда выбранный метод контроля позво- ляет обнаруживать дефекты, привоим значение р = 1, а событию, ког- да выбранным методом контроля дефекты не обнаруживаются—зна- чение р ~ 0. 30
Таблица 2.1 № п/п Риск А Роон Роо Р нр 1 0 0 0 0 0 1 2 0 0 1 0 1 0 3 0 1 0 0 0 1 4 * 0 1 1 0 1 0 5 1 0 0 0 0 1 6 1 0 1 0 1 0 7 1 1 0 1 0 0 8 1 1 1 1 0 0 В таблице отражены восемь возможных случаев сочетаний не- зависимых событий, отражаемых вероятностями рисх, рк и робн. Например, в шестой строке таблицы указаны значения рисх= 1, рк= 0 и робн= 1 • Эта строка соответствует случаю, когда исход- ный ОД работает правильно (Рисх= 1), схема контроля отказала (рк= 0), а метод контроля обнаружил этот отказ (/>обн~ 1). Данное событие имеет результатом появление на выходе СК сигнала ошибки (см. рис. 2.3). Поэтому в графе pw, который соответству- ет событию обнаружения ошибок, в шестой строке проставляет- ся единичное значение функции. Такое же значение записывается в строках 2 и 4, где робн= I и имеют место дефекты в ОД или СК. В столбце Р единичное значение функции проставляется толь- ко в строках 7 и 8, которые соответствуют случаю, когда и ОД, и СК работают правильно. В столбце Рнр единичное значение фун- кции заносится в строки, где робн= 0, кроме седьмой строки, в которой рисх- 1 и рк~ 1. Из таблицы следует, что пр = ^исх^к^обн V ^исх^к^обн’ оо ^исх^к^обн V ^исх^к^7обн V ^исх^к^обн’ (2.4) нр Рисх^к^обн V ^исх^к^обн V ^исх^к^обн’ От булевых функций осуществляется переход к вероятност- ным выражениям. При этом сначала производится упрощение 31
выражений (2.4) по законам алгебры логики без использования закона повторения. Соответствующие преобразования дают сле- дующие выражения: e Р Р \ пр 1 исх'к’ ' р _ v р р р ; оо 'исх' ООН 'исх^к'оон (2.5) = Р - (Р V р р нр Г O()HV7HCX 1 исхЛ к При переходе к вероятностным выражениям знак дизъюнкции заменяется знаком сложения, а переменная р заменяется выраже- нием 1 -р. В результате получаем; = Р Р \ пр * исх^к* Роо = обн^ Aicx + ЛгсхЛэбн^ (2.6) Лф “ обн ^исх^к ) • Из (2.6) следует, что достоверность ОД с аппаратным контролем “ I ^нр ~ ^обн + ^ИСХ^К ^ИСХ^К^обн • (2-7) Если контроль отсутствует (в этом случае рк - 1 и робн = 0), то достоверность ОД без контроля D = р . (2.8) 1 исх Выигрыш в достоверности при использовании контроля дг>_ок -О = робн -р,кх(1-/’к)-А,сх/’к/’об1,- <2-9) Однако выигрыш в достоверности сопровождается проигры- шем в надежности и увеличением сложности устройства. Введе- ние контроля снижает вероятность безотказной работы ОД с кон- тролем. Действительно, вероятность правильной работы ОД со схемой контроля Рпр равна вероятности безотказной работы ОД со схемой контроля, ^ОДЮ т е- 32
родк = Рпр - РтхРк- (2.10) Л Тогда проигрыш в безотказности г ДР = р - р р . О 11) ГИСХ 2 ИСХЛ К Усложнение объекта характеризуется коэффициентом п ИСХ о ------- п ' к (2.12) где лисх и лк — число элементов соответственно в исходном ус- тройстве и схеме контроля. При решении конкретных задач возникает вопрос о допус- тимом коэффициенте избыточности. Существует стандартный способ построения СК — метод дублирования (рис. 2.4). В этом случае СК включает в себя второй комплект ОД и схему срав- нения выходных сигналов обоих комплектов СС. Для схемы дублирования дуб п ИСХ < | п + пгг, исх СС где iiqq — число элементов в схеме сравнения. На практике стремятся получить системы диагностирования со сложностью о > о дуб. Наилучшими считаются варианты систем с о > 10 (контрольное шает 10 %), достаточно хорошими — с о&4 (не более 25 %). Увели- чение выигрыша в до- стоверности, как пра- вило. требует услож- нения контрольного оборудования. Входы Рис. 2.4. Схема дублирования ОД 33
Из формул (2.9) и (2.11) следует, что чем выше /?обн, тем больше выигрыш в достоверности, при этом проигрыш в безотказности остается на прежнем уровне. Поэтому следует применять более со- вершенные методы контроля. Однако существует определенная вза- имосвязь между робн и так как более совершенные методы кон- троля требуют более сложного контрольного оборудования. При организации функционального диагностирования возни- кает задача контроля исправности СК (проблема «сторожа над сто- рожем»). Если применяемый метод контроля не позволяет обнару- живать неисправности СК, то достоверность ОД с контролем умень- шается и подсчитывается по формуле в ^обн^к + ^исх^к^обн ' (2.13) При синтезе дискретных устройств ДУ с контролем задача кон- троля СК решается за счет придания ДУ свойства самопроверяе- мости. Под самопроверяемостью понимается способность систе- мы обнаруживать отказы как в основном устройстве, так и в схеме контроля, в процессе нормального функционирования без допол- нительной подачи на входы устройства специальных проверочных тестов или других способов его испытания. Самопроверяемость достигается в том случае, когда по значе- нию сигнала ошибки на выходе СК можно судить об исправнос- ти не только основного ДУ, но и схемы контроля. На рис. 2.5 и 2.6 представлены две возможные структуры самопроверяемых ДУ. В первом случае (см. рис. 2.5) в качестве СК применяется самопро- веряемая схема встроенного контроля (ССВК), имеющая два конт- рольных выхода Zj и z2- На входы ССВК подаются входные и вы- ходные сигналы ДУ. ССВК обладает следующим свойством. Для Входы -г т ДУ Выходы -1 (Контрольные z2i ВЫХОДЫ Рис. 2.5. Первая структура самопроверяемого дискретного устройства всех возможных входных воздей- ствий при исправ- ных ДУ и ССВК на выходах и z2, фор- мируются парафаз- ные сигналы 01 или 10, а при возникнове- нии неисправностей 34
в ДУ или ССВК—не- парафазные сигналы 00 или 11. Появление непарафазного сиг- нала на выходе ССВК является при- знаком наличия не- исправности. В дан- п Входы -t- - Выходы ССВК- Z| Рис. 2.6. Вторая структура самопроверяемого дискретного устройства ной структуре исходное ДУ не подвергается изменениям, а вся из- быточность, которая является ценой за свойство обнаружения от- казов, полностью вносится во внутреннюю структуру ССВК. Характерной особенностью второй структуры самопроверяемо- го ДУ (см. рис. 2.6) является то, что избыточность вносится во внут- реннюю структуру самого ДУ. Для этого либо модифицируется структура исходного устройства, либо по заданным условиям ра- боты непосредственно синтезируется избыточное ДУ. При этом улучшается контролепригодность ДУ, и оно приобретает такие свойства, которые позволяют легко фиксировать неисправности только по значениям основных или специальных контрольных вы- ходов. Как правило. на этих выходах формируются двоичные векто- ра, принадлежащие какому-либо коду с обнаружением ошибок. Тог- да ССВК реализуется в виде тестера, задача которого состоит в опре- делении факта принадлежности кодового вектора заданному коду. На практике используются обе указанные структуры самопро- веряемых ДУ. 2.3. Тестовое диагностирование При организации тестового диагностирования основной являет- ся задача построения тестов. Для дискретных объектов можно вы- делить три этапа в развитии теории построения тестов. Для первого этапа характерным было стремление получать минимальные или оптимизированные тесты на основе представления комбинационных объектов таблицами истинности, а последовательных объектов — таблицами переходов и выходов. Основной моделью дефектов был класс константных неисправностей, включающий в себя для релей- но-контактных схем обрывы и короткие замыкания контактов, а для схем на функциональных элементах — фиксацию в константы сиг- 35
налов на входах и выходах элементов. Основные методы построе- ния тестов были основаны на переборе вариантов, в большинстве случаев использовались таблицы функций неисправностей. Второй этап развития теории построения тестов характерен пе- реходом к структурным и структурно-аналитическим моделям дис- кретных объектов, разработкой новых методов обработки этих моделей и отказом от задач получения минимальных тестов. Рас- ширяется класс рассматриваемых неисправностей, в том числе ис- следуются вопросы обнаружения коротких замыканий в схемах на функциональных элементах, а также проблемы обнаружения неис- правностей в программируемых логических матрицах. Развитие новых методов в теории построения тестов вызывалось главным образом увеличением размерности практических задач. Третий этап развития теории построения тестов связан с появле- нием больших и сверхбольших интегральных схем, микропроцессор- ных наборов и других элементов высокого уровня интеграции. Высо- кая размерность задач привела к необходимости функционального представления дискретных объектов на макроуровне и рассмотрения функциональных неисправностей взамен константных. Начинает раз- виваться также вероятностный подход к построению тестов. В настоящее время широко применяют тесты, представляющие собой псевдослучайные последовательности входных воздействий. Такие псевдослучайные тесты генерируются регистром (Р) сдвига с обратными связями (рис. 2.7, а), что существенно сокращает затраты на аппаратуру для реализации генера юра тестов, так как не требует- ся память для хранения последних. Однако анализатор (А) ответов Рис. 2.7. Схема систем вероятностного диагностирования 36
ОД в системе вероятностного диагностирования имеет такую же сложность, что и в системе детерминированного диагностирова- ния (см. рис. 2.2, а). С целью его упрощения осуществляется сжа- тие длинных выходных последовательностей, формируемых на вы- ходах ОД, при помощи специальных сигнатурных анализаторов СА (рис. 2.7, б), которые представляют собой также регистры сдвига с обратными связями или счетчики. Применение СА позволяет эф- фективно тестировать сложные вычислительные системы. Для непрерывных объектов существует гораздо более широкое мно- гообразие физических принципов f лизации по сравнению с дискрет- ными объектами. Это затрудняет разработку общих теоретических и методических подходов к построению тестов для непрерывных сис- тем. Для каждого типа последних по этой причине используются соб- ственные математические модели и методы построения тестов. Системы тестового диагностирования, представленные на рис. 2.2, а и 2.7, используются в те промежутки времени, когда ОД не выполняет своих основных функций. 11ри этом решаются задачи контроля исправности и поиска дефектов. Однако тестовое диагно- стирование может также применяться для контроля ОД в процессе функционирования, если в этом процессе можно выделить такие моменты, когда на входы ОД не поступают рабочие входные воз- действия и выходы могут быть отключены от объектов управления. Структурная схема тестового диагностирования приведена на рис. 2.8. Запоминающее устройство (ЗУ) хранит тесты и эталонные реакции, которые поступают на входы ОД и анализатора по ко- Рис. 2.8. Структурная схема тестового диагностирования 37
uapnani гл Рис. 2.9. Временные диаграммы включения тестового диагностирования Вариант Б мандам со стороны схемы управления. Результаты тестиро- вания используются для организации взаимосвязи между ОД и объектом уп- равления ОУ. Возможны два варианта организации тестового диагностиро- вания, которые проиллюстрированы временными диаграммами на рис. 2.9. Вариант А предусматривает первоначальное включение основного рабочего режима (время /р), после чего подается прове- ряющий тест (время /д). Полученный при выполнении рабочего ре- жима результат запоминается до окончания процесса прохождения теста. Если тест не фиксирует наличие неисправности, то дается разрешение на дальнейшее использование указанного результата. При применении варианта Б сначала осуществляется подача тес- та (время /д), а затем реализуется рабочий режим (время Zp). Выход- ной результат работы ОД оценивается по результату тестирования. Для анализа режимов тестирования используется коэффициент избыточного времени При кв -1 достоверность функционирования ОД с тестовым контролем для вариантов А и Б одинакова; при кв > 1 выше досто- верность варианта А, а при кв < 1 — достоверность варианта Б. Как правило, Ав > 1, но вариант А часто не может быть использо- ван, так как не всегда есть возможность задерживать выходную ин- формацию после прохождения рабочего режима. Наиболее часто используется вариант Б, когда ОД тестируется перед его использованием. Если *р » /д, то наряду с тестировани- ем применяют и аппаратный контроль, который за время / в ре- альном масштабе времени определяет работоспособность ОД. Та- кой комбинированный контроль позволяет эффективно эксплуа- 38
Рис. 2.10. Общий вид временной диаграммы работы объекта диагностирова- * ния в процессе эксплуатации тировать и поддерживать в работоспособном состоянии системы с длительным сроком службы. Организация контроля ОД в процессе эксплуатации во многом определяемся возможными режимами работы объекта, которые указаны на временной диаграмме (рис. 2.10). ОД может находить- ся в одном из следующих трех режимов: :'т- в режиме ожидания или паузы (время /п), в течение которого объект может быть включен или выключен, но при этом никаких рабочих сигналов на него не подастся и с него не снимается; - в дежурном или диагностическом режиме (время /д), когда ап- паратура включена и осуществляется прогон одного или несколь- ких подряд проверяющих тестов; - в режиме основной работы (время /р), в течение которого осу- ществляется функциональное диагностирование при помощи встро- енных схем контроля. Для большинства систем ЖАТС характерным является отсут- ствие режима ожидания, так как на железнодорожном транспорте осуществляется непрерывное наблюдение за состоянием железно- дорожных объектов, а управление движением поездов также пред- ставляет собой непрерывный технологический процесс. В совре- менных системах ЖАТС широко используются тестирование и функциональное диагностирование. 2.4. Алгоритмы диагностирования и методы их построения Любая задача диагноза решается при помощи реализации соот- ветствующей процедуры, в основе которой лежит алгоритм диаг- ностирования, который представляет собой совокупность предпи- саний в виде последовательности проверок и правил обработки их 39
Рис. 2.11. Классификация алгоритмов диагностирования результатов для получе- ния общего результата диагностирования. Раз- личают алгоритмы про- верки исправности, ра- ботоспособности и по- иска неисправности. Их строят на основе соответ- ствующих тестов и слова- рей неисправностей. На рис. 2.11 приведена клас- сификация алгоритмов диагностирования, в со- ответствии с которой можно выделить три вида алгоритмов: безусловный с безусловной остановкой, безусловный с условной остановкой и условный с условной остановкой. Безусловный алгоритм задает одну фиксированную последо- вательность проведения проверок, при этом информация о тех- ническом состоянии объекта фиксируется и обрабатывается пос- ледовательно независимо от результатов предыдущих проверок. В условном алгоритме предусматривается назначение каждой после- дующей проверки в зависимости от результата анализа предыду- щих проверок. Если заключение о техническом состоянии объекта может быть сделано только после проведения всех проверок, предусмотренных алгоритмом, то такой алгоритм называют алгоритмом с безуслов- ной остановкой. Если выдача результата диагностирования возмож- на после выполнения каждого или некоторых промежуточных ша- гов алгоритма, то последний называют алгоритмом с условной ос- тановкой. Условный алгоритм всегда является алгоритмом с ус- ловной остановкой. Наиболее распространенными формами представления алго- ритмов диагностирования являются таблицы и древовидные гра- фы. Безусловные алгоритмы с безусловной остановкой представ- ляются в виде таблиц, в качестве которых, например, выступают словари неисправностей (см. табл. L8 и 1.10). В этом случае по- 40
иск неисправного элемента требует выполнения всего множества проверок, включенных в тест, с фиксацией их результатов. На основе анализа полной совокупности этих результатов делается вывод о месте неисправности. Безусловный алгоритм с условной остановкой представляется в виде графа. Рассмотрим, например, граф (рис. 2.12, а), который моделирует алгоритм поиска неисправности по табл. 2.2. Корне- вая вершина графа представляет множество S = всех рассматриваемых технических состояний объекта, а остальные вер- шины — подмножества состояний, выделяемые в результате деле- ния множества S и его подмножеств по результатам элементарных проверок. Висячие вершины соответствуют подмножествам экви- валентных состояний. Исходящими из вершин дугами изобража- ются элементарные проверки, а заходящими дугами — результаты этих проверок. Заданный алгоритм предусматривает подачу про- верок в фиксированной последовательности — (так, как они расположены в табл. 2.2). Однако выполнение алгоритма может быть остановлено на любом этапе, если выделилось под- Рис. 2.12. Схемы безусловного (а) и условного (б) алгоритмов диагностирования & &&& 41
множество состояний, соответствующее висячей вершине. Так, на первом этапе алгоритма при выполнении проверки получение результата 0 останавливает алгоритм, так как выделено подмно- жество эквивалентных состояний {5р . В противном случае при- меняют проверку л2 и алгоритм продолжается. Таблица 2.2 Проверка Результат R проверки для системы, находящейся в состоянии Xj S2 S3 $5 s6 $7 Л] 0 1 1 1 1 1 ль 1 0 1 1 1 1 0 1 0 1 0 1 Л7 0 1 0 1 i 0 Условные алгоритмы также представляются в виде графов. По- строение условного алгоритма начинается с выбора первой про- верки. В зависимости от исхода первой проверки Jij множество воз- можных состояний 51 делится на два подмножества, после чего вы- бираются проверки (они могут быть разными), разделяющие эти подмножества. Выбор проверок продолжается до тех пор, пока множество 5 не будет разделено на отдельные подмножества экви- валентных состояний. На рис. 2.12, б приведен условный алгоритм, построенный по табл. 2.2. Для одного и того же словаря неисправностей может быть построено значительное количество безусловных и условных ал- горитмов диагностирования. Каждый из них будет обладать оп- ределенными особенностями. Например, условный алгоритм (рис. 2.12, б) имеет преимущество по сравнению с безусловным алгоритмом (рис. 2.12, а), которое состоит в том, что в первом любая неисправность может быть обнаружена не более чем за три шага алгоритма, в то время как во втором может потребоваться выполнение и четырех шагов алгоритма. Но, с другой стороны, безусловный алгоритм дает возможность обнаружить неисправ- ность уже при выполнении первого шага, а в условном алгоритме такой возможности нет. При решении практических задач возникает проблема выбо- ра оптимального алгоритма диагностирования. При этом фор- 42
аудируются либо ограничения на алгоритм, либо критерий оп- тимальности, в которых отражаются конкретные практические условия применения алгоритма. В качестве ограничения на ал- горитм могут выступать: заданное время, в течение которого дол- жна быть обнаружена любая неисправность; максимально до- пустимуе число шагов алгоритма; ограничения, определяющие необходимость обнаружения на первых шагах алгоритма неко- торых указанных неисправностей и т.п. В качестве критерия оп- тимальности может рассматриваться средняя стоимость обна- ружения отказавшего элемента, вероятность обнаружения при ограниченной стоимости или стоимость с заданной вероятнос- тью и т.д. В этом случае каждый алгоритм, заданный соответ- ствующим графом, характеризуется определенным значением критерия оптимальности. При оптимизации алгоритма, как правило, учитывают три фак- тора: вероятности отказов элементов модели объекта (или вероят- ности попадания системы в рассматриваемые состояния); стоимость каждой проверки, под которой понимается некоторое относитель- ное число, отражающее в условных единицах затраты труда, време- ни, сложность действий, необходимую аппаратуру и т.п., требую- щиеся для проведения проверки; объем информации, который дает каждая проверка. Вероятности о гказов элементов задаются при про- ектировании ОД на этапе выбора элементной базы. Стоимости про- верок определяются на основе специального анализа объекта диаг- ноза. При этом выбирается самая сложная проверка и ее стоимость оценивается в 100 условных единиц. Все остальные проверки ран- жируются относительно самой сложной проверки и им сопоставля- ются соответствующие оценочные стоимости. Информация о состо- янии объекта, которую можно получить при выполнении той или другой проверки, содержится в таблицах, соответствующих слова- рям неисправностей. Наиболее общим критерием оптимальности является средняя сто- имость выполнения алгоритма. Рассмотрим алгоритмы, заданные графами на рис. 2.12. Зададим вероятности состояний: Р(51)я=р(52) = р(56)=о,2 и M^3) = P(54) = /X55) = p(S7)=0,l,a также стоимости проверок: ф^) = 50, с(л2)= 40, с(я6)= 30, с(л7)= 20. 43
Средняя стоимость выполнения алгоритма C(S)= Е c(S)p(S)f Е р(5.) = 1, (2.14) S.eS 1 1 S.eS 1 где S — множество всех состояний системы; c(Sp — суммарная стоимость всех проверок, выполнение которых необходимо для выделения состояния S- в соответствии с данным алгоритмом; сум- ма вероятностей состояний равна единице, так как алгоритм приме- няется тогда, когда система находится в одном из состояний Si е S. В условном алгоритме (см. рис. 2.12, б) для выделения, напри- мер, состояния необходимо последовательно применить провер- ки 7Г6, Л7 и щ. Поэтому <4^3 ) = с(.п6) + с( Л7) + <( Л]). В целом для данного алгоритма имеем с, (S) = [с(л,) + с( л6 ) + С(л7 ) + p(S3 ) + p(S\)] + + ) + с( л6 )]p(S2 ) + [с(л2 ) + с( л6 ) + с( Л7 )][^(S5 ) + p(s7)] + + [с(л6) + с(л7)М56) = 82. Различные алгоритмы сравнивают по численному значению C(S). Например, для безусловного алгоритма (см. рис. 2.12, a) C2(S) = 103, и поэтому он хуже условного алгоритма (см. рис. 2.12, б), так как С2(5) > С[(5). Очевидно, что при других соотношениях между ве- роятностями p(St) и стоимостями с(лД безусловный алгоритм мо- жет оказаться предпочтительнее условного. Для нахождения алго- ритма с минимальной стоимостью C(S) используют перебор вари- антов или принципы динамического программирования, что свя- зано со сложными вычислительными процедурами. Поэтому на практике часто применяют некоторые решающие правила (упрощен- ные подходы), которые позволяют находить близкие к оптималь- ным алгоритмы. Часто возникает такая задача. Имеется система, состоящая из п элементов, один из которых неисправен. Для каждо- го элемента известны вероятность р{ возникновения неисправности и стоимость его проверки л, (в большинстве случаев в качестве с{ 44
выступает время проверки элемента). В этом случае последователь- ность проверок в алгоритме устанавливается в соответствии с по- рядком соотношений р{ > Pz!c2> -• > рп !сп • При этом, если после проведения п - 1 проверки неисправный элемент не обнару- а п жен, тго/вследствиетого что S pr- = 1, за неисправный принимается 1=1 последний элемент и его не проверяют. При построении алгоритмов диагностирования существенное значение имеет количество информации, содержащееся в провер- ках. Частично это учитывается и при оптимизации алгоритмов с помощью выражения (2.14). Более полный учет позволяет получить метод, основанный на теории информации. Диагностирование — это, по сути, процесс получения информа- ции о состоянии объекта. Перед началом процесса диагностирова- ния объект, с точки зрения наблюдателя, характеризуется большой степенью неопределенности состояния. Она будет тем больше, чем больше число возможных состояний и чем меньше разброс их ве- роятностей. Неопределенность состояния системы S = } харак- теризуется ее энтропией H(S). Если система из п элементов может быть неисправной в результате отказа только одного какого-либо z-го элемента с условной вероятностью отказа pj2 то п H(S) = -Ypilog2pj, <=1 п (2.15) Значения pi определяются на основе статистических данных о надежности элементов системы. Для энтропии характерны следующие свойства: 1) H(S) > 0; 2) энтропия системы, имеющей п равновероятных состояний, H(S) = - S р. log- р = п-— log- п = log2 п; {=1 1 Л 1 п z 3) эшропия системы максимальна, если ее состояния равновероятны; 4) если pt = 1, то H(S) = 0. 45
Каждая проверка л,- содержит некоторое количество информа- ции #(л,-) относительно состояния системы S: / К(Л;) = Н(Х)-Я(5/Л,), (2./б) I. где H(S / jcf-) — средняя условная энтропия состояния системы при выполнении проверки л,-. Если при проверке л, контролируется т элементов системы, сум- т ма вероятностей отказов которых Q(n. ) = S р., то Ю(л ) log? Q(л ) + [1 - Q(л )]log2 [1 - Q( л )]}. (2.17) При построении алгоритма в качестве первой проверки выби- рают ту, которая несет наибольшее количество информации. Из выражения (2.17) следует, что ЛГ(лр принимает максимальное зна- чение при Q(л,) = —. Поэтому алгоритм следует начинать с про- верки, для которой сумма вероятностей отказов проверяемых эле- ментов близка к —. Следующую проверку выбирают исходя из ре- зультатов предыдущей. Если при проверке л- получен результат = а (а = 0 или а = 1), из которого следует, что система находится в одном из состояний подмножества 5*(5* С 5), то следующую про- верку л( выбирают по максимуму количества информации в систе- =а)-Я(5*/л,). (2.18) В этом случае значения рг пересчитываются с учетом равенства 2 Р, =1. (2.19) 46
к Построим алгоритм по ^абл. 2.2. Для каждой проверки ^Дначения р(лД представляющие собой сумму вероятностей отка- ' зов элементов, которые проверя- ютеяуханной проверкой, равны п- 01 II » Рис. 2.13. Схема алгоритма диагностирования 3^2 ^6 л7 /?(л>-0,3 0,2 0,6 0,5. Так как p(k7)=- то в ка- честве первой проверки выби- раем проверку л7 (рис. 2.13). Она делит множество состояний S' = {S'p ,S’7} на два подмноже- ства S'0 = {S’.,S,,S4,S'7} и S1 - {S7,S’s,S’fi}. В табл. 2.3 и 2.4 приведе- ны словари неисправностей для этих подмножеств, где указаны также значения р(лД пересчитанные с учетом выражения (2.19). Для разделе- ния множества 5° сначала применяется проверка Л|, а затем л6. Для разделения множества 51 проверки л2 и л6 используются в любой пос- ледовательности. Для полученного алгоритма (см. рис. 2.13) C(S) = 80, а следовательно, он лучше алгоритмов, приведенных на рис. 2.12. Таблица 2.3 т- м .X 'М г ч ч •С Состояния Si, $4 •Vi _ S7 Л1 0 1 1 0,6 Л; 1 1 1 — Яь 0 0 1 0,8 л7 0 0 0 — <г”. Таблица 2.4 ! 6- '1 if Яг Состояния S5 _ S6 L. . . Л1 1 1 1 — Jb 0 1 1 1 0,4 Лб 1 [ 0 0,4 л7 1 1 1 — 47
] 1 2 |-—3 НН 4 Н 5 [Н 6 ГП 7 ГП Н" ' Рис. 2.14. Объект диагноза с последовательным включением элементе^ / При решении практических задач часго ОД может быть представ- лен в виде линейной цепи из последовательно включенных элемен- тов (рис. 2.14). При отказе элемента на его выходе появляется недо- пустимый сигнал (отличный от сигнала на выходе исправного эле- мента), который вызывает возникновение недопустимого сигнала на выходе последующего элемента, а также всех других включенных за ним элементов. В цепи возможны отказы только одного элемен- та. Поэтому цепь из п элементов имеет п неисправных состояний S «{«SpS2»}, где — состояние с неисправностью /-го элемен- та. Проверка л, заключается в измерении сигнала на выходе /-го эле- мента. Измерения возможны на выходе каждого элемента. Рассмотрим два случая диагностирования системы из включен- ных последовательно элементов. В первом случае предполагается, что равны между собой вероятности отказов элементов, а также и стоимости всех проверок. Тогда для схемы на рис. 2.14 оптималь- ным является алгоритм, который представлен на рис. 2.15, а. Наи- большей информативностью обладает проверка, состоящая в из- Рис. 2.15. Алгоритмы диагностирования цепи из последовательно включенных элементов 48
Прении сигнала на выходе элемента с номером — А quote элементов) или четном (при нечетном числе элементов), т.е. в измерении сигнала в середине цепи. При положительном резуль- тате проверки делается вывод, что неисправный элемент находит- ся во второй половине цепи, а при отрицательном результате — в первой половине цепи. Далее осуществляется измерение в середи- не той половины цепи, где находится неисправный элемент, и т.д. Последним будет произведено измерение выходного сигнала того элемента, на выходе которого присутствует недопустимый, а на входе — допустимый сигнал. Во втором случае предполагается, что равны между собой сто- имости всех проверок, но вероятности отказов элементов отлича- ются друг от друга. Пусть, например, для системы рис. 2.14 имеем Р\ ~Р1 ~ ^’2; Рз = р4 = р$ =р6 = р^ - /?8= 0,1. Для первой проверки выбирается элемент, выход которого делит цепь таким образом, что сумма вероятностей отказов элементов одной части цепи ми- нимально отличается от такой же суммы для второй части цепи. В дан- ном случае таким является третий элемент, так как р\ + +/?з - 0,5. Проверка л3 (рис. 2.15, 6) делит цепь элементов на две неравные ча- сти, в первую из них входят элементы с номерами 1, 2 и 3, а во вто- рую — с номерами 4, 5, 6. 7 и 8. Выбор проверок для деления этих частей цепи на две части осуществляется по тому же правилу и т.д. В результате получаем алгоритм, представленный на рис. 2.15, б, при построении которого учитывается энтропия системы. Пред- положим, что стоимость каждой проверки с(л) = 10. Тогда сто- имость данного'алгоритма C(S) ~ 40. При тех же условиях сто- имость алгоритма, представленного на рис. 2.15, а, С(л) = 42. Она выше, так как при построении этого алгоритма не учитывается из- менение энтропии системы при выборе проверок. Для построения алгоритмов с учетом как вероятности отказов элементов, так и стоимостей проверок применяется выбор прове- рок по максимальному отношению 49
Глава 3 ТЕОРИЯ КОНТРОЛЯ КОНТАКТНЫХ СХЕ 3.1. Представление контактных схем В данном учебном пособии рассматриваются проблемы диаг- ностирования четырех классов устройств: релейно-контактных схем (РКС), схем на функциональных логических элементах, микропро- цессорных систем и аналоговых устройств. Будем рассматривать схемы, построенные на замыкающих (фронтовых) и размыкающих (тыловых) контактах нейтраль- ных реле. Известно, что любая функция алгебры логики, запи- санная в базисе {И, ИЛИ, НЕ}, может быть реализована с по- мощью контактной схемы. При этом функция И реализуется за счет последовательного соединения контактных двухполюсни- ков, функция ИЛИ — за счет их параллельного соединения, а функция НЕ — за счет использования размыкающего контакта реле. На рис. 3.1 представлена контактная схема, вычисляю- щая функцию F = {a v b )(cf vd)v(d v f)a. (3-1) Схемы, построенные по указанным правилам, называются парал- лелъно-последовательными. В них любые два контактных двухполюс- Рис. 3.1. Параллельно- последовательная схема ника соединены параллельно или после- довательно. Это свойство не выполняет- ся в мостиковых схемах. Пример такой схемы приведен на рис. 3.2. В дальней- шем рассматриваются параллельно-пос- ледовательные схемы, как наиболее рас- пространенные на практике. Путь Р в схеме есть минимальное множество контактов, замыкание ко- торых образует путь проводимости между внешними полюсами схемы. На рис. 3.1 внешними полюсами являют- ся точки 1 и 2 и схема имеет шесть пу- 50
Сцчение Ъ в схеме есть минимальное i—А множество контактов, размыкание кото- рых обесречивает обрыв Проводимости Рис- 3’2’ Мостиковая между внешними полюсами схемы. Схема схема на рис. 3.1 имеет шесть сечений (переменные, соответствующие кон- тактам сечения, записываются с инверсией, так как контакты дол- жны быть разомкнуты): = а^2/2‘, <$2 $3 = edid2f2; s4 = Сd\d2; -$5 - f\d\d2f2 > S6 = /^^2 • Следует заметить, что не всякий путь и не всякое сечение реализуются, так как они могут содержать противоречие. Так, для реализации сечения не” обходимо, чтобы одновременно были разомкнуты размыкающий и замыкающий контакты реле А, что невозможно. Для каждой контактной схемы существует инверсная ей схема, реализующая инверсную функцию р. Она получается из исходной схемы заменой замыкающих контактов на размыкающие и наобо- рот, а также заменой последовательного соединения контактных двухполюсников на параллельное и наоборот. На рис. 3.3 представ- лена схема, инверсная схеме на рис. 3.1, вычисляющая функцию. F — abdf v acdv adf. (3.2) Очевидно, в инверсных друг другу схемах пути одной схемы со- ответствуют сечениям другой и наоборот. Структура контактной схемы полностью задается дизъюнкцией путей. Эта формула называется эк- вивалентной нормальной формой (ЭНФ). Для схемы (см. рис. 3.1) она имеет вид Рис. 3.3. Инверсная контактная схема ^энф = °lc/l VM1 vfcc/l v vbdi va2d2 va2f2. 51
,1.2 3 т Рис. 3.4. Пример контактной структуры Буквы ЭНФ соответствует контактам, а конъюнкции ЭНФ — путям схемы. Обратная эквива- лентная нормальная форма (ОЭНФ) описывает структуру инверсной контактной схемы (см. рис. 3.3): Лзэнф = o\bd2f2 v «1^2 V cd{ d2f2 v cdxa2v f\d^d2f2^ f\d\a2. (3.4) Если в формулах ЭНФ и ОЭНФ (3.3) и (3.4) исключить индексы букв, то получим формулы, эквивалентные функциям F и F (3.1) и (3.2). ЭНФ и ОЭНФ содержат всю необходимую информацию для решения любой задачи тестирования контактной схемы. Их недо- статком является громоздкость при большом числе путей. Напри- мер, на рис. 3.4 приведена контактная структура, сложность ЭНФ (число путей) которой растет по закону 2,п. Существует представ- ление РКС, сложность которого растет лишь линейно [24]. Введем отношение совместимости между буквами ЭНФ (кон- тактами). Две буквы а и b называются совместимыми, если они вместе входят хотя бы в одну конъюнкцию ЭНФ. Отношение со- вместимости обозначим знаком «*». Это отношение является реф- лексивным (а * а) и симметричным (а * b => b * а) и задается двоич- ной матрицей совместимости (МС). Строки и столбцы МС соот- ветствуют буквам ЭНФ (контактам). На пересечении строки а и столбца b ставится 1, если буквы а и b совместимы. В табл. 3.1 по- казана МС для схемы (см. рис. 3.1), а в табл. 3.2 — обратная МС (ОМС) для инверсной контактной схемы (см. рис. 3.3). МС в неявном виде задает ЭНФ. Это определяет следующая теорема. Теорема 3.1. Для того чтобы множество букв ЭНФ Л/ = {Я/рЯ/з»... } составляло конъюнкцию ЭНФ ... ,aim необходимо и достаточно выполнение двух условий: 1) буквы ... попарно совместимы; 2) не существует буквы й Л/, которая совместима со всеми буквами из М. 52
Таблица 3.1 ~~ Буква ЭНФ «2 b c *d, d2 /1 fl 1 1 1 [ g3 1 1 1 ь *_ 1 1 1 1 ~~ с 1 i 1 1 d, 1 1 1 d2 i 1 f. 1 i 1 1 h i 1 Таблица 32 ..... Буква ЭНФ ai «2 b 4 dl fl fl to. gi 1 1 1 1 1 * g; 1 1 1 1 1 1 b 1 1 1 1 1 c 1 1 1 1 1 d, 1 1 1 1 1 1 1 1 1 1 1 1 1 fl 1 1 1 1 1 f2 1 1 1 1 1 1 1 Таким образом, задача построения ЭНФ по МС сводится к из- вестной задаче [13] нахождения всех максимальных совместимых подмножеств (МАКСОПОД). Каждой конъюнкции ЭНФ в МС соответствует максимальная полная (заполненная единицами) подматрица. Например, конъюнкции а^с в табл. 3.1 соответ- ствует максимальная полная подматрица, показанная в табл. 3.3. Таблица 3.3 Буква ЭНФ «1 с 7, 1 1 1 с 1 1 1 Л 1 1 1 53
Чтобы найти такую подматрицу, надо включить в множество М строку и затем последовательно включать в это множество строки, которые совместимы со всеми строками, уже включенны- ми в М. Процесс нахождения конъюнкции ЭНФ завершается, ког- да число строк в множестве М окажется равным числу столбцов в этих строках, заполненных единицами. В табл. 3.4 отражен про- цесс нахождения конъюнкции с /j. Таблица 3.4 Буква ЭНФ «1 «2 ь с d, с/2 fl f2 «1 1 1 1 1 с 1 1 1 1 f\ I 1 I 1 Для построения ЭНФ по МС может быть использован любой из известных алгоритмов МАКСОПОД, который упорядочивает процесс формирования конъюнкций [13]. Обозначим через А и В множества букв ЭНФ, совместимых со- ответственно с буквами а и Ь. Введем четыре вида отношений меж- ду буквами ЭНФ (контактами): 1) эквивалентности а = Ь, если А = В; 2) замены а <-> А, если А \ а = В \ Ь; 3) включения по эквивалентности а с Ь, если А с В; 4) включения по замене а —> Ь, если А \ а с В \ Ь. Указанные отношения определяются по МС путем сравнения строк а и Ь. Для табл. 3.1 имеем с ~ f at <r^b;d 2 /2; с а2; Если а = Ьу то буквы а и b совместимы и всегда входят вместе в одну и ту же конъюнкцию ЭНФ, а контакты а и b включены после- довательно и всегда вместе входят в один и тот же путь проводи- мости схемы. Если а <-> Z», то буквы а и b несовместимы и для вся- кой конъюнкции ЭНФ, содержащей букву п, найдется конъюнк- ция, которую можно получить из первой путем замены а на а кон- такты а и b включены параллельно и всегда вместе входят в одно и 54
то же сечение схемы. Если а с Ь, то буквы а и b совместимы и во всех конъюнкциях, которые содержат букву Ь, присутствует и бук- ва а. Если а —> Ь, то буквы а и b несовместимы и для всякой конъ- юнкции ЭНФ, содержащей букву а, найдется конъюнкция, содер- жащая букву b и все буквы, составляющие первую конъюнкцию (кроме а)*а также некоторое множество других букв. С помощью данных отношений вводится самая компактная фор- ма представления параллельно-последовательных контактных схем в виде матрицы отношений (МО) [24]. Матрица отношений пред- ставляет собой таблицу, содержащую три столбцах ил — 1 стро- ку, где п — число контактов (табл. 3.5). В крайних столбцах за- писываются обозначения контактов, а в среднем столбце — от- ношение между ними. Заполнение матрицы начинается с верх- ней строки. Для этого в исходной схеме находится пара контак- тов (любая), включенная последовательно или параллельно, т.е. находящихся в отношении эквивалентности или замены. Это от- ношение записывается в первой строке матрицы. В рассматри- ваемой схеме (см. рис. 3.1) существует отношение aj , кото- рое записано в первой строке табл. 3.5. Таблица 3.5 \ 1 □ “1 —у ь у /2 с 7. а2 d2 'С { у di 51 С L. h { у «2 В последующих строках сверху вниз в любом порядке записы- ваются все другие отношения эквивалентности и замены, существу- ющие в исходной схеме. В схеме (см. рис. 3.1) имеются еще два отношения: d2 <-» /2» с = /р Расположение обозначений контак- тов в левой или правой крайней графе таблицы безразлично. За- тем из исходной схемы исключаются контакты, обозначение кото- 55
рых расположено в правом столбце, в результате чЙго получают упрощенную схему (рис. 3.5, а). В ней возникают новые отноше- ния эквивалентности и замены, которые аналогичным образом записываются в таблицу. В схеме (рис. 3.5, а) имеются отношения а2 ~ di, с d^, которые записаны в четвертой и пятой стро- ках табл. 3.5. Далее аналогично исключаются контакты d^ и j2 (рис. 3.5,6). Процесс построения МО завершается, когда в результате сокращений получают схему, содержащую два контакта (рис. 3.5, в). Отношение между ними записывается в последней строке. МО полностью задает структуру контактной схемы, так как по ней однозначно можно построить данную схему и ее ЭНФ с помощью про- цесса, обратного описанному выше. Построение ЭПФ начинается с нижней строки и при переходе вверх в новую строку в формулу добав- ляется буква, находящаяся в правом столбце. Для табл. 3.5 имеем: ^энф = а1 Vfl2 = a1cva2=al(cvdl)va2 = = al(c\'dl)v a2d2 = «j (сД v) v a2d2 - (3.5) = vd{)va2(d2 v f2) = («! vb) (cfa v vfl2(rf2 v/2) = = a{cj\ va^ v bcj\ vbd{ va2d2 va2f2. Формулы (3.5) и (3.3) совпадают. Рис. 3.5. Этапы сокращения контактной схемы 56
Достоинством МО является то, что размеры ее лишь линейно растут с увеличением числа контактов схемы. Сравним сложность ЭНФ, МС и МО для контактной структуры на рис. 3.4 для т = 10 (я = 20). Будем оценивать сложность числом клеток соответству- ющих таблиц. ЭНФ задается троичной таблицей с числом стол- бцов п и ^числом строк, равным числу конъюнкций. Тогда для схемы рис. 3.4 сложность ЭНФ равна п2т = 20’210 = 20 480. Число клеток МС равно л2, но поскольку МС симметрична относитель- но левой главной диагонали (см. табл. 3.1), в памяти ЭВМ дос- таточно хранить половину матрицы. Тогда сложность МС рав- 1 2 I 1 на “(Л -и) = — и(л — 1) == — *2049 - 190. Сложность МО равна £ £ 3(л - 1) = 3(20 - 1) = 57. Сложность МС и МО в данном случае примерно в 100 и 400 раз меньше, чем сложность ЭНФ. 3.2. Неисправности в контактных схемах В контактных схемах наиболее вероятным является появление в процессе эксплуатации неисправностей следующих видов: обрыв контакта, короткое замыкание контакта, ложное несрабатывание или срабатывание реле, обрыв соединительного провода, дребезг контакта, отклонение временных параметров. В процессе монта- жа могут возникнуть также случаи лишних соединений между про- водами и перепутывания проводов. Неисправности контакта а типа «короткое замыкание» и «об- рыв» обозначим соответственно как п1 и п°. Кратную неисправ- ность нескольких контактов будем обозначать через причем = {Ц и ЯД, где — множество контактов с неисправностью «обрыв»; Hi — множество контактов с неисправностью «короткое замыкание»; i — порядковый номер неисправности. Поскольку каждый контакт может иметь три состояния (исправ- ное и два неисправных), то общее число кратных неисправностей в схеме с л контактами ^л = Зя-1, (3.6) 57
а общее число неисправностей кратности к подсчитывается по формуле Wk = Скп2к , (3.7) где С„ — число сочетаний из п по к. Например, для схемы (см. рис. 3.1) общее число неисправностей равно З8 - 1 = 5660, число одиночных неисправностей — 16, двой- ных — 112 и т.д. Рассмотрим влияние неисправностей на работу контактных схем. Как известно [25], замыкающий контакт реле реализует логи- ческую функцию «повторение», а размыкающий контакт — функ- цию «отрицание». Поэтому возникновение физических неисправ- ностей типа «обрыв» или «короткое замыкание» можно интерпре- тировать как изменение логической функции, реализуемой контак- том. Неисправный контакт реализует функцию «константа 0» (при обрыве) и «константа 1» (при коротком замыкании). По этой при- чине указанные неисправности называют константными логичес- кими неисправностями. Их возникновение, в свою очередь, приводит к тому, что функ- ция алгебры логики (ФАЛ) F* вычисляемая схемой с неисправ- ностью Ар отличается от ФАЛ Fисправной схемы. Например, най- дем функции F* для неисправностей = {oj0) и TV2 ={/2} в схе мс (см. рис. 3.1). Из формулы (3.1) получаем - (0 v b)(cf v d)v (d v f)a = b(cf v d) v (d v f)a; F2 = (d v b)(cf v d)v (d v 1)« = (a v b) (cf v d)a . Нетрудно видеть, что Ff F и F -* F2 . Это означает, что не- исправность типа «обрыв» уменьшает число двоичных наборов, на которых функция равна 1, а неисправность типа «короткое за- мыкание», наоборот, увеличивает их число. Из рассмотренного примера виден смысл введения понятия кон- стантной логической неисправности. Она является математичес- 58
кой моделью физической неисправности. Моделирование заклю- чается в поиске «проекции» неисправности на логическую форму- лу путем фиксации ее букв в 0 или 1. Это относится и к кратным неисправностям. Например, для неисправности третьей кратности ^={Я|°Х,/2’} имеем F3* = (0 v b )(cf v 1) v (J v 1)я = b v а. (3.8) Неисправности типа «ложное включение» или «невключение реле» и большинство обрывов соединительных проводов также мо- гут задаваться моделью константных неисправностей. Например, ложное включение (невключение) реле а в схеме рис. 3.1 описыва- ется неисправностью кратности два {«/,a®} ({<Fi°,«2а обрыв провода между контактом «2 и полюсом 2 — неисправностью } • Лишние провода, перепутывание проводов, а также некоторые обрывы являются «нелогическими» неисправностями в том смыс- ле, что они не могут быть смоделированы фиксацией в 0 или 1 букв логической формулы. Это существенно осложняет способы их обнаружения и локализации. 3.3. Вычисление проверяющих функций для неисправности контактов Сформулируем условия обнаружения одиночной неисправнос- ти контакта. Чтобы обнаружить обрыв некоторого контакта af необходимо и достаточно обеспечить выполнение двух условий: Г) создать хотя бы один путь проводимости схемы, проходя- щий через контакт 2) создать хотя бы одно урезанное сечение схемы, проходящее через контакт а- (т.е. сечение, в котором исключено состояние кон- такта af). Тогда при отсутствии неисправности схема будет замк- нута, а при наличии неисправности — разомкнута. На рис. 3.6 показаны условия обнаружения обрыва контакта 51 в схеме рис. 3.1. При подаче на вход схемы двоичного набора abcdf - 01100 существуют пути Pj и урезанное сечение 59
Рис. 3.6. Условия обнаружения обрыва контакта dj S2 \^i = ba2 - Набор 01100 является разрешенным (F = 1), а при наличии обрыва становится запрещенным (F* = 0). Такой набор называется те- стовым относительно данной неис- правности. Все множество тестовых наборов образует проверяющую фун- кцию неисправности ср(ар). Алгоритм 3.1. (Вычисление про- веряющей функции неисправности типа «обрыв» контакта «9). 1. Выписывается дизъюнкция всех конъюнкций ЭНФ (путей схемы) Ра, содержащих букву Для контакта аг в схеме рис. 3.1 имеем [см. формулу (3.3)]: Ра, = aicfi V a\d . 2. Выписывается дизъюнкция всех урезанных конъюнкций ♦ ___________________________________________ ОЭНФ (сечений) Sa., содержащих букву а{. Для контакта имеем [см. формулу (3.4)]: 5^ = bd2f2 v ba2. 3. Исключаются индексы букв ЭНФ и находится проверяющая функция как произведение: ср(др) = Лг, S*a.. Для неисправности а® имеем: ф(аР ) - («с/ v ad) (bdf v ba) - abcdf v abcf v vabdf vabd = abcf v abd ={10,11,12,14,15}. Таким образом, обрыв контакта аг обнаруживается на пяти те- стовых наборах. Указаны десятичные эквиваленты этих наборов (а — старший разряд). 60
Чтобы обнаружить короткое замыкание некоторого контакта необходимо и достаточно обес- печить выполнение двух условий: 1) создать хотя бы одно сечение схемы, преходящее через контакт 2) создать хотя бы один урезан- ный путь, проходящий через кон- такт а} (т. е. путь, в котором исклю- чено состояние контакта яД Тогда при отсутствии неисправности схе- ма будет разомкнута, а при нали- чии неисправности — замкнута. На рис. 3.7 приведены условия обнаружения короткого замыка- Рис. 3.7. Условия обнаружения короткого замыкания контакта ния контакта в схеме рис. 3.1. При подаче на вход схемы двоич- ного набора abcdf = 11010 существует сечение S] = a fid 2/2 и Уре- занный путь Р2 /ai d\ • Набор 11010 является запрещенным (Г= 0), а при наличии неисправности становится разрешенным (F* = 1). Алгоритм 3.2. (Вычисление проверяющей функции неисправно- сти типа «короткое замыкание» контакта a j ). 1. Выписывается дизъюнкция всех конъюнкций ОЭНФ (сечений) Sa, содержащих букву а}. 2. Выписывается дизъюнкция всех урезанных конъюнкций ЭНФ ♦ (путей) ?а » содержащих букву а-. I 1 3. Исключаются индексы букв ЭНФ и находится проверяющая функция ф(д/ ) = Sai Р*.. Для неисправности (см. рис. 3.1) имеем: - a{bd^ f2 v a^ba2, а = v М/*}) = (abdf v aba) (cf v d) - abdf - {26,30}. Таким 61
образом, короткое замыкание контакта обнаруживается на двух тестовых наборах. Как видно из алгоритмов 3.1 и 3.2, для вычисления проверяю- щих функций неисправностей контактов не требуется знать всю ЭНФ, которая может иметь слишком большие размеры. Достаточ- но знать только те конъюнкции, на которые «проектируется» дан- ная неисправность. Эти конъюнкции могут быть рассчитаны по МС и ОМС (без расчета всей ЭНФ). Для неисправности ар выражение Ра^ находится после сокраще- ния МС (см. табл. 3.1) путем исключения всех строк и столбцов, соот- ветствующих контактам, которые несовместимы с контактом (табл. 3.6). Таблица 3.6 содержит две полные подматрицы: и * a^d. Аналогично выражение находится по сокращенной ОМС (табл. 3.7). Таблица 3.7 содержит две полные подматрицы: ai^2fl и * Таблица 3.6 Буква ЭНФ «1 с А «1 1 1 1 1 с 1 1 1 1 1 1 1 1 Таблица 3.7 Буква ЭНФ а\ а2 ь d2 л 1 1 1 1 1 1 1 ] b 1 1 1 1 1 1 1 1 1 А J 1 1 1 Еще более простой алгоритм вычисления проверяющей функ- ции неисправности контакта существует с использованием матри- 62
Рис. 3.8. Контактная схема Рис. 3.9. Этапы сокращения контактной схемы цы отношений [24]. Обозначение этого контакта должно быть за- писано в клетке левого крайнего столбца последней строки. Например, в табл. 3.8, которая является МО для схемы рис. 3.8, в этой клетке записано обозначение контакта а. Этапы сокраще- ния схемы показаны на рис. 3.9. Таблица 3.8 а ь J' а —— с £ d а Идея алгоритма состоит в следующем. Рассматриваются последняя строка МО и соответствующая ей последняя схема разложения (рис. 3.9, б). Составляется выражение Л состоящее из букв ЭНФ и определяющее условие проверки данной неисправности (знаки инверсий у размыкающих контактов не учитываются). Например, в схеме рис. 3 9, б для неисправности контакта а (обрыва или ко- роткого замыкания) имеем Р = af . Знак инверсии означает, что контакт f должен быть разомкнут, чтобы проверить контакт а. Далее выражение Р строится по индукции. Для этого в схему последовательно добавляется по одному контакту, обозначение которого расположено в правом крайнем столбце следующей стро- 63
ки МО (строки рассматриваются снизу вверх по порядку). Этот контакт соединен последовательно или параллельно с одним из контактов рассмотренной ранее схемы. Обозначение последнего записано в левом крайнем столбце этой же строки. Включение в схему нового контакта влечет за собой определенное изменение выражения Р. При этом возможны три варианта включения. Заме- тим, что выражение Р определяет существование в контактной схе- ме единственного пути проводимости через контакт, неисправность которого рассматривается, и это свойство должно сохраняться. 1. Новый контакт b включен последовательно с контактом а (а = Ь). Если контакт а проверяется, то контакт b должен быть замкнут. Если контакт а не проверяется и он должен быть замкнут, то и кон- такт b должен быть замкнут. Эти два условия записываются в виде конъюнкции ab. Если контакт а не проверяется и он должен быть разомкнут, что определяется наличием знака инверсии д, то в но- вой схеме последовательная цепь из контактов а и Ь должна быть разомкнута. Это условие записывается в виде отрицания конъюнк- ции (т.е. должен быть разомкнут либо контакт а, либо контакт Ь). Таким образом, в данном случае в выражении Р следует заменить букву а на конъюнкцию ab. Например, в четвертой строке табл. 3.8 записано отношение f = d. Поэтому в схему рис. 3.9, б надо включить контакт d (рис. 3.10, а). Выражение Р ~af изменяется следующим образом: Р = afd . Это означает, что для проверки контакта а в схеме рис. 3.10, а необхо- димо разомкнуть либо контакт/, либо контакт d. В третьей стро- ке табл. 3.8 записано отношение а — с. Поэтому в схему рис. 3.10, а надо включить контакт с (см. рис. 3.9, а). Выражение Р принимает вид Р = acfd - Это означает, что для проверки кон- такта а в схеме рис. 3.9, а необ- ходимо замкнуть контакт с и разомкнуть либо контакт /, либо контакт d. a Рис. 3.10. Этапы восстановления контактной схемы 64
2. Новый контакт b включен параллельно с контактом а, кото- рый не проверяется (а Ь}. Если контакт а должен быть замкнут, то в новой схеме параллельная цепь из контактов а и b должна быть замкнута, что записывается в виде дизъюнкции avb. Если контакт а должен быть разомкнут, что определяется наличием знака инверсии о , то и контакт b должен быть разомкнут, что записывается в виде отрицания дизъюнкции avb. Таким обра- зом, в данном случае в выражении Р следует заменить букву а на дизъюнкцию о v 6. Например, во второй строке табл. 3.8 записано отношение f<^>g. Поэтому в схему на рис. 3.9, а надо включить контакт# (см. рис. 3.10, б). Поскольку контакт f не проверяется, то выражение Р принимает вид Р = ac{f v g)d • Это означает, что для проверки контакта а в схеме на рис. 3.10, б необходимо замкнуть контакт с и разомкнуть либо контакт либо контакты/и g. 3. Новый контакт b включен параллельно с контактом а, кото- рый проверяется (а Ь). В этом случае контакт b должен быть разомкнут, что записывается в виде конъюнкции ab . В первой строке табл. 3.8 записано отношение а Ь. Поэтому в схему рис. 3.10, б добавляется контакт b (см. рис. 3.8). Поскольку контакт а проверяется, то выражение Р принимает вид: Р ~ abc{f \/ g)d • Алгоритм 3.3. (Вычисление проверяющей функции контакта по матрице отношений). 1. Р ~ а, где а — обозначение неисправного контакта, записан- ное в левом крайнем столбце последней строки МО. 2. Осуществляется преобразование выражения Р с использова- нием отношений между контактами, начиная с последней строки МО, по следующим правилам: а) если а - Ь, то буква а в выражении Р заменяется конъюнкцией ab\ б) если а <-> b и проверяющая функция вычисляется для контак- та а, то буква а в выражении Р заменяется конъюнкцией ab\ в) если а b и проверяющая функция вычисляется не для кон- такта а, то буква а заменяется в выражении Р дизъюнкцией av Ь. 65
3. Выражение Р приводится к дизъюнктивной нормальной форме. 4. Инвертируются буквы ЭНФ, соответст вующие размыкающим контактам. 5. Если рассматривается неисправность д*, то буква а инверти- руется; если рассматривается неисправность о0, то буква а сохра- няется без изменения. 6. Исключаются индексы букв ЭНФ и в полученном выражении устраняются конъюнкции, тождественно равные нулю. Для иллюстрации алгоритма вычислим проверяющую функцию неисправности д1 по табл. 3.8. 1. Р = а. 2. a) af; б) a fd; в) ас fd; г) ac(f v g)d; д) abc(J v g)d. 3. abed v abefg. 4- abed v abefg. . 5. abed v abefg. 6. ф(д1) = abed v abefg . Пример 3.h ^Вычислить проверяющие функции для неисправ- ностей др и dl в схеме рис. 3.1 по табл. 3.5. 1. Р = Д]Д2. 2. а) Д1Сд2» б) d})a2', в) al(c\/dl)a2d2; г) vdi)a2d2: 66
д) «1(с/| V dx)a2(d2 v fif, е) axb(cfx v dx)a2(d2 v/2). 3. v aihcfid2f2 vaxbdxa2 v axbdxd2f2 4. dxbdfxa2 Xi axbcfxd2f2 v dxbdxd2 vdxbdxd2f2. Для неисправности af*: 5. axbcfxa2 v axbcfxd2f2 v axbdxa2 v axbdxd2f2. 6. abcf v abcdf v abd v abdf = abcf v abd • Для неисправности dx * 5. axbcfxu2 v axbcfxdf2 v axbdxa2 v axbdxd2f2 * 6. abcfa v abcfdf v abda v abdf = abdf . 3.4. Вычисление проверяющих функций для кратных неисправностей Кратную неисправность в контактной схеме будем обозначать через N j = {Gj v Н j}, где G.— множество букв ЭНФ (контактов) с неисправностью типа «константа 0» (обрыв); Hj — множество букв ЭНФ (контактов) с неисправностью типа «константа 1» (ко- роткое замыкание). Одиночные неисправности контактов обнаруживаются либо только йа разрешенных наборах (отказы типа «обрыв»), либо только на запрещенных наборах (отказы типа «короткое замыка- ние»). В отличие от них кратные неисправности могут обнаружи- ваться на тестовых наборах обоих видов. В общем случае имеет место определение. Определение 3.1. Функция фу называется проверяющей неис- правность Nj, если она равна 1 на множестве наборов, на кото- рых функция F, реализуемая исправной схемой, отличается от фун- * кции Fj реализуемой схемой с неисправностью Лу.
Согласно определению 3.1 (fi =F®F* =F-F* vFF*. J J J J Таблица 3.9 № п/п а ь с d f F F3 <Рз № п/п а ь с d f fT Фз 0 0 0 0 0 0 0 1 I 16 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 17 1 0 0 0 1 1 1 0 2 0 0 0 1 0 1 1 0 18 1 0 0 1 0 1 1 0 3 0 0 0 1 1 1 1 0 19 I 0 0 1 1 1 1 0 4 0 0 1 0 0 1 1 0 20 1 0 1 0 0 1 1 0 5 ! 0 0 1 0 1 0 1 1 21 1 0 1 0 1 1 1 0 6 0 0 1 1 0 1 1 0 22 1 0 1 1 0 1 1 / 7 0 0 1 1 1 1 1 0 23 1 0 1 1 1 1 1 1 о 1 8 0 1 0 0 0 0 0 0 24 1 1 0 0 0 1 1 II 9 0 1 0 0 1 0 0 0 25 1 1 0 0 1 1 1 а • 10 0 1 0 1 0 1 0 1 26 1 1 0 1 0 0 1 1 . 11 0 1 0 1 1 1 0 1 I 27 1 1 0 1 1 1 1 0 12 0 1 1 0 0 1 0 1 28 1 1 I 0 0 1 1 0 13 0 1 1 0 1 0 0 0 29 1 1 1 0 1 1 1 0 14 0 1 1 1 0 1 0 1 30 1 1 1 1 0 0 1 1 15 0 1 1 1 1 1 0 1 31 1 1 1 1 1 1 1 0 S Например, для неисправности 7V3 = {«? , /2 } имеем [(tM- фор- мулы (3.1) и (3.8)]: t Фз = F©F3* = a v b)(cf v d)v (d v /)a]@ (b v a) = '[(a v b)(cf v d)v (d v f )a]• b v a v v (a v b )(cf v d)v (d v f)a • (b v a) = = abcf v abd v abdf v abed v abf d = = {0, 1, 5, 10, 11, 12, 14, 15, 26, 30}. Функция ф3 задана в табл. 3.9. Введем обозначения: фу = F • F- и фу = F • Гу . 68
Тогда <Р; =q>“ VC₽₽.. (3.9) функция фу определяет разрешенные наборы, которые в резуль- тате возцикновения неисправности становятся запрещенными (в рас- смотренном примере это наборы 10, 11, 12, 14,15). Функция фу опре- деляет запрещенные наборы, которые в результате возникновения не- исправности становятся разрешенными (0, 1, 5, 26, 30). Очевидно, что =0 и функции фу и фу могут рассчитываться независимо друг от друга. Используя ЭНФ и ОЭНФ, функции ф^ и ф^ рассчитываются по формулам (ЗЛО) (3.11) где p(q) — номер конъюнкции ЭНФ (ОЭНФ); PfiQj) — множество номеров конъюнкций ЭНФ (ОЭНФ), содержащих буквы из множе- ства и не содержащих буквы из множества GJHJ); — функция, реализуемая конъюнкцией ЭНФ (ОЭНФ) с номером p(q) в ’{результате приравнивания единице в ней букв из множества FUG). Рассмотрим неисправность • Ее проекция на ЭНФ (3.3) имеет вид 1 2 3 4 5 6 v djd v bcfi v bdx v «2^2 v ^2/2 • (312) 0 0 1 1 69
Поэтому имеем Р3 = {4, 6}, V Т = bva ре{4,6) Р и согласно формулам (3.10) и (3.2) ф| ~(b vd)(abdf vacd vadf) = -abed v abdf v abdf = {0, 1, 5, 26, 30}. Проекция 7V3 на ОЭНФ (3.4) имеет вид 1 2 3 4 5 6 ч. atbd2f2 '/a{ba2 ved^fa v с^а2 v fidxd2f2 v fid{d2 . (3.13) 1 0 1 0 0 0 0 0 0 Поэтому имеем Q3 = {2}, V T = ba ?e{2} 4 и согласно формулам (3.11) и (3.1) Фз = ba[(a vb)(cf x/d)v(d v /)«]= - abcf abd— П, 12, 14,15}. При вычислении функций фу и (р& нет необходимости предва- рительно вычислять функции F и F. Так как последние задаются ЭНФ и ОЭНФ и, учитывая, что конъюнкции ЭНФ и ОЭНФ попар- но ортогональны, формулы (3.10) и (3.11) можно представить в сле- дующем виде: Ф/ реР. Р (3.14) дев. 70
а — 7" ) ( ^ / ), /4 1^ <Pj <f=Q. 9 ре A. Р (3.15) где — функция, реализуемая конъюнкцией ЭНФ (ОЭНФ) с номером q(p)\ Bj(Aj) — множество номеров конъюнкций ОЭНФ (ЭНФ), содержащих буквы из множества Hj(Gj). Для Неисправности N$ имеем = {1, 3, 4, 5, 6} и Л3 = {1, 2}. Поэтому фР = (b va)(abdf v cda v fda) = -abed v a bd f vabdf = {0, 1, 5, 26, 30}; Фз = ba (acf vab) = ab cf v abd = {Ю, 11, 12, 14, 15}. Нетрудно построить алгоритмы реализации формул (3.14) и (3.15) по матрице совместимости и по матрице отношений. 3.5. Отношения между неисправностями в контактных схемах В табл. 3.10 приведены два вида отношений между неисправностя- ми в контактных схемах. Неисправности 7VZ и Njявляются эквивалент- ными (Ni = Nj), если их проверяющие функции равны. Это означает, что любой тестовый набор, который обнаруживает Nj, обнаруживает и Nj (и наоборот). Поэтому при построении теста одну из этих неисп- равностей можно исключить из списка рассматриваемых. Таблица 3.10 Наименование 1 отношения Обозначение <^зь между проверяющими функциями Эквивалентность Ni = Nj Ф< = Ф/ Включение Ni с Nj ф.->ф, Неисправность находится в отношении включения к неисправ- ности Nj (Nj с Nj), если проверяющая функция фх- находится в отно- шении импликации к функции фу. Это означает, что любой тесто- вый набор, который обнаруживает Nj, обнаруживает и Nj, но об- ратное не имеет место. Поэтому при построении теста неисправ- ность Nj можно исключить из рассмотрения. 71
Исследования показывают, что в реальных схемах число не- исправностей, которые находятся в отношениях эквивалентности и включения очень велико, особенно среди кратных неисправнос- тей. Поэтому сокращение списка рассматриваемых неисправнос- тей является эффективным средством уменьшения вычислений при построении проверяющего теста. Существует связь отношений между контактами с отношения- ми между неисправностями этих контактов (табл. 3.11). Пусть дг. = (д1) и ДГ • - (Z?). Если а Ь, то буквы а и b несовместимы и для всякой конъюнкции ЭНФ, содержащей букву д, найдется конъ- юнкция, которую можно получить из первой путем замены а на Ь. Отсюда следует, что Pf- n Р = Ф и (3.16) Таблица 3.11 Отношение Отношение между контактами между неисправностями а = Ь а0 = Ь° а<г^Ь а1 =Ь' acb а°<=Ьа а—> Ь bl со1 Из (3.10) и (3.16) имеем (pz- = фу, т. е. д1 = Ь^. В этом случае кон- такты а и b включены параллельно и их отказы типа «короткое замыкание» эквивалентны. В схеме на рис. 3.1 имеем ду = р, d2 “ fl- Пусть = (д/), /V2 = (Р)-ТогдаPj= {1,2}, Р2 = {3,4} [см. фор- мулу (3.3)] и V Т = V Т =cfvd ре{1,2} Р ре{3.4} Р ‘ 72
Если а —> Z>, то буквы а и b несовместимы и для всякой конъюн- кции ЭНФ, содержащей букву д, найдется конъюнкция, содержа- щая букву b и все буквы, составляющие первую конъюнкцию (кро- ме а), а также некоторое множество других букв. Отсюда следует, что Pj Р; — Ф и (3.17) Из (3.10) и (3.17) имеем: <р. —> срг, т. е. М сд1. В схеме на рис. 3.1 Пусть N3=(d{), n4 = (с1), тогда Р3={2,4}, Р4={1,3} и реР4 р = af v bf -> = avb. Из соображений двойственности следует: 1) если а = Ь, то д° = 2) если а с Ь, то д° = /А В схеме на рис. 3.1 имеем с = f , d2 с а2 , /2 с а2 • Поэтому с° = /°, d2 с , Л° с а2. Рассмотренные отношения между неисправностями отдельных контактов обобщаются на случай произвольных кратных неис- правностей контактов следующей теоремой [26]. Теорема 3.1, Для того чтобы Nj с N j 9 достаточно одновремен- ного выполнения следующих условий: 1) (VaeG.)(aeG.v(3A>eG.)(a = Z>vacft)). 'аие 2) (Va е Я. )(о е Я. v (Эй е Н. )(а «-> b v Ь -> а)). 3) (Va е G )(Vb ё Я )[((3с е G. )(с = a v с с а) л J J лЧЭ</G Я. )(rf о/>))-> («*«.)]; 4) (Va е G.)(Vb е Н. )[((3с е V )(t н с v J ч с) л ё G. )(d = а)) Z>)]. 73
Доказательство. Так как Ф • = ф“ v ср^ (3.9), то достаточно с/ J J доказать справедливость импликаций ф“ -> ф“ и Ф? -> Ч>Р . (3.18) Достаточно доказать только одну из импликаций (например, вто- рую), так как условия теоремы двойственны относительно ЭНФ и ОЭНФ. Функции рассчитываются по формуле (3.10). Покажем, что (3.19) откуда из (3.10) следует (3.18). Пусть {^1 > ^2 ’ * ^/+1>®к I ’ j 1^1» ^2’ •••’ "> ^/+1» •••» ^к* •••» ) и существуют отношения: Ь{ -» Ь2 —> а2,ab bl+i <г+а1+х,... , Ьк <-> ак. Рассмотрим конъюнкцию xs = Т5Т5 (S 6 7}), где х$ — часть конъюнкции, состоящая из букв a G Нк Чтобы доказать (3.19), надо показать, что (3.20) где Ts —функция, реализуемая конъюнкцией . в ЭНФ существует конъюнкция Ь^ такая, что Пусть = а\а2,...,атама1+2,...,аг,^т<Ц г<Аг.Таккак/^ то на основании свойства этого отношения букв можно утверждать, что . Знак включения здесь означает, что конъюнкция ъ1 является частью конь- У юнкции a2...arTlJ • Пусть = a2a^...azai+l...Ws1 > гДе / < г, 74
xlsn C -Тогдав ЭНФвходит конъюнкция ^а2л3,...,а,а/+|,....лгт S1 ‘ Так как Ь2 —ь а2, то в ЭНФ существует конъюнкция Ь2то такая, что <= b^3,...,azaM,...,ад . Пусть т* с &1«3а4,...,о/а/+1,...,аАт^,/, где f z, h < /, х™ Тогда в ЭНФ входит конъюнкция ^1^2Д3Й4»—'/а/+ь—»лЛт s' • Продолжая аналогичные рассуждения относительно всех букв, связанных отношением b —> д, получаем, что в ЭНФ входит конъюнкция »где^< Цх<к, с Тд - Так как <-> ai+\-> т0 на основании свойства отношения замены можно утверждать, что в ЭНФ существует конъюнкция S • Аналогично, так как bl+2 <^ai+2, - то существует конъюнкция b\b2i...fbvbi+\ ,...,Ьхт$ - Обозначим ее черезт . ✓ */ Покажем теперь, что q G Р-. Для этого достаточно показать, что -Л неисправность Nf не фиксирует в 0 буквы конъюнкции тV. Пред- положим обратное, т.е. что среди букв конъюнкции существу- ет буква bw, которая фиксируется в 0 неисправностью N и, следо- вательно, bw е Gj. Тогда буквы b^ Ь2,... bl+i,... ,bx, входящие в множество Hj, совместимы с буквой bwe Gj. С другой стороны, бук- ва bw не находится в отношении эквивалентности с буквами мно- жества бу, так как с с и 5 g Р. (в противном случае в конъюнкцию ts входила бы буква a g Gz). Таким образом, приня- тое предположение противоречит четвертому условию теоремы. Итак, q g Ph и поэтому имеем Г V т , q р (3.21) где Т — функция, реализуемая конъюнкцией . ч 75
Рис. 3.11. Пример контактной схемы Так как С , то Ts Tqi откуда из (3.21) следует (3.20). Теорема доказана. Рассмотрим две неисправности схемы (рис. 3.11): и N2 = {eV,6/2,- Мат- рица совместимости схемы пока- зана в табл. 3.12, а ее ЭНФ и ОЭНФ имеют вид ТэНФ = а^е\ v adg\ v bcxdex v bcxdgx v c2e2£2 > ^ОЭНФ = abc2 v abe2 v abg2 v a Qc2 v a cie2 v • v a cxg2 v dc2 v de2 v dg2 v c2qgI v exe2g} v . Таблица 3.12 а ь С| с2 d ei е2 gl 82 а 1 1 1 L b 1 1 1 1 1 С1 1 1 1 1 1 С2 1 1 1 d 1 1 1 1 1 1 Cl 1 1 1 1 1 е2 1 1 1 Я1 1 1 1 1 1 1 1 1 .iJJBG Среди букв ЭНФ существуют следующие отношения: b - Ср ё2 =^2 =&2’е1 g\,a^d4b(2d,cx(Ld,exC.d,gx С а-*Ь, а — су Относительно ОЭНФ эти отношения двойственны. Так как для указанных неисправностей /V] и N2 имеем а -* Ь, е1 ** &1 и буквы 6/, ех и g| несовместимы с буквами e2,g2 то усло- вия теоремы 3.1 выполняются. Поэтому Nx С N?. В самом деле, используя формулы (3.10) и (3.11). получаем 76
= cdF -* Ф2 = (d v bcd)F ; ф« = о -* ф ? = dF . Для следующих двух неисправностей условия теоремы 3.1 не выполняются: = {g^, £i} ” N4 = {я0, <<?, е}, gj}. Так как бук- ва совместима с буквой а, то четвертое условие не выполняется и Л 3 Мр В самом деле, ф| = (ad v bcd)F ; Ф4 = bcdF —* Ф3 = (ad v bcd)F ; Фз = (ab v de v d)F фд =(b v c v d)F • Для эквивалентных неисправностей можно сформулировать более простые условия как следствие из теоремы 3.1. Теорема 3.2. Nf = Nj, если 1) (XfG'XatGj y(3btEGj)(a -£>)); 2) ( W,)(a (EHj у (3btEH j)(a ~ b)). Например, эквивалентными являются неисправности N5 = {b°, ё?, g?, el, gj} и N6 = {<-[', eg, ej} . 3.6. Формирование контрольных списков неисправностей контактов В данном пункте рассматриваются методы сокращения списков неисправностей контактов. Такое сокращение является эффектив- ным способом уменьшения объемов вычислений в процедурах, свя- занных с перечислением неисправностей. Определение 3.2. Полным контрольным списком неисправнос- тей контактной схемы называется множество неисправностей, об- наружение которых обеспечивает обнаружение любой одиночной или кратной неисправности контактов. Определение 3.3. Контрольным списком неисправностей крат- ности к называется множество таких неисправностей этой крат- 77
мости, что не существует ни одной неисправности меньшей крат- ности = 1, 2,..., к - i) такой, что С Л^д. Контрольный список неисправностей кратности к будем обо- значать через ЗА Смысл введения этого понятия состоит в том, что если некоторая неисправность Nk £ то она не входит и в пол- ный контрольный список, так как обнаруживается любым прове- ряющим тестом, построенным для неисправностей меньших крат- ностей. Если же неисправность Nk Е то она может быть не об- наружена хотя бы одним таким тестом. Согласно определению 3.3 множество является единственным. Его сложно найти. Более просто находятся некоторые избыточные, но существенно сокращенные списки неисправностей, содержащие в себе указанные множества. Их также будем называть просто кон- трольными списками. Формирование полного контрольного списка начинается с по- строения множества При этом используется связь отношений между контактами с отношениями между их неисправностями в со- ответствии с табл. 3.13. Таблица 3.13 • Отношение между контактами Неисправность, включаемая в X1 а = Ь о°или Ьп а *-*• h или Ь] аСЬ а0 а -* b Ь} Рис 3.12. Контактная схема В схеме, приведенной на рис. 3.12, имеют место следующие отношения: а *-* b, f *-> g, а С с, b С с, а С к, b С к, с С kji С к, h a, h b, h c4f С d, gCd. Поэтому X1 = {л0, A0,/0,g°, А0, A1}. Теперь рассмотрим контрольные списки кратных неисправностей. Бу- дем говорить о неизбыточных схе- мах и неизбыточных неисправнос- тях. Схема является избыточной, 78
если в ней существует хотя бы одна неисправность, у которой про- веряющая функция равна нулю (в этом случае неисправность не обнаруживается). Неисправность кратности к называется неизбы- точной, если между составляющими ее неисправностями меньшей кратности не существуют отношения доминирования. Например, не- исправность cP b° в схеме (см. рис. 3.12) является избыточной, так как составляющая ее неисправность cP Ь® доминирует над состав- ляющей одиночной кратности с1. Поэтому данная неисправность эк- вивалента неисправности кратности четыре cP iPf* г/1. Очевидно, что избыточные неисправности не содержатся в контрольных списках. Теорема 3.2. В неизбыточной контактной схеме У? = Ф и S3 = Ф [24]. Доказательство. Надо показать, что любая неисправность вто- рой и третьей кратности находится в отношении эквивалентности или включения хотя бы с одной одиночной неисправностью. Рас- смотрим сначала неисправности двух контактов, которые могут быть трех видов: (г/° 6°), (л1 Ь1) и (cP 61). Имеют место отношения cP Q (<Р Ь°) и я1 С (я1 61), так как для этих пар неисправностей всегда выполняются, очевидно, условия теоремы 3.1. Если контак- ты а и b совместимы, то условия теоремы 3.1 выполняются для пары неисправностей о0 и (я0 />*), поэтому я0 С (д° Л1). Если контакты а и b несовместимы, то 61 С (я® Ь^). Теперь покажем, что каждая неисправность кратности три на- ходится в отношении эквивалентности или включения хотя бы с одной неисправностью второй кратности, а следовательно, и с оди- ночной неисправностью. Надо рассмотреть неисправности четы- рех видов: (я0 bQ с°), (я1 с*), (cP Ь® с1), Л1 сЦ. Из теоремы 3.1 следует, что (а0 £>°) С с°) и («1 &1) С (я1 Л1 с1). Рассмотрим неисправность (д° 6° с1)- При этом возможны восемь случаев от- ношений между парами контактов, которые представлены в табл. 3.14. Каждый столбец табл. 3.14 соответствует паре контак- тов. Если в столбце, соответствующем контактам а и Ь, записан О, то эти контакты несовместимы; если записана 1, то они совмести- мы. Согласно теореме 3.1 для каждого из восьми случаев устанав- ливается отношение N С (д° с1), где N - (cP с1) или N = (bP с^) (случаи 1 и 5); W = (Л° с1) (2 и 6); N = («° с1) (3 и 7); N = (<Р bG) (4 и 8). Аналогично можно определить соответствующие отношения для неисправности (в0 Л1 с1). Теорема доказана. 79
Таблица 3.14 № п/п ab ас Ьс 1 0 0 0 2 0 0 1 3 0 1 0 4 0 1 1 5 1 0 0 6 1 0 1 7 1 1 0 8 1 1 1 Из теоремы 3.2 следует, что в контактных схемах любой одиноч- ный проверяющий тест обнаруживает все неисправности двух и трех контактов [24]. Это замечательное свойство контактных схем по- зволяет во многих случаях ограничиваться обнаружением только одиночных неисправностей. Данное свойство определяется тем, что при отказах двух или трех контактов невозможен случай, когда условия теоремы 3.1 не выполняются. Но при отказах четыре и более контактов такой слу- чай становится возможным. Теорема 3.3. Для того чтобы в неизбыточной контактной схеме неисправность кратности четырех содержалась в контрольном спис- ке X4, необходимо одновременное выполнение следующих условий: 1) неисправность имеет вид («° с1 г/1); 2) (а*с) л ->(«*</); 3) (b*d) л ->(Ь*с). Доказательство. Рассмотрим пять возможных видов неисправ- ностей кратности четыре: (а® сР)ч (г/° Ь® с° d1), (д° Ь® с1 с^)ч (a® с^ J1), («1 с1 (fl). Из теоремы 3.1 следует, что а® С (cP b® с® cP) и я1 С (я1 Ь[ с1 J1)- Для анализа других видов неисправностей вве- дем двоичный вектор совместимости пар контактов, который име- ет в данном случае шесть разрядов (табл. 3.15). Всего, таким обра- зом, существует 64 случая отношений совместимости между четырь- мя контактами. Рассмотрение всех этих случаев для неисправнос- тей (д° Ь® с® </*) и (а® с1 (fl) показывает, что всегда найдется оди- ночная неисправность, которая находится согласно теореме 3.1 в отношении эквивалентности или включения с данными неисправ- 80
яостями. Анализ неисправности (я0 с1 сГ) показывает, что суще- сгвует восемь двоичных векторов, представленных в табл. 3.15, для которых условия теоремы 3.1 не выполняются. Общим для этих век- торов является то, что каждый контакт из множества G совместим только с одним контактом из множества Н (см. условия 2 и 3 теоре- мы). Теорема доказана. Таблица 3.15 1 ‘•v ab 2 ЯС 3 Ьс 4 ad 5 bd 6 cd 0 0 1 1 0 0 .7. 0 п 0 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 z 1 1 1 1 0 6 0 0 1 1 0 1 Доказанная теорема определяет условия, когда неисправность четырех контактов не обнаруживается любым одиночным тестом. Ее условия являются достаточно жесткими и резко сокращают спи- сок неисправностей кратности четыре, которые необходимо рас- сматривать при построении полного проверяющего теста. В схеме (см. рис. 3.12) всего существует 1120 неисправностей. Из них только 10 удовлетворяют всем условиям теоремы 3. 3: ^={CPcldlJ0,(Pd'j°kl, С1 g0, ао ^1 g0 £1, С1 у0, £>о jl у0 , £0 С1 g0, frO gO д.1 , ^1 yO ifi д.1, gO д0 дЛ } Поясним физический смысл условий теорем 3.2 и 3.3. Предполо- жим, что в контактной схеме присутствует неисправность <г/°. Для ее компенсации (маскировки) необходимо наличие неисправности с1 несовместимого с а контакта (см. рис. 3.13, а). Но поскольку обрат- ной компенсации нет, неисправность кратности два («°C1) обнаружи- вается на наборах, обнаруживающих с1. Поэтому S2 = Ф. Чтобы в данном случае компенсировать с1, необходимо наличие неисправно- сти Ь® совместимого с с контакта b (рис. 3.13, б). Но при этом нет компенсации неисправности и поэтому b® С cfi cl b® (S3 = Ф). Чтобы компенсировать необходимо наличие неисправности d] несовместимого с b контакта d (рис. 3.13, в). Поскольку неисп- 81
равность может быть компенсирована неисправ- ностью получена струк- тура неисправности кратно- сти четыре, которая может компенсировать каждую оди- ночную составляющую ее не- исправность хотя бы на одном проверяющем наборе. Следо- вательно, она может быть не обнаружена хотя бы одним одиночным проверяющим те- стом. Структура полученной неисправности соответствует условиям теоремы 3.3. Другая возможная структура приве- дена на рис. 3.13, г. Результаты, аналогич- ные теореме 3.3, могут быть сформулированы и для не- исправностей кратности пять и более. В общем же случае имеет место следую- Рис. 3.13. Маскировка неисправностей щая теорема [17]. Теорема 3.4. Для того что- бы неизбыточная неисправность Nj кратности к содержалась в конт- рольном списке необходимо выполнение следующих условий: 1) неисправность Nj содержит как составляющую хотя бы одну неисправность кратности четыре, удовлетворяющую условиям теоремы 3.3; 2) -.(3«eG.)(VbG J J 3) —»(3bG Я/)(V«eG;)(Z>*£zv-1(Z>*a)). J J J Доказательство. Докажем сначала необходимость второго и тре- тьего условий. Если существует контакт а е Gj, который совместим (несовместим) со всеми контактами множества Н- то из теоремы 3.4 следует, что efl с Н-, {Ni cz AL где Nj - Gt о Gi= GЛ а, Щ = ЯД 82
и поэтому неисправность А.- е 1г. Аналогично, если существует кон- такт b е Hj, который несовместим (совместим) со всеми контакта- ми множества С., то Л1 £ N? (Ni Q Nj, где <7Г= G-, Hi = Hj\b). Дока- жем теперь необходимость первого условия. Предположим обрат- ное. Пусть неисправность А,-не имеет ни одной составляющей вида atyflcld*. Это возможно только в том случае, если множество Gj (или Hj) Является пустым или одноэлементным. Но при этом, оче- видно, не выполняется третье (второе) условие данной теоремы, которое, как мы уже показали, является необходимым. Получаем противоречие. Пусть теперь неисправность Nj содержит составляющие вида ijO , но для всех них не выполняются условия 2 и 3 теоремы 3.3. Пусть Nj = (fl|°«2 — ^2 ) и контактиз всех контактов мно- жества Hj совместим с наименьшим числом контактов множества Gj (среди контактов Hj нет такого, который несовместим со всеми контактами множества Gj согласно третьему условию теоремы). Обозначим через б|с (б1н) множество контактов из Gj, которые совместимы (несовместимы) с контактом by Рассмотрим некото- рый контакт br е Нj(re {2,3,...,л}) и покажем, что Glcc Grs. Пред- положим обратное, что не выполняется это включение. Это зна- чит, что существуют контакты а„и as (р, 5 е {1,2,... Л}) такие, что аРе Glc>apt Grt.nase Glc,ase GrcСледовательноap£ GlH,ape Gne as e C'| H, as £ Gnl и для неисправности apa^i^r условия 2 и 3 теоре- мы 3.3 выполняются, что противоречит посылке. Итак, с Grc. Отсюда следует, так как контакт Ьг выбран произвольно, что кон- такты множества совместимы со всеми контактами множества Hj, что противоречит второму условию теоремы. Поэтому неисправ- ность Nj содержит хотя бы одну составляющую вида cP b® с1 cfl, для которой выполняются условия теоремы 3.3. Теорема доказана. Из условий теоремы 3.4 может быть определена структура не- исправностей кратности к(к > 4), которые включаются в список 1К Найдем, например, такую структуру для к = 5. Согласно усло- вию 1 теоремы 3.4 неисправность кратности пять должна содер- жать составляющую (п° с1 г/1). Следовательно, это могут быть неисправности только двух видов: Z>° с1 d* fi и cP b^ с1 /*. 83
Теорема 3.5. Для того чтобы неизбыточная неисправность крат- ности пять содержалась в контрольном списке S5, необходимо од- новременное выполнение следующих условий: 1) неисправность имеет вид b® с1 d^P или 2) составляющая неисправность cP bG с1 г/1 удовлетворяет усло- виям теоремы 3.3; 3) [(/ *с) л -’(/*</)] v [(/*«) Л -(/*/>)] - Используя доказанные теоремы, найдем множества 2 5 и для схемы рис. 3.12 путем наращивания неисправностей из списка 27 : 25= {<7°с1 г/17° A1, cPd^ Р Ip к^,сР Р dlg0^1,cPlPd^g®k], cPd^ g® Ip k\ b® J1 P /РA'1, b® c1 d^ g®k\b® с1 r/1/0 A1, b®d^ g® iPk^}; 1P = pfl/Pk^, cPP r/1 g® lPk\ b® P r/1 g® lPk\ b®P d^f^lPk^}. Контрольные списки 2 7 и S8 являются пустыми. Итоговые резуль- таты вычислений приведены в табл. 3.16. Таблица 3.16 Кратность неисправности Общее число неисправностей Число неисправностей в контрольном списке Процент 1 16 10 62 2 112 “ 3 448 4 1120 10 0,8 5 1792 10 0,5 6 1792 4 0,2 7 1024 — 8 256 — Всего 6560 34 0,5 Данные табл. 3.16 показывают эффективность применения тео- рем 3.1—3.5 для сокращения списка неисправностей. При построе- нии полного теста схемы рис. 3.12 достаточно рассмотреть только 34 неисправности из общего их числа — 6560 или 0,5%. Естественная методика вычисления полного проверяющего те- ста заключается в следующем. Сначала строится тест, проверяю- щий неисправности кратности один (одиночный тест). Конт- рольный список S1 находится в соответствии с табл. 3.13. Затем с помощью теоремы 3.3 находится множество S4 и тест расширяется (если это необходимо) с учетом проверки неисправностей кратно- сти четыре. Далее с использованием теоремы 3 4 данная процеду- 84
ра осуществляется по отношению к неисправностям кратности пять, шесть и т.д. При этом возникают два интересных с теоретической и важных с практической точек зрения вопроса: , 1) существует ли связь между контрольными списками неис- правностей кратностей к и к+к позволяющая упростить процесс построения контрольных списков; 2) когда процесс формирования полного контрольного списка можно завершать, т.е. при каких условиях контрольные списки не- исправностей кратности к и более оказываются пустыми. Определенный ответ на первый вопрос дает теорема 3.4, из ко- торой вытекает следующий вывод: контрольный список неисправ- ности кратности к (к > 4) может быть получен путем «наращива- ния» неисправностей из контрольного списка неисправностей кратнос- ти четыре в соответствии с условиями 2 и 3 теоремы 3.4. Последний является некоторой основой для всех контрольных списков. Найдем общие ответы на поставленные вопросы. Рассмотрим произвольную неизбыточную неисправность кратности к\ Nk js'' r + s ". Введем в рассмотрение a Доставляющую кратности два (q®, ), где l Е {1,2,л 6 {1,2,... ,s} и два соответствующих ей вектора совместимости (табл. 3.17). В первом столбце табл. 3.17 с обозначением /. q: проставлена Ч Jn 1(0), если контакты /• и q, совместимы (несовместимы). Во вто- Ч J п ром столбце с обозначением G^ , где G'k = Gk \ , проставлена 1(0), если контакт Д совместим (несовместим) со всеми контакта- ми из множества G'k . В третьем столбце с обозначением q j Н, где ^к~Ик \fi > проставлена 1(0), если контакт совместим (не- совместим) со всеми контактами из множества Н* . Введем в рас- 85
z fl fl Л A смотрение также составляющую кратности четыре кJim Я}n Я j ), где г,т G {1,2,... ,г}, п,р G {1,2,... л} и шесть соответст вующих ей векторов совместимости (табл. 3.18). В табл. 3.18 используются обозначения: Gk = Gkи Нк=Нк\{^,Лт}. Таблица 3.17 № п/п XG’k J п л 1 1 0 0 2 0 1 1 Таблица 3.18 № п/п А fi<hF Ха f,G"k X G"k q, Щ 9,Л" 1 j 0 0 1 1 1 0 0 2 0 1 1 0 0 0 1 1 3 1 0 0 1 0 0 0 0 4 1 0 0 1 0 1 0 1 5 0 1 1 0 1 0 1 0 6 0 1 1 0 1 1 1 I i Теорема 3.6. Для того чтобы неизбыточная неисправность _ ( Д 0 0 0 \ Nfr " V-//ц ••• Jt Яj4j —Я! ) кратности к (к - г + 5 > 4) содержалась в контрольном списке 2Л и не порождалась из неисправностей кон- трольного списка lA-1, необходимо одновременное выполнение сле- дующих условий: 1)г 2) неисправность Nk содержит составляющих кратности че- //1 /1 Ло о ч „л тыре \Ji J; Я; Яj ) из контрольного списка 5?*, удовлетворяю- i in J р щих векторам совместимости, заданным табл. 3.18; 3) если число к не кратно числу четыре, то неисправность 86
Z £ 1 О \ содержит составляющую кратности два Ц. ), удовлетворяю- щую векторам совместимости, заданным Табл. 3.17. Доказательство теоремы приведено в [17]. Из нее следует, что неисправности из S* разбиваются на две группы: группу неисправностей, которые порождаются путем «наращивания» из неисправностей списка т/-1 в соответствии с условиями теоремы 3.4, и группу неисправностей, которые удовлетворя- ют условиям теоремы 3.6. Обозначим эти две группы соответ- ственно sf и . Непосредственно из теоремы 3.6 вытекают следующие ре- зультаты. Следствие 3.1. Если число к нечетно, то Е* - Ф. Следствие 3.2. Если число к кратно числу четыре, то все неис- правности из множества порождаются из неисправностей мно- жества S*”4 путем добавления в качестве составляющих неисправ- ностей из списка S4 в соответствии с условием 2 теоремы 3.6. По- этому £* = Ф ’ если ^2 4 = Ф * Следствие 3 3. Если число к четно, но не кратно числу четыре, то все неисправности из множества 2 5 порождаются из неисправ- ностей списка 2 путем добавления в качестве составляющих неисправностей кратности два в соответствии с условием 3 теоре- мы 3.6. Поэтому ^2 *= Ф , если Е*-2 = Ф • Завершение процесса формирования полного контрольного списка неисправностей определяет следующая теорема, непосред- ственно вытекающая из указанных следствий. Теорема 3.7. Если в неизбыточной контактной схеме конт- рольный список неисправностей кратности к является пустым и число к кратно числу четыре, то являются пустыми и все конт- рольные списки неисправностей кратности больше к. 87
Алгоритм 3.4. (Формирование полного контрольного списка неисправностей контактной схемы.) 1. Формируется множество X1. 2. С помощью теоремы 3.3 формируется множество X4. 3. к = 4. 4. Является ли число к кратным числу четыре? Если да, то пере- ходим к п. 5. Если нет, то переходим к п. 6. 5. Х^ - Ф ? Если да, то переход к п. 13. Если нет, то переходим к п. 6. Ь.к = к+ 1. 7. Формируется множество X* из множества ^*-1 с помощью теоремы 3.4. 8. Является ли число к кратным числу четыре? Если да, то пере- ходим к п. 9. Если нет, то переходим к п. 10. 9. Формируется множество Х2 из множества 2^ 4 с помощью теоремы 3.6. Переходим к п. 12. 10. Является ли число к кратным числу два? Если да, то перехо- дим к п. 11. Если нет, то переходим к п. 12. 11. Формируется множество Х2 из множества Х2“2 с помощью теоремы 3.6. к к к _ 12. Формируется множество X = Xj uX2 . Переходим к п. 4. 13. Конец. Рис. 3.14. Схема, содержащая 16 кон- тактов 88
В табл. 3.19 приведены результаты применения алгоритма 3.4 к схеме, представленной на рис. 3.14 и содержащей 16 контактов. В ней контрольные списки при к > 10 являются пустыми. Полный контрольный список схемы содержит 957 неисправностей, что со- ставляет 0,0022% от общего числа неисправностей. Главный вывод, вытекающий из результатов данного пункта, состоит в*том, что одиночные тесты имеют высокую обнаружива- ющую способность. Во-первых, они обнаруживают все неисправ- ности двух и трех контактов. Во-вторых, с увеличением кратности резко уменьшается процент неисправностей, которые могут быть не обнаружены одиночным тестом или тестом, построенным для неисправностей меньших кратностей. Поэтому в практических при- ложениях для контроля контактных схем часто ограничиваются по- строением одиночных тестов. Два метода построения одиночного теста рассматривается в следующем пункте. 1W. Таблица 3.19 g Кратность неисправности Общее число неис- правностей данной кратности Число неисправностей контрольного списка Процент Г 1 32 23 71,8 ?- 4 29 120 108 0,3 h 5 139 776 208 0,143 6 512512 244 0,047 7 1 464 320 240 0,016 8 3 294 720 142 0,0043 9 5 857 280 32 0,00055 1-16 3" - 1 = 43 046 720 957 0,0022 3.7. Методы построения одиночных тестов контактных схем Минимальный одиночный тест контактной схемы строится пу- тем перечисления всех неисправностей списка X1 по следующему алгоритму. Алгоритм 3.5. (Построение одиночного проверяющего теста.) 1. Определить множество X1 с иа юльзованием отношений табл. 3.13. 2. Для каждой неисправности из X1 вычислить проверяющую фун- кцию с помощью формул (3.10)-(3.15) или с помощью алгоритма 3.3. 3. Составить таблицу покрытия и найти минимальный тест. 89
Рис. 3.15. Схема из примера 3.2 Пример 3.2, Построить одиночный прове- ряющий тест для схемы рис. 3.15. Множество Е1 ={а' , с1, Ь12, а°, Ь?, с°, Л’} Эквивалентные формы схемы имеют вид ^ЭНФ ~ ас v v ^lc v ^1^1 v b2^2» ЛээНФ = ab\b2 v ablb2 v Сб/1б/2 v c^2 • Используя формулы (3.14) и (3.15), получаем ф(л!) - (cvd)(abd) = abed = {15}; <р(с') = (a vb)(cdb) = bed = {0,8}; <p(^) = b(abd) = abd = {13,15}; Ф(Л|) = d(e d b) = bed = {0,8}; ф(а°) = bd(acvad) = abd = {5,7}; ф(/>1°) = (ab v ad)(bcv bd) = abevabd = {9,10,11}; ф(с°) = db(acv be) = abed v bed = {2,10}; ф(г/®) = (cd v cb)(ad v bd) = bcd = {1,9}; ф(^2°) = (abvcd)(bd) = abd v bed = {4,12,14}, Решение задачи покрытия можно находить раздельно для запре- щенных наборов (табл. 3.20) и для разрешенных наборов (табл. 3.21). Таблица 3.20 Входной набор 0 8 13 15 а1 с1 -4- ~р S) — 4- 90
В таблицах находится минимальное множество столбцов, в ко- торых стоит хотя бы одна метка в каждой строке. Минимальный проверяющий тест Т = {0, 2, 5, 9, 12, 15}. Таблица 3.21 Входной набор 1 2 4 5 7 9 10 11 12 14 — о г + 4* о + + + с° + + а,0 + + 4- 4* Второй метод называется методом путей и сечений и дает мини- мизированный тест (близкий к минимальному, но не обязательно минимальный). Метод не требует рассмотрения каждой неисправ- ности из списка X1, а рассматривает некоторые множества путей и сечений, содержащие все контакты схемы. Согласно алгоритмам 3.1 и 3.2 двоичный набор, который со- здает в схеме путь через контакты ... ,aik, обнаруживает обрывы тех контактов, для которых на данном наборе существуют урезанные сечения. Поэтому при построении минимизированного теста находятся неортогональные выражения ai ai,... ai. Т1 т2 - Хк; (3.22) 1 X Л \ \ ... \ 8, 82 ... 8г, (3.23) где а,- а^,... — некоторая конъюнкция ЭНФ (ОЭНФ); т1,т2» —>4 (51,б2,—,5Г) — конъюнкции ОЭНФ (ЭНФ), содержащие соответственно буквы (^ , bir) и в которых эти буквы приравнены единице. 91
Алгоритм 3.6. (Метод путей и сечений для неисправностей типа «обрыв».) 1. Составляется множество контактов схемы А = {яр а^,... ,о1И}. 2. Находится неортогональная конъюнкция ЭНФ, содержащая наибольшее число букв из множества А. 3. Для этой конъюнкции находится выражение (3.22). 4. В тест включается один из наборов, задаваемых выражением (3.22). 5. Из множества А исключаются контакты, неисправности ко- торых обнаруживаются этим набором. 6. Множество А является пустым? Если нет, то переходим к п. 2. Если да, то переходим к п. 7. 7. Конец. Аналогично формулируется алгоритм построения теста для не- исправностей типа «короткое замыкание». Пример 3.3. Построить методом путей и сечений тест для схемы рис. 3.1. Ее ЭНФ и ОЭНФ представлены формулами (3.3) и (3.4). Выбираем путь с наибольшим числом контактов a^cfi и находим выражение (3.22): (dlcfl)(ba2)(dld2)(dld2)=abcdf = {12}. В тест включаем набор 12, который обнаруживает неисправности . Формируем новое множество А = [a2fbtd1,d2,f2 }• Выбираем путь bd{ и для него находим (^J1)(a1 ^2/2)(сб/2Л) = abcdf ~{№}. В тест включаем набор 18, который обнаруживает неисправности £°, • Новое множество А = {а2,d2,f2 }• Для путей а2 d2 и а2 fl получаем(о2 d2) (^1#) (аф /2) = abd f = {24, 28} и(о2 /2) (a[b d ) = abdf = {27, 31}. В тест включаем наборы 24 и 27, кото- рые обнаруживают неисправности соответственно а2 , J2 и ^2°-Та- ким образом, найдены разрешенные наборы теста {12, 18, 24, 27}. Теперь рассматриваем конъюнкции ОЭНФ и для них находим выражения (3.23). Выбираем конъюнкцию с наибольшим числом букв a\bd2f2 и находим (й^(72/2 )(б71)(б?1)(«2)(«2) = {26, 30}. 92
В тест включаем набор 26, который обнаруживает неисправности а/, ^1, j J, fl. Формируем новое множество Д = } • Для конъюнкций cJj«2 и /1ЛД2 имеем(c^i«2Х^1ЛХ«1 )(^2)= " cd f- ={0,8} и kf{d\d2)(bc) - abcdf ={4}. В тест включаем наборы 0 и 4, которые обнаруживают неисправности соответственно c^d},^11 Д1. Итак, получен проверяющий тест схемы рис. 3.1: Т= {0, 4, 12, 18,24, 26, 27}.
Глава 4 ДИАГНОСТИРОВАНИЕ ЛОГИЧЕСКИХ СХЕМ НА ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТАХ 4.1. Модели неисправностей логических схем Методы и процедуры контроля исправности логических схем, построенных на функциональных элементах, более сложны по срав- нению с контактными схемами, хотя идеи их контроля общие. Это определяется большим разнообразием элементной базы в микро- электронной технике и большим разнообразием видов неисправ- ностей. Существует также большое разнообразие методов тести- рования [4, 5, 20, 34, 40, 42]. Для функциональных схем различают три понятия: неисправ- ность, ошибка и отказ. Неисправность (fault) есть физический де- фект, который происходит внутри аппаратуры, или брак про- граммной компоненты. Примерами являются обрывы проводни- ков, короткие замыкания между ними, повреждения полупровод- никовых приборов, временные задержки элементов и др. В про- граммном обеспечении — это неправильное написание симво- лов программ программистом, зацикливание программ и т.п. Ошибка (error) есть проявление неисправности на каких-либо линиях схемы, в шинах или регистрах микропроцессорной сис- темы. Примером ошибки является ложная замена логического сигнала 0 на сигнал 1 (или наоборот) на некоторой линии схе- мы, которая непосредственно не связана с выходом неисправно- го элемента. Отказ (failure) происходит при нарушении некото- рой функции, которую должна выполнять схема. Отказ возни- кает вследствие ошибки на выходе схемы. Например, это может быть невключение или ложное включение какого-либо объекта. Рис. 4.1. Причинно-следственная связь меж- ду неисправностью, ошибкой и отказом Причинно-следственную связь между неисправнос- тью, ошибкой и отказом иллюстрирует рис. 4.1. Та- ким образом, неисправнос- ти возникают в физической (аппаратной) и программ- 94
ной средах, ошибки касаются информационной среды, а отказы связаны с внешней средой, с которой работает данная система. ; Принципиальное значение при построении алгоритмов диаг- ностирования имеют модели неисправностей. Модель неисправ- ностей есть абстрактное представление некоторого множества физических дефектов и повреждений, которые могут иметь мес- то в аппаратуре. Модели должны быть удобны для использова- ния и покрывать в идеале 100% неисправностей, чего, конечно, на практике не бывает. Свойства моделей зависят от пяти ос- новных характеристик, которые служат для описания неисправ- ностей. К ним относятся (рис. 4.2): причина, природа, длитель- ность, влияние, значение. Существует четыре главных причины возникновения неисправ- ностей: ошибки спецификаций, допущенные при проектировании; ошибки производства; дефекты компонентов и внешние возмуще- ния. По природе неисправности бывают в аппаратных средствах (аналоговых и цифровых) и в программных средствах. Длитель- ность характеризует время действия. Постоянные неисправности сохраняют свое действие неограниченное время. Временные — могут появляться и исчезать на короткие промежутки времени. Сбои (перемежающие неисправности) появляются, исчезают и сно- ва появляются периодически. Влияние неисправностей может быть местное и глобальное. Например, отказы питающей установки имеют глобальное влия- ние на всю систему. Неисправности могут сохранять определенное значение в течение всего времени своего существования. Но суще- ствуют неисправности с неопределенным значением, которое из- меняется в течение некоторого времени. Примером являются неис- правности аппаратных средств, которые приводят к возникнове- нию колебательных процессов в схеме. В этом случае на линиях схемы логический сигнал может изменяться периодически между значениями 0 и 1. Рассмотрим основные распространенные модели неисправностей. Наиболее эффективной и простой является модель логической констан- тной неисправности (stuck fault model). Ее определяют три допуще- ния: 1) повреждение логического модуля эквивалентно по своему дей- ствию постоянной фиксации на его входах и выходах логических сиг- 95
Причина Ошибки спецификаций Дефекты компонентов Ошибки производства Внешние возмущения Характеристики неисправностей Длительность Постоянная Сбой Временная Значение Определенное Неопределенное Природа Влияние Аппаратные Программные средства средства I I Местное Глобальное Аналоговые Цифровые Рис. 4.2. Характеристики неисправностей
налов 0 или 1; такие фиксации называются соответственно «констан- та 0» (stuck-at-O) и «константа 1» (stuck-at-1); 2) логическая функция, реализуемая модулем, не изменяется в результате возникновения не- исправности; 3) неисправность является постоянной. Первое допущение поясним на примере элемента ИЛИ-HE, по- казанною на рис. 4.3. Обрыв резистора R[ в его схеме эквивален- тен по своему действию постоянному соединению входа а с логи- ческим 0 («землей»). Это допущение упрощает процессы анализа схем и генерации тестов, так как позволяет ограничиться рассмот- рением только неисправностей линий схемы. В большинстве слу- чаев применения данной модели предполагается также наличие не более одной неисправности. Тогда в схеме, которая имеет л линий, возможно 2/? одиночных неисправностей. Такое число неисправ- ностей практически может быть исследовано, хотя для больших схем и эта оценка велика. Второе допущение также очень важно для константных неис- правностей. Для нашего примера (см. рис. 4.3) оно говорит о том, что неисправный элемент продолжает работать как элемент ИЛИ- НЕ, а не превращается, например, в схему «Сложение по модулю 2» или в схему с памятью (триггер). Если же в результате повреж- Рнс. 4.3. Пример логической константной неисправности 97
дения логика элемента изменяется, то, как правило, не выполняет- ся и первое допущение, а задача обнаружения неисправностей су- щественно усложняется. Третье допущение существенно упрощает модель, снимая трудности, которые возникают при обнаружении временных и перемежающихся отказов. Эффективность модели определяется покрытием неисправностей. Го- ворят, что данная модель покрывает данную физическую неисправ- ность, если последняя обнаруживается тестом, построенным для дан- ной модели. Тесты для константных моделей обладают высоким покрытием неисправностей. В зависимости от технологии изготов- ления логических схем это покрытие составляет 80-95%. Однако в микроэлектронных схемах с высокой степенью интеграции существу- ют классы неисправностей, которые не описываются константными моделями. Рассмотрим наиболее распространенные такие модели. Установлено, что вход-выходное поведение неисправных логи- ческих схем, выполненных по МОП- и КМОП-технологиям, не может быть всегда точно описано моделью константных неисправ- ностей. В этом случае применяется модель транзистора как про- стого идеального переключателя (по аналогии с контактом в кон- тактных схемах). Данная модель предполагает, что повреждения транзисторов могут быть двух видов (как у контактов): постоян- ное размыкание (stuck-open fault) и постоянное замыкание (stuck- short fault). В дальнейшем эти неисправности будем называть «об- рыв» и «замыкание» транзистора. На рис. 4.4 представлен элемент ИЛИ-HE, выполненный по КМОП-технологии. Он состоит из двух р-канальных МОП-транзи- сторов VI и V2, включенных последовательно, и двух «-канальных транзисторов V3 и V4, включенных параллельно. Если а = b = 0, то оба транзистора VI и V2 открыты, а оба транзистора V3 и V4 закрыты. В результате выход элемента F изолируется от земли и соединяется с полюсом питания +(/. На выходе F присутствует ло- гический сигнал 1. Если на одном из входов а или b (или на обоих) имеется сигнал 1, то соответствующий транзистор VI или V2 (или оба) закрывает- ся, а один из транзисторов V3 или V4 (или оба) открывается. В ре- зультате выход F изолируется от полюса +С/и подключается к зем- ле; на нем устанавливается сигнал 0. 98
Рис. 4.4 Элементы ИЛИ-НЕ а ь F р? 0 0 1 1 0 1 0 I 1 0 0 0 Z 0 0 0 Рассмотрим неисправность типа «обрыв» транзистора V1. Если а = b = 0, то транзисторы V1 и V2 открыты в исправной схеме, но закрыты в неисправной схеме. Транзисторы V3 и V4 закрыты в обеих схемах. Таким образом, выход F равен 1 в исправной схеме и «плавает», т.е. имеет неопределенное значение (не соединен ни с полюсом +С7, ни с землей) в неисправной схеме. Это значение обо- значается как Z. На рис. 4.4, б в столбце F' показано поведение неисправного элемента. В реальных КМОП-схемах узел F будет иметь некоторую паразитную емкость, заряд которой определяет- ся предыдущим состоянием элемента. Чтобы обнаружить данную неисправность, надо сигнал Z заменить на сигнал 0. При этом по- ведение неисправной схемы будет отличаться от повёДения исправ- ной (в первой строке на рис. 4.4, б). Для этого перед подачей векто- ра ab = 00 подается вектор ab = 10, который устанавливает в неис- правной схеме на выходе F сигнал 0, обеспечивая разряд емкости узла Ена землю. Полный тест содержит два вектора 10 —* 00, кото- рые вызывают изменение сигнала на выходе 0 -* 1 в исправной схеме и 0 0 в неисправной схеме. Алгоритмы генерации тестов должны формировать эти пары векторов. Таким образом, в этом случае неисправная схема обладает некоторой памятью, т. е. нару- шается второе допущение для константных неисправностей. 99
Аналогично не описывается моделью константных неисправно- стей повреждение типа «замыкание» транзистора. Рассмотрим та- кое повреждение транзистора VI в схеме (см. рис. 4.4). На входном наборе ab = 10 получаем состояние схемы: VI замкнут, V2 и V3 открыты. В результате создается короткая цепь между питающи- ми полюсами схемы и возникает большой ток (показан штриховой линией). Этот ток (в зарубежной литературе он обозначается как IDDQ — ток) по величине в несколько раз больше, чем нормаль- ный ток покоя КМОП-схемы. Измеряя ток, можно обнаруживать данную неисправность, Iddq - тестирование позволяет обнаружи- вать многие виды неисправностей в КМОП-схемах, которые не по- крываются моделью константных неисправностей. Отметим еще два вида распространенных неисправностей, не являющихся константными. Большую долю повреждений в совре- менных микроэлектронных схемах с высокой степенью интеграции составляют короткие замыкания между линиями схемы (рис. 4.5, а) или мостиковые неисправности (bridging fault). При изготовле- нии печатных плат и интегральных схем их доля может соста- вить 50-60%. Эти неисправности изменяют логическую функцию, реализуемую схемой. Логическое моделирование короткого за- мыкания линий осуществляется с помощью элемента И (рис 4.5, б), если сигнал «логический 0» доминирует в схеме над сигналом «ло- гическая 1», или с помощью элемента ИЛИ (рис. 4.5, в) в против- ном случае. Вопросы обнаружения коротких замыканий рас- смотрены в п. 4.4. Важной областью тестирования является в настоящее время обнаружение временных неисправностей. Это связано с тем, что с увеличением быстродействия время переключения транзисторных схем становится соизмеримым с временем распространения элект- рических сигналов в монтажных проводах и дорожках печатных плат. Поэтому временные отклонения с большой вероятностью могут нарушать правильную работу логических схем. Рассматри- ваются две модели временных задержек (delay fault) — эго задерж- ки элемента (gate delay fault) и задержки пути (path delay fault). Методам их обнаружения посвящен п. 4.6. 100
a б Рис 4.5. Моделирование короткого замыкания 4.2. Тесты логических элементов Логический элемент (ЛЭ) представляет собой устройство (рис. 4.6), имеющее п входов и один выход, на котором реализуется некото- рая функция алгебры логики F(x). Дефект внутренней структуры элемента приводит к тому, что на его выходе вместо функции F(x) реализуется функция неисправности Да). Тест проверки ЛЭ дол- жен определить, какую из функций [F(x) или Да*)] реализует элемент. Число и вид функций неисправности определяется внутренней структурой ЛЭ. Анализ не- исправностей и построение теста ЛЭ выполняют при помощи ТФН. Рассмотрим процесс построения те- ста на примере ЛЭ на транзисторе, реа- Г(х) Рис. 4.6. Логический элемент 101
лизующем функцию ИЛИ-HE (см. рис. 4.3). Структура элемента содержит резисторы R4-R4 и транзистор V. Рассмотрим обрывы резисторов (короткие замыкания резисторов маловероятны), обрыв и короткое замыкание перехода эмиттер - коллектор (Э—К) транзи- стора (обрывы и короткие замыкания переходов эмиттер—база и база—коллектор в конечном счете приводят к указанным неисправ- ностям перехода Э—К). Рассмотрим только одиночные повреждения деталей, хотя в данном случае тест, построенный для одиночных по- вреждений, будет обнаруживать и любую их совокупность. К одиноч- ным повреждениям (неисправностям) относятся: - N4 — соответ- ственно обрывы резисторов R] - R4; N$ — короткое замыкание пере- хода Э—К транзистора; — обрыв перехода Э— К транзистора; Nj - Ng — соответственно обрывы базы, эмиттера, коллектора транзистора. В табл. 4.1 представлена ТФН для рассматриваемого элемента. Таблица 4.1 № п/п Входной набор р ф5 гнкции неисправности /2 /з1 La _JL /7 J 1 /8 A При внесенной неисправности а Ъ N„ N, № w, 0 0 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 1 1 1 2 1 0 0 I 0 0 0 0 1 1 1 1 3 1 1 0 0 0 0 0 0 1 1 1 1 Таблица 4.2 № n/n Входной набор Функции неисправности fi h /* При внесенной неисправности a b N, n2 w1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 2 1 0 0 1 0 0 1 3 1 1 0 0 0 0 1 Функции неисправностей определяются моделированием рабо- ты элемента с внесенным дефектом. Например, при обрыве резис- тора R] элемент ИЛИ-HE превращается в элемент НЕ с входом b и поэтому/j = £ и т.д. Во многих ЛЭ имеются детали, повреждение которых не изменяет логическую функцию элемента. Их использу- 102
ют в цепях стабилизации параметров или обеспечения помехоус- тойчивости элементов. В элементе ИЛИ-HE к таким деталям отно- сится резистор R4 в цепи смещения. Обрыв этого резистора не вли- яет на правильную работу элемента или при определенных усло- виях приводит к короткому замыканию перехода Э—К транзисто- ра. Повреждение таких деталей не обнаруживается логическими тестами, <1 требуется проведение специальных испытаний элемен- тов. Поэтому соответствующие неисправности исключаются из ТФН. Кроме того, в любом ЛЭ большое число неисправностей яв- ляются эквивалентными. В ТФН они имеют одинаково заполнен- ные столбцы. В табл. 4.1 образуем два класса эквивалентных неис- правностей ДГ° ={W3,W5} и № ={^Л7Л8Л9}, в результате чего получаем сжатую ТФН элемента (табл. 4.2), в которой все столб- цы попарно различимы. В таблице в качестве проверок выступают входные двоичные наборы, которым в крайнем левом столбце со- поставлены десятичные эквиваленты. В табл. 4.3 приведена пост- роенная по табл. 4.2 таблица покрытий, по которой получаем, что проверяющий тест элемента Тп = {0,1,2} = {ab,ab,ab}. (4.1) Из выражения (4.1) следует, что двухвходовой элемент ИЛИ- НЕ проверяется тремя входными наборами. Первый набор ab °б- наруживает все дефекты, приводящие к появлению на выходе эле- мента сигнала 0 вместо сигнала 1 (отказ типа 1 —> 0). Второй набор ab обнаруживает дефект второго входа Ь, а третий набор ab — дефект первого входа а. Все дефекты, из-за которых на выходе эле- мента появляется сигнал 1 вместо сигнала 0 (отказ типа 0 —> 1), обнаруживаются на втором или третьем наборе. Таблица 4.3 n2 № № 0 X 1 X X 2 X X 3 X 103
Данная структура теста (а также и структура сокращенной ТФН) характерна для любого из элементов простого базиса, к которым относятся элементы И, ИЛИ, НЕ, ИЛИ-HE, И-НЕ. Для них длина теста L = л + 1 (где п равно числу входов элемента), причем п набо- ров используется для проверки каждого из входов, а один набор — для обнаружения отказов, при которых на выходе эле- мента устанавливается постоянный сигнал 0 или 1. Ниже приведе- ны тесты для элементов простого базиса, имеющих два входа, на которые подаются переменные а и Ь. Элемент И ИЛИ И-НЕ ИЛИ-НЕ Проверяющий тест Тп = {ab,ab,ab} Тп = {аЬ>аЬ,аЬ} Тп = {ab,ab,ab} Тп = {dbyab,ab} Для проверки элемента НЕ, на вход которого подается перемен- ная а, необходимо подать два набора: а и а . Для элементов И и И-НЕ с п входами (см. рис. 4.6) структура теста имеет вид Тп Х]Х2-гЗ—хп’ *1*2Х3— ••• Х|Л'2-..Л'Г_]Л'/Х/+|...ХЛ ,Х]Х2...Хн-2Л*/7-1ЛЛ’ х1х2‘"хл-1хл )• Для элементов ИЛИ и ИЛИ-HE тест имеет следующую структуру: Тп {-^1^2",xw» Х|Х2-\3***хл * х1х2х3'**хл» Хр2х3х4,,,хп» ** п »•••> х1^2 Неисправности, приведенные в табл. 4.1, относятся к классу константных неисправностей. Такие неисправности можно ин- терпретировать как фиксацию в константу (нуль или единица) сигнала на входе или выходе ЛЭ. Например, обрыв входа эле- мента ИЛИ-HE (см. рис. 4.3) соответствует фиксации на нем ну- левого сигнала, обрыв перехода Э—К транзистора — фиксации на выходе элемента единичного сигнала и т.д. В общем случае 104
элемент с п входами может иметь 2и + 2 константные неисправ- ности, так как каждые вход и выход могут быть зафиксированы как в нуль, так и в единицу. На схемах константные неисправно- сти обозначают в виде кружков, расположенных около соответ- ствующих входов и выходов (рис. 4.7). Верхние кружки соответ- ствуют неисправностям «константа I» (К.1), а нижние — неисп- равностям «константа О» (К.0). Как правило, ЛЭ имеет только один вид неисправности на вхо- де. В элементе ИЛИ-HE (см. рис. 4.3) обрывы входов соответству- ют неисправностям вида К.0; дефектов же, соответствующих неис- правностям вида К.1, в элементе нет. В элементе И-НЕ (рис. 4.8) обрывы входных диодов соответствуют неисправностям К.1, а не- исправности входов вида К.О отсутствуют. Однако указание пол- ного множества константных неисправностей позволяет абстраги- роваться от конкретной внутренней структуры элемента и полу- чить свойства, связанные с контролепригодностью, для каждого ЛЭ, реализующего определенную функцию, независимо от его внут- ренней структуры. Для ЛЭ можно выделить классы эквивалентных неисправно- стей, которые показаны на рис. 4.9 в виде графов, нанесенных на изображения элементов, Эквивалентные неисправности со- единены прямыми линиями. Рассмотрим, например, элемент ИЛИ. В класс эквивалентных неисправностей входят неисправно- сти 1, 3 и 5, соответствующие не- исправностям вида К. 1 входов и выхода элемента. Очевидно, что если на каком-либо входе зафик- сировать сигнал 1, то такой же сигнал фиксируется и на выходе Х2 О K.I о к.0 о KI о ко О К.1 о ко Г=х(Л', Рис. 4.7. Обозначение констант- ных неисправностей Рис. 4 8. Схема элемента И-НЕ 105
Рис. 4.9. Классы эквивалентных неисправностей для логических элементов элемента. При этом по выходу элемента невозможно определить, где имеет место неисправность — на каком входе или выходе. Для этих неисправностей равны между Собой функции неисправности ( /j = /3 = /5 = 1) и проверяющие функции (^ = <р3 = <р5 = ). При построении проверяющего и диагностического тестов для схе- мы, в структуру которой входит элемент, от класса эквивалентных неисправностей рассматривается только один ее представитель. Среди константных неисправностей выделяются также импликант- ные неисправности [10], Неисправность N{ находится в отношении им- пликации к неисправности (обозначается: Nj -* Nj), если на тех вход- ных наборах, на которых равна 1 проверяющая функция неисправнос- ти Nj($)j), равна также 1 и проверяющая функция неисправности Л^(фу). Тогда (pz -* еру. Отношения импликации указываются на изображениях элементов в виде стрелок, направленных от N{ к Nj. На рис. 4.10 показа- ны отношения импликации, существующие в ЛЭ простого базиса. Отношение импликации введено для упрощения процесса построе- ния проверяющего теста. Если Nt- -> Nj, то при вычислении Тп можно рассматривать только Nj, при этом обеспечивается обнаружение и не- исправности Nj. Рассмотрим, например, элемент ИЛИ. Для него суще- ствуют два отношения импликации: 4 -* 2 и 6 -* 2. В табл. 4.4 приведе- ны функции неисправности. Вычислим проверяющие функции: 106
Рис. 4.10. Импликантные неисправности в логических элементах qp2 = F © /2 “ ab v ab v ab; Ф4=Г@/4=д6; ф6 =F®f6 = ab. Таблица 4.4 Входной набор У? Функции неисправности а b А „ А 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 1 1 Имеют место соотношения: <р4 ф? и <р6 -> ф2- Рассмотрим от- ношение 4 —* 2. При построении Тп по условию обнаружения неис- правности 4 в тест включается набор ab . Так как ф4 —* ф2, то этот набор входит в состав проверяющей функции ф? для неисправнос- ти 2. Поэтому рассмотрение неисправности 4 обеспечивает обна- ружение неисправности 2, и последнюю можно не учитывать в про- цессе вычисления теста. Д ля константных неисправностей функция, реализуемая неисправным элементом, может быть получена из функции исправного элемента фик- сацией в 0 или 1 ее переменных. Например, для элемента ИЛИ-НЕ (см. рис. 4.3) функция неисправностиД для случая обрыва резистора R| /j = (а = 0) v b = 0 v b = Ь. 107
4.3. Методы построения тестов для комбинационных схем В данном пункте рассматриваются вопросы синтеза тестов для константных неисправностей. Такие тесты обеспечивают также об- наружение значительного числа неисправностей другого типа, ко- торые в п. 4.1 определены как неконстантные неисправности. 4.3.1. Метод таблицы функций неисправностей Для построения проверяющего теста вычерчивается схема с указанием всех логических элементов и связей между ними. Запи- сывается реализуемая схемой функция в виде формулы, отража- ющей структуру схемы. Комбинационная схема (рис. 4.11) реали- зует функцию F = (« v b)c v ab. (4.2) На схеме указываются неисправности компонент. Под компо- нентами схемы понимают входы и выходы элементов и входы схе- мы. Если выход элемента или входы схемы соединены со входом только одного элемента или только с одним выходом схемы, то это соединение рассматривается как одна компонента. Если в схе- ме имеется точка разветвления, то в качестве компонент выступают как точка разветвления, так и все ветви разветвления. Для каждой компоненты указывают две константные неисправности К.0 и К.1. Рассматриваемая схема имеет 12 компонент и 24 неисправности. Для каждого логического элемента наносится граф эквивалент- ных неисправностей и указываются отношения импликации меж- ду неисправностями, в результате чего устанавливаются отноше- ния между неисправностями для всей схемы. Неисправности нуме- руются, причем среди эквивалентных неисправностей нумеруют только одну, ближе всех расположенную к выходу (для нее наибо- лее просто вычислить проверяющую функцию); все неисправнос- ти, к которым направлены дуги, не нумеруются; если хотя бы к одной из эквивалентных неисправностей направлена дуга, то ни одну из них не нумеруют. В результате данной операции сокраща- ют список неисправностей, которые необходимо рассматривать при построении проверяющего теста. Пронумерованные неисправнос- 108
ИЛИ I Рис 4.11. Комбинационная схема ти образуют контрольное множество неисправностей Ек. В дан- ной схеме пронумеровано 11 неисправностей, в то время как ис- ходное множество содержит 24 неисправности. Составляется ТФИ (табл. 4.5), в которую включаются все неис- правности из множества Ек. Функции неисправности рассчитыва- ются двумя способами. Первый из них предусматривает внесение рассматриваемой неисправности в схему и определение функции, реализуемой этой схемой. Например, неисправность 4 фиксирует на выходе элемента ИЛИ1 сигнал К. 1. На рис. 4.12 приведена неисп- равная комбинационная схема, по структуре которой определена функция неисправности f - с v ab . Второй способ заключается в проецирова- нии неисправностей на фор- мулу, отражающую структу- ру схем. Так указанная неис- правность связана с элемен- том ИЛИ1, который реали- зует входящую в формулу (4.2) скобку (a v b )• Следо- гэон. Рис. 4.12. Неисправная комбинационная схема 109
вательно, для получения функцииД необходимо в формуле (4.2) данную скобку зафиксировать в единицу. Тогда получим /4 ~ v Ь) - 1]с v ab = с v ab. По ТФН при помощи метода, изложенного в п. 1.4, вычисляет- ся проверяющий тест Т1Г Кроме того, так как в данном случае объек- том исследования является логическая структура, то при вычисле- нии могут быть использованы следующие формулы: 4.3, 4.4. Таблица 4.5 № п/п Входной набор F Функция неисправности а ь с fl h /4 л А /7 А fa /10 /11 0 0 0 0 0 0 б 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2 0 I 0 1 I 1 1 1 1 1 0 1 1 1 0 3 0 1 1 0 0 1 0 0 1 0 0 I 0 0 0 4 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 5 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 6 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 7 1 ! I 1 1 0 1 1 1 1 i 1 1 0 1 0 Примечание. Функции неисправностейи Т-Д- соответствуют неисп- равностям 1,2, 3 и т.д. Проверяющая функция для /-Й неисправности Ф,=ГФ/;. (43) По табл. 4.5 получаем (функции записаны в виде дизъюнкций номеров двоичных входных наборов): Ф1=7; Ф2 = 3; Фз = 5; ф4 = 0; ф7 = 2; <plo=Ov5; Ф5 = Зу5; (p8 = 0v3; фl|=2v7. Фб - 4; ф9 = 4 v 7; Проверяющий тест Тп =Ф1Ф2--Фп» (4-4) где п — число неисправностей. 110
ft- МЧ В рассматриваемом случае Р Тп = ф, -ф2 -фз -ф4 -ф5 -ф6 -ф7 ф8-ф9 -Фю ф| 1 = = 7-3-5-0(3v5)-4-2-(0v3)(4v7X0v5)(2v7)= (4.5) = 0-2-3-4-5-7- Выражение (4.5) означает, что в проверяющий тест входят вход- ные наборы с номерами 0, 2, 3, 4, 5, 7. При построении диагностического теста Тд составляется диаг- ностическое множество неисправностей Ед. С этой целью на схеме для каждого логического элемента наносится граф эквивалентных неисправностей (рис. 4.13), после чего осуществляется нумерация неисправностей. Для примера множество Ед содержит 14 неисправ- ностей. Составляется ТФН, в которую включаются все неисправно- сти из множества Ед (табл. 4.6). Для каждой пары неисправностей с номерами / и J вычисляется различающая функция <Pij fj (4.6) Рис. 4.13. Классы эквивалентных неисправностей в комбинационной схеме 111
По табл. 4.6 получаем <Р12 =0vlv2v3v4v5v6v7; cpl 3 =0vlv2v3v4v5; Ф2,з = 6 v 7 и т.д. Диагностические тесты вычисляются по формулам тл - ч>1.2 ; (4 7) Тд - Тп ‘Фи ’Ф1.3-Ф/.у -фя-|.л- (4-8) В данном случае Tn = Т*. = Т?. Таблица 4.7 представляет со- бой словарь неисправностей. Таблица 4 6 № п/п Входной набор р Функция неисправности а ь с 71 fz 6 fl fj ft, Л А f> fw fll fl2 fl? /1-L 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 0 I 1 0 0 1 1 1 1 1 1 0 1 1 1 0 3 0 1 1 0 1 0 0 0 0 1 I 0 0 0 1 0 0 0 4 1 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 5 1 0 1 0 ] 0 0 0 0 1 0 1 0 0 0 0 1 0 6 1 1 0 1 1 0 1 1 1 1 1 i 1 1 1 I 1 I 7 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 0 Таблица 4.7 № n/n Входной набор p Функция неисправности a b c fl A A A A A f7 /в fv fio fll flZ /13 fl 4 0 0 0 0 0 1 0 0 0 i 0 0 0 0 0 1 0 1 0 2 0 1 0 1 1 0 0 1 i 1 1 1 1 0 1 1 1 0 3 0 1 1... 0 0 0 0 0 1 1 0 0 0 1 0 0 0 4 1 0 0 1 i 0 0 1 1 1 1 1 0 1 1 0 1 1 5 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 7 1 1 1 1 .1 0 1 0 1 1 1 1 1 1 1 0 1 Ш 112
к 4.3.2. Метод существенных путей Недостаток ТФН состоит в ее больших размерах. Это опреде- ляется тем, что ТФН описывает схему целиком и увеличение числа элементов схемы пропорционально увеличивает число столбцов таблицы. Для хранения ТФН требуется большой объем памяти ЭВМ. и Поэтому для больших схем используются методы, в кото- рых анализ схем производится по частям. При этом применяются так называемые локальные алгоритмы. Локальный алгоритм не требует вычисления функций, реализуемых всей схемой или ее подсхемой, а работает только с информацией, харак- теризующей элементы схемы. При этом сама схема задается структур- ным способом, а именно списком элементов, указанием типа элемента и связей элемента с другими элементами (net-list). Алгоритм обрабатыва- ет каждый элемент отдельно (локально) и все элементы последователь- но, начиная с элементов первого ранга или уровня, входы которых со- единены только со входами схемы, и кончая выходным элементом. При помощи локального алгоритма решается частная задача — является ли данный входной набор X проверяющим для задан- ной константной неисправности линии i схемы (неисправность , а = 0 или I). Путем многократного применения локального алгоритма для каждой неисправности вычисляется проверяющая функция. По множеству проверяющих функций определяются про- веряющий и диагностический тесты. Рассмотрим схему, приведенную на рис. 4.14. Схема задается следующим списком: 61. ИЛИ; а, 6, G3; G2: И; л, b, G5, G6; G3: ИЛИ; Gl, с; G7\ 68: ИЛИ; G7, G5; F. Линии схемы нумеруются. Каждая линия указывается парой элементов, которые она связывает. Например, линия 1 — (и, 61); линия 10 —(6L 64); линия 19 — (68, Л)и т.д. 113
1 ранг 2 ранг 3 ранг 4 ранг 5 ранг Рис. 4.14. Ранжированная комбинационная схема Входы а, Ьу с и выход F рассматриваются как элементы схемы. Для описания работы ЛЭ составляются сжатые таблицы истин- ности, которые представлены на рис. 4.15. Символ х в таблицах имеет смысл безразличного значения (х = 0 или 1). Каждая строка таблицы называется кубом. Например, в таблице элемента ИЛИ куб 1x1 имеет смысл: если на одном входе элемента ИЛИ имеется сигнал 1, то независимо от значения сигнала на втором входе сиг- нал на выходе равен 1. Каждый логический элемент характеризуется также определен- ными условиями передачи (трансляции) на выход ошибок сигна- лов на входах. Так, у элемента ИЛИ (рис. 4.16) входная ошибка транслируется на выход при условии, что на втором входе имеет- ся сигнал 0. Ошибки типа 1 —> 0 и 0 -*1 обозначают соответствен- но символами D и D . Условия трансляции ошибок через элемент ИЛИ задаются табл. 4.8. Строка таблицы называется D-Kj’6aw. Каждый D-куб задает одно из возможных условий трансляции ошибки. Например, куб D0D означает: если на одном входе имеется ошибка 0 -* 1, а на другом — сигнал 0, то на выходе име- ется ошибка 0 -» 1. 114
Рис. 4.15. Таблицы истинности логических элементов Условия отсутствия транс- ляции ошибок задаются тупи- ковыми D-кубами. Для элемен- та ИЛИ они представлены в табл. 4.9. Расширение значений символа х (х G{(), 1, D, D }) по- Рис. 4.16. Трансляция входных ошибок зволяет уменьшить размеры указанных таблиц. Так, первые четыре D-куба табл. 4.9 покрыва- ются кубами xl 1 и 1x1. Объединение сжатой таблицы истинности и таблиц, задающих условия трансляции ошибок, дает таблицу ЛЭ, содержащую всю необходимую информацию для решения диагно- стических задач. Такие таблицы, приведенные на рис. 4.17, назы- ваются таблицами D-кубов [20]. 115
Таблица 48 *1 ^2 У D 0 D 0 D D D 0 D 0 D D D D D 1 II 1 1 1 1 1 D D D Таблица 4 9 *2 У D 1 1 D 1 D 1 1 1 D i D D i D D i Локальный алгоритм, позволяющий находить проверяющие на- боры, строится с использованием D-кубов. Алгоритм удовлетворяет также следующему требованию: при его реализации на /-м шаге дос- таточно использовать результаты вычислений на (i - I )-шаге. Поэто- му не требуется хранить результаты вычислений всех предыдущих шагов. Это позволяет обрабатывать схемы большой размерности. 116
I F Для того чтобы на входном наборе X обнаруживалась неис- правность «р (а = 0,1), необходимо и достаточно выполнение двух условий А1 и А2. Условие А1 заключается в следующем. Данная неисправность должна проявиться на линии i. Это значит, что если на линии i су- ществует неисправность К.0 (К. 1), то на наборе X в исправной схе- ме на линии i должен присутствовать сигнал I (сигнал 0). Данное условие обеспечивается исходной фиксацией сигналов в схеме, которая состоит в приписывании входным линиям схемы значений сигналов в соответствии с входным набором X, а также в {Приписывании линии / символа D, если на линии i есть неисправ- ность К.0, и символа D при неисправности К. 1. Пусть надо определить, является ли входной набор abc =110 проверяющим относительно неисправности К.0 на линии 16 схе- мы рис. 4.14. В этом случае исходная фиксация сигналов равна {д = 1,6 = 1,с = 0, 16 = D}. Условие А2 состоит в следующем. Должен существовать хотя бы один путь от линии / до выходной линии F, такой, что для всех элементов этого пути выполняются условия трансляции ошибки, вызванной неисправностью nf. Это означает, что сигнал на выходе неисправной схемы будет отличаться от сигнала исправной схемы и, следовательно, ошибка будет обнаружена. Такой путь называется су- щественным; говорят, что он активизирован на входном наборе X. Для проверки условия А2 используется специальная операция однозначного распространения (ОР) над элемент ами/-го ранга. При этом элементы схемы ранжируются. Схема на рис. 4.14 имеет 5 уровней. Операция ОР заключается в приписывании символа из множе- ства {0, 1, D3 D } на выходе каждого элемента у-го уровня по изве- стным символам на входах этого элемента. Выполнение операции ОР начинается с элементов первого уровня и осуществляется в со- ответствии с таблицами D-кубов. Исходная фиксация сигналов называется противоречивой от- носительно набора X, если в результате выполнения операции ОР на линии i с символом D (или D ) появится сигнал 0 (или 1). Это означает, что условие А1 не выполняется и данный набор не явля- ется проверяющим. 117
Операция OP называется результативной, если исходная фикса- ция chi налов не является противоречивой относительно набора X и если выходной линии оказывается приписан символ D или D в результате применения операции ОР. Это означает, что условие А2 выполняется и набор X является проверяющим. Применим операцию ОР д ля указанного выше случая. На вход схе- мы (см. рис. 4.14) подается набор abc = 110. Ситалы на линиях схемы указаны в кружках. Исходная фиксация сигналов не является противо- речивой, так как на линии 16 присутствует сигнал 1. Операция ОР явля- ется результативной, так как выходу схемы (выходу элемента G8) при- писан символ D. На наборе abc =110 активизирован существенный путь 16 17-18 19. На выходе F вместо сигнала 0 появляется сигнал 1. На рис. 4.18 приведен пример применения нерезультативной операции ОР. Определим, является ли набор abc = 001 проверяю- щим относительно неисправности К.1 на линии 6. В данном случае исходная фиксация не является противоречивой, так как в исправ- ной схеме на линии 6 формируется сигнал 0. Однако выходной ли- нии в результате применения операции ОР приписано значение 1. Это обозначает, что на наборе 001 нет активизации существенных путей, и данная неисправность не обнаруживается. На выходном элементе G8 имеем тупиковый D-куб: D D 1. На рис. 4.19 приведен алгоритм выполнения операции ОР. Рис. 4.18. Пример применения операции однозначного распространения 118
Рис. 4.19. Алгоритм выполнения операции ОР 119
4.3.3. D-алгоритм Недостаток метода существенных путей состоит в необходимос- ти перебора вариантов при поиске проверяющих входных наборов. Другой подход состоит в «конструировании» проверяющего набо- ра по структуре схемы без анализа ее работы на входных наборах. Наряду с понятиями сжатого куба и D-куба вводится понятие D-куба неисправности элемента, который образуется из тестовых наборов: приписыванием выходу ЛЭ сигнала D, если на тестовом наборе на выходе имеется изменение сигнала 1—* 0, и приписыва- нием сигнала D, если имеется изменение сигнала 0 -* 1. D-кубы неисправности приведены на рис. 4.20. Они определяют условие проявления неисправности элемента указанием сигналов на вхо- дах элемента. Например, D-куб неисправности элемента ИЛИ об- разуется из тестовых наборов (00, 10, 01) приписыванием набору 00 сигнала D , так как обнаружение неисправностей на этом набо- ре связано с изменением сигнала на выходе элемента вида 0 -* 1, а также приписыванием наборам 10 и 01 сигналов D, так как обна- ружение неисправностей на них связано с изменением сигнала на выходе элемента вида 1 -* 0. В комбинационной схеме (рис. 4.21) рассмотрим неисправность К.0 на выходе элемента 6-п®. Установим, что номера линий схе- мы совпадают с номерами элементов, с выходами которых связа- ны линии, а также, что номера входных линий схемы совпадают с номерами входных переменных. Припишем линии 6 символ D, 120
8 Рис. 4.21. Пример комбинационной схемы поскольку неисправность п® проявляется путем изменения сигна- ла 1 -* 0. D-куб неисправности 2 3 6 ? «------- 6 0 0 D указывает, что для проявления неисправности п® на линии 6 на линиях 2 и 3 должны присутствовать сигналы 0. D-алгоритм состоит из двух этапов [45]: 1) D-продвижение; 2) обратное доопределение. На первом этапе осуществляется «продвижение» символа D на выход схемы, т.е. создается хотя бы один существенный для неис- правности D-путь. Для этого рассматриваются все возможные пути 121
от места неисправности до выхода схемы. В данном случае надо рассмотреть два пути: 6-9-12-14 и 6-10-13-14. Записывается расширенный D-куб неисправности. При этом предполагается, что все координаты, кроме уже определенных в основном кубе, равны х: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ^6— xOOxxDxxxx х х х х Задача D-алгоритма заключается в том, чтобы в соответствии с логикой схемы заменить неопределенные координаты х на симво- лы из множества {0,1, D, D} так, чтобы выходная линия схемы имела символ D или D . Вводится операция D-пересечения (обозначается символом Г1) над элементами из множества{0,1,х, D,D} - Пусть д,Ле {0,1, х, D, D}. Тогда операция D-пересечения задается следующими равенствами: 1) а П а - а (совпадение сигналов); 2) а П х = а (доопределение сигнала); 3) а Г|/> - 0, если д *Ь, аФх и Ь*х- Символ 0 означает, что пересечение является пустым (или про- тиворечивым). Операция D-пересечения над кубами и tj состоит в примене- нии операции D-пересечения над одинаковыми координатами век- торов Пересечение ^-П tj является пустым (противоречивым), J J если хотя бы одна координата вектора tj равна 0. Рассмотрим путь 6-9-12-14 и определим, является ли он существен- ным для неисправности п®. Определим условия, когда символ D мо- жет появиться на линии 9 (см. рис. 4.21). Эти условия определяются указанием значений сигналов на линиях 1, 2, 3, 6, 9. Находятся не- пустые пересечения D-куба неисправности и всех D-кубов элемента 9. Последний является элементом ИЛИ-HE и имеет шесть D-кубов: 122
№ £ 6 9 1 D 0 D 2 0 D D 3D ° p 4 0 D D 5/D D D 6 D D D Вектор пересечения куба t6 и D-куба элемента 9 № 1 имеет вид 12369 12369 12369 /6.9=/бГ1£= jOODx П DxxOD = D OO0D Пересечение является пустым, т.к. координата 6 = 0. Это означа- ет, что существует противоречие: на линии 6 должен быть сигнал D (по условию куба и в то же время—сигнал 0 (по условию куба /9 ). Пустыми являются также пересечения куба г6 и D-кубов с номе- рами 2, 3, 5. Два куба пересечения не являются пустыми: 123 6 9 1 2 3 6 9 ?6>9 = 000D D ’ *6’9 = D0 0 D D Куб имеет для входной линии 1 значение D. Однако входная линия должна быть определена как 0 или 1. Поэтому выполняется замена у входных линий символа D на символ 0 (так как D = 1 —> 0), а символа D на символ 1 (так как D = 0 —> 1). После такой замены куб совпадает с кубом /59. В результате существует один куб 6,9 - 123 6 9 GOOD D .который определяет следующее условие транс- ляции неисправности на выход элемента 9: на линиях 1, 2 и 3 должен быть сигнал 0. 123
Далее осуществляется описанная процедура последовательно для всех элементов рассматриваемого пути вплоть до выходного элемента схемы. В данном случае рассматривается элемент 12, при этом находятся непустые пересечения полученного выше куба /6 g и D-кубов элемента 12: ,2_ _ _ 1 2 3 6 8 9 12 ,5 ____ 1 2 3 6 8 9 12 * A О 10 _» * A Q 1О _ — — ” j ~ ” О О О D О D D ’ ’ О О О D D D D Затем находятся непустые пересечения данных кубов и D-кубов элемента 14. В результате определяются четыре непустых куба, которые определяют условия, при которых неисправность транс- лируется на выход схемы по существенному пути 6-9-12-14: 1234567 8 9 10 11 12 13 14 Zi = О О О D О D D О D /2 = 0 0 0 D О D DDD /3 = 0 0 0 D D D D О D /4 = 0 0 0 D D D DDD W В результате выполнения первого этапа D-алгоритма определя- ются значения некоторых входных переменных. Значения остальных входных переменных находятся при выполнении второго этапа D-ал- горитма — обратного доопределения. В рассматриваемом случае тре- буется вычислить значение только одной входной переменной л'4. Процедура доопределения начинается с выходного элемента, а затем рассматриваются последовательно элементы с убывающими номерами, выходам которых приписаны 0 или 1. При этом реша- ется следующая задача. По известному сигналу на выходе элемен- та (0 или 1) определяются сигналы на входах элемента (если они не определены). Для этого выполняется операция D-пересечения по- лученных в результате выполнения первого этапа D-алгоритма D-кубов со сжатыми кубами таблицы истинности элемента. Если получено непустое D-пересечение, то оно определяет входной на- бор, проверяющий данную неисправность. Представим сжатую таблицу истинности для элемента И ЛИ-НЕ в следующем виде. 124
Таблица 4.10 Название куба > Входы Выход 1 2 £ ? 0 0 1 F g X 1 0 Ь 1 X 0 f Рассмотрим полученный выше куб Zj 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ООО D О D DOd В данном кубе выход и входы выходного элемента схемы 14 определены. Поэтому рассматриваем элемент 13. На его выходе должен быть установлен сигнал 0. Для нахождения значений сиг- налов на входах элемента 13 (линии 10 и 11) определяем D-nepe- сечения куба с сжатыми кубами элемента 13. Получаем два не- пустых пересечения П 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 'd ISu- ООО D 0 D х 1 D 0 D ’ , п„2 1 2 3 4 5 fi м 519 - о о о 6 7 8 9 10 11 12 13 14 D 0 D 1 х D 0 D ' Далее находим непустые пересечения полученных кубов со сжа- тыми кубами элемента 11 и т.д. В результате получаем куб Q П gi3 П П#8 Dgy = _ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 “00011D00DX1D0D’ который определяет входной набор = 0001, проверяющий неисправность п® . При этом активизируется D-путь 6-9-12-14. 125
D-алгоритм обеспечивает нахождение хотя бы одного проверя- ющего набора, если он существует. При рассмотрении всех возмож- ных цепочек непустых пересечений вычисляются все проверяющие наборы и формируется проверяющая функция. 4.3.4. Метод эквивалентной нормальной формы В данном методе для исходной схемы строится ей эквивалент- ная двухуровневая схема, которая описывается специальной фор- мулой, получившей название «эквивалентная нормальная форма» (ЭНФ). Метод ЭНФ является аналогом метода путей и сечений для релейно-контактных схем, который описан в п. 3.7. ЭНФ реализу- ет ту же логическую функцию, что и исходная схема, а также отра- жает особенности ее внутренней структуры. Каждая неисправность исходной схемы при помощи определенных правил «проецирует- ся» на ЭНФ, при этом находится множество неисправностей ЭНФ, эквивалентное рассматриваемой неисправности исходной схемы. Вычисление функции неисправности проводится не для исходной схемы, а для схемы, описываемой ЭНФ. Рассмотрим метод построения ЭНФ [39] на примере схемы с разветвлением, приведенной на рис. 4.22. Логические элементы обозначены цифрами и разделены по уровням. К уровню 1 отно- сится выходной элемент схемы, к уровню 2 — элементы, выходы 4 уровень 3 уровень 2 уровень 1 уровень Рис. 4.22. Комбинационная схема с разветвлениями 126
которых соединены со входами элемента 2 уровня и т.д. Рассмат- риваемая схема содержит 6 элементов которые разделены на 4 уров- ня. Внутренние линии схемы обозначены буквами т, п, И, к, g. ЭНФ находится путем серии последовательных подстановок, ко- торая начинается с выходного элемента схемы. Выход элемента оп- ределяется через входы с указанием индекса, соответствующего это му элементу: F = (лт)1 Далее в полученном выражении переменные, отвечающие вы- ходам элементов 2 уровня, определяются через входы аналогич- ным образом: F-((a vfc)2(A)3)i. Описанный процесс продолжается до тех пор, пока не будут рассмотрены элементы последнего уровня. В рассматриваемом слу- чае осуществляются еще два этапа подстановок: F = ((« v(bc)5)2((* vg)4)3)1; F = ((« V (6c)5)2((b v с)^ v (<7 V «)б)4)3)1 • В полученном выражении раскрываются скобки при сохране- нии индексов элементов: F = «2,1^5,43,1 V Й2,1С5,4,3,1 v я 2,1^6,43,1 v v Д2,1Я6,4,3,1 v ^5,2,1 с5,2,1^5,4,3,1 v ^5,2,1 с5,2,1 ^5,4,3,1 v (4.9) v b5,2,1 c5,2,1^6,43,1 v ^5,2,1 c5,2,1^6,43,1 • Выражение (4.9) является ЭНФ. Для нее характерны следующие особенности. 1. ЭНФ является логической суммой логических произведений, т.е. нормальной формой булевой функции. 2. Аргументами ЭНФ являются буквы ЭНФ, под которыми по- нимаются переменные или их отрицания с индексом последователь- ности элементов определенного пути, связывающего эту перемен- 127
ную с выходом схемы. Например, буква 2 1 указывает путь от входа b к выходу схемы через элементы 5, 2, 1. Число букв ЭНФ равно числу путей в схеме. 3. Число букв ЭНФ в общем случае больше числа входных пере- менных схемы, так как один и тот же вход схемы может быть свя- зан с выходом несколькими путями. Например, вход с связан с вы- ходом двумя путями: 5, 2, 1 и 5, 4, 3, 1. 4. ЭНФ может содержать избыточные конъюнкции. В выраже- нии (4.9) таковыми являются конъюнкции #2,1^6,4,3.1, ^5,2,К 5.2,1 ^5,4.3,1 И Ь5 2,2, 1С5.4.3.1 - 5. Если буква, входящая в ЭНФ, не имеет отрицания, то ей со- ответствует путь с четным числом инверсий; в противному случае — с нечетным числом инверсий. Для упрощения записи ЭНФ последовательности элементов пу- тей обозначаются цифрами: 2,1-1; 5,2,1-2; 6,4,3, 1-3; 5,4,3,1-4. Тогда ЭНФ имеет вид F = 0^4 V «]С4 V v V /?2с2^4 v V Ь2С2С4 V Ьзс2^3 v ^2с2а3- (4.10) Для каждой неисправности исходной схемы находится ее про- екция на ЭНФ в виде фиксации ее букв в константы 0 или 1. На рис. 4.23 представлено контрольное множество неисправностей Рис. 4.23. Контрольное множество неисправностей 128
рассматриваемой схемы. Для определения проекций неисправнос- тей строится таблица путей (табл. 4.11). Строки таблицы соответ- ствуют буквам ЭНФ, а графы — неисправностям, входящим в кон- трольное множество. Таблица 4.11 ~Буквы ЭНФ < Неисправности 1 2 3 4 5 6 7 8 9 10 г' аГ 1 1 а3 1 0 1 1 1 п 1 ^4 1 0 0 0 Сг 1 1 1 1 1 0 0 0 4? 1 0 Таблица путей заполняется по следующим правилам: 1) на пересечении у-й графы и У-й строки в элементе таблицы проставляется 0 или 1, если неисправность, соответствующая у-й графе лежит на пути, соответствующему У-й строке; 2) в графе таблицы проставляется 1, если после неисправности по данному пути имеется четное число инверсий, и проставляется О в противном случае. Проекция неисправности на ЭНФ определяется по следующим правилам: 1) неисправность, соответствующая у-й графе, фиксирует в кон- станты все буквы ЭНФ, в строках которых в графе j проставлены О или 1; 2) если на пересечении у-й графы и У-й строки в элементе таблицы проставлена 1, то вид фиксации (0 или 1) У-й буквы ЭНФ соответству- ет виду неисправности; если в указанном элементе проставлен 0, то вид фиксации буквы ЭНФ противоположен виду неисправности. Рассмотрим, например, неисправность под номером 7 (см. рис. 4.23). Она расположена на пути, соединяющем вход b с выходом схемы через элементы 5, 2, 1 (путь У?2), а также на пути, соединяющем вход b с выходом схемы через элементы 5, 4, 3, 1 (путь Ь4). В пути У?2 после неисправности 7 расположено четное число (нуль) инверсий. 129
Поэтому в табл. 4.11 на пересечении графы 7 и строки Ь2 простав- лена 1. В связи с этим вид фиксации букв Ь2 в выражении (4.10) совпадает с видом неисправности 7 (константа 1). В пути Ь4 после неисправности 7 расположено нечетное число (одна) инверсий. По- этому в табл. 4.11 на пересечении графы 7 и строки /?4 проставлен 0. Отсюда следует, что вид фиксации букв Ь4 в выражении (4.10) противоположен (константа 0) виду неисправности 7. В результате для неисправности 7 получаем следующую функ- цию неисправности: fl - а1(^4 = 0) v я1с4 v v а1аз v v (b2 = 1)с2(К4 = 0) v (b2 = 1)с2с4 v (b2 = l)c2J3 v v (^2 ~ Dc2^3 = ос v ad v cd vac. По функциям неисправности определяются проверяющий и ди- агностический тесты. Отметим, что существует полная аналогия между ЭНФ для схем на логических элементах и ЭНФ для контактных схем, описанных в главе 3 и [1]. Буквы ЭНФ соответствуют контактам в контактных схемах или путям в функциональных схемах. Два пути называются совместимыми, если они вместе входят хотя бы в одну конъюнк- цию ЭНФ. По этой причине для схем на логических элементах при- менимы модели, описанные в главе 3 — матрица совместимости и матрица отношений, а также основанные на этих моделях методы и алгоритмы. 4.3.5. Булево дифференцирование Удобным математическим аппаратом для анализа неисправных логических схем является аппарат булевых производных. Определение 4.1. Булевой производной (булевой разностью) функ- цииДхр Л'у,хп) относительно переменной xf называется функция #(А) dX; ~ •••9ХП • — (4.1 1) 130
Значение булевой производной дает ответ на вопрос: изменяет- ся ли значение функции /при инвертировании входной перемен- ной Xj. Поскольку ошибки на линиях схемы заключаются в лож- ном инвертировании сигналов на них, то аппарат булевых произ- водных непосредственно применим к решению проблемы обнару- жения ошибок и константных неисправностей в логических схемах. При вычислении производных может быть три случая: 1) если df (х) / dxj = g(v), то ошибка в лг- будет вызывать ошибку на выходе/ если #(л) - 1; 2) если df (л) / dxi = 0, то ошибка в xi не вызывает ошибку на выхо- де /, и, следовательно, функция/л ) не зависит от переменной х^ 3) если df (х) / dXj = 1, то ошибка в всегда будет вызывать ошиб- ку на выходе/независимо от значения других входных переменных. Рассмотрим схему на рис. 4.24. Она реализует функцию f = (ab v abc)d v ab v abc -d . Вычислим производную по пере- менной b. © ЦаЬ v abc)d v abv abc -d j= a v c = = {0, 1,4, 5, 8, 9, 10, 11, 12, 13, 14, 15} . (4.12) Рис. 4.24. Схема активизации существенного пути 131
Таким образом, мы имеем первый случай. Результат (4.12) го- ворит о том, что ошибка на входе b приводит к ошибке на выходе/ (транслируется на выход /), если а - 1 или с = 0, что выполняется на 12 входных наборах из 16. На каждом из этих наборов происхо- дит активизация одного из четырех существенных путей от входа b до выхода / На рис. 4.24 показана активизация существенного пути £-2-3- 5-6-/ на наборе 0001. Путь £-1-3-4—б-f активизируется, например, на наборе 1000, путь £-1-3-5-6-/— на наборе 1001, путь £-2-3-4- 6-/ — на наборе 0000. Для иллюстрации третьего случая рассмотрим линейную схему (рис. 4.25). Для нее имеем ^- = («©£®c©J)©(«©£©c©J) = db = (a©a)©(£©£)©(c©c)©(</@d) = =0©1©0Ф0=Ь Этот результат отражает тот факт, что в линейной схеме ошиб- ка на одном входе транслируется на выход независимо от значе- ний сигналов на всех других входах. Для иллюстрации второго случая рассмотрим схему на рис. 4.26. Вычислим — = (abvab)c® (ab vab)c = 0 db d , а ь Рис. 4.25. Линейная схема 132
a b f - (ab v ab) c Рис. 4.26. Пример избыточной схемы Этот результат говорит о том, что функция f не зависит от пере- менной Ь. В самом деле, f = (ab v ab)c = a(b v b)c = ас . Поэтому схема на рис. 4.26 является избыточной. **;,*'ъ Рассмотрим и отметим основные свойства операции «сложение по модулю 2»: f®g = Jg'/fg; (4]3) /©g = g©/; (4.14) /®/=0, /®0 = /, /©! = /; (4.15) /g©#=/(g©/0; (4.16) /vg = /©g©/g; (4.17) f®g=f®g = f®g', (4-18) f@g = h—>h®g-f или h@ f = g . (4.19) Учитывая данные равенства и формулу (4.11), можно вывести следующие свойства булевых производных: #(*) _ # (х). dxj dxj (4-20) 133
( df(x)) d fdf(x) dxj I dxj (4.21) ^(/(v)g(x)) dg(x) df(X) df(x) dg(x) ~T.---J^)——©£V)——© —----------, (422) dxi dxt dxj dxf dxi v 7 j(/(.v) V g(.v)) ^(X) . dxj dx, dxj dxj dxj ' * 7 d(f(x) © g(x)) dg(x) dg(x) ---------------»-------ф------- «л,- dxj dxt (4.24) Формулы (4.20)—(4.24) могут быть использованы при вычисле- нии булевых производных. Докажем еще одну формулу, удобную при вычислении df(x)lxi: #(.v) dxt ^(^1» ••• iД,Х|+1,... ^хп )© ©_/"(-X], ... ,A'j j ,0,X’j+|, ... ,XW). (4.25) Она следует из соотношений df(x) = /(Лр-.-.Л.,...,^)©/^, ... [х'/У*(л|,..., l,...,xw) ©-v/-y*(Aj,...,0,...,xw)]© ©|Х//(Х1,..., 1,...,Х„) ©л-г7(л-],..., 0,...,х„)] = ~ (xz ©х,)[/(хь..., 1,...,х„] ©(X/ ©XyM/Cxj,..., 0,...,х„] = m y'Cx'i,..., 1,...,хл) © y(xj,...,0,...,xw ). 134
Используя формулу (4.25), вычислим производную df /db для схемы на рис. 4.24 [см. (4.12)]: db a- 1 v alc)d у а- ©i(«OvaOc)<^ vaOvaOcJ = (acd v acd)@(ad yad)- = (acd у ad у cd)‘ad у ad у acd у ad у cd '(ad у ad) = » (acd у ad у cd)( ad v ad) v (a v c v d)(a v d)(c v d)x x(ad v ad) = acd у ad у ad v a de - aye. (4.26) Из сравнения процессов вычисления (4.12) и (4.26) видно, что ис- пользование формулы (4.25) дает существенное сокращение объемов вычислений. Из формулы (4.25) следует также, что булева производная не зависит от переменной относительно которой она вычисчяется. В простых случаях при небольшом числе переменных булева производная легко определяется с помощью карт Карно. Для это- го составляют две карты для функций /(х1,...,х/-,...,хл) и f (Х| ,...,х/,...,х„). Затем величины, записанные в соответствующих элементах карт, складываются по модулю 2. Результатом сложения является карта Карно, задающая производную df / dxt. На рис. 4.27 Да Ь. с, d) Да, b.c.d) - ~df/db= av с Рис. 4.27. Пример вычисления производной по карте Карно 135
Рис. 4 28 Выделение промежуточной переменной g показаны карты Карно при вычислении производной djldb для схе- мы на рис. 4.24 [см. также формулу (4.12)]. Рассмотрим теперь приложение булевых производных для об- наружения константных неисправностей на внутренних линиях логической схемы. Пусть надо найти проверяющую функцию неис- правности на выходе элемента 2 (линии g) в схеме на рис. 4.24. Вве- дем внутреннюю переменную g, т.е. представим схему (см. рис. 4.24) в виде схемы на рис. 4.28, в которой g - dbc . Схема реализует фун- кцию f = (аб v g)d v ab v gd - Как указывалось в п. 4.3.2, для того чтобы на данном входном наборе неисправность линии g была обнаружена, необходимо и достаточно выполнение двух условий: 1) неисправность проявляется на линии g, т. е. инвертирует ис- тинное значение сигнала на этой линии; если рассматривается не- исправность «константа 0» («константа 1»), то такой входной на- бор принадлежит множеству наборов, на которых на линии g реа- лизуется функция fgifg); 2) ложное изменение сигнала на линии g транслируется на вы- ход схемы/, т. е. приводит к ложному изменению сигнала на этой линии; такой входной набор принадлежит множеству наборов, на которых dfldg- 1. 136
Таким образом, получаем расчетные формулы для проверяю- щих функций неисправностей линии g: 4>(g°) = fg df(x) dg ’ (4.27) <₽(?') = fg df(x) (4.28) Для рассматриваемого примера имеем fg = abc, = a v b v c; df /dg — Uab v 1)J v ab v 1J J© nab v 0)d v ab v Od)= = d ®(abd vabd) = avb; <p(g°) = abc(a v b) = abc = {4,5}; (nv 6v c)(a vb) = ab v abv tJc = {O,l,2,3,6,7,12,13,14,15}. При обнаружении кратных ошибок используются кратные произ- водные. Например, двойная производная вычисляется по формуле ^2/(а) dx-tdx j = /(*b ... ,Xj, ... ,Xj,... ,Xj,... (4.29) J П Вычислим производную по переменным b и с для схемы на рис. 4.24. d2f dbdc ab vabc)d v ab vabed')® ®](ab v abc)d v abv abed )= av bcvbc « = {2,3,4,5,8,9,10,11,12,13,14,15}. 137
Рис. 4.29. Обнаружение двойной ошибки На рис 4.29 показана активизация путей b-2-3-4-6-f и c-2-3-4-6-f на наборе 4 при обнаружении двойной ошибки на входах b и с. 4.4. Обнаружение коротких замыканий Рис. 430. Одиночное короткое замыкание К, Микроминиатюризация логических схем, применение много- слойного печатного монтажа и другие современные тенденции раз- вития дискретной техники постоянно увеличивают вероятность возникновения неисправностей вида «короткое замыкание» (КЗ) между линиями схемы. Особенно актуальна задача обнаружения КЗ при выходном контроле микросхем на этапе изготовления. Наибольшую вероятность возник- новения имеют одиночные КЗ, состо- ящие в замыкании двух линий схе- мы (рис. 4.30). КЗ обозначается как j (/, j— номера линий схемы, между которыми происходит замыкание). Возможны также групповые КЗ, состо- ящие в попарном сообщении друг с другом нескольких линий, а также кратные КЗ, состоящие из нескольких групповых или одиночных замыканий. 138
С точки зрения влияния на работу схемы различают КЗ без об- ратной связи (ОС) и замыкания с ОС. Обратная связь возникает, если линии, участвующие в замыкании, принадлежат одному и тому же пути схемы. КЗ без ОС не изменяет тип логической схемы. Так комбинационная схема с КЗ без ОС (см. рис. 4.30) сохраняет свой- ства схему без памяти. Замыкание с ОС при четном числе инвер- сий в контуре ОС (рис. 4.31, а) превращает комбинационную схему в схему с памятью, при этом либо возникает дополнительный эле- мент памяти, либо глобальная обратная связь. Контур ОС с нечет- ным числом инверсий образует динамический элемент памяти, ко- торый может работать в генераторном режиме (рис. 4.31, 6). .Возможны следующие три вида поиска коротких замыканий [31]. 1. Комбинационный поиск, который применяется для обнаруже- ния КЗ без ОС в комбинационных схемах, а также для обнаруже- ния КЗ с ОС в том случае, когда замыкание обнаруживается на та- ком входном наборе, при котором поведение неисправной схемы не зависит от значения логического сигнала на линии ОС в пред- шествующий момент времени. Рис. 4.31. Короткие замыкания с обратной связью с четным (а) и нечетным (6) числом инверсий в контуре 139
2. Последовательностный поиск, при котором КЗ, содержащее контур ОС с четным числом инверсий, обнаруживается на после- довательности входных наборов. 3. Генераторный поиск, при котором КЗ, содержащее контур ОС с нечетным числом инверсий, обнаруживается за счет возникнове- ния в неисправной схеме колебаний, что приводит к появлению на выходе схемы импульсной последовательности из сигналов 0 и 1. На рис. 4.32 приведен пример короткого замыкания между ли- ниями в логической схеме на транзисторах. В табл. 4.11 отражена работа исправной и неисправной схем. Строка 1 соответствует случаю, когда транзисторы VI и V2 оба включены (|), т.е. нахо- дятся в режиме насыщения, а строка 4 +— случаю, когда оба тран- Рис. 4.32. Пример короткого замыкания 140
зистора выключены (|), т.е. находятся в режиме отсечки. В этих случаях работа неисправной схемы не отличается от работы ис- правной схемы. В строках 2 и 3 отражены случаи, когда транзис- торы VI и V2 находятся в противоположных состояниях. Тогда в цепи КЗ возникает ток /кз и в точках 1 и 2 устанавливаются оди- наковые потенциалы, соответствующие логическому сигналу 0. В этих случаях работа неисправной схемы отличается от работы исправной схемы, в которой в точках 1 и 2 устанавливаются раз- личные логические сигналы. Таблица 4.11 у- 1 ку в 1 № г 1 Состояние транзисторов Значения сигналов на линиях при исправной схеме при КЗ при исправной схеме при КЗ VI V2 V3 V4 V3 V4 1 2 1 2 Г1 г t V .. I 1 j 0 0 0 0 ЕГ 2 t I t 1 I . _L 0 1 0 0 | 3 t t 1 1 I 1 0 0 0 1’ 4 1 - I __L_ t __L__ t 1 1 1 1 Таким образом, справедливо Утверждение 4.1. Короткое замыкание между линиями логичес- кой схемы искажает работу схемы только тогда, когда в исправной схеме на этих линиях формируются различные логические сигналы. В схеме на рис. 4.32 при КЗ между линиями 1 и 2 логический сигнал 0 доминирует над логическим сигналом 1. Это значит, что если на одной из этих линий устанавливается сигнал 0, то этот же / сигнал устанавливается и на второй линии независимо от того, в каком состоянии находится транзистор, к которому подключена вторая линия. Логический сигнал 1 может установиться на обеих линиях только в том случае, когда этот сигнал формируется в ис- правной схеме также на обеих линиях. Поэтому КЗ между линиями 1 и 2 эквивалентно внесению в схему дополнительного элемента И (монтажное И). На рис. 4.33, а приведены логическая структура, соответствующая схеме на рис. 4.32, и ей эквивалентная схема с КЗ. В том случае, когда используется логика, в которой логичес- кий сигнал 1 доминирует над логическим сигналом 0, в схеме на рис. 4.33, б дополнительный элемент И заменяется на элемент ИЛИ. 141
Рис. 4.33. Исправная («) и эквивалентная (б) схемы с коротким замыканием между линиями 1 и 2 Рассмотрим одиночное КЗ без ОС между линиями с номерами и /2. Введем обозначения:!^ j — проверяющая функция неис- правности^ j; — кратная неисправность, состоящая из неисправностей типа «константа 0» линий Zj и Z2; — проверя- ющая функция неисправности ;Д и — функции, реали- зуемые на линиях Zj и Z2 в исправной схеме. Сравним поведение схемы с неисправностью и поведение схемы с дополнительным элементом И, которая эквивалентна схе- ме с КЗ (см. рис. 4.33). Отличие в их работе возникает только на тех входных наборах, на которых Д = fi2 = 1. При этом КЗ на поведе- ние схемы не влияет (см. табл. 4.11). Все же остальные входные на- боры, обнаруживающие неисправность фиксируют также и замыкание . Поэтому (4-30) На рис. 4.34 приведен пример схемы с КЗ без ОС. Схема реа- лизует функцию F = ab v cd. Для нее получаем /j = ab, /2 = cd, ^\,2~ F' 142
Рис. 4.34. Пример схемы с коротким замыканием без обратной связи Тогда ^1,2 = F' = F-ab-cd = = (ab v cd)(a v b v c v d) = = abc v abd v acd v bed - Для неисправности имеют место очевидные равенства где <pXj и Фх\, — проверяющие функции неисправностей типа «константа 0» соответственно на линиях i| и /2- С учетом этих равенств формулу (430) можно представить в виде , (4.31) ИЛИ =Н!11Я ‘ f dF — dF~ = "’ dft *'2 V dfh (4.32) Рассмотрим одиночное КЗ с ОС с четным числом инверсий. На рис. 435 приведен пример, иллюстрирующий данный вид замыка- ния. Исходная схема (рис. 435, а) является комбинационной. Про- веряющий тест схемы содержит 4 набора: {100, 111, 101, 011}. На- боры могут подаваться на вход схемы в любой последовательнос- ти. Предположим, что они подаются в тактах /j- в последова- 143
тельности, приведенной на рисунке. Тогда на выходе схемы фор- мируется последовательность 1100. Внесем в схему неисправность /С] 5. Эквивалентная схема приведе- на на рис. 4.35, б. Если на ее вход подать указанные тестовые наборы в той же последовательности, что и на исходную схему, то на выходе схемы с КЗ формируется также последовательность 1100. Следова- тельно, тест на константные неисправности не обнаруживает КЗ. Для обнаружения КЗ при помощи последовательностного по- иска необходимо найти такую последовательность входных набо- ров, при которой реакции исправной и неисправной схем будут различными. Для этого находятся наборы, на которых КЗ прояв- ляется, если в предшествующем такте в цепи ОС установлен сиг- нал 0. Такие наборы составляют функцию Рис. 4.35. Исправная (и) и эквивалентная (б) схемы с четным числом инверсий в цепи ОС 144
В данном случае получен набор 111. В последовательностном тесте ему должен предшествовать набор, устанавливающий в точке 5' сиг- нал 0 (например, набор 101). На рис. 4.35, б показан тест, который об- наруживает КЗ и отличается от первого варианта теста только распо- ложением наборов в последовательности. На выходе неисправной схе- мы на этом тесте формируется последовательность 1000, а на выходе исправной схемы — отличающаяся от нее последовательность 1010. Комбинационный поиск КЗ данного вида обеспечивают набо- ры, которые определяются при помощи формулы (4.30). Напри- мер, на наборе 000 в исправной схеме на выходе формируется сиг- нал 1, а в неисправной — сигнал 0 независимо от значения сигнала на линии ОС, так как сигнал а - 0 однозначно фиксирует нулевое значение сигнала на выходе дополнительного элемента И. Такой набор может и не входить в тест на константные неисправности, и поэтому его дополнительно включают в тест. Рассмотрим одиночное КЗ с ОС с нечетным числом инверсий. На рис. 4.36 приведен пример, иллюстрирующий данный вид за- Рис. 4.36. Исправная (а) н эквивалентная (6) схемы с нечетным числом инверсий в цепи ОС 145
мыкания. Пусть на вход эквивалентной схемы в момент времени tj подастся набор 1111 при условии, что в предыдущий момент вре- мени Zy j на линии ОС (линия Г-7') присутствовал сигнал 1. В ре- зультате на линиях 5, 6, 7 формируются сигналы соответственно О, 1, 0, а на линии ОС произойдет смена сигналов 1 -* 0. Появление сигнала 0 на линии ОС приведет к смене сигналов на противопо- ложные на линиях 5, 6, 7, что, в свою очередь, изменит сигнал на линии ОС и т.д. В результате на выходе схемы возникает последо- вательность сменяющих друг друга сигналов 0 и 1, т.е. схема начи- нает работать в генераторном режиме. Входные наборы, на кото- рых возникает генераторный режим, определяются функцией Кб = Ф/ • (4.34) где / | и Z2 — номера линий схемы, между которыми имеет место за- мыкание, причем линия Z? расположена ближе к выходу, чем линия Zp Для организации комбинационного поиска необходимо на вход схемы подать такой набор, при котором на выходе схемы стабильно фиксируется сигнал, отличный от сигнала на выходе исправной схе- мы. Например, в рассматриваемом случае на наборе 0110 на выходе исправной схемы фиксируется сигнал 1 (см. рис. 4.36). В неисправ- ной схеме за счет подачи сигнала а = 0 на выходе дополнительного элемента И и в линии ОС устанавливается постоянный сигнал 0. Входные наборы комбинационного поиска задаются функцией ’ <435> где fi2 — функция, реализуемая на линии Z2 в схеме с неисправ- ностью типа «константа 0» на линии Zp При применении генераторного поиска КЗ фиксируется при помощи специальных средств обнаружения колебательного про- цесса в логической схеме, что исключает необходимость сравне- ния реакции неисправной и исправной схем на наборах проверяю- щего теста. Это упрощает процесс диагноза. Однако, как правило, тест на КЗ объединяют с тестом на константные неисправности, и поэтому наиболее целесообразно использовать методы комбина- ционного поиска замыканий. 146 /
Стратегия построения объединенного теста заключается в сле- дующем. Строится проверяющий тест на константные неисправ- ности. Составляется список возможных КЗ. При помощи формул (4.30) и (4.35) для каждого КЗ находятся наборы комбинационного поиска. Анализируется каждое КЗ. Если КЗ не обнаруживается построенным тестом на константные неисправности, то тест до- полняется соответствующим набором комбинационного поиска. Если КЗ не имеет наборов комбинационного поиска, то в тест вклю- чается цепочка наборов, обеспечивающая обнаружение неисправ- ности методом последовательностного поиска. 4.5. Контроль исправности электрического монтажа Электрический монтаж (ЭМ) является важным элементом лю- бого логического устройства. Задача контроля исправности ЭМ решается на этапе изготовления устройств, при производстве пе- чатных плат, при монтаже релейных схем железнодорожной авто- матики, при внесении изменений в схемы действующих устройств. ЭМ представляет собой совокупность монтажных клемм и мон- тажных линий. Монтажной клеммой называется контакт ЭМ, дос- тупный для подключения внешних цепей. Монтажная линия — это физический проводник, имеющий сопротивление не выше норма- тивного и не зависящее от направления протекающего тока. Сово- купность монтажных клемм, соединенных линиями в произволь- ном порядке, образует монтажную группу. На рис. 4.37 приведен пример ЭМ. Монтажные клеммы обо- значаются кружками. Данный ЭМ содержит 10 монтажных клемм, 6 монтажных линий и 4 монтажные группы. В ЭМ возникают следующие неисправности: 1) обрывы монтажных линий; 2) КЗ между монтажными клеммами; 3) перепутывание про- водов (неправильный монтаж); 4) полная или частич- ная изоляция клеммы. Рис 4 37. Пример электрического монтажа 147
a в 2 2 2 Рис. 4.38. Пример ЭМ типа «звезда» (а) с частич- ной (б) и полной (в) изоляцией клеммы На рис. 4.38 при- ведены примеры неисправностей вида полная и час- тичная изоляция монтажной клеммы. Такие неисправнос- ти возникают в ЭМ типа «звезда», ког- да к одной клемме подключается несколько линий. Любая неисп- равность типа «неправильный монтаж» и «изоляция монтажа» сво- дится к соответствующей комбинации КЗ и обрывов (рис. 4.39). Поэтому задача проверки монтажа формулируется как задача обнаружения любой комбинации КЗ и обрывов. Неисправность в монтаже фиксируется при помощи последова- тельности проверок. Проверка заключается в измерении электро- проводимости участка цепи между двумя клеммами. Совокупность проверок, позволяющая решать задачу полной проверки ЭМ, со- ставляет тест проверки. б 2 3 КЗ обрыв обрыв Рис. 4.39 Представление неисправ- ного монтажа: а — исходный монтаж; б — непра- вильный монтаж, в — представление через КЗ и обрывы КЗ в Для построения теста проверки ЭМ необходима полная информа- ция о конфигурации схемы монта- жа, которая предусматривает ука- зание для каждой пары клемм све- дений о наличии или отсутствии соединения между ними. При от- сутствии полной информации воз- никает задача о распознавании кон- фигурации монтажа, которая явля- ется более сложной по сравнению с задачей проверки исправности монтажа. Важное значение имеет наличие информации о том, как соединены клеммы между собой, Знание структуры связей позволя- ет уменьшать длину проверяющих тестов. При решении практических 148
задач, как правило, информация о структуре связей отсутствует. В монтажных соединениях возможна также избыточность. Избы- точные соединения вводятся для исключения влияния обрывов. При тестировании обрыв избыточных соединений не обнаруживается. Рассмотрим вопрос об обнаружении обрывов. Пусть имеется монтажная группа, содержащая р клемм, соединенных между со- бой произвольным образом. Задача обнаружения обрывов в мон- тажной группе решается путем измерения проводимости между каждыми двумя клеммами. При этом необходимо произвести С2р про- верок. Минимальное число проверок требуется при реализации сле- дующей процедуры измерений. Проверяется наличие проводимости между любой из клемм группы (например, клеммы 1) и каждой дру- гой клеммой, т.е. испытываются пары (1, 2), (1, 3), ..., (1, р). В этом случае требуется /|— р -1 проверок. Использование меньшего числа измерений не обеспечивает полной проверки монтажной группы. Задача обнаружения КЗ в ЭМ, содержащем т изолированных V монтажных групп, может быть решена только одним способом - путем измерения проводимости между каждыми двумя группами. При этом потребуется /7 = проверок. Общая длина теста про- Ar rft верки монтажа из т групп рассмотренным (тривиальным) методом W 2 ! Ц = 1(Р,-^) + Ст. (4.36) * 1=1 где p-t — число клемм в /-й монтажной группе. Из выражения (4.36) следует, что при большом числе монтаж- ных клемм и групп задача проверки ЭМ чрезвычайно трудоемка. Упрощение проверки связано с ее автоматизацией. Используются автоматы, обеспечивающие последовательное проведение L\ из- мерений между выводами монтажа. Но более эффективной явля- ется автоматизация с наложением дополнительных соединений. В этом случае вносятся структурные изменения в монтажную схе- му, что делает ее более контролепригодной. Так как дополнитель- ные соединения могут налагаться одновременно с измерениями, то это позволяет существенно сократить общее время проверки. 149
Рис. 4.40. Монтажная диаграмма Электрический монтаж (см. рис. 4.37) может быть представлен в виде диаграммы (рис. 4.40). Она состоит из т строк, каждая из которых соответствует одной из монтажных групп. Группы располагаются в порядке убывания числа клемм. Соединения между клеммами в группах не показываются. Для обнаруже- ния обрывов (рис. 4.41, а) необходимо в каж- дой группе измерить проводимости между первой и остальными клеммами. С помощью наложения вспомогательных соединений между группами можно каждое измерение выполнять во всех груп- пах одновременно. При этом требуется Z3 = pmax “ 1 измерений, где ртах — наибольшее число клемм в одной группе. В данном случае первое измерение контролирует проводимость между пер- вой и второй клеммой в первых трех группах, второе измерение — между первой и третьей клеммой в первых двух группах и третье измерение — между первой и четвертой клемой в первой группе. При поиске коротких замыканий (рис. 4.41, б) устанавливают дополнительные соединения между клеммами в одной группе, что обеспечивает обнаружение любой комбинации обрывов и КЗ. Все монтажные группы объединяют в две изолированные общие груп- пы, измерение проводимости между которыми позволяет обнару- живать короткое замыкание между любыми монтажными группа- ми, входящими в разные общие группы. Последние должны быть образованы таким образом, чтобы любые две монтажные группы в каком-либо из случаев находились в разных общих группах. При этом достаточно выполнить Z4 = ]log2/w[ измерений. Монтаж- ные группы нумеруют двоичными числами с числом разря- дов ]log2 т[ . Столбец одного разряда, образованный всеми чис- лами, соответствует варианту образования общей группы. При этом объединяют те монтажные группы, которым в столбце соответству- ет одно и то же значение разряда. В рассмотренном методе необходимое число проверок (4.37) 150
Рис. 4.41. Схемы обнаружения обрывов («) и короткого замыкания (б) Определим, например, необходимое число проверок для и-жиль- ного кабеля. В этом случае имеется п монтажных групп (т = я), в каж- дой из которых по две монтажные клеммы ~ Ртах = 2). Поэтому i«l п 7 - J(2-l) + C> п + С„', 1=1 ^2= Ртах + ]'°ё2'’[ -1 = 2+ ]log2«[ "1=1+ Jog2n[ . Так, прии = 5 Lj= 15, £2~ 3, а при n = 10 Lp 55, L2= 5. Рассмотрим также монтаж схемы парал- лельного включения реле (рис. 4.42). В этом случае имеем две мон- Рис. 4.42. Монтажная схема параллельного включения реле 151
Рис. 4.43. Представление монтажа в виде логической схемы тажные группы (т = 2), включающие в себя по п мон- тажных клемм pz- = pmax = п. Поэтому L} = Z(h-1) + CJ =2»-1; /=1 L} -п + ]log2 2[ -1-п. Например, при п = 10 Lj = 19, £2= 10- Для ЭМ может быть построена эквивалентная модель в виде логи- ческой комбинационной схемы [22]. При этом монтажные клеммы рас- сматриваются как входы схемы, на которые поступают логические сигналы 0 или 1. Сигнал 1 соответствует подключению к данной клем- ме через некоторый переключатель полюса источника питания, а сиг- нал 0 — отсутствию такого подключения (рис. 4.43). Появление сиг- нала 1 на некоторой клемме приводит к появлению этого же сигнала на всех клеммах соответствующей монтажной группы. Следователь- но, монтажную группу можно представить в виде элемента ИЛИ. Если все группы (и соответствующие им элементы ИЛИ) объединить при Рис. 4.44. Эквивалентная логическая схема помощи элемента И, то ЭМ можно представить в виде бес- повторной двухуровневой схе- мы (рис. 4.44), которая являет- ся одной из самых легко конт- ролируемых логических струк- тур. В такой схеме входные пе- ременные не повторяются. При- веденная на рис. 4.44 эквивален- тная логическая схема, модели- рующая ЭМ (см. рис. 4.43), реа- лизует логическую функцию F = (1 v2 v3)(4 v5 v6v7)x x(8 v9vl0)-ll, которая соответствует исправ- ной монтажной схеме. 152
Неисправности ЭМ моделируются определенными неисправно- I стями эквивалентной логической схемы. Обрыв между клеммами ^приводит к «разбиению» элемента ИЛИ на два элемента. Напри- мер, обрыв между клеммами 5 и 6 (обрыв) превращает исходную схему (см. рис. 4.44) в неисправную схему, показанную на рис. 4.45. Она реализует функцию неисправности Сообщение (КЗ) между клеммами приводит к «объединению» двух элементов ИЛИ в один элемент. Например, сообщение между клеммами 1 и 4 (сообщение Cj 4) моделируется схемой (рис. 4.46), реализующей функцию неисправности Неисправность типа «неправильный монтаж» сводится к комбинации «разбиений» и «объединений» элементов ИЛИ. На рис. 4.47 приведен пример неправильного монтажа, который мо- жет быть представлен как совокупность неисправнос- 2 6 8 9 10 Рис. 4.45. Логическая схема, моделирующая обрыв в элект- рическом монтаже моделирующая короткое замыкание в электрическом монтаже 153
Рис. 4.47. Пример неисправности типа «неправильный монтаж» (йг) и моделирующая схема (б) тей Oj 2 и С io и- Соответственно в моделирующей схеме имеет место «разбиение» элемента, реализующего дизъюнкцию (lv2 v 3), и «объединение» элемента, реализующего дизъюнкцию (8 v 9 v 10) со входом 11. Схема реализует функцию неисправности /н3 =b(2 v3)(4v5 v6v 7)(8v9 vlOvl 1). 1 2 4 Рис. 4.48. Моделирование неисправности типа «изоляция клеммы» Неисправность типа «изо- ляция клеммы» моделируется «разбиением» соответствую- щего элемента ИЛИ (рис. 4.48). Так как все неисправности ЭМ моделируются логически- ми неисправностями комби- национной схемы, то при по- строении проверяющего тес- та ЭМ может быть использо- ван метод ТФН. Однако осо- бенности неисправностей ЭМ позволяют получить более простые алгоритмы построе- ния тестов. 154
Задачу проверки ЭМ сформулируем как задачу проверки моде- лирующей логической схемы на отсутствие неисправностей типа «разбиение» и «объединение» элементов ИЛИ. Определим два типа тестовых наборов. Набор типа А образуется по правилу: в каждой монтажной груп- пе одна из переменных равна 1, а все остальные переменные равны 0. Наборы /ила А обнаруживают неисправности типа «разбиение» элементов ИЛИ. Например, неисправность О5 6 (см. рис. 4.45) про- веряется набором 123 4567 89 10 11 100 1 0 0 0 1 00 1 В исправной схеме на данном наборе на выходе формируется сигнал 1, а в неисправной схеме (см. рис. 4.45) — сигнал 0, так как на выходе элемента ИЛИ, реализующего дизъюнкцию (6 v 7), ус- танавливается сигнал 0. Набор типа В образуется по правилу: в одной монтажной группе все переменные равны 0, а все остальные переменные всех групп равны 1. Наборы типа В обнаруживают неисправности типа «объедине- ние» элементов ИЛИ. Например, неисправность С] 4 (см. рис. 4.46) проверяется набором 123 4567 89 10 11 000 1111 111 1 В исправной схеме на данном наборе на выходе формируется сигнал 0, а в неисправной схеме (см. рис. 4.46) — сигнал 1, так как на выходе объединенного элемента ИЛИ, реализующего дизъюнк- цию (Iv2v3v4v5v6v7), устанавливается сигнал 1. Полный проверяющий тест ЭМ составляет множество наборов, включающее в себя: 1) все наборы типа В (их число равно числу монтажных групп /и); 2) подмножество наборов типа А, в котором для каждой пере- менной каждой группы имеется хотя бы один набор с единичным значением этой переменной (число таких наборов равно максималь- ! ному числу клемм в одной группе ДП1ах)- 155
Длина теста A3 = Ш + Ртах * (4.38) Для ЭМ, приведенного на рис. 4.43, проверяющий тест (табл. 4.12) содержит по четыре набора типов А и В. Из сравнения формул (4.36)—(4.38) следует, что во всех случаях Aj > A3 и А3 > А2- Длина теста А3 может быть уменьшена при введении на структуру монта- жа простых ограничений. Если в монтаже отсутствуют соединения типа «звезда» (к каждой клемме подключается не более двух про- водников), а также если к одной крайней клемме монтажной груп- пы подключается источник питания (см. рис. 4.43), а к другой край- ней клемме — вход элемента И, то ЭМ имеет легко контролируе- мую структуру. Для обнаружения всех обрывов во всех монтаж- ных группах в тест достаточно включить только один набор А, в котором сигнал 1 подается на все крайние клеммы монтажных групп. Поэтому длина проверяющего теста А4 = т +1. (4.39) Таблица 412 № п/п Тип набора уг Номер группы 1 2 з 4 Номер клеммы 1 2 3 4 5 6 7 8 9 1 10 И 1 А 1 1 0 0 1 0 0 0 1 0 0 1 2 А 1 0 1 0 0 1 0 0 0 1 0 1 3 А 1 0 0 1 0 0 1 0 0 0 1 1 4 А 1 1 0 0 0 0 0 1 1 0 0 1 5 в 0 0 0 0 i 1 1 1 1 1 1 1 6 В 0 1 1 1 0 0 0 0 1 1 1 1 7 В 0 1 1 1 1 1 1 1 0 0 0 1 8 в 0 1 1 1 1 1 1 1 1 1 1 0 В рассматриваемом случае в тест включаются все наборы типа В и один набор типа А под номером 1 (см. табл. 4.12). Для /z-жиль- ного кабеля имеем А3 = л+2, А4 - л+1, для монтажной схемы па- раллельного включения реле (см. рис. 4.42) А3 = л+2. 156
Для построения диагностического теста используются проверя- ющие наборы третьего типа. Набор пита С образуется по правилу: в одной монтажной группе одна из переменных равна 1, все остальные переменные равны 0, а все переменные во всех остальных монтажных группах равны 1. Набор типа С указывает место обрыва с точностью до монтаж- ной группы. Например, в схеме на рис. 4.44 обрывы первой группы (клеммы 1,2,3) обнаруживаются наборами 123 100 010 001 4567 1111 1111 1111 8910 11 111 1 111 1 111 1 В данных наборах на все входы элементов ИЛИ, соответствую- щих другим (кроме первой) монтажным группам, подаются сигналы 1. Это нейтрализует последствия возможных обрывов в этих группах. Для указания обрыва с точностью до пары клемм фиксируются все наборы типа С для данной группы, которые обнаруживают обрыв. Анализ множества этих наборов позволяет указать две клем- мы, между которыми имеет место обрыв. Рассмотрим, например, обрыв О3 8 в монтажной схеме на рис. 4.49. Данный обрыв обна- руживается на трех наборах 123456789 000000100 000000010 000000001 Осуществляется поразрядное логическое сложение проверяю- щих наборов. В результате имеем двоич- ный вектор 123456789 0 0 0 0 0 0 1 1 1 в котором множество клемм разбивает- ся на две группы Qo и (?]. В группу Q() (2j) включаются клеммы, у которых в со- ।—*- К схеме И 61 2 31 4 5 81 9_ Рис. 4.49. Монтажная схема 157
ответствующих разрядах суммы записано значение 0(1). Активная клемма (клемма 6), подключенная к входу элемента И, находится в множестве Qq. В группе находятся все клеммы, у которых в ре- зультате обрыва нарушена связь с активной клеммой. В данном случае в входят клеммы 7, 8, 9. Так как только клемма 8 имеет непосредственное соединение (через клемму 3) с активной клеммой, то делается вывод о нарушении соединения между клеммами 3 и 8. Необходимое число наборов типа С 1(c) ~n-d , где d — число изолированных клемм. Локализация сообщений возможна только с точностью до двух монтажных групп и осуществляется на основе анализа результатов тестирования схемы на наборах типа В. Если в схеме на рис. 4.43 имеет место сообщение С( 4, то на наборах 5 и 6 (см. табл. 4.12) на выходе схемы вместо сигнала 0 формируется сигнал 1, а на набо- рах 7 и 8 сохраняется правильный сигнал 0. Наборы 5 и 6 проверя- ют группы 1 и 2, поэтому между ними существует сообщение. Длина одиночного диагностического теста L5 = т + 1(c) = m + n-d . (4.40) В табл. 4.13 приведен диагностический тест для монтажной схемы рис. 4.43. Кратные дефекты локализуются последовательно с выделе- нием подозреваемых одиночных неисправностей и их устранением. Таблица 4 13 № Тип F Номер группы 1 | 1 2 3 4 п/п набора Номер клеммы 1 2 3 4 5 6 7 8 9 10 11 1 А 1 1 0 0 1 1 1 1 1 1 1 1 2 А 1 0 1 0 1 1 1 1 1 1 1 1 3 А 1 0 0 1 1 1 1 1 1 1 1 1 4 А 1 1 1 1 1 0 0 0 1 1 1 1 5 А 1 1 1 1 0 1 0 0 1 1 1 1 6 А 1 1 1 1 0 0 1 0 1 1 1 1 7 А 1 1 1 1 0 0 0 1 1 1 1 1 8 А 1 1 1 1 1 1 1 1 1 0 0 1 9 А 1 1 1 1 1 1 1 1 0 1 0 1 158
Окончание табл. 4.13 № п/п Тип набора р Номер i-руппы 1 2 3 4 Номер клеммы 1 2 3 4 5 6 7 8 9 10 11 10 А 1 1 1 1 1 1 1 1 0 0 1 1 11 В 0 0 0 0 1 1 1 1 1 1 1 1 12 В 1 1 1 1 0 0 0 0 1 1 1 1 13 В 1 1 1 1 1 1 1 1 0 0 0 1 14 в 1 1 1 1 1 1 1 1 1 1 1 0 4.6. Обнаружение неисправностей типа «временная задержка» Обнаружение неисправностей типа «временная задержка» (ВЗ) распространения логического сигнала является важной областью в тестировании микроэлектронных схем. С увеличением быстро- действия схем и их тактовой частоты становится более вероятным влияние временных отклонений на правильную работу аппарату- ры. Особенностью ВЗ по сравнению с другими видами отказов яв- ляется то, что они не нарушают логическую структуру схемы и в то же время приводят к ошибочным результатам вычислений. Временная задержка (delay fault) есть модель повреждений, ко- торые вызывают неправильную работу логических схем относи- тельно тактовой частоты. Это можно пояснить схемой на рис. 4.50. По сигналу С1 переменные х из входного регистра подаются на вход схемы. По сигналу С2 выходные сигналы у записываются в выход- ной регистр. Пусть ts есть время от момента изменения входных сиг- налов х до момента изменения всех выходных сигналов у. Оно рав- но времени прохождения сигнала по самому длинному пути в схеме. Если окажется, что ts > tc, то в выходном регистре будут записа- ны неправильные значения сигналов у. Цель тестирования задер- жек удостовериться, что каждый путь в схеме имеет время прохож- дения сигнала меньше, чем te. Рассматриваются две модели временных неисправностей: задержка элемента (gate delay fault) - - моделирует дефекты, ко- торые вызывают реальную задержку распространения сигнала че- рез отдельный элемент, превышающую их спецификацию; 159
cl c2 cl c2 Рис. 4.50. Синхронизация работы логической схемы задержка пути (path delay fault) — моделирует задержку сигна- ла, возникающую в результате суммирования распределенных за- держек всех элементов пути. При этом различают два вида задержек: ВЗ возрастающего пе- рехода сигнала 0 -* 1 (рис. 4,51, а) и ВЗ убывающего перехода сиг- нала 1 -* 0 (рис. 4.51, б). Для обнаружения ВЗ на вход схемы надо последовательно подать два набора Pj и Р^. Набор И] «устанавли- вающий» должен установить сигнал 1 (для задержки 1 -* 0) или сиг- нал 0 (для задержки 0 -* 1) на той линии схемы, откуда начинается изменение (перепад) логического сигнала. Для ВЗ элемента такой ли- нией является выходная линия элемента (рис. 4.52, а), для ВЗ пути — вход элемента, с которого начинается данный путь (рис. 4.52, б). а Рис. 4 51 Виды временных задержек: — время задержки При тестировании на- бор Р'[ подается в момент времени Zj (см. рис. 4.50) по сигналу С1. После того как все сигналы у устанавли- ваются, в момент времени /2 по сигналу С1 подается на- бор Р/9. Набор Р^ «продви- гающий» должен выпол- 160
a б Вход схемы Выход схемы Рис. 4.52 Изменение логических сигналов на линиях схемы нить две задачи: 1) установить на линии схемы, с которой начина- ются изменение логического сигнала, сигнал 0 (для перепада I —* 0) или сигнал 1 (для перепада 0 -* 1); 2) обеспечить наличие хотя бы одного чувствительного пути от этой линии до выхода схемы. В момент времени /3 (см. рис. 4.50) производится измерение выход- ных сигналов и сравнение их с эталонными сигналами, которые должны быть у исправной схемы. Рассмотрим схему на рис. 4.53. Пусть надо найти тест т = (Ц,У2) для ВЗ элемента 2 типа 1 -* 0. Обозначим выход элемента 2 через g и задержку 1 -» 0 на линии g как#10. Пусть F :— функция, реализу- емая на линии g. Тогда - F ——. g dg ^2 (4.41) Найдем — = а • 0 v cd -d®a -1 v cd -d = acd. dg 161
Рис 4.53. Комбинационная схема Имеем \\=abcd -* Fg = bd „V2=bd-acd - abed и тест т = (Vj,V2) = (0101,0001). На рис. 4.53 показаны изменения сигна- лов на линиях схемы при поступлении на ее входы данного теста. Набор Hj =0101 обеспечивает на линии g сигнал 1. Набор = 0001 устанавливает на линии g сигнал 0 и создает чувствительный путь b-2-4 5-6-F. Задержка изменения сигнала 1 -> 0 на выходе элемен- та 2 вызовет соответствующую задержку сигнала на выходе схемы. Рассмотрим теперь пример неисправности типа ВЗ пути. Обо- значим пути схемы на рис. 4.53 следующим образом: а^ = а^ 6; = *2,4, 5, 6; с 1 ~ с3, 4, 5, 6> = d2,4, 5, 6; d3 ~ d3, 4, 5, 6; d4 = d5, 6’ Рассмотрим неисправность • Найдем производную JY* ___ _________ __________________ — = л • 0 * d v cd -d® d'l'd v cd-d = acd. db Согласно (4.41) имеем Vj = abed —> /?; K2 = bacd = abed. Получаем тест т ® (V],V2) = (0101,0001) тот же, что и тест для неисправности g10. 162
Тесты Свободные от состязаний Робастные Достоверно неробастные Рис. 4.54. Классификация тестов Неробастные Временные задержки пути 1 Робастно тестируемые Достоверно Слабо Нетестируемые неробастно проверяемые тестируемые Рис. 4.55. Классификация неисправностей Из сравнения данных двух неисправностей видно, что модель «задержка пути» является более общей, чем модель «задержка эле- мента», поскольку выходная линия элемента всегда входит хотя бы в один путь. Поэтому в дальнейшем будем говорить о ВЗ путей. На рис. 4.54 и 4.55 показаны классификация тестов t = (Vj,V2) и классификация неисправностей. Тест называется свободным от состязаний, если для всех элементов, входящих в чувствительный путь, выполняется условие: логический сигнал изменяется только на одном входе. Состязания на входах элемента возникают при одновремен- ном изменении сигналов на двух или более входах. В этом слу- чае на выходе элемента может появиться паразитный импульс (рис. 4.56). Из рис. 4.53 следует, что тест (0101, 0001) является свободным от состязаний. Тест Т/ = (Ц,У2) называется робастным (robust test) относитель- но неисправности если он обнаруживает эту неисправность не- зависимо от существования в схеме других ВЗ путей. В противном 163
Рис. 4.56. Состязания на входах элемента случае тест называется неробастным (non robust test). Нетрудно убедиться из анализа рис. 4.53, что тест (0101, 0001) является роба- стным для неисправности б/0. Вообще, любой тест, свободный от состязания, является робастным (обратное не имеет места). Рассмотрим для неисправности fy10 другой тестт = (1101,0001) (рис. 4.57). На входах элемента 6 происходит изменение двух сиг- Рис. 4 57. Пример робастного теста 164
Рис. 4.58. Два случая тестирования налов. Возможны два случая. Если на линии р нет задержки сиг- нала (рис. 4.58, а), то неисправность 6j10 (задержка на линии а) обнаруживается, так как в момент времени tc имеем сигнал F= 1 вместо F = 0. Если на линии 0 есть задержка сигнала, т. е. в схе- ме вместе с неисправностью существует неисправность д}° (рис. 4.58, б), неисправность 6j0 также обнаруживается. Таким об- разом, тест (1101, 0001) является робастным. Тест т, - (К], И2) называется достоверно неробастным (validatable non robust test) относительно неисправности если он не является робастным и выполняется условие: для любого множества неисправностей п2, ... ,/?*}, при наличии которых в схеме тест zf- не обнаруживает неисправность nj4 существует пос- ледовательность тестов Т = {Т|, т?, ... после приложения ко- торых в определенном порядке все неисправности /?}, п2, ... ,п^ обнаруживаются. Другими словами, все неисправности щ,п2,... ,пь которые мас- кируют неисправность /zf-, обнаруживаются ранее с помощью ро- бастных или достоверно неробастных тестов на последовательно- сти Т. Тогда, если неисправностей ••• не обнаружено, тест т, достоверно обнаруживает неисправность 165
Рис. 4.59. Пример достоверно неробастного теста Рассмотрим в схеме на рис. 4.59 неисправность пути (нача- ло пути — линия Л). Найдем производную • - —1 —— — = а Ь-() v cdd @ a -6-lv cd-d = abcd dh Тогда имеем V. —* d , V2 “* d —— = abed . Рассмотрим тест 1 dh Tj =(0100,0101). Возможны три случая. На рис. 4.60, а показана временная диаграмма изменений сигналов при отсутствии ВЗ. В момент времени tc сигнал F = 1. Существует состязание на вхо- дах элемента 5. На рис. 4.60, б отражен случай, когда в схеме име- ется ВЗ Jj01. Имеется задержка на линии а и неисправность обна- руживается, поскольку в момент времени /_ сигнал F= 0. Пусть в схеме существуют две ВЗ и . При этом имеют место задер- жки на линиях аир (рис. 4.60, в) и неисправность не обна- руживается (в момент времени tc сигнал F = 1). Таким образом, 166
Рис 4 .60. Три случая тестирования ВЗ маскирует неисправность df1 и данный тест Tj =(0100,0101) является неробастным. В то же время этот тест является достоверно неробастным, поскольку существует робастный тест т2 = (0000,0001) для ВЗ d® Ч Следовательно, чтобы достоверно обнаружить ВЗ d\*9 надо предварительно проверить, что в схеме отсутствует неисправ- ность dp, и подать последовательность тестов Т = {t2,Tj} = = {(0000, 0001), (0100, 0101)}. Если неробастный тестт, не является достоверно неробастным, то ВЗ п- называется слабопроверяемой на этом тесте. Это означа- ет, что данная ВЗ не может быть гарантированно обнаружена на этом тесте из-за возможности маскировки другими ВЗ. Если не- исправность rij не имеет теста xf- - (Cj, К2), то она называется нетестируемой. Для схемы на рис. 4.53 имеем: робастно тестируемые ВЗ — а®1, а|°, fcj01, bj0, с?1, cj°, dp, dj0; Достоверно неробастно тестиру- емые — dP d21J нетестируемые — d{°, d2° - 167
4.7. Вероятностное тестирование При вероятностном тестировании на испытуемую схему пода- ются случайные или псевдослучайные входные последовательнос- ти. Главное достоинство такого подхода в том, что исключается необходимость предварительного вычисления детерминированного теста. Это вычисление может оказаться слишком сложным. Такая си- туация возникает, при больших размерах испытуемой схемы или в том случае, когда нет достаточных сведений о ее внутренней струк- туре. Тогда целесообразно применить вероятностное тестирование. Два способа организации вероятностного тестирования приве- дены на рис. 4.61 и 4.62. Первый способ использует эталонную схе- му (см. рис. 4.61). Наборы случайного теста, вырабатываемые ге- нератором, поступают на входы испытуемой и эталонной схем. Их реакции сравниваются устройством сравнения. В случае их расхож- дения делается вывод о неисправности испытуемой схемы Второй способ отличается методом сравнения выходных реакций. В этом случае реакция испытуемой схемы приводится к компактному виду с помощью схемы сжатия. Результат сравнивается со сжатым эта- лоном. В качестве схемы сжатия часто используется сигнатурный анализатор, описанный в п. 5.4. В отличие от детерминированного тестирования, когда обна- ружение данной неисправности гарантированно, при случайном тестировании это происходит с некоторой вероятностью. Пусть испытуемая схема имеет п входов и пусть Е есть множество после- Рис. 4.61. Схема вероятностного тестирования 168
Рис. 4.62. Схема вероятностного компактного тестирования довательностей из к входных векторов, которые могут быть при- ложены к схеме. Каждый входной вектор может быть одним из 2п векторов. Тогда Е содержит 2ntc элементов. Предположим, что все входные векторы вырабатываются гене- ратором случайных наборов с одинаковой вероятностью и что появление векторов в последовательности независимо друг от дру- га. Пусть Ej — множество последовательностей из Е, которые об- наруживают неисправность i. Мощность множества Ei равна Вероятность того, что один входной вектор не обнаруживает неис- правность i равна / 2п. Вероятность того, что случайная входная последовательность длины к обнаруживает неисправность Z Pi обн ~ 1 п 2 (4.42) Формула (4.42) позволяет получить ответ на следующий воп- рос. Дана схема и требуемая вероятность обнаружения данной не- исправности. Какова должна быть длина случайного теста? Рассмотрим в качестве примера двухуровневую схему (рис. 4.63). В табл. 4.14 приведена проверяющая функция для неисправности «константа 0» линии а. Эта функция содержит 50 двоичных набо- ров. Поэтому -1 (т 50 Робн 1 I 256 = 1-0,805*. 169
Таб лица < 14 № а ь с d е f _ £ ... h 1 1 1 0 0 Me* 2 1 1 0 0 3 1 1 0 — мм» м» 0 4 1 1 мг 0 0 мм» [' 5 1 1 «мм 0 М^ мм» 0 *— 6 1 1 М 0 мм» 0 7 1 1 Мм» 0 0 8 1 1 м-р 0 J*** 0 9 1 1 Ми» Мы» 0 ми- Л» 0 На рис. 4.64 показана зависимость вероятности обнаружения неисправности а® от длины к случайно! о теста. Например, чтобы обнаружить данную неисправность с вероятностью 0,99999 требу- ется подать на схему 53 случайных входных набора. В то же время если подать на входы схемы детерминированный тест, неисправ- ность обнаруживается с вероятностью 1 на 6 наборах. Мини- мальный полный проверяющий тест схемы (см. рис. 4.63) содер- жит 6 наборов (табл. 4.15). Случайный тест на 6 наборах обнару- живает неисправность а® с вероятностью 0,728. Таблица 4.15 № а ь с d е jf _ S _ h 1 1 1 0 1 1 0 1 1 2 0 1 1 1 1 0 1 1 3 0 _1 0 1 1 1 1 1 4 0 1 0 1 1 0 1 1 5 1 0 1 0 1 1 0 1 6 1 0 1 1 0 1 1 0 а--- b--- & d-- е— ?— Л-- Рис. 4.63. Бссповторяая двухуровневая схема 170
Рис. 4.64. Зависимость вероятности обнаружения неисправности от длины случайного теста Двухуровневая схема является наиболее легко контролируемой логической структурой. Этим объясняется столь явное преимуще- ство детерминированного тестирования перед вероятностным в рассмотренном примере. В более сложных схемах такого значи- тельного преимущества нет. 171
Глава 5 ДИАГНОСТИРОВАНИЕ ДИСКРЕТНЫХ УСТРОЙСТВ С ПАМЯТЬЮ 5.1. Построение проверяющих и диагностических тестов Многотактные схемы (рис. 5.1) или схемы с памятью являются более сложными для диагностирования объектами, чем комбина- ционные схемы. Многотактная схема (МС) содержит блок памяти (БП) и логический преобразователь (ЛП). Элементы памяти (ЭП), входящие в БП, сохраняют информацию о предыдущих входных воздействиях. ЛП является комбинационной схемой, которая вычис- ляет значения выходов и состояния ЭП в каждом такте работы МС. При диагностировании многотактной схемы необходимо обес- печить проверку исправного состояния каждого ЭП и каждого ло- гического элемента, входящего в ЛП. Логический преобразова- тель проверяется как комбинационная схема, но при этом необхо- Рис. 5.1. Структура многотактной схемы димо учитывать, что пере- менные jj, ... поступа- ющие на вход ЛП. не явля- ются независимыми (как пе- ременные Хр ... л'„). В дан- ный момент времени они определяются состояниями ЭП. Поэтому возникает следующая задача. Если из- вестен входной набор » J’b ’ J А (Xi = 0 или 1, yj = 0 или 1), на котором обнаруживает- ся неисправность некото- рого элемента ЛП, то, для того чтобы обеспечить ввод этого набора, требуется 172
Предварительно установить ЭП в состояния, соответствующие этому набору. Другими словами, проверка элемента требует предваритель- ной подачи некоторой установочной последовательности входных на- боров. Так как каждый ЭП имеет свою установочную последователь- ность, то объединение их в общий тест является достаточно сложной задачей. KjpoMe того, имеет место проблема установки схемы в исход- ное состояние, из которого начинается процедура диагноза. В неко- торых МС возможно увеличение числа Э11 в результате возникнове- ния константных неисправностей, а также появление критических со- стязаний, отсутствующих в исправной схеме. Указанные обстоятельства определили необходимость разработ- ки большого числа разнообразных методов синтеза тестов провер- ки М С, а также специальных методов их диагностирования. При этом учитываются вид элементной базы, тип ЭП, наличие в схеме сигналов синхронизации и другие особенности, которые оказыва- ют существенное влияние на организацию контроля МС. Для про- верки простых схем, имеющих небольшое число внутренних состо- яний, целесообразно использовать тривиальные тесты. Они нахо- дят применение при контроле устройств железнодорожной авто- матики. Процедуру построения тривиального теста рассмотрим на примере МС, построенной на реле (рис. 5.2). Обозначения контак- Рис. 5.2. Многотактная схема 173
тов имеют верхние индексы, с помощью которых различаются функционально одинаковые контакты. Работу многотактной схемы отображают при помощи таблицы переходов ТП. Для ее построения составляют функции, описыва- ющие схемы включения внутренних элементов памяти (реле и К2) и выходную схему (включение лампы Z). Для данной схемы = ху2^ху1; Г2=л y2vxyt; (5.1) Z= У2- По полученной системе функций составляют кодированную ТП (табл. 5.1), которая содержит 2п граф (п — число входов схемы) и 2^ строк (Аг — число внутренних элементов памяти). Каждая графа соответствует одному из входных состояний схемы. В данном случае имеется два входных состояния: х = 0 (кнопка х не нажата) и х = 1 (кнопка х нажата). Строки соответствуют внутренним состояниям схемы, которые определяются состояниями ЭП. Рассматриваемая схема имеет 4 внутренних состояния: 00,01, 11, 10. Каждому состоя- нию сопоставлено десятичное число S е {1, 2, 3,4}. На пересечении графы и строки в клетке ТП указано внутреннее состояние, в кото- рое переходит схема, если она находилась в состоянии, соответ- ствующем данной строке, и на вход схемы поступил входной на- бор, соответствующий данному столбцу. Например, из состояния у 1У2 = 00 под воздействием входной переменной х = 0 схема пере- ходит в состояние 00 (сохраняет свое состояние), а под воздействи- ем входной переменной х = 1 — в состояние 01. Состояния, в которых находится схема, вычисляются по урав- нениям (5.1). Определяются значения функций Kj и Y2 при подста- новке переменных х, и у2, соответствующих строке и графе, ко- торым принадлежит элемент таблицы ТП, соответствующий дан- ному состоянию. Например, вычислим состояние схемы, располо- женное на пересечении графы х = 0 и строк yjj2 = 01. Подставим указанные значения переменных х, у2 в функции и Y2 : У(= = 6-lv0-0 = l, ^2 =6’lv0 0 = b Для каждого состояния, распо- 174
Сложенного в таблице, ука- зывается значение выхода Z, которое рассчитывает- ся аналогичным образом. От кодированной ТП (см. табл. 5.1) осуществля- * Рис. 5.3. Граф переходов ется переход к ТП, в кото- F F рой внутренние состояния обозначаются цифрами (табл. 5.2), а от нее — к графу переходов (рис. 5.3). В последнем вершины соответствуют состояниям схе- мы, а дуги — переходам между состояниями. Значение входа, под воздействием которого осуществляется переход, указывает- ся над дугой. Из табл. 5.1 видно, что значение выхода полнос- тью определяется внутренним состоянием схемы. На графе пе- реходов значения выходов указаны под обозначениями внутрен- них состояний. Таблица 5.7 5 У1У2 0 1 1 00 00,0 01,0 2 01 11,1 01,1 3 11 11,1 10,1 4 10 00.0 10,0 Таблица 5.2 5 X 0 1 1 1,0 2,0 2 3,1 2,1 3 3,1 4,1 4 1,0 4,0 При помощи таблицы переходов или графа переходов можно моделировать работу многотактной схемы на любой последова- тельности входных наборов. В табл. 5.3 показан результат работы рассматриваемой схемы на входной последовательности 010101, подаваемой за шесть тактов. 175
Таблица 5.3 Такт t Входной набор X Внутреннее состояние Выход Z 5 У1 У1 1 0 1 0 0 0 2 1 2 0 1 1 3 0 3 1 1 1 4 1 4 1 0 0 5 0 1 0 0 Г 0 6 1 2 0 1 1 Первый такт отводится для установки схемы в исходное состоя- ние. В данной схеме, которая осуществляет управление лампой Z от одной кнопки а, в качестве исходного состояния выбирается случай, когда кнопка v не нажата, реле и У2 выключены, а лам- па Z не горит (см. рис. 5.2). В таблице указаны внутренние состоя- ния, в которые переходит схема в каждом такте работы, и значе- ния выхода. Так как при диагностировании наблюдаются только вхо- ды и выходы устройства, то работа многотактной схемы описывает- ся входной—выходной последовательностью (ВВП): 010101 — 011001. Каждая неисправность превращает исправную схему в неисправ- ную схему, которая описывается собственной таблицей переходов Последняя строится так же, как и ТП исходной схемы. Например, при обрыве контакта х1 неисправная схема описывается функциями *1 = ; У2 * X у2 V ХУ!; (5.2) По системе уравнений (5.2) составляется кодированная ТП (табл. 5.4), позволяющая моделировать работу схемы с данной неисправностью. Таблица 54 S У1 У2 X 0 1 1 0 0 00,0 01,0 2 0 1 01,1 01,1 3 1 1 01,1 10,1 4 1 0 00,0 10,0 176
В данном случае состояния 3 и 4 ока- зываются недостижимыми в работе схе- мы, которой соответствует граф пере- ходов, показанный на рис. 5.4. Схема из исходного состояния переключается в состояние«2 и остается в нем во всех последующих тактах работы независи- мо от состояния входа. При этом на Рис 5.4. Граф переходов неисправной схемы выходе сохраняется сигнал 1. Будем говорить, что ВВП обнаруживает неисправность если ВВП неисправной схемы, имеющая ту же входную последовательность, от- личается от нее хотя бы в одном такте выходной последовательности. Так, по табл. 5.4 и рис. 5.4 строим ВВП неисправной схемы, кото- рая включает в себя входную последовательность ВВП из табл. 5.3, 010101 - 011111. Она отличается от ВВП исправной схемы по зна- чениям выхода в тактах 4 и 5. Следовательно, ВВП, заданная табл. 5.3, обнаруживает обрыв контакта х1. Для МС может быть построена проверяющая ВВП, на которой обнаруживаются все неисправности схемы из заданного списка. Тривиальная проверяющая ВВП строится следующим образом. Рассматривается граф переходов схемы. Выбирается исходное со- стояние схемы, реализуемое в первом такте ВВП. Составляется ВВП с выполнением следующего условия. Если граф переходов содер- жит переход \ -> S? (S^ * Sj) под воздействием входного набо- ра аг, то этот переход должен моделироваться хотя бы в одном так- те ВВП. В том случае, когда переход -* Sj осуществляется под воздействием нескольких входных наборов, то моделироваться должен каждый случай перехода. Переходы Si -* Sj моделируются в ВВП автоматически. Минимальное число тактов ВВП /^2(5,-*^ I (53) где Q(S{ -* Sj) — множество индексов дуг в графе пере- ходов; kp(Sj -* Sj) — число входных наборов, приписанных дуге с индексом р. 177
Например граф, приведенный на рис. 5.3, содержит четыре дуги Sz -* Sj, каждой из которых приписан только один входной набор. Поэтому q - 4 + 1 =5. Для рассматриваемой схемы первые пять тактов ВВП в табл. 5.3 отвечают указанному условию. Составляется список неисправностей схемы, относительно ко- торых строится тест. В него включаются неисправности ЭП и элементов ЛП. Последний рассматривается как комбинацион- ная схема, в которой выделяются множества эквивалентных и импликантных неисправностей. В релейно-контактных схемах эквивалентными являются неисправности типа «обрыв» после- довательно включенных контактов и неисправности типа «корот- кое замыкание» (КЗ) параллельно включенных контактов, С уче- том этого составим классы эквивалентных неисправностей для схемы на рис. 5.2: Nj (обрывы контактов j* иу2)> N2(x1h J1)* N3(j2Hy^), N4(x2nyj). Кроме того, в контрольный список неисправностей включаются шесть неисправностей обмоток реле X, К| и девять неисправностей типа КЗ каждого из контак- тов-и обрыв контакта у^. Для каждой неисправности из полученного списка составляет- ся ТП, описывающая работу неисправной схемы, и вычисляется ВВП, соответствующая последовательности (5.3). Составляется таблица выходных последовательностей (табл. 5.5), в которой вы- писываются ВВП исправной схемы и всех ее неисправных модифи- каций. В таблице выходных последовательностей осуществляется сравнение столбца, соответствующего исправной схеме, со всеми столбцами неисправностей. Если столбцы не совпадают, то дан- ная неисправность обнаруживается ВВП; в противном случае не обнаруживается. Составляется множество необнаруживаемых не- исправностей. Так как ВВП моделирует все возможные перехо- ды в многотактной схеме, то число таких неисправностей невели- ко. В данном случае не обнаруживается только неисправность Ng. Последовательно рассматривается каждая необнаруживаемая не- исправность. Удлиняется ВВП для их обнаружения. Рассмотрим неисправность Ng — короткое замыкание контакта №. ТП неис- правной схемы представлена в табл. 5.6. 178
Таблица 5.5 Номер такта Вход- ной набор X Выход исправ- ной схемы 2 Выход схемы при неисправностях * Неисправности контактов типа «обрыв» Неисправности контактов типа «короткое замыкание» 1 Зсисправности обмоток реле типа «обрыв» Неисправности обмоток реле типа КЗ /V. ль Яз N4 л У2 х' /2 дг1 _л 1 Уг х2 л У1 X У, У2 X У| К Ni Л<« м> Nw Иц Nl2 /Via *14 *15 *16 N\j *1К *]9 *2<. 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 2 1 ] 1 1 1 0 0 0 0 1 0 1 0 0 t 1 0 1 0 1 0 1 3 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 1 4 1 0 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 I 5 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 I
Таблица 5 б S Уз X 0 1 1 0 0 00,0 01,0 2 0 1 11,1 01,1 3 1 1 11,1 10,1 4 1 0 10,0 10,0 Таблица 5.7 Номер такта Входной набор х Z Выход неисправной схемы к n; N'b 1 0 0 0 0 0 0 1 1 2 1 1 1 1 0 1 0 1 3 0 1 1 0 0 1 1 1 4 1 0 1 1 0 0 0 1 5 0 0 1 0 0 0 1 1 6 1 1 1 1 0 0 0 1 Сравнение табл. 5.6 с табл. 5.1 показывает, что в первых четырех тактах ВВП схема работает правильно, а в пятом такте искажается функция переходов. Вместо возвращения в исходное состояние 00 схема остается в состоянии 10, но значение выхода при этом не иска- жается. Чтобы зафиксировать неисправность, достаточно удлинить ВВП на один такт, т.е. ввести шестой такт, показанный в табл. 5.3. При этом в исправной схеме в шестом такте появляется сигнал 1, а в неисправной сохраняется сигнал 0. Таким образом, ВВП, представ- ленная в табл. 5.3, полностью проверяет рассматриваемую схему. Проверяющая ВВП обладает и определенными диагностичес- кими возможностями. В табл. 5.5 можно выделить классы эквива- лентных относительно ВВП неисправностей (получены с учетом введенного выше шестого такта): N* = {дгь N?, /Vl3, . ^2 - {Л’з. A'is} > ЛГз = {^4.^5, N6,N7,N9, Nl5, N„, Nl9} . * * * Л'4 - W’ ^5 - {A'll.A'lj}’ = W- ^2fl} В табл. 5.7 представлен словарь неисправностей, позволяющий диагностировать указанные классы. Для того чтобы различать две 180
। неисправности друг от друга, необходимо подать такую входную ^последовательность, для которой выходные последовательности будут различны при этих неисправностях. В данном случае все вы- деленные классы содержат неисправности, которые являются эк- вивалентными относительно любых ВВП. Если же существуют не- различимые неисправности, которые не являются эквивалентны- ми. то соответствующая ВВП удлиняется. 5.2. Сигнатурный анализ Для сложных вычислительных систем, обладающих большим объемом памяти и разветвленной логикой, объемы диагностичес- кой информации могут оказаться очень большими и потребовать неприемлемых аппаратурных и временных затрат. В этом случае применяется сжатие диагностической информации. Основным ме- тодом сжатия является сигнатурный анализ [6, 9, 23]. На рис. 5.5 приведена схема диагностирования сложного вычис- лительного устройства, оформленного в виде большой интеграль- ной схемы (БИС). Последняя имеет т входов и один выход и явля- ется элементом некоторой сложной микропроцессорной системы. Для проверки БИС используется проверяющий тест (в виде ВВП), содержащий последовательность входных наборов размерности т. Предположим, что эта последовательность содержит 100 наборов. Процесс диагностирования БИС состоит из двух процедур- Пер- вая процедура заключается в подаче на вход БИС 100 наборов теста и в фиксации последовательности сигналов на выходе. Для этого тре- буется регистр, имеющий 100 разрядов. Вторая процедура состоит в сравнении последовательности ответов с эталонной последователь- ностью, для хранения которой также требуется 100-разрядный регистр. Если эти две последовательности нс совпадают хотя бы в одном раз- ряде, делается вывод о наличии в БИС неисправности. Реакция схемы . . . . | 99 |ТШ) БИС . . . . | 99ДТбО Блок сравнения Эталон Рис. 5.5. Схема диагностирования БИС 181
Данный процесс может быть реализован как аппаратными сред- ствами, так и программным путем. При использовании аппарат- ных средств, кроме сложных регистров, необходима еше и более сложная схема сравнения. При применении программного метода требуется большое время для последовательного сравнения 100 бит. Сжатие информации заключается в том, что 100-разрядный век- тор выходных сигналов по какому-то правилу (алгоритму) заменя- ется вектором с существенно меньшим числом разрядов. Такая же операция производится и с эталонным вектором. Уменьшение числа разрядов сравниваемых векторов существенно уменьшает аппара- турные и временные затраты. Однако при этом имеет место потеря некоторой информации, в результате чего ряд неисправностей БИС не будут искажать выходной вектор и не будут обнаружены. Максимальное сжатие информации происходит тогда, когда 100- разрядный (в общем случае л-разрядный) вектор преобразуется в одноразрядный вектор по принципу четности числа единиц. Для этого выход схемы подключается к Т-триггеру (рис. 5.6). В этом слу- чае эталонный вектор содержит нечетное (или четное) число единиц. Если после поступления тестовой последовательности на вход БИС триггер окажется в состоянии 0, то это будет означать, что в схеме есть неисправность. Если же при наличии неисправности триггер бу- дет находиться в состоянии 1, то неисправность нс обнаруживается. Предположим, что появление всех искаженных выходных век- торов равновероятно, т.е. что половина всех неисправностей БИС нарушает четность вектора, а половина не нарушает. Тогда веро- ятность того, что неисправность будет обнаружена, равна 0,5. Столь низкая вероятность обнаружения неисправности есть следствие максимального сжатия информации. На практике применяются такие способы сжатия информации, которые лишь незначительно уменьшают вероятность обнаруже- Рис. 5.6. Схема диагностирования по принципу четности числа единиц ния неисправности. Будем представлять двоичный вектор выходных сигналов в виде многочленаf (л) относительно пе- ременной л', расположенного по убывающим степеням с коэффи- циентами 0 и 1. Например, 9-раз- рядный вектор (п - 9) 182
876543210 1 1 0 1 0 0 0 0 1 представляется в виде многочлена /(r)-1-x*+1-jr7 +o-jr6+l-x5 +0x4+0-x3+0x2+0x1 +lx° = = х8+х7+х5 +1 Старший разряд многочлена (а следовательно, и сам многочлен) имеет степень /7-1. Этот разряд соответствует первому выходному сигналу (ответу) БИС при подаче теста. Коэффициент при л4,_/ ра- вен ответу с номером /. Вводятся три операции над многочленами. Операция сложения выполняется по правилам операции «сло- жение по модулю 2»: х‘ + 0 = а4, х* + л4 = 0. Например, (х8 + х7 + х5 +1) + (х7 + х4 +1) = х8 + х5 + х4 ♦ Операция умножения выполняется по правилам х1 х;-х1+Л 0'Хг =0, 1-х* =хг. Например, Операция деления обозначается следующим образом: При делении многочленов старший член делимого делится на старший член делителя. Деление заканчивается, когда степень ос- татка становится меньше степени делителя. Например, 183
Здесь (х8 + х7 + х5 +1)—делимое; (х5 + х4 + х3 +1)—делитель, (X3 + х) — частное; (х4 + х3 + х +1) — остаток. Имеет место равенство /(х) = g(x)4(x) + р(х), где/(х) — делимое; g(x)—делитель; #(х) — частное; р(х)— остаток. Если степеньДх) равна л, степень g (х) равна г, то степень част- ного q (х) равна п - г, а степень остатка р (х) меньше, чем г. Таким образом, операция деления уменьшает степень многочле- на, т.е. уменьшает число разрядов соответствующих двоичных век- торов. Поэтому она применяется для сжатия двоичной информа- ции. При этом в качестве «сжатого» вектора используется остаток р (х), который называется сигнатурой. Если многочлен f (х) соответствует эталонному вектору выходных сигналов, то при делении его на некоторый делитель g (х) формирует- ся строго определенный остаток р (х), который принимается за эта- лонную сигнатуру. В рассмотренном примере р (х) = х4 + х3 + х + 1. На рис. 5.7 показана схема диагностирования БИС со сжатием информации. На вход БИС подается тестовая последователь- ность из 100 входных наборов. Выходная последовательность fix) при помощи схемы делителя сжимается, например, в 16-раз- рядный вектор. Полученная сигнатура — реакция сравнивается с эталонной сигнатурой. Неисправности в БИС искажают пос- ледовательность f (х) и сигнатуру р (х). Но ряд неисправностей сигнатуру р (х) не искажает. 184
Рис. 5.7 Схема диагностирования БИС со сжатием информации При построении схемы диагностирования (см. рис. 5.7) реша- ются задачи синтеза схемы делителя и оценки вероятности необна- ружения неисправностей БИС. Схема делителя, который называ- ется сигнатурным анализатором (СА), представляет собой сдвиго- вый регистр с линейными обратными связями. Представим делитель g(x) в виде g(x) = 8гхГ + gr-lx'~^ + - + № + 80 > где^, е {0,1}. На рис. 5.8 приведена общая структурная схема деления мно- гочлена f (х) на многочлен g (х). В нее входят элементы «сложе- ние по модулю 2» (элементы М2), элементы задержки (D-тригге- ры) и элементы умножения gt. Если коэффициент gf= 1, то в схе- ме устанавливается обратная связь; если gz = 0 — обратная связь отсутствует. На рис. 5.9 представлена схема деления на много- член f (х) - х5 + х4 + х3 + 1. Подача последовательности тестовых наборов на вход БИС, снятие последовательности выходных сиг- налов f (х) и работа сдвигового регистра синхронизируются одной и той же серией тактовых импульсов С. Рис. 5.8. Схема деления многочленаДх) на многочлен g(x) 185
Рис. 5.9. Схема деления на многочлен л*5 + л4 + л*’ + I В табл. 5.8 отражена работа регистра при подаче на вход после- довательности 110100001 [полином/(а) = х8 + х7 + л5 + 1]. В пер- вые пять тактов (сдвигов), в течение которых значение старшего коэффициента полинома л8 будет записано в триггер Т5, который соответствует старшему члену делителя х5, на выходе q (х) форми- руются сигналы 0. На рис. 5.9 показано состояние схемы регистра перед шестым сдвигом, когда по цепи обратной связи на элементы М2 поступает сигнал 1. В результате триггеры Tj, Tj и Т4 переклю- чаются в состояние 1, а триггеры Т7 и Т5 — в состояние 0 Таблица 5.8 № п/п Входной сигнал Я-V) Содержимое регистра Выходной сигнал <&) т, т2 Тз Тд Т5 0 0 0 0 0 0 1 1 1 0 0 0 0 0 2 1 1 1 0 0 0 0 3 0 0 1 1 0 0 0 4 1 1 0 1 1 0 0 i 5 0 0 1 0 1 1 0 6 0 1 0 1 1 0 1 7 0 0 L 0 1 1 0 8 0 1 0 1 1 0 1 9 1 1 1 0 1 1 0 В результате после девятого сдвига на выходе регистра появляется последовательность 1010, что соответствует частному q (х) = л*3 + а. А в самом регистре будет записан вектор 11011, соответствующий остатку р (л) = х4 + х3 + а + 1 (сигнатуре). Таким образом, последо- вательный регистр с обратными связями осуществляет операцию деления многочленов, которая сопровождается записью сигнату- ры в самом регистре. 186
Далее рассмотрим случай, когда в результате неисправности БИС происходит искажение ее выходной последовательности/(х), например в разрядах 3 и 6. Это искажение можно записать в виде многочлена вектора ошибок Искаженная последовательность/'(л) определяется следующим образом: /'(*) = /(-*) + е(х) = (х8 + х7 + х5 +1)+ (х6 + х3) = = х8+х7 + х6 + х5 + х3+1. Деление нового полинома/'(л) на g(.v) дает результат х8 + х7 + х6 + X3 Новая сигнатура л*4 + х3 отличается от эталонной л4 + л3 + л- +1, и поэтому данная неисправность будет обнаружена. Рассмотрим другой полином вектора ошибок Для него 187
Деление f л) на g(x) дает результат л*~ В данном случае новая сигнатура совпадает с эталонной, и по- этому неисправность БИС не обнаруживается. Определим условия, при которых искажение выходной последо- вательности БИС не обнаруживается за счет сравнения сигнатур. Пусть fix) = g(x) q(x) +р(х) и е(х) = g(x) + р,(л-). Тогда Г(Д = /(х)+е(х) = -teW <?О) + р(*)]+ IsW <?i О) + PiW] = = g(x) [<7(х)+ ^(х)]+ [р(х) + /?1(л)] = g(x) q'(x) + р'(х). Из данного выражения следует принцип суперпозиции для сдви- гового регистра с линейной обратной связью: частное и остаток (сигнатура) суммы двух входных последовательностей равны сум- ме частных и остатков слагаемых последовательностей. Неисправность БИС не обнаруживается, если сигнатура иска- женной выходной последовательности будет равна эталонной сиг- натуре, т.е. если р(х) = РМ + P1W - Р(х)- Отсюда следует, чтор। (л) = 0, т.е. сигнатура вектора ошибки е (л) должна быть равна 0. Поэтому справедливо Утверждение 5.1 Неисправность БИС не обнаруживается тогда и только тогда, когда многочлен вектора ошибки е (х ) является крат- ным многочлену делителя g (а), т е. делится на него без остатка. 188
Например, данное утверждение выполняется для рассмотренного выше вектора необнаруживаемой ошибки е (л) - д-8 + д-6 + д4 + д-3 + х2 + х: ‘Таким образом, для вектора е (х), соответствующего необнару- живаемой ошибке, можно записать е(х) = gW <71 так как Pj(x) = 0. Степень многочлена g(x) равна г, так как сигнатурный анали- затор имеет г разрядов. Степень многочлена е(х) равна п, гак как входная тестовая последовательность имеет п наборов, а выходная последовательность — п ответов. Тогда степень частного (ц (х) рав- на п - г. Поэтому имеется всего 2п~г многочленов q^ (-'*) при фиксиро- ванном остатке (х) = 0. Это означает, что имеется в точности 2п~г многочленов — ошибок е(х) и среди них один нулевой, соответству- ющий отсутствию ошибок. Поэтому из всех 2п многочленов ошибок е(х) не обнаруживается в точности 2,/-г - 1 ненулевых многочленов. Если считать, что все ошибки е(х) равновероятны, то вероят- ность необнаружения ошибок в двоичных выходных последователь- ностях в сигнатурном г-разрядном анализаторе равна (5.4) 189
Из формулы (5.4) следует, что достоверность сигнатурного анали- за определяется только разрядностью регистра г и не зависит от дли- ны тестовой последовательности. Наиболее часто на практике исполь- зуются 16-разрядные СА. Для них вероятность необнаружения 1 Р=-]б’= 0,000015259 и соответственно вероятность обнаружения 1 -р = 0,999984741. Сигнатурный анализатор выполняется в виде измерительного прибора. Прибор имеет цифровой индикатор, на котором высве- чивается сигнатура. В технической документации на принципиаль- ной схеме сложного устройства, состоящего из отдельных блоков (сменных плат), на выходах этих блоков (в контрольных точках) указываются эталонные сигнатуры. Они могут быть получены рас- четным путем или путем проверки с помощью СА заведомо исправ- ного устройства. При выполнении диагностической процедуры оператор подключает вход СА к контрольным точкам, начиная с выходов. Двигаясь от выходов ко входам, он находит неисправ- ную плату и заменяет ее. Метод сигнатурного анализа обладает большой достовернос- тью и требует небольшого дополнительного оборудования (3-4%). Тестовые программы по проверке аппаратуры могут быть записа- ны в ПЗУ, размещаемые в самом проверяемом оборудовании. При построении рассмотренных выше СА (см. рис. 5.8 и 5.9) нельзя использовать типовые микросхемы сдвиговых регистров, так как последние в своей структуре не содержат элементов М2. Поэтому применяются также схемы сигнатурных анализаторов с вынесенными сумматорами. Общая структура такого СА при- ведена на рис. 5.10. На рис. 5.11 представлена схема деления на многочлен х5 + х4 + х3 + 1, работа которой отражена в табл. 5.9. В этом случае окончательное содержимое регистра не является остатком от деления, в регистр записывается некоторый много- член (в данном случае х4 + х2), который также может быть полу- чен расчетным или экспериментальным путем. 190
Рис. 5.10. Структура сигнатурного анализатора с вынесенными сумматорами Л*) с Рис. 5.11. Схема деления на многочлен № + а4 + х3 + 1 с вынесенными сумматорами Таблица 5.9 № н/п Входной сигнал АО Содержимое регистра Выход- ной сиг- нал т. Т2 Т3 Т4 т5 0 0 0 0 0 0 1 1 1 0 0 0 0 0 2 1 0 1 0 0 0 0 3 0 1 0 1 0 0 0 4 1 0 1 0 1 0 0 5 0 1 0 1 0 1 0 6 0 0 1 0 1 0 1 7 0 1 0 1 0 1 0 8 0 0 1 0 1 0 1 9 1 0 0 1 0 1 0 При необходимости контроля БИС с несколькими выходами или одновременного контроля нескольких БИС применяется параллель- ный сигнатурный анализатор (ПСА). Он производит сжатие несколь- ких двоичных последовательностей одновременно. На рис. 5.12 при- ведена схема ПСА для делителя g (д) = + х4 + х3 + 1, в которой 191
Рис. 5.12. Схема параллельного сигнатурного анализатора
осуществляется параллельное сжатие пяти последовательностей fl М + fs (*) - Применение ПСА существенно увеличивает скорость тестирования. При этом достоверность контроля в ПСА также оп- ределяется по значению 2~г. 5.3. Методы сканирования Методы тестирования схем с памятью существенно сложнее аналогичных методов для комбинационных схем. Читатель мо- жет сделать об этом вывод, изучив материал предыдущих разде- лов книги. Поэтому на практике часто для целей тестирования осуществляют преобразование последовательностных схем в ком- бинационные [41]. Основная идея такого преобразования показана на рис. 5.13. Не- которые ключи К обрывают обратные связи. Тестовые входы под- ключаются к внут- ренним переменным Тр ••• >Ук а тестовые выходы позволяют наблюдать значения переменных Yj,..., Y^. Таким образом, все входы комбинаци- онной схемы доступ- ны, а все выходы на- блюдаются. При сканирова- нии внутренние эле- менты памяти (триг- геры) схемы одновре- менно используются для приема тестовых векторов и управле- ния текущим состоя- нием схемы, а также считывают (сканиру- ют) значения текущих Рис. 5.13 Структура тестирования схем с памятью 193
Рис. 5.14 Схема сканирования Вход сканирования внутренних переменных Ур... ,УА.(рис. 5.14). Во время нормального функционирования ин- дивидуальные тригге- ры сдвигового регист- ра работают независи- мо друг от друга и обеспечивают работу схемы с памятью. Во время тестирования каждый триггер стано- вится разрядом сдвиго- вого регистра, на кото- рый поступает тесто- вый вектор по входу сканирования. После- довательный тестовый вектор преобразуется в параллельный и пода- ется на входы у |,... ,yk. комбинационной схе- мы. Затем регистр воспринимает параллельный вектор перемен- ных Ур ..., Yj.. (т. е. реакцию схемы на тестовый вектор) и преобра- зует его в последовательный вектор на выходе сканирования. По такому правилу организуется так называемая схема LSSD (Level Sensitive Scan Design), впервые использованная в фирме IBM для обеспечения тестируемости [40]. На рис. 5.15 показана схема сканирования элементов памяти с помощью сдвигового регистра RG. Он имеет тактовый вход С; вход приема последовательных данных DS; входы приема параллель- ных данных D|, ... ,Da; выходы Qp ... ,Q(A+„p управляющие входы Pl, Р2. Режимы работы регистра устанавливаются с помощью сле- дующих сигналов: Pl = Р2 = 0 — прием параллельных данных; Р1 = 0, Р2 = 1 — выдача параллельных данных; Pl = 1, Р2 = 0 — прием последовательных данных (сдвиг); Pl = Р2 = 1 —сброс реги- стра. На рис. 5.16 приведена временная диаграмма работы схемы. 194
норм/тест При нормальном режиме работы триггеры регистра выполня- ют роль элементов памяти последовательностной схемы. Перио- дически текущие значения внутренних переменных Ур ... ,?£. счи- тываются и записываются по входам Dp ... ,D^. в триггеры регист- ра (Р1Р2 = 00). В следующий момент времени эти значения с выхо- дов регистра Q1, ... ,Q^ поступают на входы комбинационной ло- гики у’р ... (Р1Р2 = 01). Одновременно через мультиплексоры 1, ... ,/? на входы схемы подаются новые значения входных пере- менных хр...,х/г Комбинационная схема рассчитывает новые зна- чения текущих переменных Ур ... , Уд. и т.д. В режиме тестирования сдвиговый регистр выполняет свою роль преобразования последовательных двоичных данных в параллельные и наоборот. При состоянии сигналов управления Pl = 1, Р2 = 0 проис- ходит запись последовательного тестового вектора из блока памяти тестов в регистр по входу DS (период времени Т] на рис. 5.16). Длина тестового вектора равна к + п , так как он определяет значения 195
Рис. 5.16. Временная диаграмма к схеме на рис. 5.15
F входных n и внутренних к переменных. Затем тестовый вектор с выходов регистра Qp ... ,Q^ + п подается на входы комбинацион- ной схемы (период времени Ту и происходит вычисление новых значений текущих переменных Ур ... , У^. Эти значения, которые являются ответом на тест, считываются и записываются параллель- но в регистр по входам Dp ... ,D/. (период времени Ту. В следующий период времени Т4 осуществляется сдвиг регист- ра на к + п тактов и выдача с выхода + п последовательного двоичного слова-ответа на тестовый вектор. Это слово поступает в память ответов, где сравнивается с эталонным словом. Метод сканирования позволяет легко диагностировать после- довательностные схемы как комбинационные. Однако он требует значительных затрат времени на тестирование и выключение на это время аппаратуры из нормального режима работы. Основные затраты времени связаны с тем, что тестовые слова и реакции схе- мы на них передаются из памяти и в память как последовательные двоичные данные. На временной диаграмме (рис. 5.16) это время составляют отрезки Tj и Т4. Уменьшить время тестирования можно двумя способами. Пер- вый способ состоит в увеличении числа регистров с меньшей раз- рядностью, что позволяет длинное тестовое слово записывать параллельно во времени отдельными отрезками. Второй способ заключается в том, что триггеры регистра не используются как элементы памяти последовательностной схемы, а служат только для приема, хранения и передачи тестовых слов и реакций схемы. Этот способ проиллюстрирован на рис. 5.17. При нормальном функционировании работают элементы памяти собственно последовательностной схемы. Одновременно с этим пе- ред началом тестирования осуществляется загрузка тестового слова в регистр RG (период времени 7^ на временной диаграмме рис. 5.18). Сам нормальный режим работы прерывается только на короткое время (периоды 7^ и 7j), когда происходят подача тестового слова из регистра на входы комбинационной схемы j'p ... и запись но- вых значений переменных Ур ... , У^ в регистр по входам Dp ... ,D^. Считывание реакции на тест из регистра в память также происходит во время нормального функционирования (период Г4). Таким обра- зом, периодическое тестирование может производиться кратковре- 197
Режим менно на фоне нормального функционирования и, быть может, без существенной или всякой потери производительности аппаратуры. На рис. 5.19 приведена схема диагностирования, в которой ис- пользуются одновременно принципы сканирования и сигнатурно- го анализа (так называемая схема BILBO—Built-In Logic Block Observation). В ней применяются два управляемых сдвиговых ре- гистра А и В. Такой регистр (рис. 5.20) используется в четырех ре- жимах в зависимости от сигналов на управляющих входах Pl, Р2 и S Если PI — Р2 — 1, каждый триггер регистра работает независимо (рис. 5.21). Данный режим используется при нормальном функци- онировании. В этом случае триггеры регистров А и В выполняют роль элементов памяти последовательностной схемы. Серии син- хроимпульсов СI и С2 не перекрываются. Поэтому пара трип еров А и В работает по алгоритму «мастер-помощник». 198

Рис. 5.18. Временная диаграмма к схеме рис. 5.17
Рис. 5.19. Реализация принципов сканирования и сигнатурного анализа Три других режима регистров применяются при тестирова- нии комбинационной схемы. Если Pl = Р2 = 0 и S = 0, то схема (см рис. 5.20) превращается в схему простого сдвигового реги- стра (рис. 5.22). При этом с помощью мультиплексора MS вход последовательных данных DS подключается к входу триггера D1, а линейная обратная связь, образованная элементами «Сло- жение по модулю 2» отключена. В этом режиме регистр может принимать последовательные данные на входе DS и выдавать их на выход Qg. Если Pl = Р2 = 0 и S - 1, то подключается линейная обратная связь и схема становится схемой сдвигово- го регистра с линейной обратной связью. Она является генера- тором псевдослучайных двоичных чисел (наборов), которые ис- пользуются как тестовые при диагностировании комбинацион- ной схемы (см. п. 4.7). Наконец, четвертый режим получается, если Pl = 1, Р2 = 0 и S = 1 (рис: 5.23). Данная схема сдвигового регистра с линейной обратной связью и параллельными входа- ми играет роль сигнатурного анализатора (см. раздел 5.2), в которой записывается сигнатура, получаемая при тестирова- нии комбинационной схемы. 200
Рис. 5.20. Управляемый 8-разрядный сдвиговый регистр
202 Р1=Р2=1 Ql Q2 Q3 Q4 Q5 Qe Q7 Q8 Рис. 5.21. Первый режим работы регистра
Pl=Р2=0 Qi Q2 Q3 Q4 Qs Qe Q? Qs Рис. 5.22 Второй и третий режимы работы регистра
Рис. 5.23. Четвертый режим работы регистра
! Рассмотрим подробнее работу схемы (см, рис. 5.19) в режиме [-Легирования. В начале процесса регистр А переводится в режим 1фиема последовательных данных (Pl = Р2 = О, S = 0) и по входу 1JS из памяти в регистр загружается фиксированный двоичный н^бор, который определяет начало работы генератора псевдо- случайных чисел. После этого на регистр А подается сигнал S = 1, и он начинает формировать псевдослучайные двоичные наборы. Эти наборы с выходов Qj,... ,Qj. поступают как тестовые на входы j/p ... комбинационной схемы. Регистр В переводится в режим сигнатурного анализа (Pl - 1, Р2 = 0, S =1). Он фиксирует по входам Dp ... , Djl значения сигналов Ур ... , как реакции на тестовые наборы. После генерации заданного числа псевдослучай- ных тестов в регистре В формируется сигнатура. Далее регистр В переводится в режим сдвига данных (Pl - Р2 = 0, S = 0) и с выхода сигнатура последовательно выводится в память, где сравнива- ется с эталонной сигнатурой. Преимуществом данного метода по сравнению с обычным ска- нированием является ускорение процесса тестирования. При обыч- ном сканировании тестовые векторы и результаты тестирования пересылаются как последовательности двоичных сигналов. Это тре- бует существенных затрат времени. Здесь же только начальный век- тор псевдослучайного теста и результирующая сигнатура передаются последовательно. Остальные тестовые векторы генерируются реги- стром А. Недостатком является то, что не всякая комбинационная схема хорошо проверяется псевдослучайными тестами. 205
Глава 6 / ФУНКЦИОНАЛЬНОЕ ДИАГНОСТИРОВАНИЕ ДИСКРЕТНЫХ СИСТЕМ 6.1. Структурные схемы функционального диагностирования комбинационных схем Комбинационная схема (КС) входит как составная часть в любое дискретное устройство. Поэтому схема контроля КС всегда входит как составная часть в общую схему контроля ДУ. На рис. 6.1 пока- зана обобщенная структура функционального контроля комбина- ционной схемы. Существует большое разнообразие методов тако- го контроля [18, 21, 27, 28, 29, 33, 38, 40, 41, 42]. Исходная схема/(л) имеет п входов Хр х7, ... ,хп и т выходов. На выходах реализуются функции А(х),/2(х), которые выходы Рис. 6.1. Структура функционального контроля комбинационной схемы 206
Рис. 6.2. Схема контроля компаратора образуют рабочие выходы схемы ... ,j’/H • При организации контро- ля основной блок /(.г) не подлежит изме- нению, а в структуру включается допол- нительный блок g(x) (или блок конт- рольной логики), на выходах которого ре- ализуются дополнительные контрольные функции g|(x),ft(4-»^(-v)’ к * w- Третий блок структуры — компаратор осуществляет сравнение значений сиг- налов на выходах основного блока f(x) со значениями сигналов на выходах до- полнительного блока g(x). При возник- новении неисправности, когда возни- кает несоответствие между значениями указанных сигналов, на выходе компа- ратора, который является контрольным выходом всей структуры, формируется сигнал ошибки. Компаратор может иметь один или два выхода. В самопроверя- емых ДУ, реализуемых в соответствии с рис. 2.5, компаратор име- ет два выхода zt и z2- В этом случае в структуру включается четвер- тый блок-схема сравнения (СС), который контролирует наличие парафазного сигнала на выходе компаратора (рис. 6.2). В описан- ной структуре на выходе СС обнаруживаются неисправности, воз- никающие во всех четырех блоках — f (л), g (л), компараторе и СС Так как СС устанавливается одна для схемы любой сложности, в нее для обеспечения высокой надежности может быть внесена су- щественная избыточность. На рис. 6.3 приведен пример реализации схемы контроля сигна- ла на парафазном выходе Zj, z2. Если zt * z2, то реле К включено по одной из двух цепей: + U - VT1 - VD1 — контакт К - VD4 - VT4 — земля; + U - VT2 - VD2 — контакт К - VD3 - VT3 — земля. Если Z] = z2, то выключены одновременно либо транзисторы VT1 и VT2, либо транзисторы VT3 и VT4. Поэтому обе указанные цепи не существуют и реле К выключено. 207
+и JI Рис. 63. Схема контроля сигнала на парафазном выходе Все наиболее вероятные одиночные повреждения в схеме (обры- вы и короткие замыкания диодов и транзисторов) приводят к тому, что реле К выключается. Например, при коротком замыкании тран- зистора VT2 обмотка реле К шунтируется по цепи + U - VT2 -VT4 — земля, а при коротком замыкании диода VD1 по цепи + U - VT2 - VD2 - VD1 - VT3 — земля. В случае выключения реле К цепь его обмотки разрывается на собственном фронтовом контакте, выключается лампа Л (что сви- детельствует об отказе) и отключается питание контролируемого 208
ч ДУ. Это предотвращает неправильное воздействие на объект уп- равления со стороны неисправного ДУ. Для восстановления рабо- ты устройства надо искусственным путем включить реле К. | Возможны два подхода к построению структуры, представлен- I й на рис. 6.1. Первый подход проиллюстрирован на рис. 6.4. Его шея состоит в том. что дополнительный блок g(.v) вычисляет та- Ае функции g](x),g2(-v)1 Д:м наборе на выходах блоков /(л*) и g(x) формируется вектор < /1 fl — fm SiSzSk > ’ который является словом некоторого кода е*обнаружением ошибок. Тогда могут быть обнаружены те неис- | Лравности внутри блоков Дл) и g(x), которые вызывают появление | на выходах /р/2,... вектора, не принадлежаще- го выбранному коду. В общем случае блок g(.v) вычисляет конт- к- и g^(x), что на любом рабочем вход- л Л2 г выходы ,Рис. 6 4. Схема контроля методом вычисления контрольных разрядов 209
Глава 6 ФУНКЦИОНАЛЬНОЕ ДИАГНОСТИРОВАНИЕ ДИСКРЕТНЫХ СИСТЕМ I 6.1. Структурные схемы функционального диагностирования комбинационных схем Комбинационная схема (КС) входит как составная часть в любое дискретное устройство. Поэтому схема контроля КС всегда входит как составная часть в общую схему контроля ДУ. На рис. 6.1 пока- зана обобщенная структура функционального контроля комбина- ционной схемы. Существует большое разнообразие методов тако- го контроля [18, 21, 27, 28, 29, 33, 38, 40, 41, 42]. Исходная схема /(л) имеет п входов jq, л?, ... и т выходов. На выходах реализуются функции /i(-v)>/2W> — которые Рис 6.1. Структура функционального контроля комбинанионнокГсхемы 206
Рис. 6.2. Схема контроля компаратора образуют рабочие выходы схемы Г|, Г2, ••• ’Л’ш • При организации контро- ля основной блоках) не подлежит изме- нению, а в структуру включается допол- нительный блок g(x) (или блок конт- рольной логики), на выходах которого ре- ализуются дополнительные контрольные функции g}(x),g2(x),...,gk(x)1 к$т. Третий блок структуры — компаратор осуществляет сравнение значений сиг- налов на выходах основного блока f(x) со значениями сигналов на выходах до- полнительного блока g(x). При возник- новении неисправности, когда возни- кает несоответствие между значениями указанных сигналов, на выходе компа- ратора, который является контрольным выходом всей структуры, формируется сигнал ошибки. Компаратор может иметь один или два выхода. В самопроверя- емых ДУ. реализуемых в соответствии с рис. 2.5, компаратор име- ет два выхода Z| и z9. В этом случае в структуру включается четвер- тый блок-схема сравнения (СС), который контролирует наличие парафазного сигнала на выходе компаратора (рис. 6.2). В описан- ной структуре на выходе СС обнаруживаются неисправности, воз- никающие во всех четырех блоках — /(х), g (х), компараторе и СС Так как СС устанавливается одна для схемы любой сложности, в нее для обеспечения высокой надежности может быть внесена су- щественная избыточность. На рис. 6.3 приведен пример реализации схемы контроля сигна- ла на парафазном выходе - р -2- Если Zj х z2, то реле К включено по одной из двух цепей: + U - VT1 - VDI — контакт К - VD4 - VT4 — земля; + U - VT2 - VD2 — контакт К - VD3 - VT3 — земля. Если zt = z2, то выключены одновременно либо транзисторы VT1 и VT2, либо транзисторы VT3 и VT4. Поэтому обе указанные цепи не существуют и реле К выключено. 207
Рис. 6.3. Схема контроля сигнала на парафазном выходе Все наиболее вероятные одиночные повреждения в схеме (обры- вы и короткие замыкания диодов и транзисторов) приводят к тому, что реле К выключается. Например, при коротком замыкании тран- зистора VT2 обмотка реле К шунтируется по цепи + U - VT2 VT4 земля, а при коротком замыкании диода VD1 по цепи + U - VT2 - VD2 - VD1 - VT3 — земля. В случае выключения реле К цепь его обмотки разрывается на собственном фронтовом контакте, выключается лампа Л (что сви- детельствует об отказе) и отключается питание контролируемого 208
ДУ. Эго предотвращает неправильное воздействие на объек’ равнения со стороны неисправного ДУ. Для восстановления j гы устройства надо искусственным путем включить реле К. । Возможны два подхода к построению структуры, предста дой на рис. 6.1. Первый подход проиллюстрирован на рис. 6.4 идея состоит в том, что дополнительный блок g(x) вычисляе кие функции gi(x), £э(л')’••• ’ что на лю^ом рабочем ном наборе на выходах блоков /(л) и g(x) формируется ве < fif~> ••*fm —8к > ’ который является словом некоторого с обнаружением ошибок. Тогда могут быть обнаружены те 1 правности внутри блоков Да ) и g(x), которые вызывают появт на выходах —Jm* £ь£2—вектора, не принадлеж го выбранному коду. В общем случае блок g(.v) вычисляет i Рис. 6.4. Схема контроля методом вычисления контрольных разряд
рольные разряды кода с обнаружением ошибок. Поэтому структу- ру, представленную на рис. 6.4, называют схемой контроля мето- дом вычисления контрольных разрядов. При этом компаратор ре- ализуется в виде специального устройства—тестера, назначение ко- торого состоит в том, чтобы фиксировать факт принадлежности кодового вектора < Д/з—Лл &1&2— Sk > заданному коду. В про- тивном случае на выходе тестера, который является контрольным выходом всей схемы, формируется сигнал ошибки. Второй подход к построению структуры функционального ди- агностирования КС проиллюстрирован на рис. 6.5. В этом случае дополнительный блок^(л) вычисляет функции логического допол- нения gi(,v), ’ при помощи которых функции основ- ного блока /зС*)’ — преобразуются (дополняются) в функции Л|(л),/72(л), ... ,Л„7(л). Преобразование осуществляется так, что на любом рабочем входном наборе формируется вектор < , который является словом некоторого кода с обнару- жением ошибок. Для преобразования используются элементы М2 (©), реализующие функцию «сложение по модулю 2». Рис. 6.5. Схема контроля методом логического дополнения 210
Поэтому AiO) = Mx)®gi(x)’ h2(x) = f2(x)® S2(x) ’ ^ni(x) fm(x)®g,„(x)- Компаратор включает в себя элементы М2 и тестер, контроли- рующий векторы < hlh2—hm > . Данную структуру называют схе- мой контроля методом логического дополнения. Важным элементом рассмотренных структур функционально- го диагностирования КС является тестер. По своему назначению тестер представляет собой детектор (или схему кодового разде- ления), задача которого состоит в том, чтобы отличать кодовые векторы, принадлежащие рассматриваемому коду, от всех ос- тальных возможных векторов. Обычный детектор имеет один вы- ход и описывается функцией, определяемой через дизъюнкцию всех векторов кода. Рассмотрим, например, код с постоянным весом (или равно- весный код) «2 из 4». Кодовые слова содержат по четыре разря- да, из которых два разряда имеют значение 1, а два других раз- ряда — значение 0. В табл. 6.1, анализируемой далее, приведены шесть возможных слов кода «2 из 4», а на рис. 6.6 — детектор этого кода с одним выходом. Он содержит шесть элементов И, каждый из которых реализует одно из слов кода. Если на входы Л|, х?, x'j. Ад поступает кодовый вектор, то z = 1; в противном случае ” = 0. Неисправности элементов детектора приводят к ложному контролю кода. Таблица 6.1 Код «2 из 4» Кол «1 из 2» *1 *3 *4 2| 1 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 1 211
Рис. 6.6. Детектор кола «2 из 4» Рис 6 7- Самопроверяемый тестер Код с обнаружением ошибки nRp Код 2С1 Самопроверяемый детектор реализуется в виде самопроверяемо- го тестера (СПТ), который представляет собой устройство (рис. 6.7), имеющее п входов и два выхода. На входы подаются слова и-раз- рядного кода с обнаружением ошибок nRp (R — признак кода, р — параметр, характеризующий код). СПТ обладает следующими свой- ствами: 1) контроля входного вектора — выходы Zj и принима- ют значения (0,1) или (1,0), если на входе тестера присутствует век- тор кода nRp, и принимают значения (0,0) или (1,1) в противном случае; 2) самопроверки — для любой неисправности схемы тесте- ра из заданного класса существует входной вектор кода nRp, на котором выходы и принимают значения (0,0) или (1,1). С фун- кциональной точки зрения СПТ представляет собой комбинаци- онную схему, осуществляющую преобразование кода nRp в равно- весный код «1 из 2» (код 2С1). 212
Рис. 6.8. Самопроверясмый тестер для кода «2 из 4» На рис. 6.8 показана схема СПТ для кода «2 из 4» (код 4С2). На вхо- ды х j, л2, л*з и л'д подаются четырех- разрядные двоичные векторы. Шесть из них принадлежат коду 4С2. В табл. 6.1 показано осуществ- ляемое схемой СПТ преобразование слов кода 4С2 в слова кода 2С1, ко- торые формируются на выходах Z| и В табл. 6.2 представлены все че- тырехразрядные векторы, не принад- лежащие коду 4С2. При поступлении этих векторов на вход СПТ на его вы- ходе формируются двухразрядные векторы 00 или 11, которые не при- надлежат коду 2С1. Таким образом, схема на рис. 6.8 отличает др1 от друга слова кода 4С2 от слов, не принадлежащих этому коду. Сво] ство самопроверки СПТ на рис. 6.8 состоит в том, что для любой од ночной константной неисправности существует такое слово кода 4С при котором на выходе схемы устанавливается некодовое слово 00 ил 11. Например, неисправность «обрыв входа первого элемента ИЛИ соединенного с входом схемы Х], обнаруживается при поступлении вхо, ного вектора 1100 путем установления на выходе значений 00. Таблица 6 *1 -ъ *4 2S 0 0 0 0 0 о" 0 0 0 L 0 0 0 0 1 0 0 0 0 1 0 0 о 0 0 1 1 1 1 1 1 0 0 1 0 0 6 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 Г 1 1 1 Для тестеров введены следующие характеристики: - сложность L - - суммарное число входов логических элеме тов, входящих в структуру тестера;
- число уровней схемы г (характеризует быстродействие)—мак- симальное число элементов, через которые проходит путь в схеме тестера, связывающий его вход с выходом; - длина проверяющего теста t (характеризует контролепригод- ность) - число слов кода nRp, поступление которых на вход тесте- ра обеспечивает обнаружение в его структуре всех неисправностей из заданного класса на основе свойства самопроверки. Для тестера, предст авленного на рис. 6.8, L - 12, г - 2. Для об- наружения всех одиночных константных неисправностей из шести возможных кодовых слов требуется только четыре слова (г = 4), которые приведены в табл. 6.3. Таблица 6.3 Л1_ *4 . _*1. 1 1 0 0 0 1 1 "ТГ 0 1 1 1 г 0 0 1 1 0 1 0 0 0 1 I 0 1 При построении структур функционального диагностирования КС решаются следующие основные проблемы. 1. Синтез дополнительного блока g(x) с наименьшей сложностью. - 2. Обеспечение обнаружения максимального числа неисправностей в основном блокеДл ), а также по возможности и в блоке gfx) и компарато- ре. При этом учитывается, что неисправности в блоке g(a) и компа- раторе не оказывают непосредственного влияния на рабочие выхо- ды j,, у^-, — ,yw/ (см. рис. 6.1) всего устройства, а следовательно, и на работу объектов управления. Поэтому обеспечение обнаружения неисп- равностей в основном блоксДл) рассматривается как основная задача. 3. Обеспечение полного контроля компаратора. Эта задача важна, так как компаратор в системе контроля является «последним сторо- жем». Для ее решения требуется поступление на вход компаратора про- веряющего теста, который формируется на выходах блоков /(л) и g(.v). 4. Обеспечение необходимого быстродействия схемы контроля. Как видно из рис. 6.1, компаратор может выработать сигнал ошиб- ки только после того, как на его входы поступят сигналы с выходов основного блока /(л ), которые также непосредственно подаются на рабочие выходы•• всего устройства. Поэтому время фор- мирования сигнала ошибки должно быть меньше времени восприя- тия объектами управления сигналов с рабочих выходов. При этом решающее значение имеет быстродействие компаратора. 214
На практике часто ограничиваются требованием обнаружения одиночных константных неисправностей, так как при рабочем функ- ционировании устройства одновременное возникновение двух и бо- лее неисправностей маловероятно. Кроме того, увеличение кратнос- ти обнаруживаемых неисправностей вызывает, как правило, услож- нение/лруктуры дополнительного блока g(x). Допускается также при- менение несамопроверяемого компаратора, если сложност ь самопро- верясмого компаратора оказывается очень большой. С другой сторо- ны, если сложность компаратора во много раз меньше сложности ис- ходного блокаДх), то вероятностью отказа компаратора можно пре- небречь и также применить несамопроверяемый компаратор. Конкретные схемы функционального контроля КС определяют- ся видом используемого кода с обнаружением ошибок. 6.2. Метод дублирования Дублирование схем при построении ДУ часто используется на практике. В этом случае в качестве дополнительного блока g(x) в структуре функционального контроля устанавливается блок /*(х) (рис. 6.9), полностью идентичный основному блоку Дх), при этом /1 *(*) = Л(*)> /2 *(*) ... ,fm *(х) = /т(х). Тогда при нормальной работе на выходах основного и дополнительного бло- ков формируются векторы кода с повторением. Компаратор со- стоит из элементов М2, которые сравнивают сигналы на одинако- вых выходах f; обоих блоков. Если для всех ... = fj *(х), то на выходах всех элементов М2 формируются сигналы 0, а следовательно, z = 0, что свидетельствует об отсутствии неисправностей. Если хотя бы для одного 1 fi(x) * fi *(х) ’ то z ~ 1» и фиксируется ошибка. Рассмотрим схему, которая реализует систему функций Л = *2*3 v *1*2; /2 =*1*2 v*l(*2 v*3); Л =*1*2 v*3 v *1*2*3' <61) 215
- число уровней схемы г (характеризует быстродействие) — мак- симальное число элементов, через которые проходит путь в схеме тестера, связывающий его вход с выходом; длина проверяющего теста t (характеризует контролепригод- ность) - число слов кода nRp, поступление которых на вход тесте- ра обеспечивает обнаружение в его структуре всех неисправностей из заданного класса на основе свойства самопроверки. Для тестера, представленного на рис. 6.8, L - 12, г - 2. Для об- наружения всех одиночных константных неисправностей из шести возможных кодовых слов требуется только четыре слова (/ = 4), которые приведены в табл. 6.3. Таблица 6.3 Л1 х4 z-» 1 1 0 0 0 1 1 ’ 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 0 1 При построении структур функционального диагностирования КС решаются следующие основные проблемы. 1. Синтез дополнительного блока g(x) с наименьшей сложностью. 2. Обеспечение обнаружения максимального числа неисправностей в основном блоке/(х), а также по возможности и в блоке g(x) и компара го- ре. При этом учитывается, что неисправности в блоке g(x) и компа- раторе не оказывают непосредственного влияния на рабочие выхо- ды j’|, у^ ... ,уП1 (см. рис. 6.1) всего устройства, а следовательно, и на рабогу объектов управления. Поэтому обеспечение обнаружения неисп- равностей в основном блокеУ(х) рассматривается как основная задача. 3. Обеспечение полного контроля компаратора. Эта задача важна, так как компаратор в системе контроля является «последним сторо- жем». Для ее решения требуется поступление на вход компаратора про- веряющего теста, который формируется на выходах блоковых) и g(x). 4. Обеспечение необходимого быстродействия схемы контроля. Как видно из рис. 6.1, компаратор может выработать сигнал ошиб- ки только после того, как на его входы поступят сигналы с выходов основного блока Дх), которые также непосредственно подаются на рабочие выходы ... всего устройства Поэтому время фор- мирования сигнала ошибки должно быть меньше времени восприя- тия объектами управления сигналов с рабочих выходов. При этом решающее значение имеет быстродействие компаратора. 214
На практике часто ограничиваются требованием обнаружения одиночных константных неисправностей, так как при рабочем функ- ционировании устройства одновременное возникновение двух и бо- лее неисправностей маловероятно. Кроме того, увеличение кратнос- ти обнаруживаемых неисправностей вызывает, как правило, услож- нение^структуры дополнительного блока g(x). Допускается также при- менение несамопроверяемого компаратора, если сложность самопро- верясмого компаратора оказывается очень большой. С другой сторо- ны, если сложность компаратора во много раз меньше сложности ис- ходного блока fix), то вероятностью отказа компаратора можно пре- небречь и также применить несамопроверяемый компаратор. Конкретные схемы функционального контроля КС определяют- ся видом используемого кода с обнаружением ошибок. 6.2. Метод дублирования Дублирование схем при построении ДУ часто используется на практике. В этом случае в качестве дополнительного блока g(x) в структуре функционального контроля устанавливается блок /*(х) (рис. 6.9), полностью идентичный основному блоку Дх), при этом /1 *(*)= /!(*)> fl ’(*) =/2(v), *W = fm(x)- Тогда при нормальной работе на выходах основного и дополнительного бло- ков формируются векторы кода с повторением. Компаратор со- стоит из элементов М2, которые сравнивают сигналы на одинако- вых выходах Д- обоих блоков. Если для всех /(/е{1Д ...,«?))//(х) = Д *(х), то на выходах всех элементов М2 формируются сигналы 0, а следовательно, z = 0, что свидетельствует об отсутствии неисправностей. Если хотя бы для одного i fi(x) * fi *(%) ’ то z ~ 1» и фиксируется ошибка. Рассмотрим схему, которая реализует систему функций /1 = Х2Х3 v х1х2 ; fl = xlx2 vxl(x2 vx3>’ fl = xlx2 vx3 Vxlxlx3- (6.1) 215
На рис. 6.10 приведена дублированная структура. Блок f(x) мо- жет содержать элементы двух типов. Выход элемента первого типа связан только с одним выходом блока. В схеме на рис. 6.10 к таким элементам относятся элементы 1, 4—9. Отказ элемента вызывает искажение только одного разряда в векторе < /1/2/3/1 * /2 * /з* > » формируемом на выходах основного и дополнительного блоков. Выход элемента второго типа связан с двумя или более выходами блока (элементы 2 и 3). Отказ такого элемента приводит к искаже- нию нескольких разрядов в указанном векторе. Отсюда следует, что одиночная неисправность в структуре блока f (л) может вызы- вать кратную ошибку в векторе контролируемого кода. Элементы второго типа также подразделяются на два вида. Первые из них, вызывая искажение нескольких выходов, приводят к ошибкам толь- ко одного типа (либо 0 —> 1, либо 1 0). Такие кратные ошибки называют монотонными, а элементы соответственно монотонны- ми элементами. Отказы элементов второго вида могут приводить к ошибкам разного типа (немонотонные элементы). На рис. 6.10 отражено поведение схемы при неисправности типа 1-»0 на вы- ходе элемента 2 при поступлении входного набора л*| .v2 л'3 = 111. 216
Рис. 6.10. Пример схемы с дублированием В этом случае на выходе/] имеет место ошибка типа 1 -* 0, а на выхо- де/? — типа 0 -» 1, и поэтому элемент 2 является немонотонным. Достоинство схемы дублирования состоит в том, что обнару- живается 100% одиночных неисправностей как в основном блоке Да), так и в дополнительном блоке / *(х). Неисправность обнару- живается при первом же проявлении ее хотя бы на одном из выхо- дов блока. Не обнаруживается только такая комбинация неисправ- ностей, при которой одинаковым образом искажаются значения 217
сигналов на выходах блоковых) и/*(х). Если, например, в схеме на рис. 6.10 в обоих блоках/(х) и/*(х) возникают одинаковые неисправ- ности типа 1 —> 0 на выходе элементов 2, то одинаковым образом иска- жаются значения функцийJ\ (х) и j\*(х), а также функций/^ (х) иу^*(х), и поэтому на выходах всех элементов М2 компаратора сохраняются сигналы 0 и неисправности не фиксируются. Вероятность возникнове- ния таких неисправностей настолько мала, что ею можно пренебречь. Схема дублирования имеет существенный недостаток, который состоит в том, что сложность дополнительной контрольной аппара- туры всегда больше сложности исходной схемы. Сложность компа- ратора определяется числом выходов основного блока. Сложность компаратора, входящего в структуру на рис. 6.9, L(K) = w[L(M2) + 1], (6.2) где £(М2) — сложность элемента М2. На рис. 6.11 приведена логическая схема элемента М2 со сложнос- тью £(М2) = 6. Тогда ЦК) = 7п . Из (6.2) следует, что дублирование наиболее эффективно для сложных схем с небольшим числом выходов. Данный компаратор (см. рис. 6.9) не является самопроверяемым. При построении самопроверяемого компаратора необходимо, что- бы при исправных блоках/(х) и/*(х) и при неисправном компара- торе на выходе z появлялся сигнал ошибки. Для этого требуется, чтобы при исправных блоках f (х) и /*(х) на входах компаратора формировался проверяющий тест относительно его одиночных неисправностей. Однако на выходы каждого из элементов М2 про- веряющий тест не поступает. Схема элемента М2 (см. рис. 6.11) про- веряется только полным тестом, содержащим все четыре входных набора {00, 01, 10, 11} [30]. На входы же элемента поступают толь- Рис. 6.11. Схема элемента М2 ко два из них (00 и 11), так как для любого i fiM — fi *(х) [при исправных блоках f (х) и/*(х)]. Поэтому построение самопроверяемого компара- тора на основе сравнения од- ноименных выходов основ- ного и дополнительного бло- ков невозможно. 218
Рис. 6.12. Схема (а) и условные обозначения (6) модуля сравнения парафазных сигналов Для построения самопроверяемого компаратора в дублирован- ных структурах используется модуль сравнения парафазных сиг- налов МС (рис. 6.12). Парафазный сигнал х передается по двум линиям, на которых реализуются прямое и обратное значение пе- ременной х. МС обладает следующими свойствами: 1) если сигна- лы Xj и Х2 являются парафазными, то на выходе z также форми- руется парафазный сигнал (z Ф z); 2) если хотя бы один из сигналов ( х4 или х2 ) является непарафазным, то таким же становится и вы- ходной сигнал; 3) любая одиночная неисправность обнаруживается хотя бы на одном из четырех наборов проверяющего теста модуля (приведен в табл. 6.3) за счет нарушения нарафазности на его выходе. Путем каскадного соединения МС строятся самопроверяемые компараторы для любого числа парафазных сигналов (см. пример на рис. 6.13). Они нашли широкое применение на практике, а в англо- язычной литературе получили название «two-rail checker» (TRC). На рис. 6.14 приведен пример схемы дублирования с использованием Таблица 6.3 зд х>а-> 01 г 01 01 01 10 10 10 01 10 10 10 01 219
Рис. 6.13. Структура (а) и условные обозначения (б) самопроверяе.мого компаратора для пяти парафазных сигналов 220
Рис. 6 14. Самопроверяемая схема дублирования МС. В этом случае осуществляется инвертирование значений вы- ходных сигналов блока f *(л*) для преобразования кода с повторе- нием в парафазный код. В отличие от ранее рассмотренной схемы (см. рис. 6.10) здесь производится сравнение между собой не оди- ночных одноименных выходных сигналов, а пар одноименных сиг- налов блоков f (х) и что позволяет за счет подбора выходов этих блоков, подключаемых к входам одного и того же МС обес- печить поступление на его входы проверяющего теста. Однако в ряде случаев такой тест не может быть сформирован. В табл. 6.4 приведена система функций, при реализации которых невозмож- но обеспечить самопроверяемость компаратора Любая пара фун- кций не позволяет сформировать на соответствующих выходах бло- ков f (х) и / *(х) необходимые четыре набора проверяющего теста. В таких случаях для решения задачи полного контроля схемы при- меняют не логические, а специальные схемотехнические методы. Таблица 6 4 Л" [Л'-cV; Л 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 г 0 1 1 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 221
6.3. Метод паритета На рис. 6.15 приведена общая структура схемы контроля мето- дом паритета, которая наряду с дублированием также широко при- меняется на практике. Схема основана на использовании кода с контролем на четность (нечетность) или кода паритета. В табл. 6.5 проиллюстрирован принцип построения кода паритета для случая, когда число информационных разрядов равно 3 (.Vp х2Лз). Код па- ритета содержит всего один контрольный разряд (л*4). Если в ин- формационном векторе число единиц четно, то л4 - 0, если число единиц нечетно, то л4 = 1. Таким образом, любой кодовый вектор содержит четное число единиц. В коде паритета обнаруживаются все ошибки, которые приводят к нарушению четности числа еди- ниц, а именно все ошибки нечетной кратности и, следовательно, все одиночные ошибки. 222
Примеры обнаруживаемых ошибок: 0 0 11 0 0 11 — правильные векторы 1 III 0 0 0 1 1 1 0 1 — искаженные векторы Примеры необнаруживаемых ошибок: * 0011 0011 0011 — правильные векторы 11 11 11 1111 0101 0000 — искаженные векторы Таблица 6.5 X1X3X3 , 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 Таблица 6.6 X1X2V3 . л /2 ь Л _ 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 1 111 1 0 0 1 При организации контроля для данной схемы при помощи до- полнительного блока р(л) (см. рис. 6.15) рассчитываются значения контрольного разряда (бита паритета) по формуле: fP *(*) = /1(х)©/2W© Блок p(.v) реализует функцию f р *(х) . Компаратор также вы- числяет бит паритета при помощи соединенных последовательно 223
элементов М2, формирующих функцию fp(x) . Значения функций /р*(х)и fp(x) сравниваются элементом М2, который выраба- тывает сигнал ошибки z = 1, если fp *(*) * fp(x). Достоинство метода паритета по сравнению с дублированием состоит в уменьшении избыточности. Как правило, сложность бло- ка р (.v) меньше сложности исходной схемы /(л) и оценивается как 50—60% от этой сложности. На рис. 6.16 приведен пример органи- зации контроля методом паритета для схемы, заданной системой (6.1). Блок р(л) реализует функцию: = (Х2Х3 v xlx2)®xlx2 v х1(х2 v хз)@ ® (xlx2 v х3 v х1х2хз) = х1х2 v х1х2 v Х2Х3- Сложность блока L (р) = 9. что составляет 47% от сложности исходной схемы L (/) = 19. Однако по сравнению с дублированием уменьшается процент обнаруживаемых неисправностей. В блоке f (л) не обнаруживают- ся те неисправности, которые проявляются на четном числе выхо- дов блока, в том числе и соответствующие одиночные неисправнос- ти. Так, неисправность элемента 2 типа 1 -» 0 (см. рис. 6 16) на вход- ном наборе Х]Л*2Л'з = 111 искажает значение двух выходов (j\ и/э), и поэтому функция fp(x) сохраняет значение, характерное для ис- правной схемы. В среднем метод паритета обнаруживает 90 94% одиночных неисправностей в блоке /(л). В блоке р(х) обнаружива- ются любые неисправности, так как блок имеет всего один выход. В схеме контроля методом паритета возможна проверка всех элементов М2 компаратора за счет выбора соответствующего ва- рианта их подключения к выходам блокаДх). Например, на входы М2 10 и 11 элементов в схеме на рис. 6.16 поступает полный прове- ряющий тест. Это иллюстрируется следующими таблицами. 224
Рис. 6.16. Пример схемы контроля методом паритета 225
-I 1 Контрольный r, J выход Рис. 6.17. Самопроверяемая схема контроля На входы элемента 12 проверяющий тест не посту- пает, так как при исправной схеме fp*(x) = fp(x). Для получения самопрове- ряемого компаратора кон- троль по одному выходу z заменяется контролем по парафазному выходу, как это показано на рис. 6.17. Для получения схемы, в которой обнаруживаются все 100 % одиночных неисправностей в блоке f (л), контроль осуществляется по группам независимых выходов. Независимыми называются выходы, отвечающие следу- ющему условию. В схеме f (л) не существует такого элемента, не- исправности которого одновременно искажают значения хотя бы двух выходов из них. Например, в схеме на рис. 6.16 выходы в парах {Д, /2} и {Л’ /з^ являются зависимыми, так как они оба связаны с элементами соответственно 2 и 3, и поэтому одновременно искажа- ются при возникновении неисправностей этих элементов. Выходы же /j иД являются независимыми. Для каждой группы независимых выходов составляется отдельная схема контроля методом паритета; контрольные выходы объединяются между собой (например, при по- мощи МС), образуя единый контрольный выход. Если группа со- стоит только из одного выхода, то он контролируется методом дуб- лирования. В рассматриваемом примере имеются, таким образом, две группы независимых выходов {/3} и {/2}. Поэтому допол- нительный блок р (х) реализует две функции fp *W = /](х) ©/з(л') и /2(х) • Полная схема контроля показа- на на рис. 6.18. Элемент 10 /1 ООО 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 226
Элемент 11 А’)Л'тЛ'з /1 _ Л ООО 1 0 0 1 0 0 1 0 1 1 0 0 10 1 ? 1 1 Рис 6.18 Контроль по группам независимых входов 6.4. Контроль по коду с постоянным весом Код с постоянным весом образуют двоичные р-разрядные век- торы, в которых и- разрядов имеют значение единицы. Другие на- звания кода: равновесный код, код «и- изр», рСи-код. Число слов кода равно С“ . В табл. 6.1 приведены все шесть слов 4С2-кода. В коде обнаруживаются все одиночные и кратные однонаправ- ленные ошибки одного типа (либо 0 -* 1, либо 1 0), так как они изменяют число единиц в кодовом векторе. 227
Например, 110 0 — правильные векторы — I 10 0 10 0 0 — искаженные векторы — 1111 Не обнаруживаются такие искажения, которые связаны с появ- лением кратных ошибок, состоящих из одиночных ошибок разно- го типа, когда число единиц в векторе сохраняется. Например, 1 1 0 0 — правильный вектор Н 10 10 — искаженный вектор В схеме контроля по коду с постоянным весом (см. рис. 6.4) до- полнительный блок g(.\) вычисляет дополнительные функции gj(A'), g2( x')’ — (Л') с таким расчетом, чтобы при подаче на вход схемы любого рабочего вектора на выходах блоков /(a) Hg(.v) фор- мировались словарСм -кода. При этом р = т + к, а вес и- зависит от максимального числа единиц, которое может содержаться в векто- Ре < Л/2-’/w > качестве тестера, как правило, используется СПТ (см. рис. 6.7), так как сложность детектора кода с одним вы- ходом больше сложности СПТ с двумя выходами. Рассмотрим схему, заданную системой функций (6.1). В табл. 6.7 приведена таблица истинности для функцийД (а), /2 (*) и Jy (*)♦ из которой следует, что в исправном состоянии на выходах схемы формируются трехразрядные векторы с весами w = 0, 1,2. Число контрольных разрядов [дополнительных выходов блока g(x)] FVmax rvmin’ где Vi’ ,1Y и и,,, • — максимальное и минимальное число единиц в 111с1 111111 векторах, формируемых на выходах исправной схемы /(а). Таблица 6.7 Л . _ Л £1 82 ООО 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1 1 228
Окончание табл. 6 7 /1 .. А £1 gj 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 Дня контроля выбирается код с весом н’тах. В данном случае к - 2, и поэтому может быть использован 5С2-К0Д. В табл. 6.7 в графах gl и g2 Для каждого набора входных переменных осуществлено до- • определение выходных векторов до векторов 5С2-кода. На рис. 6.19 приведена полная схема контроля. Блок g(.v) вычисляет дополни- тельные функции £[(л) и £2<л')’ заданные табл. 6 7. Вектор < /1/2/38182 > контролируется самопроверяемым тестером для 5С2-кода (2/5 — СПТ). В данном случае сложность блока g(x) L - 6 (31% от сложности основного блока), что меньше сложности блока р(х) в схеме пари- тета (см. рис 6.16). В блоке /(л) обнаруживаются все неисправности, которые вы- зывают на выходах ошибки одного вида. Не обнаруживаются те неисправности (в том числе одиночные), которые приводят к ошиб- кам разного вида. Например, неисправность, вида 1 -* 0 на выхо- де элемента 2 при поступлении входного набора Л'рзЛ'з =111 вы- зывает искажение сигнала на выходеД вида 1 -* 0, а на выходе/2 — вида 0 -* 1. В результате на входе 2/5 — СПТ вектор 5С2-кода 10001 заменяется вектором 01001 этого же кода и неисправность не фик- сируется. Контроль по коду с постоянным весом обеспечивает об- наружение большего числа неисправностей чем метод паритета. В среднем в блоке/(л) фиксируется 95—97 % одиночных неисправ- ностей. В дополнительном блоке g(x) также могут быть необнару- живемые неисправности, при которых сохраняется число единиц в векторе на входе тестера. Для получения схемы, в которой обнаруживаются в блоке Дт) все 100% одиночных неисправностей, контроль осуществляется по группам монотонно независимых выходов [4, 47]. Два выхода яв- ляются монотонно независимыми, если в схеме нет "ни одного та- кого элемента, который связан с одним из выходов схемы при по- 229
Рис. 6.19. Пример схемы контроля по коду с постоянным весом 230
мощи пути с четным числом инверсий, а с другим выхо- дом — при помощи пути с нечетным числом инверсий. В этом случае неисправность любого элемента может при- вести к искажениям сигна- лов на обоих выходах схемы только одного видао В груп- пе монотонно независимых выходов каждая пара выхо- дов является монотонно не- зависимой. Например, в схе- ме на рис. 6.20 выходы /1./2</з>/4 образуют труп- пу монотонно независимых выходов, а выход/5 не явля- ется монотонно независи- мым относительно какого- либо другого выхода. Поэто- му для обеспечения 100%-ного Рис. 6 20. Комбинационная схема обнаружения одиночных не- исправностей выходы/| —Д контролируются по постоянному весу, выход Д — методом дублирования, а контрольные выходы объе- диняются так, как это сделано в схеме на рис. 6.18. Самопроверяемые и4?-тестеры строятся на основе рассмотре- ния базовой функции .X. /и- , (6.3) которая образуется объединением знаком дизъюнкции конъюнк- ций ранга и*, соответствующих всем словам (их число равно С”) кода pCw. Между конъюнкциями хцх^-.л^, и словами кодаpCw существует взаимнооднозначное соответствие. Конъюнкция содер- 231
Рис. 6.19. Пример схемы контроля по коду с постоянным весом 230
мощи пути с четным числом инверсий, а с другим выхо- дом — при помощи пути с нечетным числом инверсий. В этом случае неисправность любого элемента может при- вести к искажениям сигна- лов на обоих выходах схемы только одного вида. В груп- пе монотонно независимых выходов каждая пара выхо- дов является монотонно не- зависимой. Например, в схе- ме на рис. 6.20 выходы /1»Л, /з»Л образуют груп- пу монотонно независимых выходов, а выход/5 не явля- ется монотонно независи- мым относительно какого- либо другого выхода. Поэто- му для обеспечения 100%-ного обнаружения одиночных не- исправностей выходыJ\ — контролируются по постоянному весу, выход — методом дублирования, а контрольные выходы объе- диняются так, как это сделано в схеме на рис. 6.18. Самопроверяемые м’4?-тестеры строятся на основе рассмотре- ния базовой функции Рис. 6 20 Комбинационная схема f"(xvx2,...,xp) = Л'.Л* ...Л'. । /1 /2 /и-, (6.3) которая образуется объединением знаком дизъюнкции конъюнк- ций ранга >г, соответствующих всем словам (их число равно С”) кода ^Cir. Между конъюнкциями л/1хг-2...Х/И, и словами кодарС\г существует взаимнооднозначное соответствие. Конъюнкция содер- 231
жит в себе те переменные, которым в соответствующем слове кода отвечают разряды, равные единице. Например, для 4С2-кода имеем /2(Л'|,Х2,Л-з,Л-4) Л]Л-2 V Л*|Л*з V Х]Х4 V Л2Л'з V.Y2A'4 V Л-3Л-4. Данная функция содержит шесть конъюнкций ранга 2, соответ- ствующих шести словам кода 4С2 (см. табл. 6.1). Слову 1100 соот- ветствует КОНЪЮНКЦИЯ A pY-j, СЛОВУ 1010 — КОНЪЮНКЦИЯ Л'рХ'з и т.д. По базовой функции строятся быстродействующие н//?~СПТ на основе ее разложения на две функции Zj и г2, каждая из ко- торых также представляет собой объединение конъюнкций ран- га и’. Обозначим через Qw , (2и-+1 и Си-1 множества всех слов или соответствующих им конъюнкций кодов соответственно рСи-,рС(и’+1),рС(н -1). Будем считать, что конъюнкция ран- га и1 покрывает конъюнкцию Л/2 ранга ir + 1, если Л/, состав- ляет часть Л/2. Тестер мт^-СПТ отвечает свойствам контроля входного век- тора и самопроверки, если выполняются следующие условия: каждая конъюнкция ранга и- из множества должна входить в одну из функций г, или причем только в одну из них; каждая конъюнкция ранга ir + 1, входящая в множество , должна покрываться хотя бы одной конъюнкцией, вклю- ченной в функцию и хотя бы одной конъюнкцией, включен- ной в функцию Г2' каждая конъюнкция ранга и - 1, входящая в множество СИ’-1 ’ должна покрывать хотя бы одну конъюнкцию, включенную в фун- кцию Гр и хотя бы одну конъюнкцию, включенную в функцию Z-). 11а рис. 6.21 приведена схема 2/4-СПТ, реализованная по функциям Z] = Х]Х2 v v х2х4; Z2 = Х]Х4 V Х2Хз V Х3Х4 Двухуровневые тестеры, обладая максимальным быстродействи- ем (г = 2), имеют большую сложность [L = (и- +1)С^] и требуют для 232
Код /эХ'и-, -1 Рис. 6.22. Структурная схема тестера к своей проверки все слова кода (/ = С ” ). Кроме того, двухуровневые тестеры могут быть построены не для всех равновесных кодов. Универсальным для построения тестеров является принцип пре- образования кодов [44]. Он позволяет строить многоуровневые схемы тестеров, что уменьшает их сложность. В этом случае за- данный код pCw преобразуется в код 2С1 в несколько этапов по схеме pCw -* /4СН’] -* Р2^и2 ••• Pk^wk (рис. 6 Ш Преобразователи, входящие в СПТ, должны удовлетворять сле- дующим 1 ребованиям. Каждый преобразователь должен обладать свойствами контроля входного вектора и самопроверки. Данные 233
Рис. 6.23. Схема 3/4-СПТ свойства аналогичны соответствующим свойствам СПТ. А имен- но, на выходе преобразователя Р/Сиу -* рСиу формируется слово кода РуСму, если на его вход поступает вектор кода ргСиу; в про- тивном случае формируется вектор, не принадлежащий коду PjCwj. Для любой одиночной неисправности преобразователя су- ществует слово кода р^Сиу. при котором на выходе устанавлива- ется вектор, не принадлежащий коду РуСну. Кроме того, необхо- димо, чтобы на выходе каждого преобразователя в процессе нормального функционирования формировалось такое множе- ство кодовых векторов, которое составляет проверяющий тест последующего преобразователя. На рис. 6.23 приведена схема 3/4-СПТ, основанная на трехкаскадном преобразовании кода по схеме 4СЗ -* 4С1 -* 4С2 2С1. Особый класс составляют 2и Си-коды. Тестеры для таких кодов описываются двумя пороговыми функциями вида Fp(k a w), ко- торые принимают значение 1 на наборах входных переменных, имеющих вес в* и более Многоуровневая пороговая цепь строится 234
следующим образом. Множество входных переменных функции В разбивается на два непустых подмножества и В2, содержащих соответственнор^ ир2 переменных (Д]+ и2 ~ ”)• Функция, описыва- ющая пороговую цепь. f (/с 2 IV) = V F (кх г (к2 г т - (6.4) где /*1 = шах(и’ -р2; 0), r2 ~ min^p ir). Например, для случая, когда р = 4 и ir = 2, образуем подмноже- ства Вх = {хьх2} и В2 = {х3,х4} . Тогда/?! =р2 = 2, -тах(0;0) = 0, r2 = min(2;2) = 2. В соответствии с формулой (6.4) пороговая цепь описывается функцией FAk * 2) = V F>(^ a ;)F2(*7 *2-у) - F2(Zq * 0)F2(F> s> 0) v уед1.2} “ v F2(&i a 1)F2(£2 *1)v F2(Ar1 a 2)F2(*2 *0) = = X3X4 V (%! V x2 )(хз v x4) v X|X2 - Функции Z] и z7, описывающие структуру w/2w СПТ: 21 = „mF^k^J)Fn(k^2~j)’ (6’5) (6.6) где переменная j принимает значения, соответствующие нечет- ным числам, а переменная / — четным числам. Определим функции Z| и z2 для 3/6-СПТ. Множество входных переменных В = {х! х6 } делим на подмножества Fj = {х], х2, х3} и В2 - {х4, Х5, х^}. Используя формулы (6.5) и (6.6), получим 235
н = . Fp} * J^fp2 3 “ " yCf IJ j - F3(*j a 1)F3(A2 a 2) V F3(*! a 3)F3(A2 г 0) = = (*1 v x2 v x3)(*4*5 v X4X6 v x5x6) v xtx2x3; z, = V F (A-| г i)F (k2 a 3 - i) = <ejo.2( 11 12 = F3(k1 a 0)F3(A2 a 3) v F3(A] a 2)F3(A2 a 1) = = *4*5*6 v (*1*2 v *1*3 v *2*з)(*4 v *5 v *б) Схема 2/4-СПТ, приведенная на рис. 6.8, также построена по формулам (6.5) и (6.6). С точки зрения построения СПТ особый класс составляют так- же pCl-коды. Тестеры для них не могут быть построены с исполь- зованием формул (6.3)—(6.6). Они реализуются на основе преоб- разования кодов. Так, на схеме рис. 6.23 два правых блока пред- ставляют собой 1/4-СПТ, построенный по схеме 1/4 2/4 —» 1/2. Но наибольшее применение на практике нашел каскадный прин- Рис. 6.24 Схема 1/4-СПТ цип построения 1/р-СПТ. Для любого значения р тестер может быть собран соедине- нием между собой тестеров 1/4-СПТ (рис. 6.24) и 1/5-СПТ (рис. 6 25). В схему 1/15-СПТ (рис. 6.26) входят два тестера 1/4-СПТ и три тестера 1/5-СПТ. Если на вход тестера поступа- ет слово кода 15С1, в котором Л | = 1. то на выходе 1/4-СПТ первого уровня схемы устанав- ливаются сигналы 01 или 10, а на выходах тестеров 1/5-СПТ первого уровня — сигналы 00. 236
В результате сигналы 10 и 01 устанавливаются на выходах 1/4-СПТ второ- го уровня схемы и на вы- ходах 1/5-СИТ Г] и "2- Если на входы схемы по- ступает некодовос сло- во, все разряды которо- го имеют значение 0, то на выходах всех СПТ и на выходах Гр z^ уста- навливаются значения 00. Если на вход схемы поступает некодовый вектор с весом т 1, то на выходах Ср z2 уста- навливаются значения 11. Например, при по- даче вектора, в котором х5 ~ ЛТо =1’ на выходах 1/5-СПТ первого уровня устанавливаются значе- ния 10 или 01. В резуль- тате такие же значения устанавливаются на вы- ходе 1/4-СПТ второго уровня, и на вход вы- ходного 1/5-СПТ посту- пают два сигнала логи- ческой 1. что вызывает установление значений 21 = -2 ~ 1- Так как любой кодо- вый вектор равновес- ного кода содержит одно и то же число еди- ниц, то детектор кода Рис. 6.25. Схема 1/5-СПТ Рис. 6.26. Схема 1/15-СПТ 237
Кодовый Рис. 6.27. Детектор равновесного кода может быть также постро- ен на основе прямого сче- та единиц, как это показа- но на рис. 6.27. В данном случае кодовый вектор по- дается на вход счетчика единиц £1, на выходе ко- торого формируется век- тор, соответствующий чис- лу единиц в двоичном коде. Он сравнивается с задан- ным весом, который пода- ется на схему сравнения в виде вектора-константы. Однако такая структура не может быть реализована в виде самопроверяемой схемы, так как подача на входы схемы кон- Рис. 6.28. Структура 7/14-СПТ стант исключает возможность проверки связанных с этими вхо- дами элементов. При построении самопроверяемых схем тестеров используют- ся свойства pCir-кодов. Наиболее просто СПТ реализуются для 2и’См-кодов. Рассмотрим, напри- мер, код 14С7. Разобьем множе- ство входных переменных на две равные группы: Z?| = {.vb ... ,.v7} и = { '*8» — ,*14} - В схеме, показан- ной на рис. 6.28, отдельными счет- чиками осуществляется под- счет числа единиц в каждой груп- пе. В табл. 6.8 приведены четыре возможных случая сочетаний чисел единиц в группах В\ и Так, если группа Z?| не содержит переменных л* = 1, то группа В-, будет содержать 7 таких переменных и т.д. Из таб- 238
ли цы видно, что во всех случаях на выходах счетчиков I форми- руются противоположные двоичные векторы. В структуре СПТ этот факт фиксируется при помощи схемы TRC. Если входной век- тор имеет вес, не равный заданному, то векторы на выходах счег- чиков £1 не обладают указанным свойством. Например, если груп- пы и содержат 2 и 6 единичных переменных соответственно, то формируются векторы 010 и 110. Таблица 6.8 Число единиц в группе Bi В2 десятичное двоичное десятичное двоичное 0 ООО 7 111 I 001 6 но 2 010 5 101 3 011 4 100 Если вес кода w * 1/2р , то при подсчете числа единиц в груп- пах В| и В2 можно получить противоположные векторы путем суммирования полученного при подсчете числа с некоторой кон- стантой. Для 11С5-кода получим множества В\ = {.Vj,... ,л5} и #2 ={Х6’ ••• В табл. 6.9 приведены три возможных случая сочетаний чисел единиц в группах и В->, а также результаты сложения их с двоичной единицей (в столбцах JI + 1). Суммато- ры для сложения двоичных чисел с константами реализуются схе- мами без избыточных элементов, что позволяет строить само- проверяемые тестеры. Таблица 6.9 Число единиц в группе В. в2 десятичное двоичное XI + 1 десятичное двоичное S1 + 1 0 (XX) 001 5 101 110 1 001 010 4 100 101 2 010 011 3 011 100 239
6.5. Контроль по коду с суммированием Код с суммированием относится к классу разделимых кодов с обнаружением ошибок. В словах кода можно выделить информа- ционную (ш разрядов) и контрольную (к разрядов) части. Другие названия кода: код Бергера, pSm-код (р - т + к). Число слов кода равно 2т. Множество информационных слов кода образуют все возможные «/-разрядные двоичные векторы. Контрольная часть кодового слова определяется следующим образом. Подсчитывает- ся число единичных разрядов в информационном векторе кодово- го слова. Это число представляется в двоичном виде (вспомога- тельное слово). Контрольное слово образуется из вспомогатель- ного слова путем замены в нем единичных разрядов на нулевые и наоборот. В табл. 6.10 представлен пример построения 553-кода. Число контрольных разрядов рассчитывается по формуле к = ]log2(/n + l)[ . (6.7) Таблица 6. К) Информационные разряды Вспомогательные разряды Контрольные разряды Х1 х2 .г 3 .г5 .т4х5 ООО 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 В информационном векторе обнаруживаются однонаправлен- ные ошибки любой кратности, так как при этом изменяется число единиц в кодовом векторе. Например, в следующем случае Л4 Л5 1 о 1 о — правильный вектор — искаженный вектор 240
ймсет место несоответствие числа единиц в информационной час- ти слова числу, записанному в контрольной части. Не обнаруживаются кратные разнонаправленные ошибки, при которых число единиц в векторе сохраняется. Например, 1 О 1 О 1 О О О 1 О правильный вектор — искаженный вектор В контрольной части кодового слова обнаруживаются любые сочетания одиночных ошибок, так как при этом всегда искажается число, записанное в контрольном векторе. Например, 1 О О 1 О О 1 0 — правильный вектор I I О 1 — искаженный вектор В схеме контроля по коду с суммированием (см. рис. 6.4) допол- нительный блок g(x) вычисляет функции gj(x), g2(x), — (Л‘) с таким расчетом, чтобы при подаче на вход схемы любого рабоче- го вектора на выходах блоков Да) и#(.г) формировались слова pSm-кода (р = /я + к). При этом на выходах основного блока/(х) реализуются информационные разряды, а на выходах дополнитель- ного блока g(x) — контрольные разряды кода. В качестве компа- ратора используется самопроверяемый тестер pSm -СПТ. Рассмотрим схему, заданную системой функций (6.1). На рис. 6.29 приведена полная схема контроля. Так как т = 3, то в соответ- ствии с (6.7) к = 2. Дополнительный блок g (д') реализует два кон- трольных разряда 55"3-кода g] и g->. которые заданы в табл. 6.11 в соответствии с правилом построения кода с суммированием. Из табл. 6.11 следует, что gt(x) = X] v х2 и £2<Л') = Л'1*2 v *1Л'2Л'3- Вы‘ ходы основного и дополнительного блоков соединяются с входа- ми 553-СПТ. 241
Рис. 6.29. Пример схемы контроля по коду с суммированием 242
Таблица 6.11 А'1 *2 *3 0 0 0 10 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1 1 < 10 0 1 1 0 0 1 1 0 1 0 11 0 1 1 1 0 10 0 1 0 1 1 1 1 0 0 1 0 В данном случае сложность блока g (л) L = 9 (51 % от сложности основного блока), что меньше сложности блока р (х) в схеме пари- тета (см. рис. 6.16), но больше сложности блока g (х) в схеме конт- роля по постоянному весу (см. рис. 6.19). С точки зрения обнаружения неисправностей в основном блоке f (х) схема контроля по коду с суммированием полностью аналогична схе- ме контроля по коду с постоянным весом, ее же преимущество состоит в том, что в дополнительном блоке g(х) обнаруживаются все возмож- ные неисправности. Для получения структуры, в которой обнаружива- ются все 100% одиночных неисправностей во всех блоках f (х), g (а), СПТ), достаточно осуществить контроль выходов основного блока по группам монотонно независимых выходов. Эта же задача решается за счет преобразования схемы основного блока / (а), при котором из нее исключаются все немонотонные элементы. При этом дублируются последние, а также некоторые монотонные элементы, через которые проходят пути от немонотонных элементов к выходам блока. В сред- нем преобразование исходной схемы в монотонную схему, в которой неисправность любого элемента вызывает искажение значений сигна- лов на выходах только одного вида (либо 1 -* 0, либо 0^1), увеличи- вают сложность схемы на 16—20%. В монотонной схеме все выходы образуют одну группу монотонно независимых выходов. На рис. 6.30 приведен пример монотонной схемы, полученной путем преобразования схемы блока / (х) на рис. 6.29. При этом продублированы немонотонные элементы 2 и 3. Если в схеме на рис. 6.29 блок/(х) заменить блоком/(х), показанном на рис. 6.30, то полученная структура будет обладать свойством 100 %-ного об- наружения одиночных неисправностей. 243
Рис. 6.30. Пример монотонной схемы На рис. 6.31 приведена структура СПТ для кода с сум- мированием [43], содержащая два блока (генератор и компа- ратор). На входы ... ,хт генератора подаются перемен- ные, соответствующие инфор- мационным разрядам кода (см. табл. 6.10). Генераториме- ет 2к выходов (к - р-т) и осу- ществляет преобразование вектора, соответствующего информационной части кодо- вого слова, в вектор, соответ- ствующий вспомогательному слову (см. табл. 6.10), форми- руемому при построении кода. Во вспомогательном векторе разряды имеют инверсные зна- чения по отношению к разря- дам контрольного вектора. Функционально генератор яв- ляется счетчиком единиц £1. Компаратор имеет 2к входов и два выхода Г] ид2. На входы хт+}, хпг+2, • -,подаются перемен- ные, соответствующие контрольным разрядам кода. Компаратор осу- ществляет сравнение вектора, сформированного на выходах генера- тора. с вектором, образуемым контрольными разрядами кодового сло- ва. Обычно в качестве компаратора используется TRC. На рис. 6.32 приведена структура генератора, состоящая из двух блоков А и В Блок А содержит один уровень элементарных счет- чиков единиц, к которым относятся полусумматор НА (рис. 6.33) и полный сумматор FA (рис. 6.34). Полусумматор НА осуществляет сложение по «модулю 2» двух одноразрядных двоичных чисел л*| и л'2 в соответствии с табл. 6.12. Он имеет два выхода. На выходе S вычисляется значение суммы S - Х| ® х2, а на выходе С форми- руется сигнал переноса с ~ л j.v?. При этом на выходах НА обра- зуется двоичный вектор, отражающий число единиц во входном 244
И нформашюнные Контрольные разряды разряды Рис. 6.31. Структура тестера для кода с суммированием векторе (хр'?)- Полный сумматор производит сложение по «моду- лю 2» трех одноразрядных дво- ичных чисел Л |, л'э, и л'} в соот- ветствии с табл. 6.13. В этом слу- чае значение суммы вычисляется при помоши линейной функции 5 = x7 ф х2 @х3, а сигнал перено- са — при помощи мажоритарной функции с = -V] #Л'2 # А’з « Х|Х2 v v xjx3 v х2х3. Вектор на выходе FA отражает число единиц во входном векторе (х, х2 х3). Блок А Блок В Рис. 6.32. Структура генератора 245
a о Л1 & Рис 6.33. Условное обозначение (о) и схемы (б) полусумматора НА Рис 6.34. Условное обозначение (а) и схемы (б) полного сумматора FA Таблица 6.12 *1 Х2 с 5 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Таблица 6.13 *1 *2 *3 с S I о 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 246
S2(3) ГГГТ Рис. 6.35. Структура генера- тора на 11 входов Второй блок генератора (блок В) осуществляет сложение всех двухразрядных двоичных чисел, образованных на выходах элементарных счетчиков единиц блока Д. На рис. 6.35 приведена диаграмма, на которой проиллю- стрирован принцип построения генератора на примере генерато- ра на 11 входов. Тройки входов (xj, х2, х3), (х4, х5, х6) и (х7, х8, х9) объединяются сумматорами FA 1, FA2 и FA3, а входы (Х|0, Хц) — полусумматором НА. Двоичные векторы, формируемые на выходах FA1 и FA2, складываются при помощи сумматора двоичных чисел 22(1). Аналогично на выходе 22(2) образуется результат сложения векторов с выходов FA3 и НА. На выходах 22(1) и 22(2) формируются трехразрядные двоич- ные числа, которые складываются сумматором 22(3). На выходе 22(3) образуется четырехразрядный двоичный вектор, которым от- ражается число единиц, присутствующих на 11 входах генератора. Сложение двух двоичных чисел осуществляется также при по- мощи FA и НА. Для сложения двух разрядов устанавливается по- лусумматор, а трех разрядов — полный сумматор. Необходимость сложения трех разрядов возникает при наличии сигнала переноса от сложения предыдущего разряда. В табл. 6.14 поясняется прин- цип построения сумматора двух двоичных чисел на примере сло- жения четырехразрядного (л4яу72Л|) и трехразрядного чисел (^1 и являются младшими разрядами). В табл. 6.15 приведен конк- ретный пример сложения двух чисел. Значения сигналов переноса с и разрядов d результирующего вектора вычисляются по формулам di=ai©b[, ^2 = С1 ©й2 ® ^2 ’ ^3 = с2®а3©^3’ С) = ab, с2 = q#a2#^2 ’ с3 = с2#я3#^3’ d4 = с3©п4, с4 — с^а4, d5 = с4. 247
Таблица 6.14 1 Сигналы переноса с4 <~.ч с2 <•] э Первое число 3 Второе число Ь2 б. 4 Результат ^4 <3 Г < d\ Таблица 6.15 1 1 1 1 1 2 1 0 1 1 3 1 0 1 4 1” 1 0 0 0 0 Рис. 6 36 Сумматор двух двоич- ных чисел Для сложения младших разря- дов <7| И 6] (при этом вычисляются значения младшего разряда резуль- тирующего вектора и сигнала переноса q) устанавливается НА (рис. 6.36). Для вычисления значе- ний сигналов са также <73, <?3 ус- танавливаются полные сумматоры FA, а значений сигналов <74, d$ полусумматор НА В схеме контроля по коду с сум- мированием для уменьшения избы- точности, вносимой в блок g(.x) и СПТ, возможна организация конт- роля не по всем контрольным раз- рядам кода, а только по младшим разрядам. Если контроль осуществ- ляется только по одному самому младшему разряду, то образуемая схема совпадает со схемой контро- ля по паритету. В этом случае под- счет числа единиц в векторе (f[f2”-ftn) (см- Рис- 6 4) осуществ- ляется по модулю 2. При контроле по всем контрольным разрядам кода 248
подсчет числа единиц производится по модулю т + I. С увеличени- ем числа контролируемых разрядов увеличивается процент обнару- живаемых неисправностей, но и усложняются блоки g(x) и СПТ. На практике используется кон i роль по двум младшим разрядам (подсчет числа единиц по модулю 4), при котором обнаруживается 95 -е- 97 7» неисправностей по сравнению с контролем по полному коду. 6.6. Метод логического дополнения Недостатком схемы контроля методом вычисления контрольных разрядов (см. рис. 6.4) является то, что лежащая в ее основе идея контроля полностью копирует идею обнаружения ошибок при пе- редаче информации по линии связи. По этой причине значения сиг- налов gj(-v), g?(x), ... , gjt(.v) однозначно определяются значениями сигналов/](х),/?(х), ... ,/„,(х), и схема блока g(x) жестко определе- на и является часто единственной. Так при дублировании блок g(.v) аналогичен блоку/(х), а при контроле по паритету реализует вполне определенную функцию g(x) -/j(x) ©.Af v) © -•• ©/„(-*)- Отсутствие свободы выбора схемы блока g (х) определяет то, что сложность блока g(x) по сравнению со сложностью блока/(х) относительно велика. Кроме того, задача получения проверяющего теста на вхо- дах тестера при жесткой зависимости между сигналами/(х) и#(х) трудно решается, а в некоторых случаях в рамках метода вычисле- ния контрольных разрядов не имеет решения. Указанные недостатки в значительной мерс устраняются в схе- ме контроля методом логического дополнения (см. рис. 6.5). В этом случае число разрядов контролируемого тестером кода с обнару- жением ошибок равно числу выходов основного блока /(х). По- этому в структуре логического дополнения контролируется более простой код, имеющий т разрядов, чем в структуре с вычислением контрольных разрядов (т +£ разрядов). Это упрощает задачу по- строения самопроверяемого тестера. Последний имеет меньше вхо- дов и меньшую сложность. Это важно для схем с большим числом выходов, для которых сложность тестера может составить значи- тельную долю от сложности исходной схемы [32. 49]. Ценным качеством структуры логического дополнения являет- ся то, что блок g(x) может иметь достаточно большое число вари- антов построения. Каждая функция g{- (х) не определяется однознач- 249
но значениями функций /|(х), />(х), ... , поскольку вектор < > может быть преобразован в любой кодовый вектор <h^h2-Jim > При одном и том же сочетании значений функций /|(х), />(х), - ’/W/-Y) функция g^x) может принимать разные значе- ния. Это позволяет при построении структуры (см. рис. 6.5) осуще- ствлять выбор среди различных вариантов блока g(x) с наименьшей сложностью. Кроме того, путем подбора функций^jCvXg^v), ,gn£x) имеется возможность обеспечить поступление на входы тестера и элементов М2 всех наборов, составляющих проверяющий тест. Поэтому метод логического дополнения позволяет строить пол- ностью самопроверяемые структуры контроля комбинационных схем и в тех случаях, когда это невозможно методом вычисления контрольных разрядов. При построении структуры логического дополнения целесооб- разно выбирать в качестве контролируемого кода такой код, для которого существует простой тестер, требующий для своей про- верки небольшого количества входных наборов. К таким отно- сятся рС 1-коды. Эффективным является использование 4С1-кода, - так как 1/4-СПТ имеет простую структуру (см. рис. 6.24), которая проверяется четырьмя кодовыми словами {0001, 0010, 0100, 1000}. Рассмотрим случай, когда число выходов основного блока f (х) т = 4. Схема контроля показана на рис. 6.37. Для преобразования век- торов < Л/2/3/4 > в векторы </7j/72^3^4 > к°Да «1 из 4» доста- точно вычислить и реализовать функции дополнения трех функ- ций^ (х), /3 (х) и/4 (х): flM fit*)’ /2WV3W; (6.8) S4 W = (/] (x) V /, ( v) v /3(Л-))/4 (x) v V /,(*) V /,(.v) v /3(л) v /4( v). Контрольные функции на входах 1/4-СПТ определяются по формулам 250
М-О-ЯСО; h2(x)= f2(x)®g2(x); h3(x) = f3(x)®g3(x): (6.9) M*) = Л(л)®4’4М- Формулы (6.8) и (6.9) обеспечивают при всех возможных соче- таниях значений функций /j (x),f2 (х),/3 (х), Д (х) поступление на вход 1/4-СПТ слов 4С1-кода. Подбором соответствующих функ- ций f (х) и g (л) можно обеспечить поступление необходимых че- тырех проверяющих наборов на входы элементов М2. Если схема имеет три выхода, то целесообразно использовать ЗС1-код. В этом случае, если принять, /ц (х) = Д (х), то требуется вычислить две функции дополнения: g2(x) = /i(x)/2(x)v h(x)f2(x)f3(x), й(х)= Z»W(/iWv/2W)- ,61С)) 251
Когда схема имеет большое число выходов, то возможно исполь- зование соответствующего лС1-кода Более простая структура реа- лизуется при организации контроля схемы по группам выходов. На рис. 6.38 приведен пример для схемы, имеющей восемь выхо- дов. В этом случае выделяются две группы выходов и {/4, /5,/6}, которые контролируются по ЗС1-коду, выходы/7 и/8 конт- ролируются методом дублирования. Выходы СПТ, контролирую- щие отдельные группы объединяются при помощи TRC. 6.7. Контроль на основе свойств самодвойственных функций Рассмотренные в пп. 6.2—-6.6 методы контроля КС основаны на использовании свойств кодов с обнаружением ошибок. С другой сто- роны, их можно также рассматривать как методы, использующие свой- ства особенных классов булевых функций. В методе паритета исполь- зуются свойства линейных функций, к классу которых относится фун- кция паритета. Контроль по постоянному весу связан с монотонны- 252
ми функциями. В этом случае обнаруживаются все монотонные ошиб- ки, а тестеры описываются монотонными функциями. При контроле по коду с суммированием используются свойства мажоритарных и линейных функций. Полезными (с точки зрения контроля) свойства- ми обладают также самодвойственные функции [29, 46, 48]. Функция /(.¥|,л'2, ••• ,Л'Л) называется самодвойственной, если ./"(•^1,Х2, ••• ,.Y^) ./'(Х|»Х2, ••• ) (6.11) Входные наборы (xi,x2,... ,хп ) и (Х],х2,... ,х„) называются противоположными. Тогда из равенства (6.11) следует, что само- двойственная функция имеет противоположные значения на про- тивоположных наборах. В таблице истинности противоположные наборы расположены симметрично относительно средней линии. Например, в табл. 6.16 такие наборы составляют пары (0, 7), (1, 6), (2, 5) и (3, 4). В этой таблице задана одна из возможных самодвой- ственных функций от трех переменных f (х) = jqx2 v х^з v х2х3. Таблица 6 16 № п/п Х| Xi А'з f 0 ООО 1 1 0 0 1 0 9 0 1 0 1 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 1 7 1 1 1 0 Если выходы ДУ описываются самодвойственными функциями (СД-функциями), то такое ДУ называют СД-устройством. Напри- мер, таким является полный сумматор (см. рис. 6.34), так как его выходы S и С описываются соответственно линейной и мажори- тарной функциями от трех переменных, которые принадлежат к классу СД-функций (см. табл. 6.13). На рис. 6.39 показана схема организации контроля самодвойственного ДУ. Входной сигнал х преобразуется в самодвойственный (или альтернативный) сигнал х*, 253
a Рис. 6,39. Схема контроля самодвой- ственного устройства который имеет временное парафазиое представление (рис. 6.40). Преобразова- ние осуществляется при помощи элемента М2, на один вход которого пода- ется переменная х, а на дру- гой — непрерывная после- довательность импульсов д, формируемая внешним ге- нератором Г. Периоды пос- ледовательности а (обозначены римскими цифрами) содержат два такта или две фазы (обозначены арабскими цифрами). В информа- ционном такте 1 значение сигнала х * равно значению исходного сигнала х, а в контрольном такте 2 значение х * инверсно значению х. При такой организации входов в соседних тактах (информацион- ном и контрольном) на входы схемы будут поступать противопо- ложные входные наборы У (xhx2,... ,х„ ) и X = (хьх2,... ,х„). Рис. 6.40. Представление самодвойственного сигнала 254
Выходной сигнал у * в этом случае на основании свойства (6.11) СД-функций представляет собой импульсную периодическую после- довательность, т.е. также является альтернативным сигналом. Для пе- ревода альтернативного сигнала у * в постоянный сигнал у осуществ- ляется обратное преобразование при помощи сигнала а (см. рис. 6.39). Если в СД-устройстве возникает неисправность, то на его выхо- де реализуется ошибочная функция, которая не будет принадле- жать классу СД-функций. В этом случае неисправность обнаружи- вается за счет нарушения парафазности в одном из периодов вы- ходной импульсной последовательности. На рис. 6.41 приведен пример обнаруживаемой ошибки. В периоде IV сигнал у * в инфор- мационном и контрольном тактах имеет одно и то же значение. На данном входном наборе X = (л|,х2, ... ,х„) неисправность в самодвойственной схеме не обнаруживается тогда и только тогда, когда она искажает выходной сигнал у на обоих противополож- ных наборах Xи X «(х]}У2> — ->*п) • ® этом сиу436 в0 время соответ- ствующего периода импульсной последовательности ошибочного сиг- нала у не происходит нарушения парафазности сигнала (рис. 6.42), так как сигнал у искажается и в информационном (первом) и в конт- 255
Рис. 6.42. Искажение альтернатив- ного сигнала Рис. 6.43. Схема тестер самодвойствен- ного сигнала рольном (втором) тактах. В ре- альных схемах количество та- ких неисправностей невелико. Нарушение парафазности в периоде импульсной после- довательности фиксируется при помощи тестера само- двойственного сигнала (ТСС), схема которого приведена на рис. 6.43. Самодвойственный сигнал/* при помощи линии задержки ЛЗ, равной одному такту импульсной последова- тельности а, преобразуется в двухфазный сигнал (vj, v?). Из анализа временных ди- аграмм, представленных на рис. 6.40 и 6.41, следует, что при отсутствии ошибок в им- пульсной последовательности в контрольных тактах в точках i’l и 1’2 формируются сигналы с противоположными значения- ми. В информационных тактах могут формироваться сигналы как с одинаковыми, так и с противоположными значениями. При на- личии ошибки в сигнале в некотором периоде в контрольном такте этого периода в точках Vj и 1’2 всегда формируются сигналы с одина- ковыми значениями. Отсюда следует; что контроль самодвойственно- го сигнала можно осуществлять только в контрольном такте. Схема ТСС преобразует самодвойственный сигнал /* в пространственный парафазный сигнал (zj, z2). При этом во время информационного так- та, когда а - 0, значения сигналов на выходах zj и z9 не зависят от сигналов в точках и а на них всегда формируется парафаз- ный сигнал 10. Во время контрольного такта, когда а = 1, уста- навливаются равенства z} — Г| и z9 = а следовательно, осуще- ствляется контроль самодвойственного сигнала в текущем периоде. 256
Рис 6.44 Преобразование схемы к самодвойственному виду Рис. 6.45. Самодвойственный элемент И Если исходная комбинационная схема не является самодвой- ственной, то она преобразуется к самодвойственному виду при по- мощи альтернативного сигнала а в соответствии со структурой, по- казанной на рис. 6.44. Преобразование основано на том, что лю- бая булева функция от п переменных /(л*|,Л'2* ••• может быть представлена как СД-функция от п + 1 переменной /(я,Л|,л‘2,... ,хи) с помощью одной переменной а. В табл. 6.17 по- казан способ построения таблицы истинности функции ,А'П) на примере конъюнкции от двух переменных. Нижняя часть таблицы при а = 1 заполняется по правилу: на про- тивоположных наборах функция имеет противоположное значе- ние. По таблице находится функция, описывающая схему альтер- нативного элемента И (рис. 6.45) /и ="(Х| VX2)VX!X2. Таблица 6.17 а X] Хл у ООО 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 I 1 0 1 1 1 1 1 J 257
Логическая схема любой сложности преобразуется в самодвой- ственную схему двумя структурными способами. Первый способ заключается в замене логических элементов схемы их самодвой- ственными эквивалентами. Самодвойственные элементы простого базиса описываются формулами /или = «(xi VX2)VXIJC2; /и-НЕ = «(х1 v*2)v*l*2; /или-he = °(х1 v хг)v *1Х2 Элемент НЕ является самодвойственным и не требует дополни- тельного входа а. Второй структурный способ основан на том, что любую само- двойственную функцию S можно представить в виде S = /(п,Х],л'2,. ) = a/(0,.vbx2,...,x„) v v«/(1,A'i,.v2s—) = aF v aG, (6.12) где F и G есть двойственные функции. На рис. 6.46 показана структура самодвойственной схемы, ко- торая соответствует формуле (6.12). Блок F представляет собой ис- ходную схему, а блок G — двойственную исходной, которая может быть получена из последней путем замены элементов И на элемен- ты ИЛИ и наоборот. Возможна совместная реализация блоков F и G, что приводит к уменьше- Рис. 6.46 Структура самодвойствен- ной схемы нию сложности схемы, но увеличивает число необнару- живаемых неисправностей. На рис. 6.47 приведена полностью самопроверяемая структура контроля само- двойственной схемы. Каж- дый самодвойственный вы- ходной сигнал ft *(л) контро- лируется при помощи отдель- 258
ного ТСС. Парафазные выходы всех ТСС конт- ролируются TRC. Второй возможный подход к организации контроля проиллюст- рирован на рис. 6.48. Самодвойственные вы- ходные сигналы J] *(х) объединяются при по- мощи схемы сжатия (СЖ), на выходе кото- рой формируется аль- тернативный сигнал г *. Последний контро- лируется ТСС. СЖ об- ладает следующими свойствами. Выходная функция г * является са- модвойственной, если все входные функции /! *(.v), /2*(.v)*(х) являются самодвой- ственными. Если какая- Рис. 6.47. Полностью самопроверяемая структура контроля самодвойственной схемы Рис. 6.48. Схема самодвойственного контроля со сжатием выходных сигналов либо входная функция f *(.v) искажается таким образом, что из самодвойственной пре- вращается в несамодвойственную, то на тех наборах, на которых нарушается свойство самодвойственности для функции У} *(л), на- рушается свойство самодвойственности и для выходной функции z *. Для любой одиночной константной неисправности СЖ суще- ствует хотя бы один набор значений входных самодвойственных функций*(л), /> *(л), ... ,fm *(л), на котором нарушается свой- ство самодвойственности выходной функции ~ . Указанным свойством обладает элементарный модуль сжатия альтер- нативных сигналов, приведенный на рис. 6 49. На выходе модуля реализу- ется функция контроля нечетности. Схема сжатия для любого числа сигналов составляется путем последовательного соединения модулей.
a Рис. 6.49. Структура (а) и условное обозначение (б) элементарного модуля сжатия альтернативных сигналов Рис 6.50. Схема сжатия десяти альтернатив- ных сигналов Рис. 6.51. Обобщенная структура контроля схемы на основе самодвойственного дополнения Если число сигналов четное, то на вход од- ного из модулей пода- ется альтернативный сигнал а (рис. 6.50). На рис. 6.51 проил- люстрирован второй возможный принцип организации контроля схем на основе свойств самодвойственных функций. В этом слу- чае исходная схема f(x) не преобразуется в самодвойственную схему, а дополни- тельный блок 5(х) вы- числяет специальную контрольную функ- цию 5(х). 260
Функция 5 (х) называется самодвойственным дополнением фун- кции f (х), если f(x) ®8(x) = z(x), где z (х) — любая самодвойственная функция. Контроль самодвойственности функции z(x) позволяет обнаружи- вать неисправности в блоках f (х) и 8 (х). Так как в качестве функции z(x) может быть взята любая СД-функция (их число равно 22 п—число переменных функций), то возможно построить 2 схем блока 8(х). Среди них можно выбрать блок с минимальной сложнос- тью. Эффективным является метод вычисления функции 8(х), отражен- ный в табл. 6.18 для функции /(х) = ХзХ4 V Х2Х3Х4 V Х1Х3Х4 v XjX2X4 . В данном случае существует 256 вариантов построения блока 8(х). Определим на первой половине наборов, для которых Х| =0, зна- чение 5] = 0. Тогда на этих наборах zl -f ® 8j =/ Далее определим функцию Zj на второй половине наборов, для которых х} - 1, как самодвойственную. И наконец, вычисляем значения функции 8j на второй половине наборов как 8 =/Ф z. Минимизация этой функ- ции дает результат 8j = xj(x2 vx3). В таблице приведены еще три простых варианта функции дополнения: 82 =x2(xj vx3), 83 — Х| V Х2Х3, 84 = Х2 V Х]Х3 . Таблица 6.18 Л*1 Лэ Х3 Л4 6. Zi. 87 Z’ 5? Z4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 2 0 0 10 1 0 1 0 1 0 1 0 1 3 0 0 11 0 0 0 0 0 0 0 0 0 4 0 10 0 1 0 1 0 1 1 0 1 0 5 0 10 1 1 0 1 0 1 1 0 I 0 6 0 110 1 0 1 1 0 0 1 1 0 7 0 111 0 0 0 1 1 0 0 1 1 8 10 0 0 0 1 1 0 0 1 1 0 0 9 10 0 1 г-1 1 0 0 1 1 0 0 I 10 10 10 0 0 0 0 0 1 1 1 I 11 10 11 0 0 0 0 0 1 1 1 1 12 110 0 б 1 1 1 1 1 1 1 1 13 110 1 1 1 0 1 0 I 0 1 0 14 1110 1 1 0 1 0 1 0 1 0 15 1111 0 1 1 1 1 1 1 1 1 261
Рис. 6.52 Схема самодвойственного На рис. 6.52 приведена схе- ма самодвойственного контро- ля рассмотренной функции. Сложность дополнительного блока 6 (х) L- 4, что составля- ет 27 % от сложности основно- го блока f (л). На рис. 6.53 при- ведена временная диаграмма работы данной схемы при по- ступлении на ее вход последо- вательности наборов 0, 4, 11,4, 4, 8 (см. табл. 6.18). Контроль самодвойсгвенности функции z (а) состоит в проверке в каж- дом периоде того факта, что зна- чения функции в информацион- ном и контрольном тактах ин- версны друг другу. На рис. 6.54 приведена временная диаграм- ма работы схемы при наличии в ней неисправности «констан- контроля Рис. 6.53. Временная диаграмма работы схемы самодвойственного контроля 262
Рис. 6.54. Временная диаграмма работы схемы с неисправностью та 0» на нижнем входе эле- мента 2. Эта неисправность проявляется на наборах 7 и 15 путем искажения значения сигнала f типа 0 -» 1. Поэто- му у сигнала z нарушается самодвойственность в пер- вом и последнем периодах временной диаграммы, ког- да на вход поступают набо- ры 0, 15 и 8, 7. На рис. 6.55 приведена схема контроля на основе са- модвойственного паритета. Рис. 6.55. Схема самодвойственного паритета В этом случае выходы основного блока f(x) объединяются с помо- щью схемы из элементов М2 для расчета бита четности ф(л). Блок 6(.v) реализует б-функцию, дополняющую ф(х) до самодвойствен- ной функции Z (х). 263
6.8. Обнаружение неисправностей в схемах с памятью На рис. 6.56 приведена структура многотактной схемы с обна- ружением отказов. Комбинационная часть схемы разделена на два блока. Логический преобразователь (ЛП) реализует функции вклю- Рис. 6.56. Структура многотактной схемы с обнаружением отказов 264
чения элементов памяти (ЭП), составляющих блок памяти (БП), а выходной преобразователь (ВП) -г функции выходов. Для организации контроля в схему вводятся дополнительные ЭП (блок ДБП) с таким расчетом, чтобы векторы ’ соответствующие рабочим внут- ренним состояниям, схемы, являлись словами какого-либо кода с обнаружением ошибок. При этом разряды вектора У],У2’-'чУт соответствуют основным ЭП, расположенным в блоке БП, а раз- ряды —Дополнительным ЭП, расположенным в блоке ДБП Для управления дополнительными ЭП формирует- ся дополнительный логический преобразователь (блок ДЛ П) Для контроля ВП используется другой код с обнаружением ошибок. При этом могут вводиться дополнительные контрольные выхо- ды схемы реализуемые дополнительным выходным преобразо- вателем (блок ДВП). Неисправности элементов блоков ЛП и БП приводят к искаже- нию вектора характеризующего состояние систе- мы элементов памяти, что фиксируется самопроверяемым тесте- ром СПТ1 Тестер СПТ2 контролирует исправное состояние бло- ков ВП и ДВП Если на вход схемы информация поступает также в виде слов кода с обнаружением ошибок, то последний контролиру- ется при помощи СПТЗ. Парафазные выходы всех тестеров объеди- няются посредством модуля сравнения МС (см. рис. 6.12), в резуль- тате чего образуется единый парафазный выход контроля. На рис 6 57 приведена структура самопроверяемой самодвой- ственной многотактной схемы. Логический и выходной преобра- зователи. являющиеся комбинационными схемами, преобразуют- ся в самодвойственные схемы в соответствии с рис. 6.46. В образо- ванной схеме ЛП описывается СД-функцнями rf.yj,, а ВП — самодвойственными функциямии . Линии задержки (ЛЗ) дублируются. Каждая ЛЗ осуществляет задержку на время, равное половине периода импульсной последовательности а (см. рис. 6.40). 265
a Рис. 6.57. Структура самопроверяемой самодвойственной многотактной схемы Самодвойственные сигналы, формируемые на выходах блока ВП, при помощи схемы сжатия сводятся к одному контрольному сиг- налу z *. Неисправности элементов ЛП и линий задержки приво- дят к появлению несамодвойственных сигналов на входах ВП, что фиксируется по выходу ~ *. 266
Глава 7 ДИАГНОСТИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ СИСТЕМ « 7.1. Схемы организации тестового диагностирования микропроцессорных систем Микропроцессорная система как объект диагностики представ- ляет собой сложную вычислительную структуру с шинной органи- зацией (рис. 7.1). Она состоит из четырех основных групп БИС - микропроцессора, памяти, контроллеров ввода-вывода и контрол- леров связи с объектами. Каждая из этих функциональных подсис- тем, в свою очередь, является достаточно сложной с точки зрения диагностирования- Поэтому при организации тестового и функ- ционального диагностирования микропроцессорных систем ис- пользуется декомпозиционный подход, при котором в качестве объекта диагностирования выступают отдельные функциональные устройства: АЛУ, процессор, ОЗУ, устройства ввода-вывода УВВ, отдельные ТЭЗы И корпуса СИС и БИС. Трудности, возникающие при диагностировании микропроцес- сорных систем, определяются высокой степенью интеграции БИС (большим числом логических элементов и ограниченным числом внешних контактов), разветвленными связями между элементами системы Кроме того, разработчик аппаратуры очень часто не имеет полной информации ° внутренней структуре БИС и вынужден рас- сматривать ее как «черным» ящик. По этим причинам хорошо развитые общие методы построения тестов цифровых схем, описанные в главе 4, не всегда могут быть эффективно использованы. Для тестирования микропроцессоров разрабатываются и специальные методы, основанные на примене- нии функциональных тестов. Эти тесты обеспечивают выполнение операций микропроцессора на некотором множестве операндов. Существуют три основных подхода к построению тестов мик- ропроцессоров и микропроцессорных систем: модульный, микро- программный и функциональный. При модульном подходе БИС представляется как набор функционально законченных модулей. 267
Рис. 7.1. Структурная схема микропроцессорной системы
г Это регистры, счетчики, сумматоры, арифметико-логические устрой- ства, мультиплексоры и др. Для каждого модуля строится частный тест. Общий тест образуется путем объединения частных тестов на основе шинной организации передачи данных между модулями. Микропрограммный подход решает задачу следующим образом. Выбирается некоторая микропрограмма, состоящая из связанных микроопераций и осуществляющая передачу данных от внешних входов к внешним выходам устройства. Определяется часть аппа- ратуры, участвующая в реализации этой микропрограммы. Под- бираются операнды, обнаруживающие неисправности этой части аппаратуры при выполнении каждой микрооперации. Решается задача оптимального выбора множества микропрограмм, покры- вающего все аппаратные средства системы. Функциональный подход основан на тестировании функций мик- ропроцессорной системы. Список команд микропроцессора явля- ется источником информации о его операциях. Последние делятся на несколько классов: операции обработки; пересылки; ветвления; ввода-вывода и др. [50]. Тестируются каждая функция и та часть аппаратуры микропроцессора, которая реализует эту функцию («механизм» по терминологии [37]). Выделяют следующие основ- ные механизмы микропроцессора: - механизмы обработки данных: выполнения арифметических и логических операций, модификации операндов и результата, формирования признаков результата, адресной арифметики; - механизмы управления обработкой данных: дешифрации опе- раций, дешифрации модификаций операций, операндов и резуль- тата; активизации операций и модификаций; - механизмы хранения и передачи данных; - механизмы управления передачей данных: выборки регистров, управления межрегистровым обменом, адресации, реакции на внут- реннее состояние; - механизмы реакции на внешние сигналы и сигналы ввода-вы- вода данных, прерывания, прямого доступа в память и др Основой построения моделей механизмов является модель ре- гистровых передач [50]. Тестовые программы строятся для каждо- го механизма в предположении, что остальные механизмы явля- ются исправными. 269
Рис. 7.2. Схемы организации тестового диагностирования На рис. 7.2 приведены основные схемы организации тестового ди- агностирования БИС. Схема программного тестирования (рис. 7.2, а) содержит генератор тестов (ГТ). Тесты хранятся в памяти (ОЗУ или ПЗУ) и поддаются на вход объекта диагностирования (ОД) в специ- ально отведенные для этого интервалы времени. Выходная реакция ОД сравнивается с эталонной реакцией, которая также сохраняется в памяти. Подготовка тестов производится предварительно с исполь- зованием известных алгоритмов вычисления тестов или путем фи- зического или машинного моделирования. При физическом моде- лировании в копию тестируемого устройства вносятся физические неисправности и находятся входные воздействия, которые их обна- руживают. Для сложных устройств для этих целей используются машинные модели. При реализации программ тестирования приме- няются условные и безусловные алгоритмы диагностирования. По- иск дефектов осуществляется с помощью словарей или зондов. 270
На рис. 7.2, 6 показана схема вероятностного тестирования. Входные воздействия на входы ОД подаются от генератора псев- дослучайных воздействий ГПВ, который строится на сдвиговом регистре с обратными связями. Цифровое устройство, на входы которого поступают случайные последовательности сигналов, осу- ществляет вполне определенное преобразование распределения вероятностей этих сигналов. Анализатор выходных реакций про- веряет соответствие параметров случайных выходных сигналов некоторым эталонным значениям. Устройство считается исправ- ным, если статистически подтверждается такое соответствие. Ве- роятностное тестирование освобождает разработчика от сложных процедур синтеза детерминированных тестов и в то же время обес- печивает достаточную достоверность результатов. Компактное тестирование (сравнение с эталоном) состоит в том, что генератор входных воздействий подает сигналы одновременно на ОД и на эталонный (дублирующий) ОД. Эти сигналы могут быть наборами детерминированного или псевдослучайного теста. Резуль- тат диагностирования определяется из сравнения реакций обоих комплектов аппаратуры. Это исключает необходимость хранения результатов тестирования или даже вычисления этих результатов. При сигнатурном тестировании выходные реакции ОД обраба- тываются сигнатурным анализатором (см. п. 5.4). Полученные сиг- натуры сравниваются с эталонными, которые могут быть получе- ны расчетным путем или физическим моделированием. Данный метод позволяет существенно сократить объемы хранимой диаг- ностической информации. 7.2. Тестирование элементов микропроцессорных систем Тестирование АЛУ. При проверке исправности АЛУ тестиру- ются логические, арифметические и другие операции. Механизм выполнения одноместных и двухместных логических операций представляет собой регулярную структуру из п одинаковых элемен- тов с одним или двумя входами. На рис. 7.3 показана такая струк- тура для двухместной операции. Элемент Э является многофунк- циональным и выполняет ту или иную операцию в зависимости от значения вектора настройки с-Г 271
Рис. 7.3. Выполнение двухместной логической операции Функции каждого раз- ряда Z|, z2, ... ,zn вычисля- ются независимо друг от друга. Поэтому для тести- рования двухместной фун- кции достаточно четырех наборов, которые образу- ют полный тест. Если АЛУ выполняет к двухместных функций, то тест содержит 4к набора (табл. 7.1). Такой тест обнаруживает все одиночные и кратные неисправности при условии отсутствия ошибок в работе схемы дешифрации операций (сигнал ci является правильным). Таблица 7.1 Ci «1^1 Со 0 0 0 0 0 0 Со 0 1 0 1 0 1 Со 1 0 1 0 1 0 Со 1 1 1 1 1 1 с 1-1 0 0 0 0 0 0 Cjt-I 0 1 0 1 0 I Q-i 1 0 1 0 1 0 Q-i 1 1 1 1 1 1 Основой выполнения арифметических операций является сум- мирование, которое реализуется сумматорами различных типов. На рис. 7.4 показан сумма- Рис. 7.4 Сумматор с последовательным переносом тор с последовательным пе- реносом. Он представляет собой регулярную структу- ру, состоящую из базовых модулей — одноразрядных сумматоров HS. На входы /-го модуля HS подаются значения Z-го разряда ai и 272
hiоперандов (слагаемых) Д = (д1д2-”^и) и ^ = №i^2- Ai) и сигнал переноса ci । из предыдущего разряда. Значения выходов суммы и переноса cz- определяются по формулам: s{- = at } , с, =а^ vbiCi-x. 6 табл. 7.2 приведен проверяющий тест структуры (см. рис. 7.4). Таблица 7.2 № ЯА «2^2 • 1 0 0 0 0 0 0 0 0 0 • - . • 2 0 0 1 0 1 0 1 0 1 3 0 1 0 1 0 1 0 1 0 4 0 I 1 00 1 1 1 0 0 5 1 0 0 1 1 0 0 1 1 6 1 0 1 0 1 0 1 0 1 7 1 1 0 1 0 1 0 1 0 8 1 1 1 1 1 1 1 1 1 Он содержит восемь наборов для любого числа разрядов п и любой внутренней реализации модуля HS. Тест обнаруживает все одиночные неисправности сумматора. Он обеспечивает поступле- ние на входы cz_j Ато модуля HS полного множества из вось- ми наборов. Поэтому любая неисправность модуля HS- либо про- является на выходе Sj, либо изменяет функцию. В последнем случае неисправность обнаруживается на выходе б/+1. Известен также тест для сумматора с последовательным пере- носом, обнаруживающий любую кратную неисправность [12]. Он содержит 11 наборов (табл. 7.3). Тест для сумматора с параллель- ным переносом содержит 2п + 2 набора [37]. Таблица 7.3 № Го «А сьЬ, * • * 1 0 0 0 0 0 н б 0 То 2 0 г 0 1 0 1 0 1 0 1 3 0 1 0 1 0 1 0 1 0 4 1 0 0 1 1 1 0 0 1 1 1 5 ~ 0 1 1 0 0 1 1 0 0 6 1 0 1 0 1 о I 1 0 1 7 1 Г го г 1 0 1 б 1 0 8 1 1 1 1 1 1 1 1 1 9 лг 0 0 0 I 0 0 сП 10 о J 0 0 1 0 0 0 1 0 11 1 h 1 1 0 1 1 1 0 1 ~| * - *- *
Тестирование запоминающих устройств. Правильная работа за- поминающих устройств ОЗУ и ПЗУ является важным условием работоспособности микропроцессорных систем. Тестирование БИС ЗУ обычно проводится перед установкой ее в типовой эле- мент замены (ТЭЗ). При этом могут осуществляться статический, динамический и функциональный виды контроля. При статичес- ком контроле измеряются электрические величины в установившем- ся режиме (токи логических «О» и «1» входных и выходных сигна- лов, ток потребления). При динамическом контроле проверяются временные параметры микросхемы (время выбора микросхемы, время выборки адреса, время выборки считывания и др.). Целью функционального контроля является проверка правиль- ности работы узлов БИС ОЗУ с учетом их электрических связей во всех режимах работы (записи, считывания, регенерации информа- ции) при различных кодах адреса и входной информации [3, 7]. Функциональные тесты различаются своей длительностью и об- наруживающей способностью. Используются тесты типов L, Lr и L^, где L — емкость микросхемы памяти. Анализ выходных реакций на тесге осуществляется путем сравнения с эталонными реакция- ми. При этом возможно сжатие диагностической информации, на- пример с помощью сигнатурных анализаторов (см п. 5.4). В табл. 7.4 приведены некоторые из наиболее распространен- ных функциональных тестов и их свойства. 1. «Последовательная запись и считывание нулей и единиц». Производится запись нулей (единиц) во все ячейки ОЗУ, после чего производятся последовательное считывание и проверка этой ин- формации (рис. 7.5, а). 2. «Шахматный код». В соседние биты матрицы ЗУ записывает- ся взаимноинверсная информация. Затем содержимое всех ячеек последовательно считывается. Тест обнаруживает взаимовлияния между соседними элементами памяти (рис. 7.5, б). 3. «Запись-считывание в прямом и обратном направлении». Во все ячейки ОЗУ записываются нули. Затем производятся последо- вательное считывание содержимого каждой ячейки и запись в нее единиц. После записи единиц в последнюю ячейку процедура по- вторяется от старшего адреса к младшему с чтением единиц и за- писью нулей. Тест обнаруживает взаимовлияния соседних ячеек при смене в них информации (рис. 7.5, в). 274
Таблица 7.4 № п/п Функциональные тесты Длительность теста Обнаруживаемые отказы в матрице элементов памяти в дешифраторе Отсутствие записи Ложная запись Ложное считывание Отсутствие выборки Много- адресная выборка Неодно- значность выборки 1 Последовательная запись и считывание нулей и единиц 4Д — 0 0 0 0 0 2 Шахматный код 4Л + — 0 — 0 0 3 Запись-считывание в прямом и обратном направлении 5L + + — *— — 4 Четность-нечетность адреса 4L 0 0 0 + — + 5 Бегущая 1 или 0 2(L: ♦ 2L) + 1 + + — — 6 Попарное считывание 2(2Z? + 2L) + + + + + 7 Бегущий столбец _ Ж^.+ зь) . + + + — — — 8 Бегущая строка 2(LS- + 3L) + + 4- + 1 — Примечание. «+» — эффективный контроль; «-» — неэффективный контроль; 0 — нет контроля.
a б e Рис. 7.5. Алгоритмы формирования функциональных тестов ОЗУ 4. «Четность-нечетность адреса». В каждую ячейку записывает- ся 0, если число единиц в адресном коде четно, и 1, если число еди- ниц нечетно. Затем производится считывание по всем адресам. Эта процедура повторяется с контролем нечетности. 5. «Бегущая 1 или О». В первую ячейку ОЗУ записываются 1 (0), а во все остальные — фоновые 0(1). Затем все адреса последова- тельно считываются с проверкой. Последней считывается первая ячейка с последующей записью в нес 0(1). Процедура повторяется для второй ячейки и всех последующих (рис. 7.5, г). Тест обнару- живает сбои и отказы, возникающие при переходе элементов па- мяти из 1 в 0 и наоборот, а также обнаруживает влияние операции записи в отдельную ячейку на сохранность информации в ОЗУ. 276
6. «Попарное считывание». Тест проверяет любые адресные пе- реходы со всевозможным изменением информации при считыва- нии. В первую ячейку ОЗУ А$ записываются I, а в остальные — нули. Затем последовательно считываются с проверкой адреса А^ А 0; за гем А у, А 0 и т.д., пока все пары переходов, включающие ячейку Aq, побудут проверены. Подобная процедура повторяется для ячей- ки А1 и т.д. Цикл повторяется для инверсной информации. С по- мощью данного теста проверяется функционирование накопитель- ной части ОЗУ, дешифратора, а также влияние записи на сохран- ность информации. 7. «Бегущий столбец». В первый столбец матрицы ОЗУ записы- вается 1 на фоне остальных 0. Затем вся информация считывается с последующей записью 0 в первый столбец. Процедура повторяет- ся для второго столбца и т.д. до последнего (рис. 7.5, д). 8. «Бегущая строка». В первую строку записывается 1 на фоне остальных 0. Затем вся информация считывается с последующей записью 0 в первую строку. Процедура повторяется для второй строки и т.д. до последней (рис. 7.5, е). 7.3. Тестирование программ Микропроцессорная система есть единство аппаратных и про- граммных средств. Поэтому тестирование программ является второй важнейшей задачей наряду с тестированием аппаратуры. С точки зрения диагностирования программное обеспечение (ПО) представляет собой объект более сложный, чем аппаратные сред- ства. Этому есть несколько причин. Во-первых, программные продукты менее структурированы, чем аппаратура. Последняя часто строится на стандартных блоках, те- ст ы для которых известны или легко строятся. Сложность программ может достигать десятков тысяч операторов, что делает их трудно обозримыми. Воздействия программных ошибок гораздо более обширны по своим последствиям на вычислительные процессы, чем воздействия, вызванные неисправностями аппаратных средств. Любое тестирование и отладка сложных систем ПО могут толь- ко показать наличие ошибок, но не доказать их отсутствие. Поэто- му программисты говорят: «Последняя найденная в программе ошибка является на самом деле предпоследней». В то же время по- 277
следствия ошибок ПО могут быть весьма серьезными. Стал уже классическим пример, когда из-за одной ошибки в операторе на Фортране не состоялся запуск американского космического корабля на Венеру [16]. Особенно важно отсутствие ошибок ПО в безопасных системах. Например, в микропроцессорных централизациях стре- лок и сигналов на станциях программным путем проверяются ус- ловия безопасности при установке маршрутов и открытии сигна- лов (свободность участков маршрута, контроль положения стре- лок, отсутствие враждебных маршрутов и др.). Ошибки ПО можно разделить иа программные, алгоритмичес- кие и системные. Программные ошибки вызываются неправильной записью команд на я 1ыке программирования и ошибками при транс- ляции. Их количество зависит от квалификации программистов, сте- пени автоматизации программирования, глубины и качества тести- рования. Алгоритмические ошибки возникают из-за некорректной формулировки алгоритма ее решения. Типичные причины возник- новения таких ошибок состоят в неполном учете условий решения, диапазонов изменения переменных, в превышении выделенных ре- сурсов. в неправильной оценке времени реализации отдельных про- граммных модулей и т.п. Обнаружить алгоритмические ошибки сложнее, чем программные. Еще труднее обнаруживаются систем- ные оимюкн, которые связаны с неправильным взаимодействием ком- плексов программ между собой и с внешними объектами. Статистика показывает [15], что интенсивность ошибок в ПО лежи г в диапазоне от 0,25 до 10 на 1000 команд. Исправление од- ной программной, алгоритмической или системной ошибки тре- бует корректировки в среднем 6, 14 и 25 команд. При этом матери- альные затраты на исправление ошибки с течением времени жиз- ненного цикла ПО возрастают, а вероятность правильного исправ- ления ошибки уменьшается Поэтому целесообразно осуществлять тестирование ПО с самого начала его разработки, учитывая то, что на тестирование и сопровождение (устранение ошибок в процессе эксплуатации) приходится до 75% всех материальных затрат [16]. По мере исправления ошибок в процессе сопровождения (если при этом не вносятся новые ошибки) частота отказов а ПО уменьша- ется (рис. 7.6), поскольку программы «не изнашиваются» и «не ста- реют» в отличие от аппаратуры. 278
Рис. 7.6. Зависимость частоты отказов аппаратуры (/) и программ- ного обеспечения (2) от времени Эффективное тестирование ПО возможно только в том слу- чае, если при его построении ис- пользуются принципы структур- ного программирования. В этом случае программа делится на от- дельные программные модули, которые решают определенные функционально законченные за- дачи, имеют небольшую слож- ность и поэтому могут быть срав- нительно легко протестированы. Модули должны быть максималь- но независимы друг от друга. Программа имеет иерархическую структуру, в которой модули верхних уровней управляют работой модулей нижних уровней. Связи между модулями должны быть ми- нимальны и по возможности сводиться только к передаче данных. Тестирование состоит в выполнении программы с целью обна- ружения ошибок при отсутствии реальной внешней среды. Специ- ально подбирают входные данные (тесты); реакция ПО для этих данных сравнивается с эталонной. В структурированной програм- ме выделяют четыре уровня тестирования: тестирование модулей, сопряжений между модулями, тестирование внешних функций, ком- плексное тестирование. На уровне модулей проверяют логику программы. Контроль сопряжений обнаруживает ошибки в межмодульном интерфейсе. Тестирование внешних функций определяет соответствие внешних спецификаций и функций программы. Комплексное тестирование является завершающим этапом проверки системы. Тестирование разделяется на три этапа: составление (генерация) тестов, выполнение программы на этих тестах и оценку полученных результатов. Выполнение программы на тестах может осуществлять- ся вручную (на бумаге, «в уме») для несложных программ. Такой вид тестирования называется статическим. Динамическое тестирование выполняется с использованием ЭВМ. Результаты прохождения теста анализирует программист или ЭВМ, для чего требуется иметь эта- лонные результаты и хранить их в памяти для сравнения. Возможно 279
Методы тестирования программ Фу нкпиональные Структурные Проверка входных данных П роверка выходных данных —I Проверка функций Проверка Проверка Проверка опера । оров ветвей путей Рис. 7.7. Методы тестирования программ также использование эталонной программы, которая запускается на тех же тестах и вырабатывает эталонные выходные данные. Тесты составляют программисты или автоматические системы генерации тестов. При этом используются два подхода: функцио- нальный и структурный (рис. 7.7). Рассмотрим эти подходы на при- мере тестов для бинарной программы вычисления булевой функции f = a(bc v Ьс) . (7.1) Метод бинарных программ основан на том, чго процесс вычисле- ния булевой функции можно свести к последовательности выполне- ния команд условного перехода /: если Л, то J, иначе / + 1, где i — порядковый номер команды; А — булева переменная, значение кото- рой проверяется данной командой. Если А ~ 1, то осуществляется пе- реход к выполнению команды с порядковым номером j, если А ~ 0 — переход к выполнению команды с порядковым номером / + 1. Функция (7.1) задана табл. 7.5 и вычисляется программой (рис. 7.8). В табл. 7.6 приведена ее запись на языке Ассемблер. Перемен- ные а, А с подаются в порт ввода с именами VARI, VAR2, VAR3, а результат вычисления выводится в порг с именем RES. В памяти выделена область из трех ячеек Ml, М2, М3 для хранения соответ- ственно переменных а, b и с. Адрес ячейки Ml имеет имя BASE. Переменные представлены значениями 0 и 1. Для каждой перемен- ной отводится 1 байт, т.е. одна ячейка памяти, имеющая восемь разрядов (в восьмиразрядном микропроцессоре). Поэтому значе- нию 0 соответствует слово 00000000, а значению 1 — 00000001. 280
Рис, 7.8. Схема бинарной программы 281
При функциональном подходе тестируемая программа рассмат- ривается как «черный ящик». Это означает, что ее внутренняя струк- тура никак не учитывается, а тесты составляются на основании функциональных спецификаций. Для рассматриваемой бинарной программы необходимо проверить, что реализуется именно дан- ная функция (табл. 7.5). Таблица 7.5 abc у у ООО 0 0 00 1 0 0 0 1 0 0 0 0 I 1 0 0 1 00 0 1 1 0 1 1 1 1 1 0 1 1 111 0 0 Простейший способ — испытать программу на всех восьми вход- ных наборах. Это обеспечивает исчерпывающее тестирование и не требует знаний о внутренней структуре программы. Однако для слож- ных программных продуктов исчерпывающее тестирование невозмож- но из-за большого объема тривиального теста. Необходимо строить тест, обеспечивающий достаточную полноту проверки, но такого объема, чтобы его применение было экономически оправдано. Для оценки полноты функционального теста используются раз- личные критерии (рис. 7.7): 1) проверку всех классов входных данных, когда тест должен содержать хотя бы по одному представителю из каждого класса; 2) проверку всех классов выходных данных, когда при исполне- нии тестовых примеров должно быть получено по одному пред- ставителю из каждого класса; 3) проверку всех функций, когда каждая реализуемая програм- мой функция должна быть проверена хотя бы один раз; 4) проверку всех ограничений и правил и т.п. При функциональном тестировании программ в тестовые при- меры следует включать данные, содержащие наиболее характер- ные значения входных и выходных переменных. Применим первые два требования для построения теста бинарной программы. По- 282
скольку входные переменные принимают только два значения (0 и 1), то в соответствии с первым требованием в тестовых наборах каж- дая переменная должна иметь оба эти значения. Выходные данные делятся на два класса: f - 0 и f = 1. Поэтому тест должен содер- жать, по крайней мере, один разрешенный и один запрещенный наборы. Исходя из сказанного, можно построить следующий тест: Тх = {ООО, 101, 100). Пусть, например, при написании программы (табл. 7.6) програм- мист допустил ошибку: в команде № 26 вместо команды INX (уве- личение на 1 адреса ячейки М) написана команда DCX (уменьше- ние на 1 адреса ячейки М). В результате этого при выполнении ко- манды № 27 (пересылка в аккумулятор содержимого ячейки М) в аккумулятор вместо переменной с пересылается значение перемен- ной а и программой вычисляется ошибочная функция f = a(ba vbc). (7.2) Таблица 7.6 Команда Метка Мнемокод команды Операнды Комментарий 1 START LXI H, BASE Адресация M1 2 IN VARI я —> A 3 MOV M, A a ->MI 4 INX H Адресация М2 5 IN VAR2 b —> А 6 MOV M, A b->M2 7 INX H Адресация М3 8 IN VAR3 с —> А 9 MOV M, A с-^МЗ 10 DCX H 11 DCX H Адресация М1 12 MOV A, M а —>М 13 ANA A Установка флажка г 14 JZ RESO Анализ значения а 15 INX H Адресация М2 16 MOV A.M £->М 17 ANA A Установка флажка г 18 JZ ANAL Анализ значения b 19 INX H Адресация М3 20 MOV A, M с —> А 283
Окончание Тпабл. 7.о Команда Метка Мнемокод команды Операнды Комментарий 21 ANA A Установка флажка z ээ JZ RES1 Анализ значения с 23 RESO MVI A, OOH Загрузка в аккумулятор 0 24 OUT RES Вывод значения /- 0 25 JMP START Переход к команде 1 26 ANAL INX И Адресация М3 27 MOV A, M с -* А 28 ANA A Установка флажка г 29 JZ RESO Анализ значения с 30 RES 1 MVI A, 01H Загрузка в аккумулятор 1 31 OUT RES Вывод значения f- 1 32 JMP START Переход к команде 1 Из сравнения функций (7.1) и (7.2) видно, что данная ошибка обнаруживается на входном наборе 100, который содержится в те- сте. На этом наборе исправная программа вычисляет значение f - 0, а программа с ошибкой — значение /' = 1 (см. табл. 7.5). При структурном подходе тесты строятся с использованием информации о внутренней структуре программы. При этом при- меняют в основном три критерия (см. рис. 7.7): 1) проверку каждой команды не менее одного раза; 2) проверку каждой ветви програм- мы не менее одного раза; 3) проверку каждого пути программы не менее одного раза. Последний критерий наиболее сильный. Если программа содержит циклы, то ограничиваются тестированием простых, ациклических путей или число итераций ограничивается некоторой константой. Рассматриваемая бинарная программа (см. рис. 7.8) содержит пять путей: лj = 1, 10; лэ = 1,2, 4, 5, 10; л3 = 1, 2, 4, 6, 9; л4 = 1,2, 3, 7, 10; л5 = 1,2, 3, 8, 9. Эти пути тестируются соответственно набо- рами следующего теста = (000, 111, 110, 100, 101). Пусть, напри- мер, при написании программы (см. табл. 7.6) допущена ошибка: в команде № 18 вместо команды JZ (переход по нулевому результа- ту) записана команда JNZ (переход по единичному результату). Эта ошибка обнаруживается набором входных данных 101. В правиль- ной программе на данном наборе реализуется путь л5 = 1, 2, 3, 8, 9 284
И ВЫХОДНОЙ результат/ — 1. В IipUipdMMC u vmnwo.* ------ путь - 1, 2, 4, 5 и выходной результат /= 0. Доказать полноту функционального или структурного теста в практических применениях сложно. Поэтому в общем случае тес- тирование не может доказать отсутствие ошибок в ПО, а может только обнаружить некоторую их часть. 7.4. Средства функционального диагностирования < микропроцессорных систем Области применения тестового диагностирования — производ- ство, отладка и ремонт микропроцессорных систем. В процессе работы системы для обнаружения ошибок используются средства функционального контроля. В этом случае тестовыми воздействия- ми являются рабочие входные воздействия, а ошибки обнаружива- ются практически немедленно. Однако полнота контроля в целом меньше, чем при тестировании. Эффективным является одновре- менное применение обоих видов контроля, когда периодически через некоторое время / выделяется интервал времени тд для тес- тового диагностирования. В микропроцессорной системе выполняются три основных вида операций, которые надо контролировать: передача информации, логические и арифметические операции. Для их контроля исполь- зуются аппаратные и программные методы (рис. 7.9). Аппаратный контроль имеет высокое быстродействие, но требует дополнитель- ных затрат аппаратуры. Программный контроль не связан с аппа- ратной избыточностью, но использует дополнительное процессор- ное время для выполнения программ контроля. В большинстве сложных микропроцессорных систем сочетаются аппаратные и программные средства контроля. При передаче информации для ее контроля используются избы- точные коды с обнаружением и исправлением ошибок. Код назы- вается избыточным, если для передачи информации используются не все возможные кодовые слова. В этом случае для /г-разрядного кода выполняется неравенство N < 2", где N — число используе- мых кодовых слов (емкость кода). Кодовым расстоянием d называ- ется минимальное число разрядов, которыми различаются два ко- 285
контроль . Рис. 7.9. Методы функционального контроля микропроцессорных систем довых слова. Код с кодовым расстоянием d обнаруживает ошибки в t разрядах и менее, если выполняется неравенство d s t + 1 и исправляет ошибки в г разрядах и менее, если d a 2r +1 Коды с обнаружением ошибок применяются при передаче дан- ных в шинах микропроцессорных систем и при хранении и переда- че данных в регистрах. Наиболее часто используется для этих це- лей код с контролем на четность, который образуется добавлени- ем одного избыточного (контрольного) разряда. Кодовое расстоя- ние этого кода равно 2, что обеспечивает обнаружение всех оди- ночных ошибок и любого нечетного числа ошибок. Коды с исправлением ошибок используются в оперативной па- мяти, в запоминающих устройствах на магнитных лентах и дис- 286
г ках. Наиболее распространен код Хэмминга, который исправляет одиночные ошибки и обнаруживает двойные. Для контроля арифметических операций в цифровых ЭВМ ши- роко используется контроль по модулю. В этом случае каждому числу А, участвующему в арифметической операции, сопоставля- ется остаток по модулю R, определяемый из равенства А = aQ + R, (7.3) где Q — модуль; а — целая часть отношения A/Q. Говорят, что числа A । и А^ равны по модулю Q (A j - А -> mod Q), если их остатки равны (Я| = R2). Для операций сложения, вычита- ния и умножения имеет место соотношение R(A{ * А2 ) = Я[Я(А1) * R(A2)]. (7.4) При организации контроля, согласно (7.4) одновременно с ос- новной операцией (*) над числами А^ и А-> выполняется конт- рольная операция над остатками R(A j) и Я(А2). После этого срав- ниваются остатки основного и контрольного результатов. В слу- чае их несовпадения делается вывод о наличии ошибки. Смысл применения контроля по модулю заключается в том, что разрядность остатка R(A) существенно меньше разрядности самого числа А. Поэтому затраты аппаратуры для контрольных вычислений также существенно меньше. В ЭВМ часто используется контроль по модулю 3, который обеспечивает обнаружение всех одиночных и не- которого числа двойных ошибок. Разрядность остатков при этом рав- на 2. На рис. 7.10 показана схема сложения двух чисел с контролем по А1 А2. Контроль сигна та Рис. 7.10. Схема сложения двух чисел с контролем по модулю 287
Рис. 7.11. Структура контроля модулю, построенная в соответствии с (7.4). Блоки П осуществляют форми- рование остатков. Блок М2 является схемой сравнения, на выходе которой формируется сигнал контроля. Логические преобразования в вычислительных системах контроли- руют схемы встроенного контроля (СВК). Общая структура контроля с использованием СВК приведена на рис. 7.11. СВК анализирует значения входных , выход- ных и, может быть, некоторых внутренних У],у2,.-.,Ук сигналов. На практике используется несколько степеней контроля: 1) полный контроль — обнаруживаются все отклонения выход- ных сигналов контролируемой схемы; 2) полный контроль одиночных ошибок — обнаруживаются все отклонения на одном выходе контролируемой схемы; 3) полный контроль одиночных неисправностей — обнаружи- ваются отклонения выходных сигналов, вызванные всеми одиноч- ными неисправностями контролируемой схемы; 4) частичный контроль одиночных неисправностей — обнару- живаются отклонения выходных сигналов, вызванные всеми оди- ночными неисправностями контролируемой схемы хотя бы на од- ном входном наборе. Методы организации контроля логики описаны в главе 6. На рис. 7.12 приведена схема контроля дешифратора. СВК проверяет тот факт, что в исправном дешифраторе на выходе должна быть одна единица из восьми (нечетное число единиц). Схема осуществ- ляет полный контроль одиночных ошибок на выходах 0, 1, ... ,7. Достоверность функционального диагностирования существен- но зависит от исправности самой схемы контроля. Эта проблема называется проблемой контроля «последнего сторожа». Она реша- ется путем применения самопроверяемых СВК, которые обнаружи- вают и неисправности контролируемого устройства и собственные неисправности (см. главу 6). На рис. 7.13 приведена самопроверяе- мая схема контроля дешифратора. 288
Рис. 7.12. Схема контроля дешифратора Указанные виды контроля не должны обязательно охватывать все элементы микропроцессорной системы. Иногда бывает достаточно контролировать только основные узлы (АЛУ, память, основные ре- гистры). Это связано с тем, что имеет место лавинообразное нараста- ние числа ошибок по мере использования ошибочной информации в дальнейших вычислениях. Любая ошибка в результате обмена инфор- мацией в системе всегда попадает в основные регистры. Параллельно с аппаратным контролем в вычислительных системах применяется программный контроль. Основные виды программного контроля приведены на рис. 7.9. Контроль длительности выполнения программы подразумевает, что для каждой программы заранее извест- на длительность ее выполнения. Эта длительность контролируется с 289
Рис. 7.13. Самопроверяемая схема контроля дешифратора помощью охранных таймеров. Превышение длительности означает, что программа выполняется неправильно, зациклилась или остановилась. Метод контрольных функций используется, если результаты вычисле- ний должны удовлетворять определенным функциональным соотно- шениям. Например, результат должен быть четным или положитель- ным, либо контрольная сумма должна равняться нулю и т.п. Эффективным способом контроля является метод двойного сче- та, когда алгоритм вычислений реализуется два раза с последую- щим сравнением полученных результатов. В управляющих про- граммах, связанных с ответственными технологическими процес- сами, важным свойством является самопроверяемостъ программ [18]. 290
Ошибка Ошибка < Рис. 7.14. Схема организации самопроверясмой программы Программа называется самопроверяемой, если и только если для любого входа, удовлетворяющего входной спецификации, програм- ма выдает правильный выходной результат или вырабатывает пре- дупреждающее сообщение, информирующее пользователя, что выход может быть неправильным. Структура самопроверяемой программы показана на рис. 7.14. Она разбивается на модули Результаты вычислений каждого модуля анализируются в конт- рольных модулях Последние решают вопрос о том, имела ли место ошибка в процессе вычисления. Если ошибки нет, то про- цесс вычислений передается в следующий модуль. В противном случае осуществляется переход к подпрограмме обработки ошиб- ки. Контрольный модуль должен быть самопроверяемым, т.е. об- наруживать собственные ошибки. Перечисленные виды аппаратного и программного контроля позволяют обнаруживать до 80 -s- 95 % ошибок, вызываемых неис- правностями в микропроцессорных системах. 7.5. Контроль микропроцессорных систем железнодорожной автоматики В современных микропроцессорных системах железнодорожной автоматики (СЖАТ), которые в настоящее время активно разра- батываются и внедряются, используются многие указанные в дан- ной главе аппаратные и программные методы тестирования и кон- троля. Это позволяет обеспечивать высокие показатели безотказ- ности и безопасности систем. Рассмотрим пример микропроцессорной СЖАТ. На рис. 7.15 приведена упрощенная схема сигнальной точки автоблокировки АБ-4КЕ разработки МГУПС. Аппаратура осуществляет прием и 291
Рис. 7.15. Схема сигнальной точки автоблокировки АБ-4КЕ передачу кодовых комбинаций числового кода. Вход и выход при- емопередатчика (ППМ) соединяется с рельсовой линией через дрос- сель-трансформаторы (ДТ) и устройство защиты и согласования УЗС. ППМ построен по схеме «два из двух» и состоит из двух двух- комплектных каналов, модуля интерфейса (МИ) и плат фильтров ПФ. Каждый канал содержит два модуля центрального процессо- ра (ЦП) и схему контроля (СК). 292
Нормально оба канала работают. Один из них является веду- щим, а второй — ведомым. Ведущий канал выполняет технологи- ческий алгориТхМ работы сигнальной точки автоблокировки и под- ключен через МИ и ПФ к рельсовой линии и сигнальным реле Ж, ЖЗ и 3. В процессе функционирования с контрольных точек цент- ральных процессоров на входы схем СК подаются тестовые сигна- лы. В СК осуществляется контроль синхронной и синфазной рабо- ты комплектов. При отказе ведущего канала производится пере- ключение входов и выходов на ведомый канал Затем делается по- пытка перезапуска отказавшего канала. Если это происходит, то вновь запущенный канал снова становится ведущим. В программном обеспечении ППМ предусмотрено тестирова- ние основных компонентов микроЭВМ. Оно включает в себя: - тест микропроцессора, который осуществляет побитную ус- тановку разрядов регистров общего назначения сначала в состоя- ние 1, а затем в состояние 0; - тест ОЗУ выполняет установку всех разрядов ячеек ОЗУ, ис- пользуемых программой, сначала в «1», потом в «0», с последую- щим считыванием; - тест ПЗУ осуществляет подсчет контрольной суммы ПЗУ ме- тодом суммирования содержимого всех ячеек памяти и сравнения полученного результата с эталонным; - тест АЦП заключается в последовательной проверке правиль- ности работы микросхемы для трех контрольных значений вход- ного напряжения. В случае обнаружения ошибок при тестировании происходит переход ППМ в безопасное состояние посредством вызова спе- циальной процедуры (отключение выходов, перевод процессора в режим «останов»). В программе также осуществляется контроль длительности ра- бочего цикла с использованием внутрипрограммных счетчиков. В случае превышения допустимого значения длительности фикси- руется отказ и система переводится в безопасное состояние. Программное обеспечение представляет собой две синхронно и независимо работающие одинаковые программы. Каждая програм- ма функционирует на своем процессоре с только ей доступной па- мятью. Идентичность выполнения программ проверяется на аппа- 293
ратном уровне схемой контроля, анализирующей шину данных каждого из комплектов. При наличии расхождений аппаратная часть ППМ переводится в безопасное состояние. Совокупность перечисленных мероприятий по аппаратному и программному контролю обеспечивает высокие показа- тели надежности системы АБ-4КЕ: интенсивность опасных от- казов 4,64 • 10“14 1/ч; вероятность возникновения опасного от- каза за 20 лет эксплуатации 8,13 * 10-9; средняя наработка на отказ 50 тыс. ч. 294
Глава 8 ОСОБЕННОСТИ ДИАГНОСТИРОВАНИЯ СИСТЕМ НЕПРЕРЫВНОГО ТИПА 8.1. Постановка задачи диагностирования * Работа систем непрерывного типа характеризуется параметра- ми, которые изменяются в непрерывном множестве значений. На рис. 8.1 показано изменение во времени некоторого параметра (физической величины) г, которая изменяется в пределах верх- него гв и нижнего jH значений. Непрерывный параметр у называ- ется диагностическим, если выход его значения за допустимые пре- делы ув и j H является признаком изменения состояния объекта. Таким образом, контроль непрерывного диагностического па- раметра заключается в его измерении и проверке выполнения не- равенства <тв- Для целей диагностики непрерывную величину jy можно опи сать дискретным признаком к-, который имеет два значения: к, = 1, если < yj < у/в (в норме); к: — 0 в противном случае. В более сложных случаях дискретному признаку присваивают ся три значения: А; = А7|-еслн-’><,7: ki - kfl. если < У/ < у/в, к. = kJ3, если yj > ув. В общем случае непрерывная система характеризуется некото- рым множеством диагностических параметров {>!»J’2»—»У ••»>’/।} • Каждому параметру yj соответ- ствует свой дискретный признак kj. Тогда при решении задач ди- агностики наряду с непрерывным описанием системы можно ис- Рис. 8.1. Изменение непрерывного диагностического сигнала 295
пользовать дискретное описание. При этом состояние непрерыв- ной системы описывается вектором К. = (А|, А э,,..,kjf..,Ayj) ч где kj — признак, имеющий т- разрядов. Если т = 2, то вектор К является двоичным. Сформулируем теперь математическую постановку задачи ди- агноза непрерывной системы. Сама система может находиться в нескольких возможных состояниях (диагнозах) Dr которые счита- ются известными. Например — исправное, неисправное, рабо- тоспособное, неработоспособное, предотказное и др. Существуют два основных подхода к решению задачи диагноза — вероятност- ный и детерминированный. В вероятностных методах считается, что система с некоторой ве- роятностью находится в одном из случайных состояний Dr Извест- но множество диагностических параметров Ь’ь 3’2’-—>Ур---->Уп} • Каждый параметр с определенной вероятностью характеризует состояние системы. Требуется построить алгоритм диагностиро- вания (решающее правило), с помощью которого по данному мно- жеству параметров определяется с достаточной достоверностью состояние системы D^. В детерминированных методах система характеризуется «-мер- ным вектором К - (А?[, к2,...,к,...,кп), который представляет со- бой точку в «-мерном пространстве признаков (параметров). Ди- агноз £>, соответствует некоторой области этого пространства. Требуется построить алгоритм диагностирования, который дан- ный вектор К относит к определенной области диагноза. Таким образом, задача состоит в разделении пространства признаков на области диагноза. Вероятностные методы являются более общими в том смысле, что могут оценивать достоверность того или иного диагноза и учи- тывать взаимозависимости между диагностическими параметрами. Но при этом эти методы требуют большего объема информации. В детерминированных методах предполагается, что данный диаг- ностический параметр с вероятностью, равной единице, соответ- 296
ствует допустимом норме или нет. Этот вывод делается в результате измерений. Вероятность данного (одного) диагноза считается так- же равной единице, вероятность остальных диагнозов равна нулю. 8.2. Метод Байеса Одним из наиболее простых и эффективных вероятностных ме- тодов технической диагностики при наличии достаточного объема статистических данных является метод, основанный на ис- пользовании обобщенной формулы Байеса. Пусть диагностируемая система может находиться в одном из состоянии (диагнозах) D2, ... ,Z>n, которые образуют полную группу несовместных событий. Это означает, что одновременно может быть поставлен только один диагноз D{. Из опыта эксплуа- тации подобных систем известны вероятности Р(Р/) нахождения системы в состоянии D{. Вероятность P(Dt) называется априорной вероятностью диагноза. Так, если ранее наблюдалось Л7 систем и у Л7,- систем имелось состояние D{, то P(Di)=Ni/N. (8.1) При этом (8.2) i »1 Пусть работа данной системы характеризуется диагностическим параметром уу. Событие (признак) kj («выход параметра y'j за допу- стимые пределы») возникает при переходе системы в некоторые состояния Df (при возникновении дефектов). Из опыта эксплуата- ции должны быть известны вероятности P(kJDt) появления при- знака к] у системы в состоянии Так. если ранее среди Л7, сисзем. имеющих диагноз Dr признак к• наблюдался у N--систем, то P(kj/Di) = NijINi. <83) Теперь задача диагноза может быть сформулирована следую- щим образом. У системы наблюдается признак Ау, т.е. отклонился за допустимые пределы диагностический параметр jy. В каком со- стоянии D находится система с наибольшей вероятностью? 297
Обозначим через P(DJ kj) — вероятность того, что система на- ходится в состоянии £),, если наблюдается признак kj. Эта вероят- ность называется апостериорной вероятностью диагноза. Ее опре- деление и является целью диагноза . Вероятность того, что система на- ходится в состоянии D{ и имеет признак Ау, обозначим через P{D^kp. Тогда имеет место равенство Wj) = Р(Д) P(*,/D,) = P(A,) ПО, /*,). (8.4) где P(kj) — вероятность появления признака Ау независимо от состояния системы Из формулы (8.4) следует формула Байеса Р(£>,Д?) = р(£>(.) l^kjipO P(kj) ' (8 5) В формуле (8.5) величины P(D{) и Pik-JD^ должны быть извест- ны из статистических данных, полученных в процессе эксплуата- ции. Найдем величину Р(к-). Событие А- возникает вместе с одним из несовместных событий £>h £>2,...,DH . Поэтому Д*у) = P(D1A;) + P(D2*;)+...+P(D„*>) = -P(Dj) П*;7О1)+Р(£>2) /j(a;7/)2)+... + P(O„) P(kjlD„) (8.6) или n P{k:)=^P{Di) P(ki/Di). J 't J (8.7) Формула (8.7) является формулой полной вероятности события к„ происходящего вместе с полной группой независимых событий. С учетом (8.7) формула Байеса принимает вид _Р(£, )Р(к YP(Ds)P(kj/Ds) 5 = 1 (8.8) 298
Из (8.8) следует, что ^P(Di/kj) = \^ /=1 (8.9) т. е< сумма апостериорных вероятностей диагноза для данного при- знака kj равна 1. Для двух диагнозов Dr и £)/ отношение апостериорных вероятностей ЛДГ/А-/) _ р(рг) Р(Ау/Дг) P(D,lkj) ~ P(D,) P(kjlDi)' (8.10) Это отношение пропорционально отношению априорных веро- ятностей и отношению условных вероятностей появления призна- ка к- в состояниях DruDj. Пример 8.1. Известны интенсивность отказов системы А X — 1,5 • 1(Н 1/ч. Контроль за работой системы осуществляется путем измерения параметра г{. Из опыта эксплуатации известно, что при выходе за допустимые пределы параметра (при наличии признака к\) сис- тема выходит из строя в 5 % случаев. Определить вероятность ра- ботоспособного состояния системы А через 1000 ч при появлении признака /q. Обозначим работоспособное состояние системы как £>j, Z)2 неработоспособное состояние. Вероятности Р(А j/Z)|) = 0,05; P{k^D^)— = 0,95. Вероятность P(D^) ~е -е 1510 10 -е 0,15 = 0,85. По фор- муле (8.8) имеем Рф^Р^/Ру) P(DX !к}) - / D,) + P(D, )P(Aj /D2) 0,85-0,05 _ 0.0425 0,85 • 0.05 + 0,15 • 0,95 ~ 0,0425 + 0,1425 = - 0,23. 0,185 299
Таким образом, вероятность работоспособного состояния сис- темы при появлении признака А] снижается с 0,85 до 0,23. Обобщенная формула Байеса применяется, если диагностируе- мая система характеризуется множеством параметров O’bJ'2>—и в результате измерений становится известен вектор признаков К* = (А]*, . Здесь знак «*» оз- начает конкретную реализацию признака к. Тогда формула (8.8) принимает вид (обобщенная формула Байеса): Р(Р,/К*) = Р(О, )Р(К */D,) (8-11) 5 IP(DS)P(K*/DS) 5=1 где P(Dt /К*)—апостериорная вероятность диагноза после того, как стали известны результаты измерений по вектору признаков К. При условии независимости диагностических признаков вели- чина Р(К */Di) рассчитывается по формуле P(K^/Di) = P(<K] */Dt) Р(К2 */D,-) ...Р(Кп */Di). (8.12) При использовании метода Байеса составляется диагностичес- кая таблица (табл. 8.1) на основе статистического материала. В ней для каждого диагноза Df указывается значение априорной вероят- ности этого диагноза [в столбце Р(/),•)] и вероятностей появления разрядов признаков [в столбцах Р(к^1 £,)]• Таблица 8.1 составлена для системы А, имеющей три состояния Dj, Dy При этом /=1 Наибольшую вероятность имеет состояние D^(P(D}) - 0,8). Система А характеризуется тремя признаками А|, к2 и ку кото- рые имеют соответственно 3, 4 и 2 разряда. Например, в состоя- нии D\ разряды А2| и к2~> признака к2 не наблюдаются (вероят- 300
носги их появления равны нулю), разряд к23 наблюдается с ве- роятностью 0,2, а разряд А’4 — с вероятностью 0,8. Сумма веро- ятностей всех возможных реализаций признака для данного ди- агноза Dt равна единице. В процессе эксплуатации и диагностики однотипных систем производится корректировка диагностической таблицы. При этом дтя обработки результатов необходимо хранить не только данные табл. 8 I, но и следующие данные: /V — общее число систем, обсле- дованных при составлении диагностической таблицы; Л;,- — чис- ло систем с диагнозом Dt. Пусть, например, для табл. 8.1 име- ем: /V = 100, = 80, N2 = 10,7V3 = 10 Если обследуется новая система и устанавливается ее диагноз Df (t G{1, 2,...,//}), то производится корректировка прежних апри- орных вероятностей диагнозов по формулам: Р(^) P(Dt) 1 w+r если если (8.13) i = t. Пусть, например, при обследовании новой системы в нашем примере (см. забл. 8 1) был установлен диагноз D2. Тогда получа- ем новые значения априорных вероятностей диагнозов: ДО]) = 0,8 100 100 + 1 = 0,792; P(D2) = 0J + —— = 0,109 • 2 100 + 1 100 + 1 ДО3) = 0,1 100 100+1 = 0,099. 301
Таблица 8 1 Диаг- HO3 D. Признак к, Р(Ц) J k2 ^3 Pftl./ O,) P(k,?l Dj) P(k„/ Dj) P(k2l / O,) Pfe / D,) P(k3 ! D) P(k,4 / Ц) P(k3l / P(k32/ £>,) 0,6 0,3 0,1 0 0 0,2 0,8 0,6 0,4 0,8 d2 0,2 0,8 0 0,1 0,2 0,4 0,3 0,9 0,1 0,1 0,5 0,1 0.4 0,3 0 0,2 0,5 Го,5 0,5 0,1 производится корректировка условных вероятностей при- знаков. Пусть у новой системы с диагнозом Dt выявлен разряд г признака kj (kjr). Тогда получаем новые значения условных веро- ятностей разрядов признака к: при диагнозе Dt по формулам д*&/р,)= АГ PlkJD,)— если N P(kJr!Dt)--- если 5 (8.14) Пусть в нашем примере при диагнозе Z)2 выявлены следующие значения признаков: Лц, Л2з и Гц- Тогда по формулам (8.14) полу- чаем новые значения условных вероятностей: Р(к ID„) = 0,2—^- + —— п 2' ю + 1 10 + 1 = 0,273 ; Р(к ID) = 0.8----= 0,727 • 12 2' Ю+1 7>(VD2) = °; P(klD} = 0,1-*°- = 0.091- 21 2 Ю + 1 302
Р(к /£>) = 0,2-^-= 0,182- 22 27 10+1 Р(к /DJ = 0.4+ -2_ 23 2' ю+1 Ю + 1 = 0,454; г Р(к /О ) = 0,3——— '24 1’ ю+1 = 0,273 ; Р(к ID ) = 0,9 —’ 1ь *L> JO 10 + 1 10 + 1 = 0,909 • Р(к 32 ID ) = 0Д 10 10 + 1 = 0,091 л • В табл. 8.2 приведена новая диагностическая таблица, которая будет использоваться при диагностировании следующей системы. Таблица 8.2 Ди- агноз D. Признак к. Р(О) kt &2 ку «*п/ О,) Р(кх1! D-) Р(к,3 ! D!> Р(к2,! D) Р(к„ / D) Р(к23 ! Dd />(Л,4 / £>,) Р(куХ / D) Р(ку2 / D,) Р» 0.6 0,3 0,1 0 0 0,2 0,8 0,6 0,4 0,792 d2 0,273 0,727 0 0,091 0,182 0,454 0.273 0,909 0,091 0,109 D3 0,5 0,1 0,4 0,3 0 0,2 0,5 0,5 0,5 0,099 Пример 8.2. Пусть для исследуемой системы А известна диагно- стическая таблица (табл. 8.3). Система А имеет три состояния: ра- ботоспособное состояние £>| и два состояния с неисправностями Z>2 и £>3. Их априорные вероятности равны соответственно 0,9; 0,05; 0,05. При наблюдении за системой А проверяются два независи- мых параметра и г2- Выход их за допустимые пределы составля- ет события к у п к^- Признаки и/г2 являются двоичными. Поэто- му в табл. 8.3 указывается только один разряд признака к . Второй разряд (противоположное событие) будем обозначать как kj и его вероятность Р(к • /Dj) = 1 -Р(к. /. J J 303
Таблица 8.3 D, Р(_к, /D,) _ Т(к2 / Dt) ЛД) Д 0 0.02 0,9 Д 0.2 0,7 0,05 D3 0,6 0,1 0,05 Определим апостериорные вероятности состояний системы, если существует признак /q и отсутствует признак А'2- Используя фор- мулы (8.11) и (8.12) получаем P(Dl!kik2) = _______Р(О1)Р(А|/Р1)Р(^/Р|)_____________________________________, P(D, )P(kl/Pl)Р(к2 /D, ^P(D2 )P(k,/D2)P(k2 Ю2}+P(D3)P(k}/Dy)P(k2 / D3)~ ______________0,9-0 0,98________________0 0,9 0 • 0,98 + 0,05 • 0,2 • 0,3 + 0,05 • 0,6 • 0,9 ’ P{D2/kxk2) = ____________________ВД>2)Ш|/Р2Я-,/В,)______________________ P(P,)P(k,/Dt )P(k2 /DiyP(D2-)P(k,/D,)P(k2 /D2'^P(D2)P(kl/D2)P(k2/D3) _____________0.05 0,02 0.3__________ 0,9 • 0 • 0,98 + 0,05 • 0,2 0,3 + 0,05 - 0,6 • 0,9 P(D2/kxk2)- _____________________P(.Di)P(k1/D,)P(k2/D3')_________________ P(D[ yP^/Di )P(k2 /D^PiD.yPik^D.)P(k21D2)<P(D3)P(k,/D3)P(k2 /D}) ______________0,05 0,6 0,9___________ 0,9 0 • 0,98 + 0,05 0,02 • 0,3 + 0,05 0,6 • 0,9 Так как признак Aj не наблюдается при работоспособном со- стоянии £>|, то вероятность последнего равна 0. Наиболее вероят- 304
йо (с вероятностью 0,9), что система А находится в состоянии Dy Результаты расчетов других апостериорных вероятностей состоя- ний приведены в табл. 8.4. Таблица 8.4 Вектор К* ; Aq к2 ^1 ^2 к2 к} к2 . D. _ 0,967 0 0,375 0 Di 0,013 0,1 0,583 0,7 0,02 0,9 0,042 0,3 Таким образом, решающее правило, в соответствии с которым принимается решение о диагнозе в методе Байеса, состоит в следу- ющем: система с вектором признаков Л* относится к диагнозу Di с наибольшей (апостериорной) вероятностью P(DilK*), т.е. для диагноза Dt выполняется условие P(Di /№*) = max. (8.15) Условие (8.15) может быть дополнено пороговым значением для вероятности диагноза: P(Di /К*) Pt (8.16) где Pj — установленный уровень распознавания для диагноза Если условие (8.16) не выполняется, то для принятия решения требу- ется дополнительная информация. Пусть в примере (8.2) = 0,7. Тогда для случая отсутствия признака к^ и наличия признака Аг2 условие (8.16) не выполняется, так как P(D2 I 0,583. Для уточнения состоя- ния системы требуется проведение дополнительных обследований. 8.3. Логическая модель непрерывной системы Применение логической модели для диагностирования непре- рывной сист емы относится к детерминированным методам [20]. Система как объект диагностирования разбивается на некото- рое множество блоков. Эти блоки и связи между ними составля- ют структурную схему системы. На рис. 8.2 приведен пример 305
Рис. 8.2. Структурная схема непрерывной системы структурной схемы, содержащей восемь блоков. Внешние вхо- ды системы обозначе- ны символами .X j. Вы- ходы блоков, которые являются и входами смежных блоков, а также внешние выхо- ды системы обозначе- ны символами ~j. Учи- тывая то, что обнаружение неисправностей в логических моде- лях происходит с точностью до блока структурной схемы, важ- ное значение имеет оптимальность разбиения системы на бло- ки. При этом следует учитывать удобство измерения выходных сигналов блоков (сигналов 2у), сменность блоков, конструктив- ные особенности и др. Входные и выходные сигналы блоков описываются одним или несколькими физическими параметрами (напряжение, ток. часто- та, фаза и др.). Каждый параметр может измеряться отдельно с це- лью контроля работы блока Поэтому в структурной схеме произ- водится «расщепление» входов и выходов Zj на несколько сигна- лов дуй Z:f.. В результате этого получают функциональную схему системы. В нашем примере (см. рис. 8.2) для простоты предполо- жим, что сигналы Л | и характеризуются двумя параметрами, а остальные сигналы — одним параметром. Функциональная схема приведена на рис. 8.3. Рис. 8,3 Функциональная схема непрерывной системы Для построения ло- гической модели каж- дый блок Qr функцио- нальной схемы, кото- рый имеет кг выходов, заменяется кг блоками, каждый из которых имеет один выход и су- щественные для данно- го выхода входы Блок Qj на рис. 8.3 заменяет- 306
ся двумя блоками и Ql2 (рис. 8.4). Если все блоки имеют по одно- му выходу, то в част- ном случае логическая модель будет совпа- дать с функциональной схемой. Логическая модель содержит всю необхо- димую информацию для диагностирования Рис 8.4. Логическая модель непрерывной системы системы. Эта информация заключена в логических связях между бло- ками, отражающих влияние неисправностей одних блоков на работу других. Будем считать, что все входные и выходные параметры бло- ков доступны для измерений и известны области их допустимых зна- чений. Тогда переменные xf- и Zj являются двоичными переменными. Они равны 1, если значения соответствующих им параметров нахо- дятся в допустимых пределах, и равны 0 в противном случае. В результате анализа логической модели строится таблица функций неисправностей Для модели (см рис. 8.4) она приведена втабл. 8.5. Стро- ки таблицы соответствуют элементарным тестовым проверкам л. При такой проверке на внешние входы системы подаются сигналы причем все они имеют допустимые значения, и производится измерение сигнала z- на выходе одного из блоков ... ,Qfr Таким образом, на логи- ческую модель подается единственное входное воздействие, у кото- рого все внешние сигналы равны 1. Число элементарных проверок не более числа блоков А модели. В действительности, это число может быть меньше А, если выходы не всех блоков доступны для измерения. Таблица 8.5 е е12 Ст Сз <?4 <5 Ли 1 0 1 1 1 1 1 1 1 1 Лц 1 1 0 1 1 1 1 1 1 1 Лэ 1 1 1 0 1 1 1 1 1 1 Р, 1 0 0 1 0 J 1 1 1 1 Л4 1 0 0 0 Г 1 0 1 1 0 0 Л~ 1 0 0 1 0 1 0 1 1 1 л* 1 0 0 1 0 1 0 0 1 1 л7 1 0 0 0 0 Г о 0 Г 1 0 0 Р 1 0 0 0 0 0 0 1 0 1 0 ~| 307
Графы табл 8.5 соответствуют неисправностям системы. Рассмат- риваются только неисправности одного блока. Любые неисправнос- ти внутри одного блока Qj проявляются на его выходе одинаково (отклонением сигнала Zj за допустимые пределы). Поэтому все та- кие неисправности рассматриваются как одна одиночная неисправ- ность. Мощность множества всех одиночных неисправностей, таким образом, не превышает числа h блоков модели. В табл. 8.5 неисправ- ность блока Qj обозначена как е-. Графа е соответствует исправно- му состоянию системы (все блоки исправны). При тестовой проверке вывод об исправности блока Qj следует из результатов измерения сигнала Zj на его выходе. Выход z. будет допустим только тогда, когда все входы блока Qj допустимы и сам блок исправен. Следовательно, блок Qj исправен, если при про- верке выход г-допустим. Исходя из этого, заполняются графы таб- лицы функции неисправностей, выполняется анализ логической мо- дели и составляются функции условий работы блоков: zj ~@J '?j * (8.17) где Ff — конъюнкция входов блока Qj, Qj = 0 или 1. Для рис. 8 4 находим конъюнкции Fji ^11“ХцХ12; ^12 = х11л'12 ’ ^2 =х3’ ^3 = zllz12x2 ’ ^4 = А3211"12~8’ ^5 = z3’ ^6 =z5’ ^7=Z4Z5’ ^8~z7- (8-18) Составляем равенства типа (8.17): Z11“C11 Х11 х12; z12~Q12 Х11 *12’ Z2=Q1 х39 Z3 = Q1 Z11 z12 x2’ z4 ~Qa x3z11z12z8 ’ z5=&z3: (8.19) z6“26z5’ z7“^7z4z5’ z8~£?8z7 • (8-19) В табл. 8.5 в клетке на пересечении графы е- и строки про- ставляется 1, если при возникновении неисправности блока Qj во время проверки Яд на выходе блока Qk сигнал zk является допусти- мым. В противном случае в элементе таблицы проставляется 0. При вычислении элементов графы е в равенство (8.17) подставляются 308
значение Qj = 0 и значения входных сигналов z. Первая графа е табл. 8.5 соответствует исправному состоянию системы. Во всех его строках проставлены 1, так как все перемен- ные в равенствах (8.19) равны 1. При вычислении графы ец пола- гаем (Э] । =0. Тогда имеем: j = 0, так как j =0; z12 = 1, так как Qn - 1» А'ц = 1» *12 = - 1, так как £?2 = Ь Л*з = z3 = 0, так как zu = 0; - 4 - 0, так как Zj । =0; z5 = 0, так как z3 = 0; - 6 = 0, так как z5 = 0; z7 = 0, так как z4 = 0; Zg = 0, так как z7 = 0. Подобным образом заполняются и другие графы табл. 8.5. После построения таблицы функций неисправности находится минимальное множество проверок (строк), достаточных для обна- ружения любой одиночной неисправности в системе. Другими сло- вами, находится минимальное множество контрольных точек (вы- ходов блоков), измерение сигналов которых гарантирует контроль исправности системы. Для этого выбирается минимальная совокуп- ность строк таблицы, содержащая хотя бы один 0 в каждом столбце ej. В рассматриваемом примере (см. табл. 8.5) существует три ми- нимальных множества контрольных точек {4, 6}, {6, 7} и {6, 8}. Конкретное множество выбирается исходя из удобства измерения соответствующих сигналов "у. 309
СПИСОК СОКРАЩЕНИИ БП — блок памяти ВВП — вход-выходная последовательность ВЗ — временная задержка ВП — выходной преобразователь ГТ — генератор тестов ДУ — дискретное ус тройство КЗ — короткое замыкание КС — комбинационная схема ЛП — логический преобразователь ЛЭ — логический элемент МО — матрица отношений МС — матрица совместимости ОД — объект диагноза ОС — обратная связь ОЭНФ — обратная эквивалентная нормальная форма ПО — программное обеспечение ПСА — параллельный сигнатурный анализатор РКС — релейно-контактная схема СА — сигнатурный анализатор СВК — схема встроенного контроля СД — средства диагностирования СД функция — самодвойственная функция СЖАТ — система железнодорожной автоматики СЖ — схема сжатия СК — схема контроля СПТ — самопроверяемый тестер СС схема сравнения ТП — таблица переходов ТСС — тестер самодвойственного сигнала ТФН — таблица функций неисправностей ФАЛ — функция алгебры логики ЭМ — электрический монтаж ЭНФ — эквивалентная нормальная форма ЭП — элемент памяти ЭЦ — электрическая централизация 310
СПИСОК ЛИТЕРАТУРЫ 1. Василенко М Н. Прокофьев А.А., Сапожников В.В,, Сапож- ников Вл В Алгоритм построения эквивалентной нормальной фор- мы // Автоматика и телемеханика. 1976. № 10. — С. 168 — 174. 2. Iаскаров Д.В., Голинкевич Т.А., Мозгалевский А.В. Прогнози- рование технического состояния и надежности радиоэлектронной аппаратуры. — М.: Советское радио, 1974. — 276 с. 3. Георгиев Н В., Орлов Б. В. Функциональный контроль полу- проводниковых запоминающих устройств И Электронная промыш- ленность. 1980. №6. — С. 3—21. 4. Гесс ель М, Морозов А. А., Сапожников В В, Сапожников Вт В Построение комбинационных самопроверяемых устройств с моно- тонно независимыми выходами // Автоматика и телемеханика. — 1994. №7.—С. 148—160. 5. Гольдман Р.С., Чипулис В.П. Техническая диагностика циф- ровых устройств. — М.: Энергия, 1976. — 224 с. 6. Гордон Г., Надиг X. Локализация неисправностей в микро- процессорных системах при помощи шестнадцатеричных ключе- вых кодов // Электроника. — 1977. № 5. — С. 23—33. 7. Горшков В Н Надежность оперативных запоминающих уст- ройств ЭВМ. — Л.: Энергоатомиздат, 1987. — 168 с. 8. ГОСТ 20911-89. Техническая диагностика. Термины и опре- деления. — М.: Стандарты, 1990. 9. Гуляев В.А., Кудряшов В.И. Автоматизация наладки и диаг- ностирования микроУВК. — М.: Энергоатомиздат, 1992. — 256 с. 10. Дмитренко И.Е., Сапожников В В., ДьяковД.В. Измерения и диагностирование в системах железнодорожной автоматики, теле- механики и связи — М.: Транспорт, 1994. — 263 с. 11. Дмитренко НЕ Техническая диагностика и автоконтроль систем железнодорожной автоматики и телемеханики. — М.: Транс- порт, 1986. — 144 с. 12. Дубова Т.А., Первое В.В. Построение полного теста для п- разрядного сумматора // Автоматика и телемеханика. — 1979. № 11. — С. 161—169. 13. Закревскии А.Д. Алгоритмы синтеза дискретных автоматов М.: Наука, 1971. — 512с. 311
14. Калявин В.П. Основы теории надежности и диагностики. — СПб.: Элмор, 1998. — 172 с. 15. Лонгботомм Р. Надежность вычислительных систем. — М.: Энергоатомиздат, 1985. — 288 с. 16. Майерс Г. Надежность программного обеспечения. — М.: Мир, 1980.— 360 с. 17. Мелкадзе Т.Г., Сапожников В. В.. Сапожников Вл.В Свой- ства кратных неисправностей в контактных логических схемах // Автоматика и телемеханика. — 1981. № 11. — С. 139—146. 18. Методы построения безопасных микроэлектронных систем железнодорожной автоматики / В.В.Сапожников, Вл.В.Сапожни- ков, Х.А.Христов, Д.В. Гавзов; Под ред. Вл.В.Сапожникова. — М.: Транспорт, 1995. — 272 с. 19. Мироновский Л. А. Функциональное диагностирование дина- мических систем. — М.: МГУ - ГРИФ, 1998. — 256 с. 20. Основы технической диагностики / В. В.Карибский, П.П Пархоменко, Е.С.Согомонян, В.Ф.Халчев; Под ред. П.П.Пар- хоменко. — М.: Энергия, 1976. — 464 с. - 21. Пархоменко П.П., Согомонян ЕС. Основы технической ди- агностики. — М.: Энергоатомиздат, 1981. — 320 с. 22. Прокофьев А. А., Сапожников В В., Сапожников Вл.В. Логи- ческий метод контроля электрического монтажа И Электронное моделирование. — 1984. № 4. — С. 55—59. 23. Сагалович Ю.Л. Алгебра, коды, диагностика. — М.: РАН, Институт проблем информации, 1993. — 196 с. 24. Сапожников В.В., Сапожников Вл.В., Шумаков В.М. О кон- троле контактных схем // Автоматика и телемеханика. — 1978. № 11. —С. 175—182. 25. Сапожников В.В, Кравцов Ю.А., Сапожников Вл.В. Теория дискретных устройств железнодорожной автоматики, телемехани- ки и связи. — М.: УМК МПС России, 2001. — 312 с. 26. Сапожников Вл.В Об отношениях между неисправностями в комбинационных логических схемах И Автоматика и телемеха- ника.— 1978. № 1. —С. 167—171. 27. Сапожников В В , Сапожников Вл.В. Дискретные автоматы с обнаружением отказов — Л.: Энергоатомиздат, 1984. — 112 с. 312
28. Сапожников В. В, Сапожников Вл. В. Самопроверяемые дис- кретные устройства. — СПб.: Энергоатомиздат, 1992. — 224 с. 29. Сапожников В. В. Сапожников Вл.В.. Гессель М. Самодвойствен- ные дискретные устройства. — СПб.: Энергоатомиздат, 2001. - 331 с. 30. Сапожников Вл.В. Контроль линейных комбинационных схем И Кибернетика. — 1979. № 3. — С. 44—47. 31. Сапожников В. В., Сапожников Вл. В., Чухонин В. М. Свойства неисправностей типа «короткое замыкание» в комбинационных схемах // Автоматика и телемеханика. — 1984. № 3. — С. 142—150. 32. Сапожников В В., Сапожников Вл.В., Морозов А.В., Гессель М. Логическое дополнение — новый метод контроля комбинационных схем И Автоматика и телемеханика. — 2003. № 1. — С. 169—178. 33. Согомонян ЕС. Слабаков Е В. Самопроверяемые устройства и отказоустойчивые системы. — М.: Радио и связь, 1989. — 208 с. 34. Селлерс Ф. Методы обнаружения ошибок в работе ЭЦВМ. — М.: Мир, 1972. —312 с. 35. Технические средства диагностирования: Справочник. Под ред. В.В.Клюева. — М.: Машиностроение, 1989. — 672 с. 36. Чегис И.А., Яблонский С.В. Логические способы контроля работы электрических схем И Труды Математического института АН СССР им. В.А.Стеклова, 1958, т. 54. — С. 226 -269. 37. Чипу лис В.П., Шаршунов С. Г. Анализ и построение тестов цифровых программно-управляемых устройств — М.. Энергоато- миздат, 1992. — 224 с. 38. Щербаков Н.С., Подкопаев Б.П. Структурная теория аппа- ратного контроля цифровых автоматов. — М.: Машиностроение, 1982. — 191 с. 39. Armstrong D.B. On Finding a Nearly Minimal Set of Fault Detection Tests for Combinational Logic Nets H IEEE Transactions Electronic Computers. — 1966. Vol. EC-15. — № 1. — P. 66—73. 40. Bushnell M.L., Agrawal V.D Essentials of Electronic Testing for Digital, Memory and Mixed—Signal VLSI Circuits. — Boston.: Kluwer Academic Publishers, 2000. — P. 629. 41. Johnson B.W. Design and Analysis of Fault-Tolerant Digital Systems. — Massachusetts.: Addison-Wesley, 1989. — P. 584. 42. Lala P.K. Self-Checking and Fault-Tolerant Digital Design. — San Diego.: Academic Press, 2001. — P. 215. 313
43. Marouf M.A., Friedman A.D. Design of Self-Checking Checkers for Berger codes // Proc. 8th Annual Intern. Conf. On Fault-Tolerant Computing, Toulouse, 1978. — P. 179—183. 44. Paschal is A. M., Nikolas D., Halastics C. Efficient modular design of TSC checkers for m-out-of-n codes // IEEE Trans. Computers, 1988. — Vol- C-37. — № 3. — P. 301—309. 45. Roth J.P., Bouricius W.G., Schneider P.R. Programmed algorithms to compute tests to detect and distinguish between failures in logic circuits I I IEEE Trans. On Electronic Computers. — 1967. — Vol. EC-16. — № 7. — P. 676- 683. 46. Saposhnikov VI. V., Dmitriev A., Goessel M., Saposhnikov V. V. Self- Dual Parity Checking — a New Method for on Line Testing. // Proc. 14th IEEE VLSI Test Symposium, USA, Princeton, 1996. —P. 162—168. 47. Saposhnikov V. V., Morosov A., Saposhnikov VI. V., Goessel M. A New Design Method for Self-Checking Unidirectional Combinational Circuits II Journal of Electronic Testing: Theory and Applications (JETTA). — 1998- — № 12. — P. 41—53. 48. Saposhnikov VI. V., Saposhnikov V. V., Dmitriev A., Goessel M. Self-Dual Duplication for Error Detection // Proc. 7th Asian Test Simposium, Singapore, 1998. — P. 296—300. 49. Saposhnikov VI. V., Morosov A., Saposhnikov V. V., Goessel M. Concurrent Checking by Use of Complementary Circuits for l-out-of-3 Codes // Proc. 5th Intern. Workshop IEEE DDECS, Brno, 2002. — P. 404—407. 50. Thatte S.M., Abraham J.A. Test Generation for Microprocessors //IEEE Trans. Computers. — 1980. — Vol. C-29. — №6. — P. 429—441. 314
ОГЛАВЛЕНИЕ ВВЕДЕНИЕ.................................................. Глава 1. ОСНОВЫ ТЕОРИИ ТЕХНИЧЕСКОЙ ДИАГНОСТИКИ .... 6 1.1. Основные понятия и определения.....................6 1.^. Задачи технической диагностики....................12 1.3. Тесты диагностирования........................... 15 1.4. Математические модели объектов диагноза...........17 Глава 2. СИСТЕМЫ ДИАГНОСТИРОВАНИЯ......................26 2.1. Функциональные схемы систем диагностирования......26 2.2. Функциональное диагностирование...................28 2.3. Тестовое диагностирование.........................35 2.4. Алгоритмы диагностирования и методы их построения.........39 Глава 3. ТЕОРИЯ КОНТРОЛЯ КОНТАКТНЫХ СХЕМ...............50 3.1. Представление контактных схем.....................50 3.2. Неисправности в контактных схемах.................57 3.3. Вычисление проверяющих функций для неисправности контактов .... 59 3.4. Вычисление проверяющих функций для кратных неисправностей.67 3.5. Отношения между неисправностями в контактных схемах.......71 3 6. Формирование контрольных списков неисправностей контактов... 77 3.7. Методы построения одиночных тестов контактных схем........89 Глава 4. ДИАГНОСТИРОВАНИЕ ЛОГИЧЕСКИХ СХЕМ НА ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТАХ............................94 4.1. Модели неисправностей логических схем.............94 4.2. Тесты логических элементов.......................101 4.3. Методы построения тестов для комбинационных схем.....108 4.3.1. Метод таблицы функций неисправностей....... 108 4.3.2. Метод существенных путей........................ 112 4.3.3. D-алгоритм................................. 120 4.3.4. Метод эквивалентной нормальной формы....... 126 4.3.5. Булево дифференцирование....................130 4.4. Обнаружение коротких замыканий ..................138 4.5. Контроль исправности электрического монтажа..... 147 4.6. Обнаружение неисправностей типа «временная задержка». 159 4 7. Вероятностное тестирование....................168 315
Глава 5. ДИАГНОСТИРОВАНИЕ ДИСКРЕТНЫХ УСТРОЙСТВ С ПАМЯТЬЮ..................................172 5.1. Построение проверяющих и диагностических тестов.172 5.2. Сигнатурный анализ............................. 181 5.3. Методы сканирования.............................193 Глава 6. ФУНКЦИОНАЛЬНОЕ ДИАГНОСТИРОВАНИЕ ДИСКРЕТНЫХ СИСТЕМ....................................206 6.1. Структурные схемы функционального диагностирования комбинационных схем..................................206 6.2. Метод дублирования............................ 215 6.3. Метод паритета..................................222 6.4. Контроль по коду с постоянным весом.............227 6.5. Контроль по коду с суммированием................240 6.6. Метод логического дополнения....................249 6 7. Контроль на основе свойств самодвойственных функций.252 6.8. Обнаружение неисправностей в схемах с памятью. 264 Глава 7. ДИАГНОСТИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ СИСТЕМ...............................................267 7.1. Схемы организации тестового диагностирования микропроцессорных систем.............................267 7.2. Тестирование элементов микропроцессорных систем.271 7.3. Тестирование программ...........................277 7.4. Средства функционального диагностирования микропроцессорных систем.............................285 7.5. Контроль микропроцессорных систем железнодорожной автоматики...........................................291 Глава 8. ОСОБЕННОСТИ ДИАГНОСТИРОВАНИЯ СИСТЕМ НЕПРЕРЫВНОГО ТИПА....................................295 8.1. Постановка задачи диагностирования..............295 8.2. Метод Байеса................................... 297 8.3. Логическая модель непрерывной системы...........305 СПИСОК СОКРАЩЕНИЙ....................................310 СПИСОК ЛИТЕРАТУРЫ................................ 311 316
Учебное издание Валерий Владимирович Сапожников, д-р техн, наук, профессор Владимир Владимирович Сапожников, д-р техн, наук, профессор ОСНОВЫ ТЕХНИЧЕСКОЙ ДИАГНОСТИКИ Учебное пособие для студентов вузов железнодорожного транспорта Редактор Е.Б. Дудин Корректор Е.В. Кудряшова Компьютерная верстка А.Н. Рудакова Изд. лиц. ИД № 04598 от 24.04.2001 г. Подписано в печать 17.05.2004 Формат 60x90 V16. Усл. печ. 20,0 л. Тираж 5000 экз. Заказ № 1105. Учебно-методический центр МПС России Издательство «Маршрут», 107078, Москва, Басманный пер., 6. Отпечатано с готовых диапозитивов издательства на ОАО "Тверской полиграфический комбинат" 170024, г. Тверь, пр-т Ленина, 5. Телефон: (0822) 44-42-15 Интернет/Home page - www.tverpk.ru Электронная почта (E-mail) -sales@ tverpk.ru *