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

 

Ф \ и)в-т и;ф - и,н л,, «сна»,, Éá йфйВн,а M fa й

О С И Е

ИЗОБРЕТЕН ИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Союз Советских

Социапистических

Республик ()767749

Ф с; (61) Дополнительное к авт. свид-ву —.. (22) Заявлено 04.12.78 (21) 2690979/18-24 с присоединением заявки №вЂ” (23) Приоритет— (51) М. Кл.

G 06 F 5/02

Государственный комитет

СССР (53) УДК 681.325 (088.8) Опубликовано 30.09.80. Бюллетень № 36

Дата опубликования описания 05.10.80 ло делам изобретений и открытий (72) Авторы изобретения

В. Г. Бердышев и Е. П. Козьмина (71) Заявитель (54) ПРЕОБРАЗОВАТЕ,ЛЬ ДВОИЧНОГО КОДА

В ДВОИЧНО-ДЕСЯТИЧНО-ШЕСТИДЕСЯТИРИЧНЫЙ КОД

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

Известен двоично-десятичный преобразователь, содержащий входной регистр, информационные входы которого подключены к входным шинам, генератор импульсов, выходной сумматор, выходы которого соединены с выходными шинами, дешифратор, переключатель эквивалентов, один из выходов которого соединен с управляющим 1О входом выходного сумматора, элемент И, соединенный входами с генератором тактовых импульсов и дешифратором, дешифратор нуля; связанный с выходами входного ре= гистра, последовательно соединенные блок анализа, формирователь адреса и накопи15 тель, дешифратор, подключенный входами к накопителю, а выходами — к блоку анализа и формирователю адреса, переключатель эквивалентов, связанный с выходным регистром и формирователем адреса, соединенным 20 с выходом элемента И, причем входы блока анализа соединены с выходами входного регистра, а выходы накопителя — со входами выходного сумматора (1).

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

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

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

767749

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

Цель изобретения — расширение класса решаемых задач, заключающееся в обеспечении преобразования с масштабированием.

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

ЗЗ

Кроме того, блок сумматоров состоит из первого, второго, третьего и четвертого сумматоров, первого, второго, третьего и четвертого элементов памяти, входы которых соединены с выходами переноса соответст- 4 вующих сумматоров, входы переноса которых соединены с выходами соответствующих элементов памяти, первый, второй и третий элементы НЕ, пятый элемент памяти и пятый сумматор, входы которого связаны соответственно с выходами второго сумматора, первого и третьего элементов НЕ. Первый выход пятого сумматора является выходом блока сумматоров, а выход переноса через второй элемент НЕ соединен с входом пятого элемента памяти, выход которого подключен к входу третьего элемента НЕ. Первые входы второго и четвертого сумматоров соединены с выходами первого и третьего сумматоров, первые и вторые входы первого и третьего сумматоров, а также вторые входы второго и четвертого сумматоров являются входами блока су м м аторо в.

Блок-схема предлагаемого преобразователя приведена на фиг. 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оОГООз

Ф3 где К вЂ” угловой вес единицы младшего разряда входного двоичного кода; к — количество разрядов во входном двоичном коде.

Например, если входной двоичный код имеет двадцать разрядов, т. е. и- = 20, то угловой вес единицы его младшего разряда равен о = 1 2359619140625

Тогда двоичный код количества секунд измеренного угла определяется следующим образом: А = К.В, где А — двоичный код количества секунд измеренного угла;  — входной двоичный код.

Угловой вес единицы младшего разряда представляется в следующем виде:

К = 1 + 0,2359619140625 = 1 1- — — — 0,01403808509375 = 1 + gz — (0,015625—

767749

5 — 0,0015869140625) - 1 + Д- — (- — — 0,0015869140625) = 1 + + — а +

+ (0,001953125 — 0,0003662109375) = 1 +

10000001111000!)!000 !0

+ 1 0000001 1 1 1 000 1 1 )< "

1000000!!!! .

1010001010011101010100 + — 0,0003662109375 = 1 + ——

- — (0,000244 140625 +

1220703125) = 1 -11 12.

+ 0,000

Тогда двоичный код количества секунд измеряемого угла определяется по формуле

А = (1 + + )  — В(— +, + ) .

10000001111000111000

100000011110001110

10000001111

10100010100111010101

10000001111000

+ 10000001

1000000

10000100111001

10100010100111010101

10000100111001

10100000100010011100

Получившееся количество секунд А =

= 657564 " на 3 " больше истинного значения.

Причиной ошибки является отбрасывание при суммировании младших разрядов сдвинутых двоичных кодов. Для уменьшения ошибки отбрасывания, которая при наихудшем сочетании нулей и единиц во входном двоичном коде не превышает 3", необходимо производить суммирование с учетом старших отбрасываемых разрядов. Например, при суммировании с двумя старшими отбрасываемыми разрядами величина ошибки не превышает 1 ".

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

Пусть, например, число В =

= 10000001111000111000 в двоичном коде, что соответствует углу 182 39 21" = 657561".

В результате алгебраического суммирования двоичного кода числа В со сдвинутыми на 2, 6, 9, 12. 13 разрядов вправо кодами этого же числа получается число А.

1000000111100011

1000000111

100000011

1000010011101101

1000010011101111

1010000010001001100111

После записи входного двоичного кода в регистре 1 сдвига управляющим сигналом, поступающим по шине 11, разрешается сдвиг содержимого регистра вправо, а на выходе блока 2 сумматоров, входы которого связаны с выходами нулевого, второго, шестого, девятого, двенадцатого и тринадцатого разрядов регистра сдвига, формируется младший разряд суммы. Коды положительных и отрицательных чисел суммируются отдельно на сумматорах 13, 14 и 15, 16 соответственно.

Получившиеся в результате сложения переносы запоминаются на элементах 18 — 21 памяти. Операция вычитания заменяется сложением уменьшаемого с дополнительным кодом вычитаемого. Дополнительный код двоичного числа равен обратному коду, увеличенному на единицу. На входы сумматора 17 поступает прямой код уменьшаемого с выхода сумматора 14 и обратный код вычитаемого с выхода элемента НЕ 23, на вход которого он подается с выхода сумматора 16. Добавление единицы к обратному коду вычитаемого осуществляется подачей единичного потенциала на вход переноса сумматора 17 с выхода элемента НЕ 25, инвертирующего выходной сигнал элемента

22 памяти, перенос на вход которого поступает с выхода сумматора 17 через элемент

НЕ 24. Через время, необходимое для формирования младшего разряда алгебраической суммы, производится сдвиг содержимого регистра 1 сдвига и реверсивного регистра 3 сдвига на 1 разряд вправо. При этом младший разряд суммы переписывается в реверсивный регистр 3 сдвига, а в блоке 2 сумматоров производится формирование следующего разряда суммы сложением 1, 3, 7, 10, 13, 14 разрядов входного кода.

При сложении учитываются сигналы переноса, поступающие с выходов элементов 18 — 21 памяти на входы переноса сумматоров 13 — 16. Элемент 22 памяти подключен через элементы НЕ 24, 25 к сумматору 17, на вход переноса которого поступает дважды проинвертированный сигнал переноса от предыдущего суммирования.

При сдвиге содержимого регистров 1 и 3 второй разряд суммы записывается в ревер767749

ФО

1» сивный регистр 3 сдвига, а на выходе блока 2 сумматоров формируется следующий разряд.

Процесс суммирования заканчивается за й+т.тактов, где и.— количество разрядов входного двоичного кода, тн. — количество дополнительных разрядов регистра 1 сдвига, необходимых для уменьшения ошибки, возникающей при отбрасывании млчдших разрядов сдвинутых кодов.

После окончания суммирования сигналом, поступающим по шине 12, разрешается сдвиг содержимого реверсивного регистра 3 сдвига влево, т. е. информация из него выводится старшими разрядами вперед в корректируемую тетраду 4 для осуществления преобразования двоичного кода количества секунд в двоично-десятично-шестидесятиричный код градусов, минут и секунд методом сдвига и коррекции.

Метод сдвига и коррекции для преоб""разования двоичного кода в двоично-десятичный заключается в том, что исходное двоичное число последовательно умножается на 2 (путем сдвига на 1 разряд в сторону старших разрядов), т. е. выводится из реверсивного регистра 3 сдвига в корректируемую тетраду 4 старшими разрядами вперед. Содержимое корректируемой тетрады 4

"после каждого сдвига сравнивается с опре- деленными числами в дешифраторе 5 коррекции и блока 6 коррекции, которые формируют скорректированные коды, записываемые вновь в корректируемую тетраду 4 через коммутатор 7, если содержимое тетрады превышает некоторое фиксированНое число.

Для получения двоично-десятичного кода десятков минут и секунд в блоке 6 коррекции производится сравнение записанного в корректируемой тетраде кода с числом два.

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

В дешифраторе 5 коррекции содержимое корректируемой тетрады 4 сравнивается с числом 4 и в случае превышения осуществляется коррекция путем добавления числа 3 к корректируемому коду, т. е. происходит преобразование двоичного кода в двоично-десятичный.

В таблице приведен пример преобразования двоичного кода, количества секунд

101011000110, которому соответствует угол

45 58" в двоично-десятично-шестидесятиричном коде.

В течение первых трех тактов производится сдвиг из реверсивного регистра 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, соответствующее углу 45 58", записанное в двоично-десятичном коде.

Число циклов преобразования определяется разрядностью входного двоичного кода. Для двадцатиразрядного двоичного зе входного кода требуется, например, 7 циклов.

Преобразование двоичного кода в двоично-десятичный в предлагаемом устройстве осуществляется поступающим по шине 10 управляющим сигналом, который открывает коммутатор 7 только для сигналов с выхода дешифратора 5 коррекции, при этом последовательный двоичный код может поступать на вход корректируемой тетрады 4, а параллельный — записываться в реверсивный регистр 3 сдвига.

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

767749

ОООО .101011000110

0001

0010

3 0101 кор+3 1000

4 0000

0001

000110000100 3 7 0001 1011010000000

1 б

0011

0110 кор.+3 1001

0010

0100

1001 кор+3 1100

11 1001 кор+3 1100

12 1000

000100010011Запись 0000 в регистр сдвига

0000 000000000100

Запись в регистр сдвига

110001100001

100011000010

00110000100 0

011000010001

000010001001

000010001001

000100010011

0000 00000010110

1 0000 000001011010

2 0000 000010110100

3 0000 000101101000

4 0000 001011010000

5 0000 010110100000 б 0000 101101000000

8 0010 110100000000

9 0101 101000000000 кор+3 1000 101000000000

10 0001 010000000001

11 0010 100000000010

12 0101 000000000100

767749

010011000000 4

100110000001

011000000101

011000000101

110000001011

000000101101 0000

0000

0000

0001

0010

0100

2 кор+5

1001

0010

0101 кор+5

1010

0100 кор+5

1001

0010

0101

1010 кор+5

0101

За- 0000 пись в регистр сдвига

000000000000

000000101101

0000

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

Формула изобретения

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

Продолжение таблицы

0000 000000000100

1 0000 000000001000

2 0000 000000010000

3 . 0000 000000100000

4 0000 000001000000

5 0000 000010000000

6 0000 000100000000

7 0000 001000000000

8 0000 010000000000

9 0000 100000000000

10 0001 000000000000

11 0010 000000000000

12 0100 000000000000

767749

14 сдвига, второй вход которого соединен с выходом блока сумматоров, входы которого соединены с соответствующими выходами регистра сдвига, управляющие входы коммутатора, регистра сдвига и реверсивного регистра сдвига соединены соответственно с шинами вида преобразования, разрешения сдвига вправо и разрешения сдвига влево.

2. Преобразователь по п. 1, отличающийся тем, что в нем блок сумматоров состоит из первого, второго, третьего и четвертого сумматоров, первого, второго, третьего и <о четвертого элементов памяти, входы которых соединены с выходами переноса соответствующих сумматоров, входы переноса которых соединены с выходами соответствующих элементов памяти, первый, второй и третий элементы НЕ, пятый элемент памяти и пятый сумматор, входы которого соединены соответствс:.:::э . ыходами второго сумматора, первог и третьего элементов НЕ, первый выход пятого сумматора является выходом блока сумматоров, а выход переноса через второй элемент НЕ соединен с входом пятого элемента памяти, выход которого соединен с входом третьего элемента НЕ, первые входы второго и четвертого сумматоров соединены с выходами первого и третьего сумматоров, первые и вторые входы первого и третьего сумматоров, а также вторые входы второго и четвертого сумматоров являются входами блока сумматоров.

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР № 548857, кл. G 06 F 5/02, 1975.

2. Авторское свидетельство СССР № 561957, кл. G 06 F 5/02, 1976 (прототип).

Редактор И. Грузова

Заказ 7195/44

Составитель М. Аршавский

Техред К. Шуфрич Корректор М. Вигула

Тираж 751 Подписное

ВНИИ ПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, )К вЂ” 35, Раушская наб., д. 4/5

Филиал ППП сПатент>, r. Ужгород, ул. Проектная, 4

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

 

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

Изобретение относится к построению сетей связи для передачи информации по вычислительным сетям

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

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

Изобретение относится к устройствам автоматики и вычислительной техники, и может быть использовано, например, в преобразователях “перемещение-код” приводов контрольно-измерительных систем

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

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

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

Изобретение относится к технологиям автоматизированной последовательности выполняемых действий

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