Главная  Журналы 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [ 64 ] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166

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

Двоичный код является безызбыточным кодом, так как каждое число в нем представляется только одной комбинацией символов. Известны избыточные коды, обладающие многозначностью представления каждого из кодируемых чисел. Многозначность кодового значения числа используется для самопроверки цифрового измерительного устройства и самокорректировки результата измерения при наличии погрешностей разрядов ЦАП [39]. Разработана теория избыточных кодов с иррациональными основаниями, например, кода Фиб-боначи, а также кода Бергмана с основанием а = (1 -f- V Ъ)/2 = 1,618, который называется кодом «золотой пропорции». По сравнению с двоичным кодом разрядность чисел, представленных в этих кодах, в полтора раза больше при записи одинаковых чисел.

Самокорректировка двоичного ЦАП возможна на всех разрядах старше первого, на основе использования только одного тождества

2,1 = Yi 2i+ 1 сопоставлением соответствующих аналоговых выхо-

дов ЦАП. В простейшем избыточном коде «золотой пропорции» с основанием 1,618 для самокорректировки каждого разряда ЦАП можно использовать п тождеств (п - номер разряда). При использовании в АЦП кода Бергмана по части избыточных -результатов поразрядного уравновешивания, возможно определить код погрешности неточного разряда ЦАП и ввести поправку в результат измерения .

Двоичный код в пространственных кодирующих преобразователях применяется мало из-за присущей ему погрешности считывания, возникающей при перекосах в тех положениях, в которых изменяются 1 на О или О на 1 одновременно в нескольких разрядах (табл. 12). Для устранения погрешности считывания применяют сдвоенные щетки или метод V-развертки (п. 11.5), а также специальные коды, например циклический код Грея, или рефлексный код.

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

Рассматривая переходные положения (табл. 12) между кодовыми обозначениями чисел 7 и 8 в двоичном коде и коде Грея, нетрудно убедиться, что в двоичном коде его элементы меняются во всех четырех разрядах сразу, а в коде Грея - только в одном. Вследствие этого при перекосе щетки при двоичном коде может возникнуть погрешность до 100 %, а при коде Грея погрешность считывания не превышает единицы младшего разряда. Код Грея невзвешенный и непригоден для вычислительных операций, поэтому необходим перевод кода Грея в двоичный (п. 7.2).



Таблица 12. Сравнение кодовых чисел от о до 10 в различных кодах

Таблица 13. Взвешенные двоично-десятичные коды

десятичный

двоичный

Грея

даоично. десятичный 2 4 21

0000

0000

0000

000 1

0001

0001

00 1 0

001 1

0010

001 1

0010

0100

01 10

0100

010 1

0111

0101

01 10

0101

0110

0111

01 00

0111

1 ООО

1 100

1110

1001

1101

1111

1010

1111

Знаки

Весовые коэффициенты

В двоично-десятичном коде любая цифра от О до 9 в каждом десятичном разряде кодируется четырьмя знаками. Двоично-десятичные коды с четырьмя знаками называются также тетрадно-десятичными или тетрадными. Для представления ряда чисел от О до 999 в двоично-десятичном коде необходимо 12 устройств с двумя различными состояниями. Двоично-десятичные коды бывают взвешенные и невзвешенные. Взвешенных кодов всего 17, а невзвешенных - несколько миллионов. Для арифметических операций применяют взвешенные двоично-десятичные коды, в которых каждый знак имеет определенное числовое значение (весовой коэффициент), не зависящее от наличия или отсутствия других знаков.

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

Если сумма всех числовых значений, или весов знаков, двоично-десятичного кода равна 9, то такой код является самодополняющимся, или инверсным (позиции 1, 2, 5, 8 и 9 в табл. 13). Это значит, что, например, в самодополняющемся коде 2 4 2 1 кодовое обозначение 001 1 представляет собой число 3, а если в этом обозначении все знаки изменить на обратные, то должно получиться кодовое обозначение числа 6 в данном коде (цополняющее число 3 до числа 9). Действительно, в коде 2 4 2 1 кодовое обозначение 110 0 представляет число 6 в этом же коде (табл. 13). Это свойство кода очень удобно использовать при построении преобразователей кода в напряжение и кода в сопротивление (п. 7.4).

Недостатком двоично-десятичных кодов является их неоднозначность, которая заключается в том, что некоторые числовые значения



Таблица 14. Невзвешенный двоично-десятичный код Липпела, примензиие которого упрощает конструкцию кодирующего пространственного преобразователя

Таблица 15. Невзвешенный двоично-десятичный код Либова и Крейга, применение которого упрощает конструкцию кодирующего пространственного преобразователя

Деся-

Деся-

тичный код

разряд

разряд

разряд

разряд

тичный код

разряд

разряд

разряд

разряд

разряд

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

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

В некоторых случаях целесообразно использовать невзвешенные двоично-десятичные коды, упрощающие конструкцию кодирующих преобразователей угловых и линейных перемещений. Кодирующий преобразователь с кодом Липпела (табл. 14) имеет на каждый десятичный разряд только две дорожки или два сегмента (рис. 6.13,а). Кодирующий преобразователь, с кодом, описанным Либовым и Крей-гом, имеет всего одну дорожку или сегмент (рис. 6.13,6) и не имеет погрешности считывания так же, как и код Грея. Код Липпела имеет четыре разряда, а код, описанный Либовым и Крейгом, пять (табл. 15). Оба кода невзвешенные, непригодны для арифметических операций.


Линия в считывания 7


Рис. 6.13. Упрощенные кодирующие преобразователи угол-код, использующие невзвешенные двоично-десятичные коды:

а - кодирующий преобразователь с кодом Липелла; б - кодируюш,ий преобразователь я Либова и Крейга.

С кодом





0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [ 64 ] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166