Полезная модель устройства хранения и передачи данных с исправлением ошибок в двух байтах информации
Устройство хранения и передачи данных с исправлением ошибок в двух байтах информации относится к области телемеханики, автоматики и вычислительной техники и предназначено для повышения отказоустойчивости устройств хранения и передачи информации. Позволяет заменить циклическую процедуру кодирования и декодирования информации на линейную и тем самым, сократить временные затраты на кодирование информации. Это достигается рациональным кодированием исходной двоичной информации и введением входного блока кодирования, выходного блока кодирования, блока вычисления синдрома ошибки, дешифратора, блока хранения векторов ошибок и корректора. Илл.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=x1z1a1c1e1f1g1h1; r2=x2z2а2c2e2f2g2h2; r3=x3z3a3c3e3f3g3h3; r4=x1z3a2a3c2e1e3f1f2g1g2g3; r5=x2x3z1a3c1c3e1e2f2g1g2g3; r6=x3z2z3a1c1c2e2f1f3g1g2g3; r7=x3z3а1a3с2е1f2g1g2g3; r8=x1x2z2a2a3c3e3f2f3g1g2g3, которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов 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П,
выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, выходы блока вычисления синдрома ошибки подключены к входам дешифратора, выходы которого подключены к входам блока хранения векторов ошибок, выходы блока хранения векторов ошибок подключены к вторым входам корректора, выходы которого подключены к вторым входам блока элементов И, выходы блока элементов И являются выходами устройства.