Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Филимонов Г.А. Основы цифровых устройств систем управления учебное пособие

.pdf
Скачиваний:
22
Добавлен:
30.10.2023
Размер:
13.42 Mб
Скачать

со щеток будет снято число ОООО. Если хе щетка старшего разряда будет находиться в положении S , то преобразова­ тель выдает число 1000. Поскольку максимальное число, ко­ торое может быть выражено четырьмя двоичными разрядами, будет П И - пятнадцать, то становится ясным, что ошибка преобразования в данном случае достигает половины макси­ мального числа, выражаемого данным количеством разрядов.

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

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

На рис.134 показана последовательность обычных деся­ тичных чисел и десятичный циклический код. Как видно на схеме, пока число выражается цифрой в одном младшем деся­ тичном разряде, обычный и циклический коды одинаковы, так как при переходе от любого числа к соседнему изменяется цифра только в одном разряде. При переходе от 9 к 10, т .е . при первом случае выражения числа двумя разрядами в обыч­ ной последовательности десятичных чисел, изменяются цифры в обоих разрядах, и вместо 09 будет число 10. В цикличес­

ком же коде для числа 10 будет эквивалентом 19,

т .е .

из­

менится цифра только в старшем разряде. Дальше могут

из­

меняться цифры в младием разряде, начиная от 19

и кончая

10.

 

 

При переходе от 19 к 20 в десятичной системе опять возникает такая хе проблема, как и при переходе от 9 к 10. Так как должна измениться цифра только в одном разряде,

290

то получается код 20 как эквивалент десятичного числа 20, Как видим, в этом случае обозначения в циклическом и обыч­ ном кодах совпали. На числе 20 завершился первый цикл. Дальше такие же циклы будут повторяться через каждые 20 единиц. Аналогичные случаи будут возникать при переходах от 99 к 100 или от 999 к 1000 и т .д . Иногда в литературе циклический код называют также отраженным рефлексным ко­ дом. Действительно, в циклическом коде цифры, изменившись от 0 до 9, потом как бы отражаются от цифры 9 и идут вновь к цифре 0, где происходит новое отражение. Такие циклы от­ ражения повторяются через каждые 20 единиц для младаего разряда, через 200 единиц для второго разряда и т .д . Этот же код часто называют кодом Грея.

Циклический код может быть также двоичным. В табл.10 показаны десятичные и двоичные числа и их эквивалент в циклическом коде.

 

 

 

 

 

 

 

 

Таблица 10

Десятичное

 

Двоичное

Число в

 

цикле

число

 

число

 

кода

 

0

 

 

0

0

0

0

0

0

 

0

 

0

I

 

 

0

0

0

1

0

0

 

0

 

1

2

 

 

0

0 1 0

0

0 1

1

3

-

 

0

0 1 1

0

0

1

0

Ч

 

-OJL0 0

0 1

1 0

5

 

 

0

1 0

1

------—0-1

 

I - I ________

6

 

 

0

1 1 0

0

1

0

 

1

7

 

 

0

I

I

I

0

1 0

 

0

8

 

 

1 0

0

0

1 1 0

 

0

9

 

 

1 0

0

1

I

I

 

0

I

10

 

 

1 0

1 0

1 1 1 1

I I

 

 

I

0

I

I

I

I

 

I

 

0

12

 

 

1 1 0

0

1 0

 

1 0

13

 

 

I

I

0

I

I

0

I

I

И

 

 

I

I

I

0

1 0

 

0

1

15

 

 

1 1 1 1

1 0

 

0

0

231

В двоичном циклическом коде циклы составляют: для первого разряда - 4 единицы, для второго - 8 единиц, для третьего - 16 единиц и т .д .

На рис.135 показана маска двоичного циклического кода /кода Грея/, которая, как и в случае двоичного кода, нане­ сена на диск, разделенный по периметру на 64 равные части.

Линии о ,б ,с

и т .д . /р и с .136/ указывают положения линии

считывания для

различных скоростей вращения диска, в дан­

ном случае смещение маски происходит вправо, а считывание кода осуществляется, как показано стрелками, начиная со старшего разряда. В данный момент при движении кодовой маски вправо в старшем разряде считывается цифра "О". Ес­

ли же движение маски будет происходить влево,

то

в стар­

шем разряде будет считываться цифра - I " , а веер

новых ли­

ний считывания

а \ Ь \ с '

и т .д . /на рис.137

не

указан/

будет

зеркальным изображением веера

 

 

В

табл .II

показаны фактически считываемые

числа в за­

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

Из таблицы вытекает, что максимальная ошибка считы­

вания

для данного примера будет равна

64

.Если же

счи-

 

 

 

 

 

тыванне

начинать с младшего разряда, то

ошибка может

быть

значительно больше.

 

 

 

 

Более общее исследование показывает,

что

если в

про­

цессе считывания кодовый диск перемещается

на

в принятых

разбиений и количество разрядов велико, то

возможная

ошиб­

ка может достигать величины 6 или £в

в

зависимости

от

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

232

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

н и я

а

а'

d

d'

е

е1

/

/

I

Смещение диска в

64-х до­ лях оо.

X

2

X

2

х

2

х

2

X

2

х

2

х

2

 

 

Таблица II

Циклич.

Двоичн.

Число в 64-х

код

код

долях

0,010000

о д и н

31

0,110000

0,100000

32

0,010001

0,011110

30

0,110001

0,100001

33

0,010001

0,011110

30

0,010001

0,100001

33

0,010010

0,011100

28

0,110010

0,100011

35

0,010010

0,011100

28

0,110010

0,100011

35

0,010011

0,011101

29

0,110011

0,100010

34

0,010111

0,011010

26

о,нош

0,100101

37

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

1. Преобразование начинается со старшего разряда, при­ чем цифра этого разряда не меняется.

2 . Ци|>ры последующих разрядов формируемого двоичного кода будут такими ке, как и цифры соответствующих разрядов циклического кода, если слева от каждого преобразуемого разряда циклического кода имеется четное число единиц.

3. Если же число единиц было нечетным, то цифра дан­ ного разряда двоичного кода будет обратная той, которая находится в данном разряде циклического кода. Поясним это правило на примере преобразования числа 0,110010. изобра-

233

женного в циклической коде, в двоичный код

 

 

 

 

Циклический код:

 

а6а5аАа3ог а£

 

 

 

 

 

 

0,И00 10

 

 

 

 

 

Двоичный код:

AeAs AiiA3ARAi

 

 

 

 

 

0J 000 i l .

 

 

 

 

 

Поскольку цифра старшего разряда не меняется,

тоД й =

* ае , Так как слева от

разряда

as

стоит нечетное

количе­

ство

единиц, то А5=а5 , Ач ~ O' ,

потому что

слева

от

раз­

ряда

располагается

четное число единиц. По этой

же при­

чине

будут сохраняться

Д3= а 3

и

Д2 = аг . В

связи

с

тем,

что слева от разряда ai имеется нечетное число единиц, то цифра в соответствующем разряде формируемого двоичного ко­ да будет Al =ai , т . е . единица.

Пользуясь принятыми обозначениями разрядов кодов, рас­ смотренное правило можно алгебраически представить так:

Ап- а п

(modг);

 

A n - r o + a ^

(mod2) ;

/228/

^п-2^°п+an-i+°п-г

(rn°d2)\

 

Ак = ап +оп^+ап_г+ ...+ а к

(mod£),

 

где суммирование производится помодулю 2, т .е . без учета единиц переноса, короче говоря, суммирование производится в пределах данного разряда. При таком суммировании ставит­

ся- знак /mod2 / . Выражения /2 2 7 / можно записать

в общем

виде

 

Ak—E aL (mod2)

/2 2 9 /

1ЯП

 

Существует еще и другая формулировка правила перехода

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

стоит и следующем.

I . Складываются все цифры циклического кода по mod2.

23ft

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

Ак= + a h_t (m odг ).

/2 3 0 /

Поясним этот вариант правила на том же примере преоб­ разования из циклического кода числа IIOOIO в обычный дво­

ичный код.

 

 

 

 

 

 

 

Циклический код:

а6 а5 а^ аь аг а{

 

 

 

О

I

I

О

О

I

0 .

Двоичный код:

Ав А5 Ам А3 Ай А 1

 

o

i

o

o

o

i

i ;

Ai = o,1 +a,g+ . . . + а6 (modB) ;

А={ \

 

A r A i + a i

(mods. ) ;

 

Аг=4 ;

 

Аз= А я Ч

(modZ)\ A3=0;

 

Аг Аз+0з

f a * * * ) ; \= 0 \

 

As = А^+а,ч

(modS) ;

A5=0 ;

 

A6

o6

 

^

.

 

Наличие двух методов перехода от

циклического

кода

к двоичному

объясняется тем,

что циклический код

может

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

235

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

рая формулировка правила перехода от циклического

кода в

двоичный обеспечит более простое схемное решение

этого

преобразования.

 

Следует указать, что порядок поступления циклическо­ го кода, начиная с младшего разряда, требует, чтобы при

его преобразовании в двоичный

код

он

был дважды

пропущен

через преобразователь:

первый

раз

для

вычисления цифры

младшего разряда по уравнению /2 2 9 /,

а

второй раз для оп­

ределения цифр во всех остальных разрядах двоичного

кода

по уравнению /2 3 0 /.

 

 

 

 

 

 

 

 

 

 

 

 

 

Переход от обычного двоичного кода к циклическому осу­

ществляется согласно следующему правилу:

 

 

 

 

I /

цифра старшего

разряда

остается

без

изменения;

2 /

в данном разряде

формируемого

 

циклического

кода

сохраняется цифра соответствующего разряда двоичного ко­

да, если в предыдущем разряде

стоит "О". Если же в преды­

дущем разряде

стоит "I",

то

в данном разряде

ставится

циф­

ра, обратная

 

цифре двоичного

кода.

Поясним это

правило

на том же примере.

 

 

 

 

 

 

 

 

 

 

 

 

 

Двоичный код:

 

А 6

А5 А^Ай Аг А {

 

 

 

 

 

 

 

 

О

 

I

 

О

О

О

I

I .

 

 

Циклический код:

а6 а5

 

 

а3 аг о}

 

 

 

 

 

 

 

 

 

 

О

 

I

 

I

О

О

I

I .

 

 

 

Слева от

разряда

А1 записан разряд

Д2= I ,

следова­

тельно,

о{= А 1 ; слева

от

А & стоит

А 3

=

0,

поэтому

 

п = А

2

_

и ТоДо Слева

от

А

,

стоит

А

6

= I ,

вследствие

 

 

 

 

 

 

 

э

 

 

 

 

 

 

 

чего а5- А 5

 

и ?наконец,

а б

=

А

е

, так

как

цифра

старшего

разряда

остается без изменения,

 

 

 

 

 

 

 

 

236

Можно указать и другую методику перехода от двоичного кода к циклическому, которая формулируется так: для перехо­ да от обычного двоичного кода к циклическому складывается данное число с таким же числом, но сдвинутым на один раз­ ряд вправо. Суммирование ведется по mod 2 и младший раз­ ряд сдвинутого числа теряется»

Пример

 

 

 

 

 

 

Двоичный код

I

О

О

О

I

I

 

 

I

О

О

 

О I I

циклический код

I

I

О

О

I

О

Одна из характерностей циклического двоичного кода со­ стоит в том, что разряды его имеют знакопеременные веса, что затрудняет непосредственное использование его при вы­ числениях»

Абсолютное значение веса данного / к - г о / разряда цик­ лического кода определяется по формуле

,

/231/

L-0

 

Все нечетные единицы двоичного циклического

кода, счи­

тая слева направо, имеют положительный вес, а все

четные -

отрицательный. Так, например, первая слева единица дает по­ ложительное слагаемое вне зависимости от того, в каком разряде она стоит, вторая единица дает отрицательное слага­ емое и т .д .

Для примера определим десятичный эквивалент цикличес­

кого кода

1100 IOIo Складывая произведения единиц кода на

их веса,

получим

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

237

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

Способ двойной щетки

Кроме применения циклических кодов, существует и дру­ гой метод уничтожения ошибок неоднозначности. Ошибки неод­ нозначности можно устранить за счет избыточной информации, получаемой при установке дополнительных деток в ках-ом раз­ ряде маски обычного двоичного кода, кроме младшего. Обычно на каждый разряд /кроме младшего/ ставят го два чувствитель­ ных элемента и сдвигают их вправо и влево относительно ли­ нии считывания, проходящей через чувствитель1кй элемент младшего разряда, на величину половины чл">-. олск^’та .-/язд- шего разряда, как показано на рис. Ь7.

При таком расположении щеток вначале должна считывать­ ся цифра младшего разряда, а затем уже одновременно /парал­ лельный съем кода/ считываются следующие разряды. При этом если в младшем разряде считан "О”, то съем остальных осуще­ ствляется с правых чувствительных элементов. Если же в млад­ шем разряде считана "1", то кгд считывается с левых чувстви­ тельных элементов. На пие.137 показан случай, когда чувстви­

тельный

элемент падшего разряда находится на

границе меж­

ду "О" и

" I" .

Это самое невыгодное положение.

Б данном слу­

чае

с равной

вероятностью будет

считан код 0101 или ОНО,

т . е .

ошибка неоднозначности пе

будет превосходить единицы

младшего

разряда.

 

 

238

 

 

 

 

 

Вышеукаэшное правило съема кода должна реализовать специальная логическая схема, с выхода которой будет выда­ ваться двоичный код. Такой способ съема двоичного кода но­ сит название двойной щетки. Основным недостатком его яв­ ляется малое расстояние 1 й между обеими щетками и незна­ чительная скорость движения маски.

Способ V - развертки

На рис0.138 показано расположение чувствительных эле­ ментов V - развертки. В этом случае ивтервал между чувст­ вительными элементами для каждого разряда /кроме младшего/ равен ширине площадки единицы предшествующего младшего раз­ ряда и увеличивается по мере возрастания "веса" разряда, что позволяет для старших разрядов увеличить допуски на

точность установки чувствительных элементов. Съем цифр во

всех разрядах кодирующего устройства, за

исключением млад­

шего, производится с одного из чувствительных элементов в

соответствии со значением цифры предыдущего разряда. Если

в предыдущем разряде

была считана

"I", то

считывание циф­

ры в данном разряде

производится

с левого

чувствительного

элемента} если же в предыдущем разряде был считан "О", то съем производится с правого элемента. На рис.138 показаны два возможных варианта считывания кода при расположении чувствительного элемента младшего разряда на границе между кодами 0101 и ОНО в зависимости от значения цифры, считан­ ной с младшего разряда.

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

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

239

Соседние файлы в папке книги из ГПНТБ