Устройство кодирования-декодирования информации

Реферат

 

Изобретение относится к технике связи и может использоваться в аппаратуре передачи данных для осуществления помехоустойчивого кодирования информации каскадным кодом. Технический результат - повышение помехоустойчивости передачи информации. Устройство содержит блок ввода-вывода 1, общую шину 2, блок памяти 3, первый, второй и третий буферные регистры 4,5 и 6, первый и второй узлы задержки 7 и 8, умножитель 9, коммутатор 10, блок сумматоров по модулю два 11, первый, второй и третий блоки ключей 12,13 и 14, первый, второй и третий элементы ИЛИ 15,16 и 17, последовательный информационный вход-выход 18, тактовый вход 19, пусковой вход 20, параллельные информационные входы-выходы 21, управляющие входы-выходы 22. 19 ил.

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

Известны устройства для кодирования [1] и декодирования [2, 3, 4] информации с использованием недвоичных кодов, например кодов Рида-Соломона.

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

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

Наиболее близким к предлагаемому техническому решению и выбранным вследствие этого за прототип является устройство кодирования-декодирования информации [5]. Устройство содержит блок ввода-вывода, выходы которого через первый блок памяти подключены к первым входам блока ввода-вывода. Выходы первого блока памяти через последовательно соединенные первый блок сумматоров, второй блок постоянной памяти и второй блок сумматоров подключены к вторым входам блока ввода-вывода. Блок ввода-вывода содержит микроЭВМ, подключенную через один межмодульный интерфейс к последовательно-параллельному интерфейсу, вход-выход которого является последовательным входом-выходом блока ввода-вывода, а через другой межмодульный интерфейс к параллельному интерфейсу, параллельные входы-выходы которого являются параллельными входами-выходами блока ввода-вывода.

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

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

Таким образом, кодирование и декодирование информации в известном устройстве осуществляется табличным способом. Число комбинаций, которое необходимо хранить в первом блоке памяти, равно 2k, где k - число информационных разрядов в кодовой комбинации, а во втором блоке памяти - 2r, где r - число проверочных символов. Известное устройство не может работать с большими длинами кодов, так как с ростом k и (или) r объем памяти составит Nзу = 2k+2r слов, что существенно усложняет и делает ненадежным устройство.

Практически величины k и r ограничены разрядностью микропроцессоров. Большинство эксплуатируемых в настоящее время микропроцессоров имеют разрядность, равную 16-32. Для помехоустойчивой передачи информации по каналам связи плохого качества, особенно с группированием ошибок, такой разрядности кодовых комбинаций явно недостаточно.

Повышения помехоустойчивости передачи информации можно достичь путем использования длинных кодов, имеющих приемлемую сложность реализации, например кодов БЧХ в поле GF (2m), у которых длина кодовых комбинаций в пересчете на двоичные символы может составлять несколько тысяч или даже десятков тысяч. Примеры выполнения устройств кодирования-декодирования в недвоичных полях аппаратным способом приведены в [1, 2, 3, 4]. Их недостаток заключается в сложности реализации и фиксированности структуры.

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

Задачей изобретения является повышение помехоустойчивости передачи информации.

Техническим результатом, достигаемым при решении поставленной задачи, является обеспечение кодирования и декодирования информации с использованием длинных недвоичных кодов, например каскадных кодов, в котором в качестве внешнего кода используется недвоичный код РС.

Для решения указанной задачи в устройство кодирования-декодирования информации, содержащее блок ввода-вывода и блок памяти, соединенные между собой общей шиной, а также блок сумматоров по модулю два, введены три буферных регистра, умножитель, два узла задержки, коммутатор, три блока ключей и три элемента ИЛИ. При этом информационные входы первого буферного регистра, выходы первого, второго и третьего блоков ключей и первые входы коммутатора соединены с общей шиной. Выходы первого буферного регистра через умножитель подключены к входам первого блока ключей и к первым входам блока сумматоров по модулю два. Выходы коммутатора через второй буферный регистр соединены с вторыми входами умножителя и с входами второго блока ключей, а через третий буферный регистр - с входами третьего блока ключей и вторыми входами блока сумматоров по модулю два, выходы которого соединены с вторыми входами коммутатора. Первый, второй и третий управляющие выходы блока ввода-вывода подключены соответственно к управляющим входам первого, второго и третьего блоков ключей, четвертый - к входу записи первого буферного регистра, пятый - через первый элемент ИЛИ к входу записи второго буферного регистра, через третий элемент ИЛИ к управляющему входу коммутатора, а через последовательно соединенные второй узел задержки и второй элемент ИЛИ к входу записи третьего буферного регистра. Шестой управляющий выход блока ввода-вывода подключен к вторым входам второго и третьего элементов ИЛИ и через первый узел задержки к второму входу первого элемента ИЛИ. Седьмой управляющий выход блока ввода-вывода подключен к вторым входам первого и второго узлов задержки. При этом последовательный информационный вход-выход, параллельные информационные входы-выходы, управляющие входы-выходы, тактовый и пусковой входы блока ввода-вывода являются соответствующими входами и выходами устройства.

Предлагаемое устройство обеспечивает кодирование информации каскадным кодом [6, с. 228], состоящим из двух кодов, внутреннего (n, k) и внешнего (N, K), где n и N - общее число, а k и K - число информационных символов в комбинации внутреннего и внешнего кодов соответственно.

В качестве внутреннего кода используются двоичные короткие коды, в качестве внешнего кода - недвоичные коды, например коды Рида-Соломона (РС) над полем GF (2m), где m - расширение двоичного поля.

В качестве примера в предлагаемом устройстве использован внутренний (24, 16) код с образующим многочленом g(X) = x8 + x7 + x4 + 1, (1) исправляющий однократные ошибки, обнаруживающий все двукратные ошибки более высокой кратности.

В качестве внешнего кода используется код РС (241, 225) над полем GF(28) с образующим многочленом поля F(X) = x8 + x4 + x3 + x2 + 1 (2) с примитивным элементом поля = 00000010.

Образующий многочлен кода РС имеет вид На фиг. 1 представлена функциональная схема предлагаемого устройства; на фиг. 2 - функциональная схема блока ввода-вывода 1; на фиг. 3 - функциональная схема дешифратора 25 (пример); на фиг. 4 - функциональная схема параллельного порта ввода-вывода 24 (пример); на фиг. 5 - функциональная схема последовательного порта ввода-вывода 26 (пример); на фиг. 6 - функциональная схема микропроцессорного блока 23 (пример); на фиг. 7 показано распределение области кодирования ОЗУ (пример); на фиг. 8 изображена блок-схема алгоритма кодирования информации внешним кодом (пример); на фиг. 9 - блок-схема алгоритма кодирования информации внутренним кодом (пример); на фиг. 10 дано схематичное представление распределения ячеек ОЗУ для записи информации, принимаемой из канала связи (пример); на фиг. 11 представлена блок-схема алгоритма декодирования информации, закодированной внутренним кодом (пример); на фиг. 12 - блок-схема обобщенного алгоритма декодирования внешнего кода; на фиг. 13 - блок-схема алгоритма вычисления коэффициентов синдромного многочлена (пример); на фиг. 14 показаны временные диаграммы управляющих сигналов; на фиг. 15 изображена блок-схема алгоритма определения коэффициентов многочлена локаторов стираний (пример); на фиг. 16 - диаграмма состояний; на фиг. 17 - структура массива коэффициентов многочлена локаторов стираний; на фиг. 18 - блок-схема алгоритма определения коэффициентов модифицированного синдромного многочлена (пример); на фиг. 19 - блок-схема алгоритма определения коэффициентов многочлена локаторов ошибок (пример).

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

Основное отличие предлагаемого устройства от прототипа заключается в обеспечении операций кодирования и декодирования информации в поле GF(2m), для чего в состав устройства введены блоки, осуществляющие под управлением микропроцессора операции в этом поле.

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

Так, например, при вычислении коэффициентов Sm синдромного многочлена по формуле Горнера [7, с. 175] где , R - число проверочных символов кода PC; - символы принятой кодовой комбинации; - примитивный элемент поля GF(2m); N - длина кодовой комбинации кода PC, элемент записывается в первый буферный регистр, символ C1 - во второй буферный регистр, а последующие символы - в третий буферный регистр, при этом результат вычисления получается сразу же при вводе символа Cj во втором буферном регистре. Благодаря такой организации вычисления наиболее сложная операция определения коэффициентов Sm осуществляется достаточно быстро.

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

Такое сочетание аппаратных и программных методов реализации операций позволило оптимальным образом распределить ресурсы машинного времени и в конечном счете обеспечить кодирование информации длинными кодами при приемлемой сложности реализации и тем самым повысить помехоустойчивость передачи информации.

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

В устройстве кодирования [1] кроме других узлов содержится N-K формирователей проверочных символов, каждый из которых соизмерим по объему с аппаратной частью предлагаемого устройства.

В устройстве для декодирования кода Рида-Соломона [2] только для операции вычисления синдромов блоком проверок требуется N-K секций, каждая из которых содержит три умножителя, четыре блока сумматоров, осуществляющих операции в поле GF(2m), генератор элементов поля GF(2m), регистр, т.е. по объему больше, чем аппаратная часть предлагаемого устройства, используемая для этих целей. При этом следует учесть, что в [2] блоки вычисления многочлена локаторов стираний и блок решения ключевого уравнения являются соизмеримыми с блоком вычисления многочлена обобщенных проверок.

Набор вычислительных операций в поле Галуа GF(2m), реализуемый в [4], обладает низкими функциональными возможностями, требует многотактных схем управления. Устройство выполняет сумму только двух произведений, и с помощью его затруднительно выполнить вычисления по формуле (1).

Анализ этих и других технических решений [3] показывает, что, как правило, процедура декодирования кода PC выполняется набором узлов, каждый из которых выполняет какую-либо одну операцию при общем их числе порядка 10 (см. далее обобщенный алгоритм декодирования, фиг. 12). Предлагаемое устройство небольшим набором аппаратных узлов и микропроцессором выполняет все эти операции, что и позволяет достичь технического результата: обеспечение кодирования и декодирования информации длинными кодами в поле GF(2m).

На фиг. 1 представлена функциональная схема предлагаемого устройства. Устройство содержит блок ввода-вывода 1, общую шину 2, блок памяти 3, первый 4, второй 5 и третий 6 буферные регистры, первый 7 и второй 8 узлы задержки, умножитель 9, коммутатор 10, блок сумматоров по модулю два 11, первый 12, второй 13 и третий 14 блоки ключей, первый 15, второй 16 и третий 17 элементы ИЛИ, последовательный информационный вход-выход 18, тактовый вход 19, пусковой вход 20, параллельные информационные входы-выходы 21, управляющие входы-выходы 22.

Устройство имеет следующие связи. Входы-выходы блока ввода-вывода 1, блока памяти 3, информационные входы первого буферного регистра 4, первые входы коммутатора 10 и выходы первого 12, второго 13 и третьего 14 блоков ключей соединены с общей шиной 2. Выходы первого буферного регистра 4 через умножитель 9 подключены к входам первого блока 12 ключей и к первым входам блока сумматоров по модулю два 11. Выходы коммутатора 10 через второй буферный регистр 5 соединены с вторыми входами умножителя 9 и с входами второго блока 13 ключей, а через третий буферный регистр 6 - с входами третьего блока ключей и вторыми входами блока сумматоров по модулю два 11, выходы которого соединены с вторыми входами коммутатора. Первый Q1, второй Q2 и третий Q3 управляющие выходы блока ввода-вывода 1 подключены соответственно к управляющим входам первого 12, второго 13 и третьего 14 блоков ключей, четвертый Q4 - к входу записи первого буферного регистра 4, пятый Q5 - через первый элемент ИЛИ 15 к входу записи второго буферного регистра 5, через третий элемент ИЛИ 17 к управляющему входу коммутатора 10, а через последовательно соединенные второй узел 8 задержки и второй элемент ИЛИ 16 к входу записи третьего буферного регистра 6. Шестой управляющий выход Q6 блока ввода-вывода 1 подключен к вторым входам второго 16 и третьего 17 элементов ИЛИ и через первый узел 7 задержки к второму входу первого элемента ИЛИ 15. Седьмой управляющий выход Q7 блока ввода-вывода 1 подключен к вторым входам первого 7 и второго 8 узлов задержки.

Последовательный информационный вход-выход 18, тактовый вход 19, пусковой вход 20, параллельные информационные входы-выходы 21 и управляющие входы-выходы 22 блока ввода-вывода 1 являются соответствующими входами-выходами устройства.

Буферные регистры 4, 5 и 6 могут быть выполнены на ИМС К588ИР1, блоки ключей 12, 13 и 14 - на ИМС 564КТ3, блок сумматоров 11 по модулю два - на ИМС 564ЛП2 [9].

Коммутатор 10 может быть выполнен на 16-ти парах ключей, реализованных на ИМС 564КТ3. Управляющие входы четных ключей объединены и подключены к управляющему входу коммутатора непосредственно, а нечетных - через инвертор. Таким образом, информационные входы четных ключей являются первыми (A) входами, а нечетных ключей - вторыми (B) входами коммутатора 10.

Блок памяти 3 содержит ПЗУ, реализованное на ИМС 573РФ4, и ОЗУ на ИМС 537РУ9.

Центральным узлом устройства является микропроцессорный блок 23, входящий в состав блока ввода-вывода 1. В процессе работы устройства в любом из режимов микропроцессор опрашивает признаки подключенных к общей шине 2 узлов, выставляя последовательно адрес каждого, с целью выявления узла, готового к обмену информацией, и при положительном результате осуществляет этот обмен. В приведенных ниже примерах реализации узлов устройства наименование управляющих сигналов, поступающих на эти узлы, дано применительно к процессору К1801ВМ2 [7].

Предлагаемое устройство работает в следующих режимах: ввода-вывода информации и кодирования-декодирования информации.

Режим ввода-вывода информации.

На фиг. 2 представлена функциональная схема блока ввода-вывода 1. Блок ввода-вывода 1 содержит микропроцессорный блок 23, параллельный порт ввода-вывода 24, дешифратор 25 и последовательный порт ввода-вывода 26. Входы-выходы микропроцессорного блока 23, параллельного порта ввода-вывода 24, последовательного порта ввода-вывода 25 и входы дешифратора 25 подключены к общей шине 2.

Дешифратор 25 имеет три группы выходов. По первой группе выходов выдаются семь управляющих сигналов Q1 - Q7, необходимых для работы устройства в режиме кодирования-декодирования информации. По второй группе выходов выдаются сигналы, необходимые для обеспечения ввода-вывода информации параллельным портом ввода-вывода 24. По третьей группе выходов выдаются сигналы, необходимые для обеспечения ввода-вывода информации последовательным портом ввода-вывода 26.

Параллельный порт ввода-вывода 24 предназначен для обмена параллельной информацией и управляющими сигналами между оконечным оборудованием данных (ООД) и предлагаемым устройством, осуществляемого соответственно по параллельным информационным входам-выходам 21 и управляющим входам-выходам 22.

Последовательный порт ввода-вывода 26 предназначен для обмена последовательной информацией между каналом связи и предлагаемым устройством, осуществляемого по последовательному информационному входу-выходу 18. При этом принимаемая из канала связи информация сопровождается тактовой частотой, поступающей по тактовому входу 19, и признаком начала информации, поступающим по пусковому входу 20.

На фиг. 3 в качестве примера реализации представлена функциональная схема дешифратора 25, который содержит последовательно соединенные буферный регистр 27, двоично-десятичный дешифратор 28 и блок 29 элементов И 30, число которых равно числу дешифрируемых сигналов.

Дешифратор работает следующим образом. По шине 2 на информационные входы буферного регистра 27 поступает код адреса опрашиваемого узла, а на управляющий вход записи с некоторой задержкой - сигнал "Обмен" (SYNC применительно к процессору К1801ВМ2), который фиксирует этот адрес в буферном регистре 27. После фиксации адреса с управляющего выхода буферного регистра 27 выдается сигнал "Подтверждение", поступающий через шину адрес - данные 2 в микропроцессорный блок 23. С выхода буферного регистра 27 комбинация адреса поступает на вход двоично-десятичного дешифратора 28, который преобразует код адреса в позиционный сигнал, поступающий в блок 29 элементов И 30.

Микропроцессор в процессе взаимодействия с узлами устройства осуществляет две операции: чтение и запись информации. Поэтому каждый позиционный сигнал с выхода двоично-десятичного дешифратора 28 поступает на первые входы двух элементов И, на вторые входы которых поступают управляющие сигналы "Чтение" (DIN) или "Запись" (DOIT) от микропроцессорного блока 23, при этом на выходах элементов И формируются сигналы чтения или записи информации для соответствующих узлов устройства, поступающие на выходы дешифратора 24: семь управляющих сигналов Q1 - Q7, поступающих на выходы блока ввода-вывода 1, четыре управляющих сигнала: "Чтение 1" ("ЧТ 1"), "Чтение 2" ("ЧТ 2"), "Запись 1" ("ЗП 1"), "Сброс" - в параллельный порт ввода-вывода 24 и пять управляющих сигналов: "Чтение 3" ("ЧТ 3"), "Чтение 4" ("ЧТ 4"), "Чтение 5" ("ЧТ 5"), "Запись 2" ("ЗП 2") и "Запись 3" ("ЗП 3") - в последовательный порт ввода-вывода 26.

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

Буферный регистр 27 может быть реализован на микросхеме К588ИР1, двоично-десятичный дешифратор 28 - К564ИД1, элементы И - 564ЛА7 [8].

Рассмотрим работу устройства в режиме ввода-вывода информации через параллельный порт ввода-вывода 24, пример реализации которого приведен на фиг. 4.

Порт ввода-вывода 24 содержит буферный регистр ввода 31 информации, буферный регистр вывода 32 информации, триггер признаков ввода 33, триггер признаков вывода 34, два ключа 35 и 36.

Информация от ООД поступает в параллельном коде на входы 21 блока ввода-вывода 1 и далее на информационные входы буферного регистра ввода 31, и по сигналу "Ввод" от ООД, поступающему на вход 22 блока ввода-вывода 1 (фиг. 1) и далее на записывающий вход буферного регистра 31, записывается в последнем. Одновременно сигал "Ввод" поступает на вход триггера признаков ввода 33, устанавливая его в состояние "1", которое поступает на информационный вход первого ключа 35. Сигнал с инверсного выхода триггера 33 поступает на выход порта и далее на управляющий вход-выход 22 блока ввода-вывода 1 в ООД, сигнализируя о запрете ввода следующего слова информации (сигнал "Запрет").

Микропроцессор, находясь в цикле опроса узлов устройства, периодически опрашивает и анализирует состояние ключа 35, подавая сигнал "Чтение 1" через дешифратор 25, поступающий на управляющий вход ключа 35.

При наличии информации в буферном регистре ввода 31 на выходе ключа 35 появится сигнал, который поступает на выход порта и далее на шину 2 как признак "Наличие информации от ООД". Микропроцессор, обнаружив этот признак, считывает информацию с буферного регистра 31, для чего он через дешифратор 25 выставляет сигнал "Чтение 2", поступающий на считывающий вход буферного регистра 31, при этом информация в параллельном коде поступает на выход порта и далее в шину 2.

После записи информации в ОЗУ микропроцессор через дешифратор сигналом "Сброс" сбрасывает триггер 33, в результате чего с выхода триггера снимается сигнал "Запрет", разрешая ввод с ООД следующего слова информации.

В режиме вывода информации последняя по шине 2 поступает на информационные входы буферного регистра вывода 32 и фиксируется в нем сигналом "Запись 1", поступающим на записывающий вход буферного регистра 32 от микропроцессора через дешифратор 25.

Этим же сигналом триггер признаков вывода 34 устанавливается в состояние "1", которое через управляющий вход-выход 22 блока ввода-вывода поступает в ООД как сигнал "Наличие информации". Сигнал с инверсного выхода триггера 34 поступает на информационный вход второго ключа 36. Микропроцессор, опрашивая ключ 36 сигналом "Чтение 1", поступающим на управляющий вход ключа 36 через дешифратор 25, обнаруживает признак занятости буферного регистра 32 и поэтому не выводит из ОЗУ очередное слово информации. ООД, обнаружив сигнал "Наличие информации", выдает сигнал "Вывод", поступающий по управляющему входу-выходу 22 блока ввода-вывода 1 на считывающий вход буферного регистра 32, считывая с него информацию, которая через входы-выходы 21 блока ввода-вывода 1 поступает в ООД. Одновременно сигналом "Вывод" сбрасывается триггер 34 признака вывода, в результате чего сбрасывается признак "Наличие информации" и в очередном цикле разрешается вывод слова из ОЗУ в порт 24.

Буферные регистры 31 и 32 могут быть реализованы каждый из двух ИМС К588ИР1, триггеры 33 и 34 - на ИМС 564ТМ2, ключи 35 и 36 - на ИМС 564КТ3 [9] .

На фиг. 5 в качестве примера реализации приведена функциональная схема последовательного порта ввода-вывода информации 26, который содержит последовательно-параллельные регистры по вводу 37 и выводу 38 информации, параллельные буферные регистры по вводу 39 и по выводу 40 информации, двоично-десятичный счетчик 41, элемент И 42, триггеры 43 и 44, ключи 45 и 46, элементы ИЛИ 47 и 48.

Ввод информации осуществляется следующим образом. Информация в последовательном коде с входа-выхода 18, тактовая частота Fт с входа 19 и сигнал "Пуск" с входа 20 блока ввода-вывода 1 устройства поступают соответственно на информационный и записывающий входы последовательно-параллельного регистра ввода 37 и установочный вход счетчика 41 (через элемент ИЛИ 48). Кроме того, тактовая частота Fт поступает также на счетный вход счетчика 41. Информация записывается в регистре 37, а счетчик 41 устанавливается в нулевое состояние и через число тактов, равное разрядности слова, например 16, через элемент И 42, играющий роль дешифратора 16 такта, выдает сигнал на записывающий вход параллельного буферного регистра 39, фиксируя информацию, поступающую на его входы с выхода последовательно-параллельного регистра ввода 37. Одновременно с этим сигнал с выхода элемента И 42 через элемент ИЛИ 47 устанавливает триггер 44 в состояние "1", которое поступает на информационный вход ключа 45, сигнализируя микропроцессору о наличии информации из канала связи. Микропроцессор, находясь в цикле опроса, обнаруживает этот сигнал, подавая для этого на управляющий вход ключа 45 по шине 2 через дешифратор 25 сигнал "Чтение 3", после чего формирует сигнал "Чтение 4", поступающий по шине 2 через дешифратор 25 на считывающий вход буферного регистра 39, считывая с него информацию, которая поступает на выход порта и далее в шину 2. После этого микропроцессор выдает сигнал "Запись 2", поступающий по шине 2 через дешифратор 25 на сброс триггера 44, устанавливая его в состояние "0", в результате чего становится возможным прием следующего слова информации.

В режиме вывода информации последняя по шине 2 поступает на информационные входы буферного регистра 40 и сигналом "Запись 2", поступающим от микропроцессора по шине 2 через дешифратор 25, записывается в этом регистре. Одновременно этим же сигналом триггер 44 устанавливается в нулевое состояние, которое будет присутствовать на информационном входе ключа 45 и при опросе его микропроцессором будет свидетельствовать о запрете ввода в буферный регистр 40 очередного слова информации.

После записи первого слова информации в буферный регистр 40 микропроцессор по шине 2 через дешифратор 25 выдает сигнал "Чтение 5", поступающий через элемент ИЛИ 48 на установочный вход двоично-десятичного счетчика 41, устанавливая его в нулевое состояние, на первый вход триггера 43, устанавливая его в единичное состояние, через элемент ИЛИ 47 - на записывающий вход параллельно-последовательного регистра по выводу 38 информации, осуществляя запись в него информации с выходов буферного регистра вывода 40, и на первый вход триггера 44, устанавливая его в единичное состояние и снимая тем самым запрет на ввод очередного слова информации.

Сигналом с выхода триггера 43 открывается ключ 46 и информация под действием тактовой частоты Fт, поступающей на тактовый вход регистра 38, выдается на вход-выход 18 блока ввода-вывода 1.

Вывод последующих слов информации в буферный регистр 40 осуществляется по сигналам, периодически выдаваемым через 16 тактов счетчиком 41 через элемент И 42. Через 16 тактов после записи последнего слова в буферный регистр 40 микропроцессор по шине 2 через дешифратор 25 выдает сигнал "Запись 5", сбрасывающий триггер 43 в нулевое состояние и отключающий тем самым выход регистра 38 от канала связи. Одновременно в цикле опроса прекращается анализ ключа 45 на возможность ввода информации.

Последовательно-параллельные регистры 37 и 38 могут быть реализованы на четырех ИМС 564ИР9, буферные регистры 39 и 40 каждый - на двух ИМС 588ИР1, счетчик 41 - ИМС 564ИЕ10, элемент И 42 - на ИМС 564ЛА7, триггреры 43 и 44 - на ИМС 564ТМ2, ключи 45 и 46 - на ИМС 564КТ3, элементы ИЛИ - на ИМС 564ЛЕ5 [9].

На фиг. 6 представлен пример реализации функциональной схемы микропроцессорного блока 23 на базе процессора К1801ВМ2. Микропроцессорный блок содержит собственно процессор 49, регистр сдвига 50 и элемент ИЛИ 51. Регистр сдвига и элемент ИЛИ образуют схему формирования сигнала "Ответ". Процессор содержит входы-выходы AD0-AD15, по которым процессор выдает адреса опрашиваемых узлов и получает или выдает информацию, вход "Подтверждение" (AR), по которому процессор получает сигнал, подтверждающий прием адреса дешифратором, выходы "Обмен" (SYNC), "Чтение" (DIN), "Запись" (DOIT), по которым процессор формирует сигналы, поступающие в дешифратор при организации взаимодействия его с узлами устройства, а также выход "Байт" (WIBT), по которому процессор выдает сигнал в ОЗУ. Этот сигнал совместно с младшим разрядом адреса (нулевым) определяет, в какой из байтов ОЗУ происходит запись. Например, значение "0" сигнала означает запись в ОЗУ одного из двух байтов, в разряд "0" адреса указывает, какой байт конкретно будет записываться (младший, старший). Указанные выше выходы процессора образуют общую шину 2.

Регистр сдвига 50 предназначен для задержки сигналов "Чтение" или "Запись" и формирования сигнала "Ответ" для процессора по входу RPLY. Сигнал "Ответ" говорит о том, что в режиме чтения информации процессором из опрашиваемого узла эта информация выставлена по шине 2, а в режиме записи - информация записана в узел. Величина задержки, обеспечиваемой регистром сдвига 50, выбирается исходя из надежного срабатывания взаимодействующих с процессором узлов.

Регистр сдвига 50 может быть реализован на ИМС 564ИР2, элемент ИЛИ - на ИМС 564ЛЕ5.

Режим кодирования-декодирования информации.

Как говорилось ранее, в каскадном коде осуществляется двойное кодирование информации, сначала внешним недвоичным кодом, например кодом РС, а затем внутренним двоичным кодом. В предлагаемом устройстве для повышения его быстродействия и уменьшения сложности используется двухполосное кодирование информации внешним кодом. Для этого информация разбивается на блоки по 16 символов, при этом четные байты всех блоков образуют одну полосу, а нечетные - другую полосу, каждая из которых кодируется внешним кодом РС.

Известно [6, с.119], что кодовый многочлен C(x) можно представить в виде С(x) = xN-KI(x) + t(x), (5) где I(x) - информационный многочлен; t(x) - остаток от деления многочлена xN-KI(x) на образующий многочлен G(x).

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

На фиг. 7 схематически представлено распределение области ОЗУ, используемой при кодировании. Эта область содержит шесть зон. В 1 и 2 зонах объемом каждая 241 байт записываются информационные массивы 1 и 2 полосы соответственно. 5 и 6 зоны дублируют 1 и 2 зоны. В 3 и 4 зонах будут записаны проверочные символы кода РС. Объем 3 и 4 зон каждой составляет 16 восьмиразрядных слов.

Первоначальная запись информации из блока ввода-вывода осуществляется одновременно по первой полосе в 1 и 5 зоны, по второй полосе во 2 и 6 зоны.

Отведение K ячеек памяти под запись информационных символов и N - K ячеек памяти с первоначальным "нулевым" значением и последующей записью в них проверочных символов кода РС означает автоматическое умножение информационного многочлена I(x) на xN-K в соответствии с выражением (5).

В дальнейшем в процессе кодирования кодом РС содержимое 1 и 2 зон постоянно обновляется для хранения промежуточных результатов деления многочлена xN-K I(x) на образующий многочлен G(x) (коэффициенты образующего многочлена хранятся в ПЗУ), а содержимое 5 и 6 зон остается неизменным. В результате деления в 3 и 4 зонах окажутся записанными проверочные символы кода РС (остаток от деления).

Кодирование информации осуществляется по программе, хранящейся в ПЗУ блока памяти 3, в соответствии с алгоритмом, представленным на фиг.8. Операторы алгоритма имеют следующее назначение.

Первым оператором осуществляется запись в регистр общего назначения (РОН) 1 микропроцессора числа K информационных символов кода РС (K = 225).

Второй оператор считывает из зон 1 и 2 ОЗУ блока памяти 3 старшие коэффициенты (байты) многочлена xN-K I(x) и пересылает их в первый буферный регистр 4, выставляя по шине 2 адрес этого регистра. Дешифратор 25 дешифрирует этот адрес и управляющим сигналом Q4, поступающим на записывающий вход этого регистра, фиксирует в нем этот коэффициент (фиг.1).

Третий оператор осуществляет проверку на конец кодирования внешним кодом, для чего содержимое РОН 1 уменьшается на единицу и сравнивается с нулем. При отличии результата от нуля осуществляется переход к четвертому оператору, в противном случае - переход к программе кодирования информации внутренним кодом.

Четвертый оператор осуществляет запись в РОН 2 микропроцессора числа, равного (N-K - 1), в нашем примере (N-K-1)= 15.

Пятым оператором осуществляется запись из ПЗУ очередного (на первом этапе деления многочленов xN-K I(x) и G(x) - старшего) коэффициента многочлена G(x) через коммутатор 10 во второй буферный регистр 5, выставляя для этого по шине 2 адрес этого регистра. Дешифратор 25 дешифрирует этот адрес и управляющим сигналом Q5 через первый элемент ИЛИ 15 фиксирует этот коэффициент во втором буферном регистре 5. При этом на выходе умножителя 9 получается результат умножения содержимого обоих регистров.

Шестым оператором осуществляется пересылка результата умножения в РОН 3 микропроцессора, для чего микропроцессор через дешифратор 25 формирует управляющий си