Обучающая система методам компактной диагностики

Обучающая система методам компактной диагностики

МИНИСТРЕСТВО ОБЩЕГО И ПРОФЕСИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

___________________________________________________________

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Физический факультет

Кафедра радиофизики

ДИПЛОМНАЯ РАБОТА

Обучающая система методам компактной диагностики.

Исполнитель: студент гр.644

Ким В.Л.

Руководитель: ст. преподаватель

каф. р/ф

Таюрская Г.В.

Казань - 1999 г.

Оглавление.

Введение. 4

Глава 1.

Обзор методов компактного тестирования и типы неисправностей цифровых схем.

1.1 Классификация методов сжатия выходных реакций схем. 5

1.2 Типы неисправностей цифровых схем. 10

1.3 Генераторы тестовых последовательностей. 12

Глава 2.

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

2.1 Реализация графического интерфейса. 17

2.2 Разработка и реализация алгоритма моделирования цифровых схем,

позволяющая моделировать ЦС различной сложности, использующие различные

элементные базы. 19

2.3 Реализация алгоритма, моделирующая работу генераторов тестовых

последовательностей: 23

. генератор счётчиковой последовательности;

. генератор М-последовательности;

2.4 Разработка и реализация модуля моделирующего алгоритм диагностики с

использованием компактных методов тестирования: 24

. сигнатурный анализатор;

. метод счёта единиц;

2.5 Блок поиска неисправностей; 28

2.6 Определение оценки эффективности метода сигнатурного анализа и

метода счёта единиц. 31

. Достоверность сигнатурного анализа.

. Достоверность метода счёта единиц.

Глава 3.

Описание программы 35

Экспериментальная часть. 38

Заключение. 42

Литература. 43

Приложение 44

Введение.

Неуклонный рост сложности приборов обуславливает повышенный интерес к

вопросам диагностирования их технического состояния. Одной из

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

тестовая диагностика, позволяющая на этапе проектирования и изготовления

решать основные задачи: определять правильность функционирования,

осуществлять поиск неисправностей и определять тип неисправности. Для

реализации этих задач требуется интенсификация подготовки специалистов по

вычислительной технике и технической диагностике, владеющих методикой

исследования и проектирования сложных цифровых систем с использованием

современных методов технической диагностики.

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

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

знакомить студентов с практическими возможностями использования современных

методов компактного тестирования.

Она должна представлять собой программу, включающую в себя:

> Модуль, реализующий графический интерфейс. Обмен графической

информацией между пользователем и ЭВМ должно осуществляться в форме

диалога;

> модуль, реализующий логическое моделирование цифровых схем;

> модуль, моделирующий работу генераторов тестовых последовательностей;

> блок, моделирующий процесс диагностики. В него входит: блок моделирующий

работу многоканального сигнатурного анализатора, блок отображения и

обработки полученных данных, блок поиска неисправностей;

> блок, реализующий алгоритм определения оценки эффективности

диагностики при использовании компактных методов диагностики.

Глава1.

Обзор методов компактного тестирования и типы неисправностей цифровых схем.

1.1 Классификация методов сжатия выходных реакций схем.

Классическая стратегия тестирования цифровых схем основана на

формировании тестовых последовательностей, позволяющих обнаруживать

заданные множества их неисправностей. При этом для проведения процедуры

тестирования, как правило, хранятся как сами последовательности, так и

эталонные выходные реакции схем на их воздействие. В процессе самой

процедуры тестирования на основании сравнения выходных реакций с эталонными

принимается решение о состоянии проверяемой схемы.

Для ряда выпускаемых в настоящее время схем классический подход требует

временных затрат как на формирование тестовых последовательностей, так и на

процедуру тестирования. Кроме того на проведение тестового эксперимента

требуется наличие сложного оборудования. В связи с этим стоимость и время,

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

сложность цифровых схем, для которых он используется. Поэтому новые

решения, позволяющие значительно упростить как процедуру построения

генераторов тестовых последовательностей, так и проведение тестового

эксперимента.

Для реализации генератора тестовой последовательности используются

алгоритмы, позволяющие избежать сложности их синтеза:

1. Формирование всевозможных тестовых наборов, т.е. полного перебора

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

счётчиковая последовательность.

2. Формирование случайных тестовых наборов с требуемыми вероятностями

появления единичного и нулевого символов по каждому входу цифровой

схемы.

3. Формирование псевдослучайной тестовой последовательности.

Основным свойством рассмотренных алгоритмов формирования тестовых

последовательностей является то, что в результате их применения

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

проверяемой цифровой схемы формируются её реакции, имеющие такую же длину.

Естественно возникает проблема их запоминания, хранения и затрата на

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

значительно сократить объём хранимой информации об эталонных выходных

реакциях является получение интегральных оценок, имеющих меньшую

размерность. Для этого используются алгоритмы сжатия информации.

В результате их применения формируются компактные оценки сжимаемой

информации. Рассмотрим алгоритмы сжатия данных для случая бинарной

последовательности {y(k)}, состоящей из l последовательно формируемых

двоичных переменных.

Псевдослучайное тестирование.

Наиболее часто при формировании псевдослучайных последовательностей

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

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

соотношения. Этот метод обладает рядом недостатков, в частности, малой

периодичностью. Применительно к проблеме тестирования цифровых схем

периодичность может заметно снизить полноту контроля. Кроме того, он

отличается сложностью практической реализа-

ции. Поэтому наиболее широко применяется второй метод, основанный на

использовании соотношения [pic]

К – номер такта; [pic]- символы последовательности;

[pic]- постоянные коэффициенты; [pic]- операция суммирования по модулю

два m логических переменных. При соответствующем выборе коэффициентов

[pic]на основании характеристического полинома

[pic],

который должен быть примитивным, последовательность имеет максимальную

длину, равную 2м-1. Такая последовательность называется М-

последовательностью.

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

сигнатурного анализа как метода сжатия реакций цифровой схемы.

Типовая структурная схема сигнатурного анализатора состоит из регистра

сдвига и сумматора по модулю два, на входы которого подключены выходы

разрядов регистра в соответствии с порождающим полиномом [pic] (рис.1.1).

Управляющими сигналами сигнатурного анализатора являются СТАРТ, СТОП и

СДВИГ. Сигналы СТАРТ и СТОП формируют временной интервал, в течение

которого осуществляется процедура сжатия информации на анализаторе. Под

действием сигнала СТАРТ элементы памяти регистра сдвига устанавливаются в

исходное состояние, как правило нулевое, а сам регистр сдвига начинает

выполнять функцию сдвига на один разряд в право под действием

синхронизирующих импульсов СДВИГ. По приходу каждого синхронизирующего

импульса в первый разряд регистра сдвига записывается информация,

соответствующая выражению:

[pic]

где y(K)[pic]{0,1} –к-й символ сжимаемой последовательности {y(K)},

К=[pic]; [pic]- коэффициенты порождающего полинома[pic]; [pic]- содержимое

i-того элемента памяти регистра сдвига 1 в (к-1) такт. Процедура сдвига

информации в регистре описывается соотношением

[pic]

Таким образом, полное математическое описание функционирования

сигнатурного анализатора имеет следующий вид:

аi(0)=0, i=[pic], a1(k)=y(k)[pic] (1.3)

[pic] k=[pic],

причём l, как правило, принимается равным или меньше величины (2м-1),

и соответственно является длиной сжимаемой последовательности.

По истечении l тактов функционирования сигнатурного анализатора на его

элементах памяти фиксируется двоичный код, который представляет собой

сигнатуру, отображенную в виде 16-ричного кода.

Синдромное тестирование.

Синдромом (контрольной суммой) некоторой булевой функции n переменных

является соотношение

S=R5/2n,

Где R5 равно числу единичных значений функции согласно таблице

истинности для l=2n. Определение понятия синдрома однозначно предполагает

использование генератора счетчиковых последовательностей для формирования

всевозможных двоичных комбинаций из n входных переменных при тестировании

схемы, реализующей заданную функцию. Дальнейшим развитием синдромного

тестирования является спектральный метод оценки выходных реакций цифровых

схем и корреляционный метод.

2. Типы неисправностей цифровых схем.

Проблема тестового диагностирования цифровых схем возникает на

различных этапах их производства и эксплуатации и включает взаимосвязанные

задачи. Первая из них заключается в определении, в каком состоянии

находится исследуемая схема.

Основным состоянием цифровой схемы является исправное – такое состояние

схемы, при котором она удовлетворяет всем требованиям технической

документации. В противном случае схема находится в одном их неисправных

состояний.

Если установлено, что схема неисправна, то решается вторая задача:

осуществляется поиск неисправной схемы, цель которого- определение места и

вида неисправности.

Неисправности ЦС появляются в результате применения неисправных

компонентов, таких, как логические элементы, реализующие простейшие

логические функции, элементы памяти и др. кроме того, причиной

неисправностей могут быть возникновения разрывов или коротких замыканий в

межкомпонентных соединениях, нарушение условий эксплуатации схемы, наличие

ошибок при проектировании и производстве и ряд других факторов.

Из множества различных видов неисправностей выделяется класс логических

неисправностей, которые изменяют функции элементов ЦС указанный тип

неисправностей занимает доминирующее место среди неисправностей ЦС. Для их

описания в большинстве случаев используют следующие математические модели:

. Константные неисправности;

. Неисправности типа «Короткое замыкание»;

. Инверсные неисправности;

. Наиболее общей и часто применяемой моделью логических неисправностей

являются константные неисправности: константный нуль и константная

единица, что означает наличие постоянного уровня логического нуля или

логической единицы на одном из полюсов логического элемента. Такая модель

неисправностей часто называется классической и широко используется для

описания других типов неисправностей. Неисправности типа «Короткое

замыкание» появляются при коротком замыкании входов и выходов логических

элементов.

Инверсные неисправности описывают физические дефекты ЦС, приводящие к

появлению фиктивного инвертора по входу или по выходу логического элемента.

Инверсные неисправности в совокупности с константными, в ряде случаев

используются для построения полной модели неисправной цифровой схемы.

1.3 Генераторы тестовых последовательностей.

Классическая стратегия тестирования цифровых схем основана на

формировании тестовых последовательностей, позволяющих обнаруживать

заданные множества их неисправностей. Для реализации генератора тестовой

последовательности желательно использовать простейшие методы, позволяющие

избежать сложной процедуры их синтеза. К ним относятся следующие

алгоритмы:

> формирование всевозможных тестовых наборов, то есть полного

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

алгоритма генерируются счётчиковые последовательности;

> формирование псевдослучайных тестовых последовательностей;

> формирование случайных тестовых наборов, с требуемыми

вероятностями единичного и нулевого символов по каждому входу

цифровой схемы.

Основным свойством вышеперечисленных алгоритмов является то, что в

результате их применения воспроизводятся последовательности очень большой

длины.

Для процесса обучения были выбраны два первых алгоритма построения

генераторов тестовых последовательностей. И разработаны два модуля для

эмуляции работы генераторов:

модуль эмуляция генератора счетчиковой последовательности;

модуль эмуляции работы многоканального генератора М-

последовательности, позволяющий генерировать псевдослучайную

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

длину и число каналов в зависимости от числа входов цифровой схемы.

Генератор М-последовательности.

В аппаратурных псевдослучайных датчиках и узлах ЭВМ при генерировании

ПСЧП с равномерным распределением наиболее часто используется метод,

который заключается в получении линейной двоичной последовательности по

рекуррентному выражению:

[pic]

где i - номер такта; [pic]символы выходной последовательности;

[pic]постоянные коэффициенты. При соответствующем выборе коэффициентов {(к}

генерируемая числовая последовательность имеет максимальную (для данного m)

величину периода и называется М-последовательностью. Одним из главных

преимуществ метода генерирования ПС – последовательностей максимальной

длины является простота его реализации.

Генератор М-последовательности может быть построен двумя методами,

отличающимися способом включения сумматоров по модулю два: они могут

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

связи элементов памяти регистров сдвига.

Структурная схема генератора М – последовательности, построенного по

способу включения сумматоров в цепь обратной связи представлена на рис.1.1

Генератор М-последовательности с сумматорами по модулю два, стоящими в цепи

обратной связи: аi,ai-1,ai-2,…ai-m – символы последовательности; (i –

коэффициенты, определяющие вид обратной связи.

Алгоритм размножения М-последовательности.

Для того, чтобы обеспечить различные режимы испытаний, генераторы

испытуемых сигналов должны удовлетворять ряду требований (многоканальность,

быстродействие, достаточная длина периода и т.д.). В основе наиболее

перспективного метода построения быстродействующего параллельного

генератора псевдослучайных последовательностей испытательных сигналов лежит

идея использования ( в качестве независимых последовательностей для

формирования разрядов очередного кода) участков одной и той же

последовательности. В данном случае генерирование различных участков

осуществляется с помощью (-входовых сумматоров по модулю два, т.е. (({2,m},

где m- разрядность регистра сдвига. Соединения сумматоров по модулю два с

разрядами регистра сдвига определяются набором коэффициентов

(i(1)({0,1}(i=1,2,3,..m), значения которых зависят от величины сдвига

l(l=1,2,3,…) и вида порождающего полинома.

Методика выбора коэффициентов (i(1), однозначно определяющих связи

многовходового сумматора по модулю два, описывается на итерационном

подходе, когда на основании (i(h), по расчётным соединениям находятся

(i(1)(h=1,2,….h>m преобразуется к более простому виду:

[pic]

которое может служить основным аргументом для обоснования высокой

эффективности сигнатурного анализа.

В качестве более точной меры оценки достоинств сигнатурного анализатора

рассмотрим распределение вероятности необнаружения ошибки в зависимости от

её кратности (, т.е. определим значение [pic] где (=1,2,3,...2m-1.

Можно показать, что [pic]не обнаруживаемых ошибок определяется

следующим образом:

[pic]

а количество возможных ошибок из ( бит определяется как [pic]

И тогда выражение для вероятности не обнаружения ошибки принимает вид:

[pic],

[pic]

Анализ показывает, что для достаточно больших m [pic], т.е. при m>7

вероятность обнаружения ошибки [pic]практически равняется единице.

Достоверность метода счёта единиц.

В качестве характеристики, позволяющей оценить метод компактного

тестирования целесообразно использовать распределение вероятностей не

обнаружения ошибки в зависимости от её кратности (:

[pic]

где ( -кратность ошибки, [pic]- вероятность возникновения ошибки

кратности (; [pic]- вероятность не обнаружения возникшей ошибки кратности

(, которая определяется как отношение количества не обнаруживаемых ошибок

кратности ( к общему количеству возможных ошибок из ( неверных символов в

последовательности длиной l.

Значение [pic] определяется видом проверяемой цифровой схемы,

множеством возможных её неисправностей, а также типом тестовых

последовательностей, причём распределение вероятностей [pic] может иметь

совершенно произвольный вид и значительно изменяться в зависимости от

возникшей неисправности, вида схемы и тестовой последовательности.

Значение [pic] характеризуется только методом компактного тестирования

и позволяет провести его сопоставительную оценку в сравнении с другими

методами. Поэтому для различных методов в зависимости от их распределения

вероятностей [pic] могут быть получены оценки эффективности контроля ЦС в

виде распределения [pic]. Анализ этого вида распределения позволяет принять

решение о целесообразности применения того или иного метода компактного

тестирования. Причём для упрощения алгоритма принятия решения следует

использовать более компактную характеристику, например суммарную

вероятность не обнаружения ошибки [pic], вычисляемую как

[pic]

В данном случае величина [pic] будет характеризовать тот или иной метод

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

[pic] возникновения неисправностей в зависимости от её кратности.

Глава 3.

Описание программы.

Интерфейс программы состоит из трёх окон:

. Главного - на котором находятся все основные функции программы,

элементы цифровой схемы.

. Окна свойств, в котором отображается информация об элементе

. Окно "Конструктор" - в нём строится сама цифровая схема.

Для построения цифровой схемы, необходимо поочерёдно нажимая в панели

инструментов, на главной форме, на нужный элемент и нажимая на форму

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

Элементы можно создавать и размещать в любом порядке, а также добавлять и

удалять в уже созданной ЦС.

Чтобы соединить входы и выходы элементов линией, необходимо:

. При наведении курсора мыши на входную ножку элемента, ножка

выделяется и нажимая левую кнопку тянем до выходной ножки другого

элемента. Как только выходная ножка которую мы хотим соединить также

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

соединяющая входную и выходную ножки.

Также соединяется линией точка с входными и выходными ножками

элементов.

Для просмотра свойств элементов, достаточно выделить элемент и свойства

элемента отобразятся в окне свойств.

В этом окне можно изменять число входов или число выходов, вводить

ошибки. В нём также отображается тип элемента и порядковый номер на схеме.

Если в схеме используется генератор М-последовательности, то для него

необходимо ввести примитивный неприводимый полином. Для этого в меню

выбираем раздел Полином -->М-генератор и в появившемся окне составляем

полином.

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

того же пункта меню Полином выбираем Сигнатурный анализатор.

Когда схема будет создана, нажимаем на Анализ. В появившемся окне

отображается сигнатура, число единиц, вероятности появления единиц и нулей.

Экспериментальная часть.

В качестве примера рассмотрим схему мультиплексора и получим сигнатуру.

В качестве тестового генератора будем использовать генератор М-

последовательности и полином вида:

[pic]

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

В результате моделирования, получим:

на входе:

на выходе

Сигнатура и число единиц:

Далее, вводим ошибки в схему через окно "Свойства элементов", которое

находится в левой части экрана.

Затем из меню Диагностика выбираем "Поиск неисправностей"

В результате мы локализовали неисправные элементы и типы ошибок.

-----------------------

ГТП

Моделирование ЦС

Блок ошибок

Блок отображения и обработки выходных реакций и сжатия информации

Блок определения [pic]

Схема сравнения

Эталонные данные

Результат тестирования

[pic]

[pic]