Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дрейзин В.Э., Кочура А.В. - Управление качество...doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
3.62 Mб
Скачать

6.3.2. Сигнатурные анализаторы

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

В ряде случаев генератор тестовой последовательности непосредственно встраивают в контролируемые платы. Такие генераторы достаточно просты и их встраивание в платы и блоки цифровых устройств не приводит к существенному удорожанию продукции и, в то же время, облегчает процедуру контроля данных блоков. В частности, применение сигнатурного анализатора в виде компактного пробника возможно лишь в том случае, когда генерация тестовой последовательности и тактовых импульсов (синхросигнала) осуществляется самим тестируемым устройством одним из двух рассмотренных способов (программным или аппаратным). Сам сигнатурный анализатор в этом случае достаточно прост и может быть размещён в компактном корпусе размером чуть больше авторучки. Он состоит из шестнадцатиразрядного сдвигового регистра, параллельные выходы которого дешифрируются в модифицированный шестнадцатеричный код и индицируются четырёхразрядным семисегментным цифровым индикатором. На информационный вход регистра поступают импульсы с цепочки 4-х последовательно соединённых сумматоров по модулю 2, на которые заведены обратные связи с 7-го, 9-го, 12-го и 16-го триггеров регистра. Тестовая последовательность поступает на вход первого из них, а тактовые импульсы – через селектор, позволяющий формировать «временные ворота». В итоге получаем схему, показанную на рис. 6.1.

Модифицированный шестнадцатеричный код отличается от обычного шестнадцатеричного кода только буквенной частью. Для обозначения цифр 10, 11, 12, 13, 14 и 15 вместо букв A B C D E F используются буквы A C F H P U. Это делается для того, чтобы при семисегментной индикации не перепутать буквы с цифрами, например, цифру 0 и букву D, цифру 8 и букву В, которые на семисегментном индикаторе отображаются одинаково.

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

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

Теоретической базой сигнатурного анализа является теория циклических кодов. Математическое описание циклических кодов основано на возможности отображения любого двоичного числа многочленом фиктивной переменной Х, степень которого определяется разрядностью этого двоичного числа и равна n – 1 (где n – число двоичных разрядов). При этом в полиноме сохраняются лишь те члены, которым соответствуют единичные значения двоичных разрядов. Например, двоичной последовательности 1100101 соответствует полином 1+x+x4+x6. Соответственно при числе разрядов двоичных последовательностей n = 16 максимальная степень отображающих их полиномов равна 15.

Обозначим полиномы, отображающие выходные двоичные последовательности контролируемой цифровой схемы, G(x). Будем делить их на порождающий полином вида

Р(х)=1+х681115.

В общем случае при делении мы будем получать частное Q(x) и остаток R(x) и при этом

G(x) = P(x)Q(x) R(x), (6.1)

где означает сложение по модулю два соответствующих многочленов.

Если в двоичной последовательности произошли ошибки, то она отобразится уже другим полиномом G`(x), который можно получить из исходного полинома путём сложения по модулю два с полиномом ошибок Е(х):

G`(x) = G(x) Е(х) . (6.2)

При этом выполняется равенство:

Е(х) = G(x) G`(x) . (6.3)

Аналогично (6.1) при делении G`(x) на порождающий полином получим:

G`(x)= P(x)·Q(x) R`(x) . (6.4)

Если остатки R`(x) и R(x) не совпадают:

R`(x) ≠ R(x) , (6.5)

то это позволит обнаружить ошибку в исходной двоичной последовательности.

Операция деления исходного полинома на порождающий полином реализуется с помощью сдвигового регистра и последовательно включённых сумматоров по модулю 2, на которые заведены связи с 7, 9, 12 и 16 разрядов регистра. А на цифровом индикаторе мы и получаем отображение остатка от деления, который и называется сигнатурой.

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

, (6.6)

где при nm0; при nm > 0; n – число разрядов анализируемых двоичных последовательностей; m – число разрядов сдвигового регистра.

В нашем случае m = 16. Следовательно, при n ≤ 16 вероятность пропуска ошибки будет равна нулю, при n = 17, она будет равняться:

.

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

При длине последовательностей n = 18 из 218 возможных последовательностей лишь 3 пары будут давать одинаковые остатки. При n = 19 таких пар будет 7 и т.д. В пределе, при n  вероятность ошибочного распознавания исходной последовательности по её остатку от деления на порождающий полином не будет превышать Р = 0,00002.

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

. (6.7)

Подставляя в эту формулу n = 17, получаем

n = 18, n = 19,

то есть при n∞ вероятность ошибки будет стремиться к 1.

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

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

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