Надежный контроль и дешифрация кодов

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

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

1) свойство контроля входного вектора – выходы  принимают значения 10 или 01, если на входе тестера присутствует вектор рассматриваемого кода и значения 00 или 11 в противном случае;

2) свойство самопроверки – для любой одиночной неисправности схемы тестера существует входной вектор кода, на котором выходы  принимают значения 00 или 11.

Тестер представляет собой преобразователь данного избыточного кода в код «1 из 2». Выход исправного тестера является парафазным. Рассмотрим указанные свойства на примере схемы СПТ для равновесного кода «2 из 4» (рис. 3.46). На входы , , ,  подаются четырехразрядные двоичные векторы. Выходы схемы описываются формулами

 = ( ) ( )

 = .

В табл. 3.10 показана работа исправной схемы тестера на шести кодовых векторах с весом 2. В этих случаях  ¹ . В табл. 3.11 показана работа тестера на остальных десяти некодовых векторах с весом, отличном от 2. В этих случаях  = . Таким образом, выполняется свойство контроля входного вектора.

 

Т а б л и ц а  3.10

Код «2 из 4»

Код «1 из 2»

1 1 0 0 1 0
1 0 1 0 0 1
1 0 0 1 1 0
0 1 1 0 1 0
0 1 0 1 0 1
0 0 1 1 1 0

 

Рассмотрим свойство самопроверки на примере двух неисправностей схемы (рис. 3.46). Неисправность вида «константа 0» на входе элемента ИЛИ, помеченного знаком *, обнаруживается на входном векторе  = 1100, поскольку в этом случае на выходах  устанавливаются значения 00 вместо 10. Неисправность вида «константа 1» на входе элемента И, помеченного знаком **, обнаруживается на векторе 0110, так как в этом случае на выходах  устанавливаются значения 11 вместо 10.

 

Т а б л и ц а  3.11

Четырехразрядные слова

Выходы СПТ

0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 1 1 1
1 0 0 0 0 0
1 0 1 1 1 1
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 1 1

 

Тестеры для кодов с контролем на четность строятся следующим образом. Все разряды кодового слова произвольно разбиваются на два непересекающихся подмножества. Каждое подмножество объединяется одной схемой свертки по модулю два (рис. 3.47, а). В табл. 3.12 показано, что данная схема обладает свойством контроля входного вектора. В таблице множество входов  обозначено буквой А, а множество  – буквой В. Поясним, например, смысл первой строки. Если на множестве А входов имеется четное число единиц, то на множестве входов В также имеется четное число единиц. Поэтому значения  = 01. На рис. 3.47, б приведена схема СПТ для шестиразрядного кода с контролем на четность. Рассмотрим свойство самопроверки. Например, неисправность вида «константа 0» на выходе элемента 1 обнаруживается на входном векторе  = 100100. При этом на выходах  устанавливаются значения 00 вместо 10.

Для кода с повторением метод реализации СПТ состоит в следующем. Осуществляется преобразование кода с повторением в парафазный код в результате инвертирования всех контрольных разрядов. Строится тестер для парафазного кода. При этом используется специальный модуль сравнения МС (рис. 3.48, а), который осуществляет контроль парафазности сигналов на каждой из двух пар входов:  и . Выход  исправной схемы МС также является парафазным (см. табл. 3.13). При нарушении парафазности хотя бы на одном входе на выходе МС устанавливаются одинаковые сигналы ( , что показано в табл. 3.14. Для обнаружения любой одиночной неисправности МС необходимо подать на его входы четыре входных набора  – {0101, 0110, 1001, 1010}.

Контроль парафазности любого числа сигналов , , ...,  осуществляется с помощью схемы, представляющей собой последовательное или древовидное соединение МС. При этом требуется k – 1 модулей. На рис. 3.49 показаны структуры тестеров для парафазного кода, имеющего 10 разрядов (пять парафазных разрядов). В таких структурах обеспечивается поступление на входы каждого МС четырех наборов проверяющего теста при подаче всех слов парафазного кода. Подробно теория построения самопроверяемых тестеров изложена в книге [3.16].

 

Т а б л и ц а  3.13                           Т а б л и ц а  3.14

 
 
01 01 10   00 00 00
01 10 01   00 01 00
10 01 01   00 10 00
10 10 10   00 11 00
        01 00 00
        01 11 11
        10 00 00
        10 11 11
        11 00 00
        11 01 11
        11 10 11
        11 11 11

 

При дешифрации кодов решается задача контроля внутренней структуры дешифраторов (ДШ). Дешифратор представляет собой комбинационное устройство (рис. 3.50), имеющее т входов и п выходов. На входы , , ...,  подаются разряды кодовых слов. ДШ обладает двумя свойствами:

1) дешифрации – при поступлении на входы ДШ кодового вектора на соответствующем ему выходе появляется сигнал 1;

2) контроля входного вектора – при поступлении на вход ДШ некодового вектора на всех выходах ,...,  формируется сигнал 0.

Для обнаружения неисправностей ДШ к его выходам подключается самопроверяемый тестер кода «1 из п» (1/п-СПТ), При этом используется то свойство, что в исправном ДШ появляется сигнал 1 только на одном выходе. В данной схеме обнаруживаются все одиночные ошибки на выходе дешифратора.

На рис. 3.51 приведена схема контроля дешифратора равновесного кода «2 из 4», заданного в табл. 3.10. Каждый из шести элементов И дешифратора соответствует одному кодовому слову. На входы элемента И подаются переменные, равные 1 в данном кодовом слове. Рассмотрим два вида одиночных неисправностей. Пусть произошел отказ типа «константа 0» на верхнем входе элемента 1. Этот отказ обнаруживается при поступлении трех кодовых слов 1100, 1010, 1001, у которых  = 1. Например, при поступлении слова 1100 на выходе элемента 1 вместо сигнала «логическая 1» в неисправной схеме появляется сигнал «0». В результате этого на всех входах тестера 1/6-СПТ будет присутствовать сигнал 0 и, поэтому,  = . Отказ обнаруживается.

Если на этом же входе происходит отказ типа «константа 1», то он обнаруживается при поступлении трех кодовых слов 0110, 0101, 0011, у которых  = 0. Например, при поступлении слова 0110 в неисправной схеме сигнал 1 появляется на выходе элемента 4 и ложно на выходе элемента 1. В результате этого на входах тестера 1/6-СПТ будут присутствовать сигналы 1 на двух входах и, поэтому,  = .

В данной схеме контроля могут не обнаруживаться отказы на двух выходах ДШ. Например, одновременное возникновение отказов «константа 0» на верхнем входе элемента 1 и «константа 1» на верхнем входе элемента 2 вызывают при поступлении кодового слова 1100 ложное отсутствие сигнала 1 на линии 1 и ложное наличие сигнала 1 на линии 2. В результате этого на входах тестера 1/6-СПТ будет присутствовать сигнал 1 на одном входе и, поэтому,  ¹ . Отказ не обнаруживается. Для обнаружения подобных отказов необходимо применять коды с обнаружением двойных ошибок (например, циклические коды или коды Хэмминга).

Другой вариант построения схемы контроля дешифратора показан на рис. 3.52. В этом случае самопроверяемая схема встроенного контроля ССВК построена на элементах М2.

Дата: 2018-11-18, просмотров: 45.