Полезная модель устройства хранения и передачи данных с исправлением ошибок в двух байтах информации
Устройство хранения и передачи данных с исправлением ошибок в двух байтах информации относится к области телемеханики, автоматики и вычислительной техники и предназначено для повышения отказоустойчивости устройств хранения и передачи информации. Позволяет заменить циклическую процедуру кодирования и декодирования информации на линейную и тем самым, сократить временные затраты на кодирование информации. Это достигается рациональным кодированием исходной двоичной информации и введением входного блока кодирования, выходного блока кодирования, блока вычисления синдрома ошибки, дешифратора, блока хранения векторов ошибок и корректора. Илл.1.
Полезная модель относится к вычислительной технике и может быть использовано для повышения достоверности функционирования запоминающих устройств.
Известно самокорректирующееся устройство [1], использующие корректирующий код (наиболее часто используется код Хемминга корректирующий одиночную ошибку и обнаруживающий двойную ошибку).
Недостатком устройства является низкая обнаруживающая способность кода, так как обнаруживаются только двойные ошибки.
Наиболее близким по техническому решению является устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации [2], содержащие узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, коммутатор, блок коммутаторов, корректор, блок корректоров, первый блок элементов ИЛИ, второй блок элементов ИЛИ, инвертор, элемент И, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, двадцати четырех разрядные информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования который формирует значения контрольных разрядов r 1, r2, r3, r4, r5 , r6, r7, r8 путем сложения по модулю 2 информационных символов x1 x2 x3, z1 z2 z3, a 1 a2 a3, c1 c2 c3, e1 e2 e3, f 1 f2 f3, g1 g2 g3, h1 h2 h3., поступающих на входы входного блока кодирования, в соответствии с правилом: r1=x1z1
a1
c1
e1
f1
g1
h1; r2=x2
z2
а2
c2
e2
f2
g2
h2; r3=x3
z3
a3
c3
e3
f3
g3
h3; r4=x1
z3
a2
a3
c2
e1
e3
f1
f2
g1
g2
g3; r5=x2
x3
z1
a3
c1
c3
e1
e2
f2
g1
g2
g3; r6=x3
z2
z3
a1
c1
c2
e2
f1
f3
g1
g2
g3; r7=x3
z3
а1
a3
с2
е1
f2
g1
g2
g3; r8=x1
x2
z2
a2
a3
c3
e3
f2
f3
g1
g2
g3, которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r1П, r2П, r3П, r 4П, r5П, r6П r7П r 8П путем сложения по модулю 2 информационных символов x 1П x2П x3П, z1П z 2П z3П, a1П a2П a 3П, c1П c2П c3П, e 1П e2П e3П, f1П f 2П f3П, g1П g2П g 3П, h1П h2П h3П, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом: : r1П=x 1П
z1П
а1П
c1П
е1П
f1П
g1П
h1П; r2П=x2П
z2П
а2П
c2П
е2П
f2П
g2П
h2П; r3П=x3П
z3П
а3П
c3П
е3П
f3П
g3П
h3П; r4П=х1П
z3П
а2П
а3П
с2П
е1П
е3П
f1П
f2П
g1П
g2П
g3П; r5П=х2П
х3П
z1П
а3П
с1П
c3П
e1П
e2П
f2П
g1П
g2П
g3П; r6П=х3П
z2П
z3П
а1П
с1П
с2П
е2П
f1П
f3П
g1П
g2П
g3П; r7П=х3П
z3П
а1П
а3П
с2П
е1П
f2П
g1П
g2П
g3П; r8П=х1П
х2П
z2П
а2П
а3П
с3П
е3П
f2П
f3П
g1П
g2П
g3П, выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки к вторым входам которого, подключены выходы контрольных разрядов узла памяти, первые выходы блока вычисления синдрома ошибки подключены к первым входам дешифратора, к первым входам коммутатора, к входам первого блока элементов ИЛИ и к первым входам блока коммутаторов, вторые выходы блока вычисления синдрома ошибки подключены к вторым входам дешифратора и к вторым входам первого блока элементов ИЛИ, выходы дешифратора подключены к входам второго блока элементов ИЛИ, при этом первый выход дешифратора подключен к второму входу коммутатора, а вторые выходы подключены к вторым входам блока коммутаторов, выход второго блока элементов ИЛИ через инвертор подключен к первому входу элемента И, второй вход которого подключен к выходу первого блока элементов ИЛИ, выход элемента И является выходом сигнала «ошибка», выходы коммутатора подключены к вторым входам корректора, выходы блока коммутаторов подключены к вторым входам блока корректоров, выходы корректора и блока корректоров подключены к вторым входам блока элементов И, выходы которого являются информационными выходами устройства.
Недостатком устройства является низкая корректирующая способность ошибок, так как корректируются только одиночные байты ошибок.
Целью полезной модели является повышение отказоустойчивости устройства за счет коррекции ошибок в двух байтах информации.
Поставленная цель достигается тем, что устройство, содержащие узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, корректор, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы отличающееся тем, что дополнительно содержит блок хранения векторов ошибок, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования который, формирует значения контрольных разрядов ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, путем сложения по модулю 2 информационных символов а 0a1а2а3, b0 b1b32b3, c0c 1c2c3, d0d1 d2d3, e0e1e2 e3, f0f1f2f3 , g0g1g2g3, h 0h1h2h3, i0 i1i2i3, j0j1 j2j3, k0k1k2 k3, l0l1l2l3 , m0m1m2m3, n 0n1n2n3, o0 o1o2o3, p0p1 p2p3, поступающих на входы входного блока кодирования, в соответствии с правилом:
выходы входного блока кодирования подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r1Пf, ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, путем сложения по модулю 2 информационных символов а 0Пa1Па2Па3П, b0П b1Пb2Пb3П, c0Пc 1Пc2Пc3П, d0Пd1П d2Пd3П, e0Пe1Пe 2Пe3П, f0Пf1Пf2П f3П, g0Пg1Пg2Пg 3П, h0Пh1Пh2Пh3П , i0Пi1Пi2Пi3П, j 0Пj1Пj2Пj3П, k0П k1Пk2Пk3П, l0Пl 1Пl2Пl3П, m0Пm1П m2Пm3П, n0Пn1Пn 2Пn3П, o0Пo1Пo2П o3П, p0Пp1Пp2Пp 3П, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом:
n3П
о0П
o3П
р0П
р1П
р3П, выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого, подключены выходы контрольных разрядов узла памяти, выходы блока вычисления синдрома ошибки подключены к входам дешифратора выходы которого, подключены к входам блока хранения векторов ошибок, выходы блока хранения векторов ошибок подключены к вторым входам корректора выходы которого, подключены к вторым входам блока элементов И, выходы блока элементов И являются выходами устройства.
На фиг.1 представлена блок-схема полезной модели. Устройство хранения и передачи данных с исправлением ошибок в двух байтах информации содержит: узел 1 памяти, входной блок 2 кодирования, выходной блок 3 кодирования, блок 4 вычисления синдрома ошибки, дешифратор 5, блок 6 хранения векторов ошибок, корректор 7, блок 8 элементов И, вход 9 установки в нулевое состояние, вход 10 записи, вход 11 считывания, адресные входы 12, информационные входы 13, вход 14 синхронизации, информационные выходы 15.
Вход 9 установки в нулевое состояние, вход 10 записи, вход 11 считывания, адресные входы 12, подключены соответственно к первому, второму, третьему и четвертому входам узла 1 памяти, вход 14 синхронизации подключен к пятому входу узла 1 памяти и к первому входу блока 8 элементов И, информационные входы 13 подключены к шестым входам узла 1 памяти и к входам входного блока 2 кодирования который, формирует значения контрольных разрядов ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, путем сложения по модулю 2 информационных символов a 0 a1 a2 a3, b0 b1 b32b3, c0 c 1 c2 c3, d0 d1 d2 d3, e0 e1 e 2 e3, f0 f1 f2 f3, g0 g1 g2 g 3, h0 h1 h2 h3 , i0 i1 i2 i3, j 0 j1 j2 j3, k0 k1 k2 k3, l0 l 1 l2 l3, m0 m1 m2 m3, n0 n1 n 2 n3, o0 o1 o2 o3, p0 p1 p2 р 3, поступающих на входы входного блока 2 кодирования, в соответствии с правилом:
выходы входного блока 2 кодирования подключены к седьмым входам узла 1 памяти, информационные выходы узла 1 памяти подключены соответственно к первым входам корректора 7 и к входам выходного блока 3 кодирования, который формирует значения проверочных контрольных разрядов r1Пf, ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, путем сложения по модулю 2 информационных символов а 0Пa1Па2Па3П, b0П b1Пb2Пb3П, c0Пc 1Пc2Пc3П, d0Пd1П d2Пd3П, e0Пe1Пe 2Пe3П, f0Пf1Пf2П f3П, g0Пg1Пg2Пg 3П, h0Пh1Пh2Пh3П , i0Пi1Пi2Пi3П, j 0Пj1Пj2Пj3П, k0П k1Пk2Пk3П, l0Пl 1Пl2Пl3П, m0Пm1П m2Пm3П, n0Пn1Пn 2Пn3П, o0Пo1Пo2П o3П, p0Пp1Пp2Пp 3П, поступающих на входы входного блока 3 кодирования с информационных выходов узла 1 памяти, в соответствии с правилом:
n3П
o0П
o3П
p0П
р1П
р3П, выходы выходного блока 3 кодирования подключены к первым входам блока 4 вычисления синдрома ошибки, к вторым входам которого, подключены выходы контрольных разрядов узла 1 памяти, выходы блока 4 вычисления синдрома ошибки подключены к входам дешифратора 5 выходы которого, подключены к входам блока 6 хранения векторов ошибок, выходы блока 6 хранения векторов ошибок подключены к вторым входам корректора 7 выходы которого, подключены к вторым входам блока 8 элементов И, выходы блока 8 элементов И являются выходами 15 устройства.
Узел 1 памяти, в данном случае, представляет собой статическое полупроводниковое оперативное устройство памяти и предназначен для хранения кодовых наборов: УК=а0a 1а2а3, b0b1 b32b3, c0c1c 2c3, d0d1d2 d3, e0e1e2e3 , f0f1f2f3, g 0g1g2g3, h0 h1h2h3, i0i1 i2i3, j0j1j2 j3, k0k1k2k3 , l0l1l2l3, m 0m1m2m3, n0 n1n2n3, o0o1 o2o3, p0p1p2 p3, ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, полученных при кодировании исходных шестидесяти четырех разрядных двоичных наборов.
Входной блок 2 кодирования предназначен для формирования значений контрольных разрядов ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, путем сложения по mod2 информационных символов в соответствии с правилом: :
Выходной блок 3 кодирования предназначен для формирования значений проверочных контрольных разрядов r 1Пf, ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, путем сложения по модулю 2 информационных символов а 0Пa1Па2Па3П, b0П b1Пb2Пb3П, c0Пc 1Пc2Пc3П, d0Пd1П d2Пd3П, e0Пe1Пe 2Пe3П, f0Пf1Пf2П f3П, g0Пg1Пg2Пg 3П, h0Пh1Пh2Пh3П , i0Пi1Пi2Пi3П, j 0Пj1Пj2Пj3П, k0П k1Пk2Пk3П, l0Пl 1Пl2Пl3П, m0Пm1П m2Пm3П, n0Пn1Пn 2Пn3П, o0Пo1Пo2П o3П, p0Пp1Пp2Пp 3П, поступающих на входы входного блока 3 кодирования с информационных выходов узла 1 памяти, в соответствии с правилом:
Блок 4 вычисления синдрома ошибки предназначен для обнаружения ошибки в кодовом наборе при считывании информации с узла 1 памяти путем сложения по mod2 значений контрольных разрядов ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
считываемых с вторых выходов узла 1 памяти, соответственно с значениями контрольных разрядов
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, сформированных на выходах выходного блока 3 кодирования.
Результат поразрядного сложения:
Нулевой результат суммы свидетельствует об отсутствии ошибки, и ее наличии в противном случае.
Дешифратор 5 формирует единичное значение сигнала на одном из своих выходов в соответствии с значением синдромом ошибки (формирует адрес вектора ошибки в блоке 6 хранения векторов ошибок).
В таблице 1. представлена часть значений синдромов ошибок для кода 84,20.
Примечание: В табл.1 значения информационных разрядов, контрольных разрядов и значения ошибки в байтах информации представлены в шестнадцатеричной системе счисления, а значения синдрома ошибки- в двоичной.
Таблица 1 | |||
Значения синдромов ошибок для кода (84,20) | |||
Информационные разряды | контр, разр. | ошибка в байте | Синдром ошибки |
0000000000000000 | 00000 | 0000 | 00000000000000000000 |
0000000000000000 | 00000 | 0001 | 00000001011101101011 |
0000000000000000 | 00000 | 0002 | 00000010001111010110 |
0000000000000000 | 00000 | 0003 | 00000011010010111101 |
0000000000000000 | 00000 | 0004 | 00000100000110011101 |
0000000000000000 | 00000 | 0005 | 00000101011011110110 |
0000000000000000 | 00000 | 0006 | 00000110001001001011 |
0000000000000000 | 00000 | 0007 | 00000111010100100000 |
0000000000000000 | 00000 | 0008 | 00001000000011001111 |
0000000000000000 | 00000 | 0009 | 00001001011110100100 |
0000000000000000 | 00000 | 000А | 00001010001100011001 |
0000000000000000 | 00000 | 000B | 00001011010001110010 |
0000000000000000 | 00000 | 000C | 00001100000101010010 |
0000000000000000 | 00000 | 000D | 00001101011000111001 |
0000000000000000 | 00000 | 000Е | 00001110001010000100 |
0000000000000000 | 00000 | 000F | 00001111010111101111 |
0000000000000000 | 00000 | 0010 | 00010000100010100011 |
0000000000000000 | 00000 | 0011 | 00010001111111001000 |
0000000000000000 | 00000 | 0012 | 00010010101101110101 |
0000000000000000 | 00000 | 0013 | 00010011110000011110 |
0000000000000000 | 00000 | 0014 | 00010100100100111110 |
0000000000000000 | 00000 | 0015 | 00010101111001010101 |
0000000000000000 | 00000 | 0016 | 00010110101011101000 |
0000000000000000 | 00000 | 0017 | 00010111110110000011 |
0000000000000000 | 00000 | 0018 | 00011000100001101100 |
0000000000000000 | 00000 | 0019 | 00011001111100000111 |
0000000000000000 | 00000 | 001А | 00011010101110111010 |
0000000000000000 | 00000 | 001В | 00011011110011010001 |
0000000000000000 | 00000 | 001С | 00011100100111110001 |
0000000000000000 | 00000 | 001D | 00011101111010011010 |
0000000000000000 | 00000 | 001Е | 00011110101000100111 |
0000000000000000 | 00000 | 001F | 00011111110101001100 |
0000000000000000 | 00000 | 0020 | 00100000001101111010 |
0000000000000000 | 00000 | 0021 | 00100001010000010001 |
0000000000000000 | 00000 | 0022 | 00100010000010101100 |
0000000000000000 | 00000 | 0023 | 00100011011111000111 |
0000000000000000 | 00000 | 0024 | 00100100001011100111 |
0000000000000000 | 00000 | 0025 | 00100101010110001100 |
0000000000000000 | 00000 | 0026 | 00100110000100110001 |
0000000000000000 | 00000 | 0027 | 00100111011001011010 |
0000000000000000 | 00000 | 0028 | 00101000001110110101 |
0000000000000000 | 00000 | 0029 | 00101001010011011110 |
0000000000000000 | 00000 | 002A | 00101010000001100011 |
0000000000000000 | 00000 | 002В | 00101011011100001000 |
0000000000000000 | 00000 | 002C | 00101100001000101000 |
0000000000000000 | 00000 | 002D | 00101101010101000011 |
0000000000000000 | 00000 | 002E | 00101110000111111110 |
0000000000000000 | 00000 | 002F | 00101111011010010101 |
0000000000000000 | 00000 | 0030 | 00110000101111011001 |
0000000000000000 | 00000 | 0031 | 00110001110010110010 |
0000000000000000 | 00000 | 0032 | 00110010100000001111 |
0000000000000000 | 00000 | 0033 | 00110011111101100100 |
0000000000000000 | 00000 | 0034 | 00110100101001000100 |
0000000000000000 | 00000 | 0035 | 00110101110100101111 |
0000000000000000 | 00000 | 0036 | 00110110100110010010 |
0000000000000000 | 00000 | 0037 | 00110111111011111001 |
0000000000000000 | 00000 | 0038 | 00111000101100010110 |
0000000000000000 | 00000 | 0039 | 00111001110001111101 |
0000000000000000 | 00000 | 003A | 00111010100011000000 |
0000000000000000 | 00000 | 003В | 00111011111110101011 |
0000000000000000 | 00000 | 003C | 00111100101010001011 |
0000000000000000 | 00000 | 003D | 00111101110111100000 |
0000000000000000 | 00000 | 003Е | 00111110100101011101 |
0000000000000000 | 00000 | 003F | 00111111111000110110 |
0000000000000000 | 00000 | 0040 | 01000000100111101100 |
0000000000000000 | 00000 | 0041 | 01000001111010000111 |
0000000000000000 | 00000 | 0042 | 01000010101000111010 |
0000000000000000 | 00000 | 0043 | 01000011110101010001 |
0000000000000000 | 00000 | 0044 | 01000100100001110001 |
0000000000000000 | 00000 | 0045 | 01000101111100011010 |
0000000000000000 | 00000 | 0046 | 01000110101110100111 |
0000000000000000 | 00000 | 0047 | 01000111110011001100 |
0000000000000000 | 00000 | 0048 | 01001000100100100011 |
0000000000000000 | 00000 | 0049 | 01001001111001001000 |
0000000000000000 | 00000 | 004А | 01001010101011110101 |
0000000000000000 | 00000 | 004В | 01001011110110011110 |
0000000000000000 | 00000 | 004С | 01001100100010111110 |
0000000000000000 | 00000 | 004D | 01001101111111010101 |
0000000000000000 | 00000 | 004Е | 01001110101101101000 |
0000000000000000 | 00000 | 004F | 01001111110000000011 |
0000000000000000 | 00000 | 0050 | 01010000000101001111 |
0000000000000000 | 00000 | 0051 | 01010001011000100100 |
0000000000000000 | 00000 | 0052 | 01010010001010011001 |
0000000000000000 | 00000 | 0053 | 01010011010111110010 |
0000000000000000 | 00000 | 0054 | 01010100000011010010 |
0000000000000000 | 00000 | 0055 | 01010101011110111001 |
0000000000000000 | 00000 | 0056 | 01010110001100000100 |
0000000000000000 | 00000 | 0057 | 01010111010001101111 |
0000000000000000 | 00000 | 0058 | 01011000000110000000 |
0000000000000000 | 00000 | 0059 | 01011001011011101011 |
0000000000000000 | 00000 | 005А | 01011010001001010110 |
0000000000000000 | 00000 | 005В | 01011011010100111101 |
0000000000000000 | 00000 | 005С | 01011100000000011101 |
0000000000000000 | 00000 | 005D | 01011101011101110110 |
0000000000000000 | 00000 | 005Е | 01011110001111001011 |
0000000000000000 | 00000 | 005F | 01011111010010100000 |
0000000000000000 | 00000 | 0060 | 01100000101010010110 |
0000000000000000 | 00000 | 0061 | 01100001110111111101 |
0000000000000000 | 00000 | 0062 | 01100010100101000000 |
0000000000000000 | 00000 | 0063 | 01100011111000101011 |
0000000000000000 | 00000 | 0064 | 01100100101100001011 |
0000000000000000 | 00000 | 0065 | 01100101110001100000 |
0000000000000000 | 00000 | 0066 | 01100110100011011101 |
0000000000000000 | 00000 | 0067 | 01100111111110110110 |
0000000000000000 | 00000 | 0068 | 01101000101001011001 |
0000000000000000 | 00000 | 0069 | 01101001110100110010 |
0000000000000000 | 00000 | 006А | 01101010100110001111 |
0000000000000000 | 00000 | 006В | 01101011111011100100 |
0000000000000000 | 00000 | 006С | 01101100101111000100 |
0000000000000000 | 00000 | 006D | 01101101110010101111 |
0000000000000000 | 00000 | 006Е | 01101110100000010010 |
0000000000000000 | 00000 | 006F | 01101111111101111001 |
0000000000000000 | 00000 | 0070 | 01110000001000110101 |
0000000000000000 | 00000 | 0071 | 01110001010101011110 |
0000000000000000 | 00000 | 0072 | 01110010000111100011 |
0000000000000000 | 00000 | 0073 | 01110011011010001000 |
0000000000000000 | 00000 | 0074 | 01110100001110101000 |
0000000000000000 | 00000 | 0075 | 01110101010011000011 |
0000000000000000 | 00000 | 0076 | 01110110000001111110 |
0000000000000000 | 00000 | 0077 | 01110111011100010101 |
0000000000000000 | 00000 | 0078 | 01111000001011111010 |
0000000000000000 | 00000 | 0079 | 01111001010110010001 |
0000000000000000 | 00000 | 007А | 01111010000100101100 |
0000000000000000 | 00000 | 007В | 01111011011001000111 |
0000000000000000 | 00000 | 007С | 01111100001101100111 |
0000000000000000 | 00000 | 007D | 01111101010000001100 |
0000000000000000 | 00000 | 007Е | 01111110000010110001 |
0000000000000000 | 00000 | 007F | 01111111011111011010 |
0000000000000000 | 00000 | 0080 | 10000000100011111111 |
0000000000000000 | 00000 | 0081 | 10000001111110010100 |
0000000000000000 | 00000 | 0082 | 10000010101100101001 |
0000000000000000 | 00000 | 0083 | 10000011110001000010 |
0000000000000000 | 00000 | 0084 | 10000100100101100010 |
0000000000000000 | 00000 | 0085 | 10000101111000001001 |
0000000000000000 | 00000 | 0086 | 10000110101010110100 |
0000000000000000 | 00000 | 0087 | 10000111110111011111 |
0000000000000000 | 00000 | 0088 | 10001000100000110000 |
0000000000000000 | 00000 | 0089 | 10001001111101011011 |
0000000000000000 | 00000 | 008А | 10001010101111100110 |
0000000000000000 | 00000 | 008В | 10001011110010001101 |
0000000000000000 | 00000 | 008С | 10001100100110101101 |
0000000000000000 | 00000 | 008D | 10001101111011000110 |
0000000000000000 | 00000 | 008Е | 10001110101001111011 |
0000000000000000 | 00000 | 008F | 10001111110100010000 |
0000000000000000 | 00000 | 0090 | 10010000000001011100 |
0000000000000000 | 00000 | 0091 | 10010001011100110111 |
0000000000000000 | 00000 | 0092 | 10010010001110001010 |
0000000000000000 | 00000 | 0093 | 10010011010011100001 |
0000000000000000 | 00000 | 0094 | 10010100000111000001 |
0000000000000000 | 00000 | 0095 | 10010101011010101010 |
0000000000000000 | 00000 | 0096 | 10010110001000010111 |
0000000000000000 | 00000 | 0097 | 10010111010101111100 |
0000000000000000 | 00000 | 0098 | 10011000000010010011 |
0000000000000000 | 00000 | 0099 | 10011001011111111000 |
0000000000000000 | 00000 | 009А | 10011010001101000101 |
0000000000000000 | 00000 | 009В | 10011011010000101110 |
0000000000000000 | 00000 | 009С | 10011100000100001110 |
0000000000000000 | 00000 | 009D | 10011101011001100101 |
0000000000000000 | 00000 | 009Е | 10011110001011011000 |
0000000000000000 | 00000 | 009F | 10011111010110110011 |
0000000000000000 | 00000 | 00А0 | 10100000101110000101 |
0000000000000000 | 00000 | 00А1 | 10100001110011101110 |
0000000000000000 | 00000 | 00А2 | 10100010100001010011 |
0000000000000000 | 00000 | 00A3 | 10100011111100111000 |
0000000000000000 | 00000 | 00А4 | 10100100101000011000 |
0000000000000000 | 00000 | 00А5 | 10100101110101110011 |
0000000000000000 | 00000 | 00А6 | 10100110100111001110 |
0000000000000000 | 00000 | 00А7 | 10100111111010100101 |
0000000000000000 | 00000 | 00А8 | 10101000101101001010 |
0000000000000000 | 00000 | 00А9 | 10101001110000100001 |
0000000000000000 | 00000 | 00АА | 10101010100010011100 |
0000000000000000 | 00000 | 00АВ | 10101011111111110111 |
0000000000000000 | 00000 | 00АС | 10101100101011010111 |
0000000000000000 | 00000 | 00AD | 10101101110110111100 |
0000000000000000 | 00000 | 00АЕ | 10101110100100000001 |
0000000000000000 | 00000 | 00AF | 10101111111001101010 |
0000000000000000 | 00000 | 00В0 | 10110000001100100110 |
0000000000000000 | 00000 | 00В1 | 10110001010001001101 |
0000000000000000 | 00000 | 00В2 | 10110010000011110000 |
0000000000000000 | 00000 | 00B3 | 10110011011110011011 |
Блок 6 хранения векторов ошибок предназначен для хранения значений векторов ошибок в соответствии с значениями синдромов ошибок (вектор ошибки имеет единичные значения сигналов в тех разрядах кодового набора, в которых произошла ошибка).
Корректор 7 предназначен для исправления корректируемой ошибки, путем сложения по mod2 одноименных разрядов блока информации имеющего ошибку с значением вектора ошибки.
Полезная модель работает следующим образом. Перед началом работы на вход 9 "установки в нулевое состояние" подается единичный сигнал, который переводит устройство в нулевое состояние.
При записи информации в узел 1 памяти, подаются единичные сигналы на вход 14 синхронизации, вход 10 записи, адресные входы 112 и информационные входы 13.
Полезная модель работает следующим образом: допустим, необходимо закодировать двоичный набор:
Тогда значения контрольных разрядов, сформированных относительно полученного набора входным блоком 2 кодирования имеют нулевые значения, т.е. имеем кодовый набор:
УК=0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000.
При отсутствии ошибки, значение кодового набора записанного в узле 1 памяти равно считанному (переданному кодовому набору):
УКП=0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000.
В этом случае на выходе блока 4 вычисления синдрома ошибки имеем нулевые значения сигналов.
Пусть, произошла одиночная ошибка в четвертом разряде шестнадцатого блока информации (Р=0001*), тогда выходной блок 3 кодирования сформирует относительно полученного кодового набора значения контрольных разрядов:
r1П=0, r2П=0, r3П=0, r4П=0, r5П =0, r6П=0, r7П=0, r8П=1, r 9П=0, r10П=1, r11П=1, r12П =1, r13П=0, r14П=1, r15П=1, r16П=0, r17П=1, r18П=0, r 19П=1, r20П=1.
В блоке 4 вычисления синдрома ошибки складываются, переданные контрольные разряды с контрольными разрядами, сформированными относительно полученного кодового набора, в результате получим синдром ошибки S:
В этом случае, синдром ошибки указывает четвертый ошибочный разряд блока Р (вторая строка табл.1).
На выходе дешифратора 5 появится единичное значение сигнала, которое формирует адрес для считывания значения вектора ошибки из блока 6 хранения векторов ошибок в соответствии с значением синдрома ошибки.
В этом случае, значения вектора ошибки поступает на входы корректора 7 где складывается по mod2 с значениями информационных разрядов. В результате имеем правильное значение информации.
Аналогичным образом корректируются ошибки, возникающие в других одиночных и двойных байтах информации.
ИСТОЧНИКИ ИНФОРМАЦИИ
1. Щербаков Н.С. Достоверность работы цифровых устройств. М: Машиностроение, 1989, с.82, рис.39., 224 с.
2. Патент РФ на изобретение 2448359 "Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации"/Борисов К.Ю., Малофеев Ю.Г., Осипенко П.Н., Павлов А.А., Павлов А.А., Павлов П.А., Дарьков А.Н., Хоруженко О.В. Дата выдачи: 20.04.2012 г.
1. Введение и постановка задачи
Во многих случаях для обнаружения и исправления ошибок используются коды с обнаружением и исправлением байтов ошибок (в этом случае, под байтом ошибок понимаются ошибки, кратность которых не превышает число разрядов b блока информации).
К таким кодам следует отнести коды [1]:
- исправляющие одиночные ошибки и обнаруживающие одиночные байты ошибок;
- коды, исправляющие одиночные ошибки, обнаруживающие двойные независимые ошибки и обнаруживающие одиночные байты ошибок;
- коды, исправляющие одиночные байты ошибок;
- коды исправляющие одиночные и обнаруживающие двойные байты ошибок.
Широкое распространение получили коды Рида-Соломона, обладающие циклическими свойствами и имеющие наибольшую обнаруживающую и корректирующую способность.
Код Рида-Соломона (PC) - это блочный код (w, N), позволяющий обнаруживать и исправлять ошибки в байтах. Входным словом для него является блок из w байтов, выходным - кодовое слово из N байтов, состоящее из w исходных и N-w проверочных байтов. При этом гарантировано, что при декодировании в кодовом слове будут обнаружены и исправлены t=(N-w)/2 байтов независимо от их расположения внутри кодового слова. Кодирующее устройство PC реализуется на основе регистра сдвига с 2t байтовыми элементами памяти и обратными связями. Процесс кодирования и декодирования сводится к операциям сложения и умножения по модулю.
Использование данных кодов связано с большими временными затратами, что является существенным недостатком при их использовании для систем работающих в реальном масштабе времени, по этому существует
Устройство хранения и передачи данных с исправлением ошибок в двух байтах информации, содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, корректор, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, отличающееся тем, что дополнительно содержит блок хранения векторов ошибок, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования, который формирует значения контрольных разрядов ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
путем сложения по модулю 2 информационных символов a 0 a1 a2 a3, b0 b1 b2b3, c0 c 1c2c3, d0 d1 d2 d3, e0 e1 e 2 e3, f0 f1 f2 f3, g0 g1 g2 g 3, h0 h1 h2 h3 , i0 i1 i2 i3, j 0 j1 j2 j3, k0 k1 k2 k3, l0 l 1 l2 l3, m0 m1 m2 m3, n0 n1 n 2 n3, o0 o1 o2 o3, p0 p1 p2 р 3, поступающих на входы входного блока кодирования, в соответствии с правилом:
выходы входного блока кодирования подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
путем сложения по модулю 2 информационных символов а 0Пa1Па2Па3П, b0П b1Пb2Пb3П, c0Пc 1Пc2Пc3П, d0Пd1П d2Пd3П, e0Пe1Пe 2Пe3П, f0Пf1Пf2П f3П, g0Пg1Пg2Пg 3П,h0Пh1Пh2П h3П, i0Пi1Пi2Пi 3П, j0Пj1Пj2Пj3П , k0Пk1Пk2Пk3П, l 0Пl1Пl2Пl3П, m0П m1Пm2Пm3П, n0Пn 1Пn2Пn3П, o0Пo1П o2Пo3П, p0Пp1Пp 2Пp3П, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом:
n3П
o0П
o3П
p0П
p1П
p3П,
выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, выходы блока вычисления синдрома ошибки подключены к входам дешифратора, выходы которого подключены к входам блока хранения векторов ошибок, выходы блока хранения векторов ошибок подключены к вторым входам корректора, выходы которого подключены к вторым входам блока элементов И, выходы блока элементов И являются выходами устройства.