Преобразователь двоичного кода в двоично-десятично шестидесятиричный код

Номер патента: 767749

Авторы: Бердышев, Козьмина

ZIP архив

Текст

Опубликовано 30.09.80. Бюллетень36Дата опубликования описания 05.10.80 ло делам изобретений и открытийИзобретение относится к области автоматики и цифровой вычислительной техники и может быть использовано при построении двоично-десятичных преобразователей.Известен двоично-десятичный преобразователь, содержащий входной регистр, информационные входы которого подключены к входным шинам, генератор импульсов, выходной сумматор, выходы которого соединены с выходными шинами, дешифратор, переключатель эквивалентов, один из выходов которого соединен с управляющим 10 входом выходного сумматора, элемент И, соединенный входами с генератором тактовых импульсов и дешифратором, дешифра. тор нуля; связанный с выходами входного регистра, последовательно соединенные блок анализа, формирователь адреса и накопи 15 тель, дешифратор, подключенный входами к накопителю, а выходами - к блоку анализа и формирователю адреса, переключатель эквивалентов, связанный с выходным регистром и формирователем адреса, соединенным 20 с выходом элемента И, причем входы блока анализа соединены с выходами входного регистра, а выходы накопителя - со входами выходного сумматора 1. 2Недостаток этого преобразователя состоит в большом количестве и неполной загрузке оборудования, так как в накопителе необходимо хранить весовые коэффициенты для каждого типа преобразования. Например, для преобразования двоичного кода в двоично-десятичный требуются одни весовые коэффициенты, а для преобразования двоичного кода в двоично-десятично-шестидесятиричный - другие, а одновременно может осуществляться только один тип преобразования. Таким образом, в данном преобразователе расширение функциональных возможностей достигается за счет увеличения емкости накопителя.Наиболее близким к изобретению по технической сущности и схемному решению является преобразователь двоичного кода в двоично-десятично-шестидесятиричный код, содержащий регистр сдвига, информационные входы которого и его выходы соединены соответственно с входными и выходными шинами преобразователя, корректируемую тетраду, дешифратор коррекции и блок коррекции 2.Недостаток этого преобразователя заключается в возможности преобразования двоичного кода в двоично-десятично-шестидесятиричный код времени или угла только в том случае, когда вес младшего разряда двоичного кода равен весу младшего разряда выходного кода.Цель изобретения - расширение класса решаемых задач, заключаюшееся в обеспечении преобразования с масштабированием.Поставленная цель достигается за счет того, что в преобразователь двоичного кода 10 в двоично-десятично-шестидесятиричный код,содержащий регистр сдвига, информационные входы которого и его выходы соединены соответственно с входными и выходными шинами преобразователя, корректируемую тетраду, дешифратор коррекции и блок коррекции, введены блок сумматоров, реверсивный регистр сдвига и коммутатор, информационные входы которого соединены с выходами дешифратора коррекции и блока коррекции, а выход коммутатора соединен с информационным входом корректируемой тетрады, вход которой связан с выходом реверсивного регистра сдвига, Информационный выход корректируемой тетрады соединен со входами дешифратора коррекции и блока коррекции, а выход старшего разряда корректируемой тетрады - со входом регистра сдвига и с первым входом реверсивного регистра сдвига, второй вход которого соединен с выходом блока сумматоров, входами связанного с соответствующими выходами регистра сдвига. Управляющие входы коммутатора, регистра сдвига и реверсивного регистрз сдвига подключены соответственно к шинам вида преобразования, разрешения сдвига вправо и разрешения сдвига влево.ЗЗКроме того, блок сумматоров состоит из первого, второго, третьего и четвертого сумматоров, первого, второго, третьего и четвертого элементов памяти, входы которых соединены с выходами переноса соответствующих сумматоров, входы переноса которых соединены с выходами соответствующих элементов памяти, первый, второй и третий элементы НЕ, пятый элемент памяти и пятый сумматор, входы которого связаны соответственно с выходами второго сумматора, 45первого и третьего элементов НЕ. Первый выход пятого сумматора является выходом блока сумматоров, а выход переноса через второй элемент НЕ соединен с входом пятого элемента памяти, выход которого подключен к входу третьего элемента НЕ. Первые входывторого и четвертого сумматоров соединены с выходами первого и третьего сумматоров, первые и вторые входы первого и третьего сумматоров, а также вторые входы второго и четвертого сумматоров являются входами блока сумматоров.Блок-схема предлагаемого преобразователя приведена на фиг. 1; блок-схема одного из вариантов построения блока сумматоров - на фиг. 2.Преобразователь кодов содержит регистр 1 сдвига, блок 2 сумматоров, реверсивный регистр 3 сдвига, корректируемую тетраду 4, дешифратор 5 коррекции, блок 6 коррекции, коммутатор 7, входные шины 8, выходные шины 9, шины 10 вида преобразования, шину 11 разрешения сдвига вправо, шину 12 разрешения сдвига влево.Блок сумматоров содержит (см. фиг, 2) сумматоры 13 - 17, элементы 18 - 22 памяти (например, триггеры), элементы НЕ 23 - -25.Соответствующие выходы регистра 1 сдвига подключены к первым входам сумматоров 14, 16 и к входам сумматоров 13, 15 выходы суммы которых соединены со вторыми входами сумматоров 14, 16 соответственно, причем между выходами и входами переноса сумматоров 13 - 16 включены элементы 18 - 21 памяти соответственно, а выход, переноса сумматора 17, связанного входами с выходом суммы сумматора 14 и через элемент НЕ 23 с выходом сумматора 16, подключен к входу элемента НЕ 24, соединенного через элемент 22 памяти и элемент НЕ 25 с входом переноса сумматора 17, выход которого связан с входом реверсивного регистра 3 сдвига.Предлагаемый преобразователь работает следуюшим образом.Сначала производится установка в исходное состояние, затем входной двоичный код по шине 8 поступает в регистр 1 сдвига. Для выполнения преобразования методом сдвига и коррекции записанный в регистр 1 сдвига двоичный код умножается на угловой вес единицы младшего разряда, который определяется по формулеь 360 ОООООфф.где К - угловой вес единицы младшего разряда входного двоичного кода;к в количество разрядов во входном двоичном коде.Например, если входной двоичный код имеет двадцать разрядов, т. е. ъ = 20, то угловой вес единицы его младшего разряда равенК = в ,о в = 1 2359619140625" Тогда двоичный код количества секунд измеренного угла определяется следующим образом:А=К В,где А - двоичный код количества секунд измеренного угла;В - входной двоичный код. Угловой вес единицы младшего разряда представляется в следующем виде: К = 1 + 0,2359619140625 = 1 + --- 0,01403808509375 = 1 +- (0,015625 -- 0,0001220703125) = 1 + вв + .р Тогда двоичный код количества секундизмеряемого угла определяется по формулеА =11+-,+-,) В - В(- + +- ),41 Х Умножение двоичного кода числа на коэффициент - эквивалентно сдвигу кодаХчисла на ю. разрядов вправо, т. е. в сторону младших разрядов, поэтому умножение для получения значения величины А заменяется алгебраическим суммированием входного кода с кодами, сдвинутыми на Фьразрядов.Пусть, например, число В == 10000001111000111000 в двоичном коде, что соответствует углу 1823921" = 657561".В результате алгебраического суммирования двоичного кода числа В со сдвинутыми на 2, 6, 9, 12. 13 разрядов вправо кодами этого же числа получается число А. Получившееся количество секунд А == 657564 " на 3 ф больше истинного значения, Причиной ошибки является отбрасывание при суммировании младших разрядов сдвинутых двоичных кодов. Для уменьшения ошибки отбрасывания, которая при наихудшем сочетании нулей и единиц во входном двоичном коде не превышает 3", необходимо производить суммирование с учетом старших отбрасываемых разрядов, Например, при суммировании с двумя старшими отбрасываемыми разрядами величина ошибки не превышает 1 ф,10000001111000и 001010000010001001100111и После записи входного двоичного кодав регистре 1 сдвига управляющим сигналом, поступающим по шине 11, разрешается сдвиг содержимого регистра вправо, а на выходе блока 2 сумматоров, входы которого связаны с выходами нулевого, второго, шестого, де вятого, двенадцатого и тринадцатого разрядов регистра сдвига, формируется младший разряд суммы. Коды положительных и отрицательных чисел суммируются отдельно на сумматорах 13, 14 и 15, 16 соответственно. и Получившиеся в результате сложения переносы запоминаются на элементах 18 - 21 памяти. Операция вычитания заменяется сложением уменьшаемого с дополнительным кодом вычитаемого. Дополнительный код двоичного числа равен обратному коду, увеличенному на единицу. На входы сумматора 17 поступает прямой код уменьшаемого с выхода сумматора 14 и обратный код вычитаемого с выхода элемента НЕ 23, на вход которого он подается с выхода сумматора 16. Добавление единицы к обратномункоду вычитаемого осуществляется подачеи единичного потенциала на вход переноса сумматора 17 с выхода элемента НЕ 25, инвертирующего выходной сигнал элемента 22 памяти, перенос на вход которого посту пает с выхода сумматора 17 через элементНЕ 24. Через время, необходимое для формирования младшего разряда алгебраической суммы, производится сдвиг содержимого регистра 1 сдвига и реверсивного регистра 3 45сдвига на 1 разряд вправо. При этом младший разряд суммы переписывается в реверсивный регистр 3 сдвига, а в блоке 2 сумматоров производится формирование следующего разряда суммы сложением 1, 3, 7, 10, 13, 14 разрядов входного кода.зфПри сложении учитываются сигналыпереноса, поступающие с выходов элементов 18 - 21 памяти на входы переноса сумматоров 13 - 16. Элемент 22 памяти подключен через элементы НЕ 24, 25 к сумма- и тору 17, на вход переноса которого поступаетдважды проинвертированный сигнал переноса от предыдущего суммирования.При сдвиге содержимого регистров 1 и 3второй разряд суммы записывается в ревер767749 ФО 1 сивный регистр 3 сдвига, а на выходе блока 2 сумматоров формируется следующий разряд.Процесс суммирования заканчивается за 1+в.тактов, где и. - количество разрядов входного двоичного кода, тн. - количество дополнительных разрядов регистра 1 сдвига, необходимых для уменьшения ошибки, возникающей при отбрасывании млчдших разрядов сдвинутых кодов. После окончания суммирования сигналом,поступающим по шине 12, разрешается сдвиг содержимого реверсивного регистра 3 сдвига влево, т. е. информация из него выводится старшими разрядами вперед в корректируемую тетраду 4 для осуществления преобразования двоичного кода количества секунд в двоично-десятично-шестидесятиричный кодградусов, минут и секунд методом сдвигаи коррекции.Метод сдвига и коррекции для преоб-разования двоичного кода в двоично-десятичный заключается в том, что исходное двоичное число последовательно умножается на 2 (путем сдвига на 1 разряд в сторону старших разрядов), т, е. выводится из реверсивного регистра 3 сдвига в корректируемую тетраду 4 старшими разрядами вперед. Содержимое корректируемой тетрады 4 "после каждого сдвига сравнивается с определенными числами в дешифраторе 5 коррекции и блока 6 коррекции, которые формируют скорректированные коды, записываемые вновь в корректируемую тетраду 4 через коммутатор 7, если содержимое тетрады превышает некоторое фиксированНое число.Для получения двоично-десятичного кода десятков минут и секунд в блоке 6 коррекции " производится сравнение записанного в корректируемой тетраде кода с числом два.Если содержимое тетрады больше этого числа, то производится коррекция путем добавления числа 5 к корректируемому коду.В дешифраторе 5 коррекции содержимое корректируемой тетрады 4 сравнивается счислом 4 и в случае превышения осуществляется коррекция путем добавления числа 3 к корректируемому коду, т, е. происходит преобразование двоичного кода в двоично-десятичный.В таблице приведен пример преобразования двоичного кода, количества секунд 101011000110, которому соответствует угол 4558 ф в двоично-десятично-шестидесятиричном коде.В течение первых трех тактов производится сдвиг из реверсивного регистра 3 сдви"га в корректируемую тетраду 4, при этомв освобождающиеся при сдвиге разряды переписывается содержимое корректируемой 8тетрады 4. После третьего такта осуществляется коррекция и содержимое корректируемой тетрады 4 увеличивается на 3, В первом цикле преобразования получается двоично-десятичный код единиц секунд,поэтому под действием управляющего сигнала, поступающего по шине 10, коммутатор 7 пропускает информацию только с выхода дешифратора 5 коррекции.После двенадцатого такта, когда из реверсивного регистра 3 сдвига переписался последний разряд двоичного кода количества секунд, управляющими сигналами, поступающими по шинам 10, 12, закрывается коммутатор 7 и запрещается сдвиг в реверсивном регистре 3, а содержимое тетрады 4 последовательным кодом переписывается в регистр 1. После этого начинается следующий циклпреобразования; в котором формируетсядвоично-десятичный код десятков секунд.зр Этот цикл также состоит из 12 тактов, толькокоммутатор 7 открыт для информации, поступающей с выхода блока 6 коррекции. Преобразование заканчивается за 4 цикла, врегистре 1 сдвига сформировалось число0100 0101 0101 1000, соответствующее углуф 4558 ф, записанное в двоично-десятичномкоде.Число циклов преобразования определяется разрядностью входного двоичногокода. Для двадцатиразрядного двоичногозе входного кода требуется, например, 7 циклов.Преобразование двоичного кода в двоично-десятичный в предлагаемом устройствеосуществляется поступающим по шине 10управляющим сигналом, который открываеткоммутатор 7 только для сигналов с выходаЗ дешифратора 5 коррекции, при этом последовательный двоичный код может поступатьна вход корректируемой тетрады 4, а параллельный - записываться в реверсивныйрегистр 3 сдвига.Преобразование -двоичного кода коли- .чества секунд времени выполняется аналогично преобразованию двоичных кодов количества секунд угла,Предлагаемый преобразователь кодовпозволяет осуществить преобразование двоф ичного кода в двоично-десятичный и двоичного кода времени или угла в двоичнодесятично-шестидесятиричный код, но посравнению с преобразователем 2 его функции расширены за счет возможности преобразования двоичного кода угла или временив тех случаях, когда вес единицы младшего разряда входного двоичного кода не равен весу единицы младшего разряда двоична-десятично-шестидесятиричного кода,0 0101101000 оооо 0001 011010 О 0000 0001 01 010 1101000000 10 010000000 9 01 ор 0 101000000000010000000001 100000000010 0010 011000010 00000000100 1001 000100010011 Запись 0000в регистрсдвига 00000 За- пис стр виг кор,+312 100011000010 000110 О 00100 0110000100 0110000100 110000100010 100001000100 100001000100 000010001001 000010001001 000100010011 р.+З 100 10 000 00001011010 00010110100 010110100000 10110100000012 767749 001000100110 010001001100 100010011000 000100110000 001001100000 010011000000 010011000000 4 100110000001 001100000010 001100000010 011000000101 011000000101 110000001011 100000010110 100000010110000000101101 0000 0000 0000 0001 0010 0100 2 кор+5 1001 0010 0101 кор+5 1010 0100 кор+5 1001 30 0010 0101 1010 кор+5 12 0101 000000000000 Записьв регистрсдви- га 000000101101 0000 Запись в регистр сдвига сумматоров, реверсивный регистр сдвига и коммутатор, информационные входы которого соединены с выходами дешифратора корф рекции и блока коррекции, а выход коммутатора соединен с информационным входом корректируемой тетрады, вход которой соединен с выходом реверсивного регистра сдвига, информационный выход корректив руемой тетрады соединен со входами дешифратора коррекции и блока коррекции, а выход старшего разряда корректируемой тетрады соединен со входом регистра сдвига и с первым входом реверсивного регистра формула изобретения 1. Преобразователь двоичного кода в двоично-десятично-шестидесятиричный код, содержащий регистр сдвига, информационные входы которого и его выходы соединены"соответственно с входными и выходными шинами преобразователя, корректируемую тетраду, дешифратор коррекции и блок коррекции, отличающийся тем, что, с цельюрасширения класса решаемых задач, заключающееся в обеспечении преобразования с масштабированием, в него введены блок Продолжение таблицы 0000 000000000100 1 0000 000000001000 2 0000 000000010000 3 . 0000 000000100000 4 0000 000001000000 5 0000 000010000000 б 0000 000100000000 7 0000 001000000000 8 0000 010000000000 9 0000 100000000000 10 0001 000000000000 11 0010 000000000000 12 0100 000000000000сдвига, второй вход которого соединен с выходом блока сумматоров, входы которого соединены с соответствующими выходами регистра сдвига, управляющие входы коммутатора, регистра сдвига и реверсивного регистра сдвига соединены соответственно с шинами вида преобразования, разрешения сдвига вправо и разрешения сдвига влево.2. Преобразователь по п. 1, отличающийся тем, что в нем блок сумматоров состоит из первого, второго, третьего и четвертого сумматоров, первого, второго, третьего и 1 е четвертого элементов памяти, входы которых соединены с выходами переноса соответствующих сумматоров, входы переноса которых соединены с выходами соответствующих элементов памяти, первый, второй и третий элементы НЕ, пятый элемент памяти и пятый сумматор, входы которого соединены соответствс:э ( выходами второго сумматора,первог и третьего элементов НЕ, первыйвыход пятого сумматора является выходомблока сумматоров, а выход переноса черезвторой элемент НЕ соединен с входом пятогоэлемента памяти, выход которого соединенс входом третьего элемента НЕ, первые входы второго и четвертого сумматоров соединены с выходами первого и третьего сумматоров, первые и вторые входы первого итретьего сумматоров, а также вторые входывторого и четвертого сумматоров являютсявходами блока сумматоров.Источники информации,принятые во внимание при экспертизе1. Авторское свидетельство СССР548857, кл, 6 06 Г 5/02, 1975.2. Авторское свидетельство СССР561957, кл, б 06 Г 5/02, 1976 (прототип).,а Ь;3е ъ т, г Э 4 3ВНИИПИ Госу по делам 113035, Москва,Филиал ППП сПате

Смотреть

Заявка

2690979, 04.12.1978

ПРЕДПРИЯТИЕ ПЯ В-2954

БЕРДЫШЕВ ВИКТОР ГЕННАДЬЕВИЧ, КОЗЬМИНА ЕЛЕНА ПАВЛОВНА

МПК / Метки

МПК: G06F 5/02

Метки: двоично-десятично, двоичного, код, кода, шестидесятиричный

Опубликовано: 30.09.1980

Код ссылки

<a href="https://patents.su/8-767749-preobrazovatel-dvoichnogo-koda-v-dvoichno-desyatichno-shestidesyatirichnyjj-kod.html" target="_blank" rel="follow" title="База патентов СССР">Преобразователь двоичного кода в двоично-десятично шестидесятиричный код</a>

Похожие патенты