МИР ПЕРИФЕРИЙНЫХ УСТРОЙСТВ ПК

технический журнал для специалистов сервисных служб

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Код Грея и его использование в дисковых накопителях

 

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

 

В мире существует множество схем кодирования чисел, которые также принято называть еще и системами счисления. Система счисления – это совокупность символов и правил их комбинации для обозначения числа. Различают два типа систем счисления: позиционные и непозиционные.

Непозиционная система счисления – это та, при которой для обозначения чисел вводятся определенные знаки, числовой «вес» которых всегда одинаков и не зависит от месторасположения. Непозиционными системами пользовались древние египтяне, греки, римляне и некоторые другие народы древности. В таких системах счисления от положения знака в записи не зависит величина, которую он обозначает; поэтому они называются непозиционными системами счисления. Характерным примером является римская система счисления, в которой имеются символы латинского алфавита со следующими значениями: I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000. Для записи чисел используется следующий алгоритм: каждый меньший знак, поставленный слева от большего, вычитается из него, а каждый меньший знак, поставленный справа от большего, прибавляется к нему. Например, число 124 в десятичной системе представляется как римское CXXIV, т.е. 100+10+10+(5-1).

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

В позиционных же системах счисления одна и та же цифра, в зависимости от ее положения в числе, может иметь разные значения. Другими словами, величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Количество используемых цифр называется основанием позиционной системы счисления. Система счисления, применяемая в современной математике, является позиционной десятичной системой. Ее основание равно десяти, так как запись любых чисел производится с помощью десяти цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Хотя десятичную систему называют арабской, но зародилась она в Индии, в 5 веке. В Европе об этой системе узнали в 12 веке из арабских научных трактатов. Этим и объясняется название "арабские цифры". Однако широкое распространение данная система получила в 16 веке. Эта система позволяет легко выполнять любые арифметические вычисления, записывать числа любой величины. Распространение арабской системы дало толчок развитию математики.

Позиционные системы могут быть как с постоянным основанием, так и с произвольным. К позиционным системам с постоянным основанием относится десятичная система, а системой с произвольным основанием является система отсчёта времени: количество секунд в минутах и количество минут в часах по 60, а количество часов в сутках – 24.

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

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

Встречаются в цифровой технике и непозиционные системы. Наиболее известный из них - код Грея, называемый также рефлексным (отражённым) двоичным кодом. Этот код строится из двоичных цифр таким образом, что соседние числа в нём отличаются всегда только в одном разряде. Кодов с такой же характеристикой много, но для кода Грея имеется простой алгоритм перевода чисел в двоичный позиционный код и обратно.

 

Строение кода Грея

Код Грея - непозиционный код с одним набором символов (0 и 1) для каждого разряда. Таким образом, в отличие от римской системы счисления число в коде Грея не является суммой цифр. Чтобы показать соответствие последовательности чисел коду Грея можно воспользоваться таблицей, но есть и наглядное правило построения этой последовательности.

Младший разряд в последовательности чисел в коде Грея принимает значения 0 и 1, затем следующий старший разряд становится единичным и младший разряд принимает свои значения уже в обратном порядке (1, 0). Этим и объясняется название кода – "отражённый". Соответственно, два младших разряда принимают значения 00, 01, 11, 10, а затем, при единичном следующем старшем разряде, те же значения в обратном порядке (10, 11, 01, 00). Таблица 1показывает первые восемь чисел в двоичном коде и в коде Грея. Алгоритм перевода чисел, записанных в коде Грея, в позиционный код прост: каждый разряд в позиционном коде равен сумме по модулю 2 этого и всех, более старших, разрядов в коде Грея.

Таблица 1. Первые восемь чисел в кодировке Грея

Десятичный код

Двоичный код

Код Грея

0

000

000

1

001

001

2

010

011

3

011

010

4

100

110

5

101

111

6

110

101

7

111

100

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

Но, по истине, массовое применение код Грея получил в накопителях на жестких дисках – HDD. В них код Грея является составной частью сервоинформации – сервометок, размещенных на треках. В качестве примера на рис. 1 представлена структура сервометки накопителей Fujitsu семейства MPG3xxxAT. В структуре этой сервометки поле кода Грея обозначено, как SCD, и для его считывания отводится 0.53 мкс. Как уже упоминалось в начале статьи, код Грея в составе сервометки определяет номер цилиндра (трека).

 

Кроме того, код Грея очень широко используется при построении систем определения углового положения различных устройств, т.е. в так называемых кодовых дисках-определителях углового положения вала. В таком оптическом кодовом диске единицы и нули кодируются прозрачными и непрозрачными областями. С одной стороны диск просвечивается ориентированной вдоль его радиуса световой щелью, с другой стороны размещаются фотодиоды. Считываемый с фотодиодов двоичный код и указывает угол поворота диска. Недостаток кодирования углового положения позиционным двоичным кодом заключается в том, что при смене нечётного кода чётным считанный с фотодиода код может оказаться неверным. Характеристики фотодиодов обычно не идентичны и при смене сразу нескольких разрядов выходные уровни фотодиодов могут измениться не строго одновременно. Например, при переходе от третьего угла к четвёртому (от кода 3 к коду 4 в десятичной системе) или от седьмого угла к нулевому меняются все разряды, и какое-то время на выходе фотодиодов можно получить любое значение от 0 до 7. При использовании же кода Грея ошибка при переходах не будет превышать один угол, т.к. в каждом переходе изменяется только один разряд.
 

Профессиональная инфракрасная паяльная станция

 

Восстановление данных на HDD.
Профессиональные технологии, програмные и аппаратные средства.
www.xprt.ru

Яндекс.Метрика
Рейтинг@Mail.ru Яндекс цитирования