Код Грея
Рассмотренные выше коды называются позиционными, так как вес каждого разряда определяется его положением (позицией) в рассматриваемом коде. Так в двоичном позиционном коде 1 в крайнем правом разряде представляет число 20, в следующем разряде - 21 и т.д. Поэтому двоичный позиционный код еще называют кодом 8421. В цифровых датчиках применение этого кода может привести к большим ошибкам. В цифровых датчиках перемещения или угла поворота единица изображается отверстием в маске, через которое проходит световой луч, а ноль изображается непрозрачным участком маски.
Таблица 5 Сравнение двоичного кода и кода Грея
Если пользоваться двоичным, то при перемещении маски, например, из положения 0111 в положение 1000 из-за неодновременной смены трех "1" на три "0" могут кратковременно возникнуть коды 1100, 1010, 1101 и т.д., которые значительно отличаются как от предыдущего, так и от последующего значения и погрешность становится непредсказуемой. Все проблемы снимаются при использовании кода Грея, в котором при увеличении кода на 1 каждый раз изменяется только один из разрядов. Код Грея используется только для снятия информации с датчика. Для дальнейшей обработки информации код Грея переводится в двоичный позиционный по следующему алгоритму:
Каждый i-й, считая с левого старшего, разряд двоичного позиционного кода любого числа равен сумме по модулю 2 i-го и всех более левых разрядов этого числа, представленного кодом Грея.
Арифметические операции над двоичными кодами
Сложение
Сложение двоичных кодов производится побитно на основе следующих соотношений: 0+0=0; 0+1=1; 1+0=1; 1+1=0 и 1 - в перенос (в результате 10).
Например:
1 перенос 111 переносы +9 +1001 +7 +0111 50101 10001 14 1110 8 1000
Date: 2015-05-09; view: 924; Нарушение авторских прав Понравилась страница? Лайкни для друзей: |
|
|