Алгоритм работы накопителя CD-ROM
Полупроводниковый лазер генерирует маломощныйинфракрасный луч, который попадает на отражающее зеркало.
Серводвигатель по командам, поступающим от встроенного микропроцессора, смещает подвижную каретку с отражающим зеркалом к нужной дорожке на компакт-диске.
Отраженный от диска луч фокусируется линзой, расположенной под диском, отражается от зеркала и попадает на разделительную призму.
Разделительная призма направляет отраженный луч на другую фокусирующую линзу.
Эта линза направляет отраженный луч на фотодатчик, который преобразует световую энергию в электрические импульсы.
Сигналы с фотодатчика декодируются встроенным микропроцессором и передаются в компьютер в виде данных.
Дорожки и секторы
Впадины (штрихи) образуют единственную спиральную дорожку с расстоянием 1,6 микрона между витками, что соответствует плотности дорожек 625 витков на миллиметр или 15 875 витков на дюйм. Стандартный 74-минутный (650 Мбайт) диск в целом содержит 22 188 витков. Диск разделен на шесть основных областей.
- Область фиксирования (посадки) диска. Представляет собой центральную часть компакт-диска с отверстием для вала проигрывателя. Эта область не содержит какой-либо информации или данных.
- Область калибровки мощности (РСА). Существует только на перезаписываемых дисках (CD-R/RW) и используется только дисководами перезаписываемых дисков для определения мощности лазера, необходимой для оптимального выжигания диска.
- Программируемая область памяти (PMA). Существует только на перезаписываемых исках (CD-R/RW) и представляет собой зону, используемую для записи временной таблицы оглавления (Table Of Content - ТОС). После завершения сеанса записи информация ТО С переписывается на нулевую дорожку.
- Нулевая дорожка. Содержит оглавление диска (или сеанса) в кодировочном канале Q. Оглавление включает начальные адреса и длины всех дорожек (музыкальных или дорожек данных), общую длину программной области (области данных), а также информацию о каждом сеансе записи. Нулевая дорожка занимает 4 500 секторов диска (одну минуту, если пользоваться единицами времени, или около 9,2 Мбайт данных). Нулевая строка также указывает, является ли данный диск многосеансовым.
- Программная (информационная) область. Начинается на расстоянии 25 мм от центра диска.
- Конечная зона. Отмечает конец программной (информационной) области диска или же завершение сеанса записи на многосеансовом диске. Конечная зона не содержит каких либо данных и используется только в качестве маркера. Первая конечная зона (или единственная, если диск записан в течение одного сеанса или в режиме Disk At Once) занимает 6 750 секторов (эквивалент 1,5 мин или около 13,8 Мбайт данных). Все последующие конечные зоны многосеансового диска занимают 2 250 секторов (0,5 мин или около 4,6 Мбайт данных).
Дискретизация
Во время записи музыкальных компакт-дисков происходит дискретизация данных с частотой 44 100 тактов в секунду (Гц). Каждая выборка (sample) звуковых данных имеет отдельный компонент левого и правого каналов (стерео), причем каждый компонент канала преобразован в 16-разрядное число.
Частота дискретизации определяет диапазон звуковых частот, которые могут быть представлены в цифровой записи. Чем выше частота дискретизации волны, тем ближе полученный результат к оригиналу. Звуковые секторы содержат 98 блоков по 33 байт в каждом, что составляет 3 234 байт. Из них только 2 352 байт фактически являются звуковыми данными. Остальные байты распределены следующим образом: 98 байт подкодовых (по одному байту на каждый блок) и 784 байт, используемых для контроля четности и коррекции ошибок (ECC).
Подкоды
Байты подкода позволяют накопителю находить песни (которые иногда называются звуковыми дорожками (tracks) ), расположенные на спиральной дорожке, а также служат для передачи дополнительной информации, относящейся к компакт-диску. В каждом блоке (фрейме) хранится 1 байт подкода, что составляет в общей сложности 98 байт подкода в каждом секторе. Из них два байта используются в качестве маркеров стартового и конечного блоков, а оставшиеся 96 байт применяются для хранения данных подкода. Эти байты, в свою очередь, разделены на восемь 12-байтовых блоков, каждому из которых присваивается буквенное обозначение P-W. Каждый подкодовый канал может содержать около 31,97 Мбайт данных. Блоки подкода P и Q имеются на дисках практически любого типа, а блоки R-W используются только в компакт-дисках формата CD+G или CD TEXT (т.е. графического и текстового типов).
Подкод P используется для идентификации начала звуковых дорожек компакт-диска. Подкод Q, в свою очередь, содержит множество различных данных, которые определяют ряд условий.
- Наличие звуковых (CD-DA) или информационных (CD-ROM) данных сектора. Это позволяет предотвратить попытки "проигрывания" накопителем дисков данных CD-ROM, что может привести к повреждению акустической системы.
- Наличие двух или четырехканальных звуковых данных. Последние используются очень редко.
- Возможность цифрового копирования. К накопителям CD-R и CD-RW это не относится. Данный параметр использовался в накопителях DAT (Digital Audio Tape) для предотвращения копирования цифровых аудиокассет.
- Использование коррекции искажений при записи музыки. Это методика уменьшения шипения или шума.
- Расположение звуковой дорожки (песни) на диске.
- Номер звуковой дорожки (песни).
- Минуты и секунды, а также номер фрейма от начала звуковой дорожки (песни).
- Обратный отсчет в промежутке между звуковыми дорожками (песнями).
- Минуты и секунды, а также номер фрейма от начала первой дорожки (песни).
- Штриховой код компакт-диска.
- Международный стандартный код записи (International Standard Recording Code - ISRC ). Этот код уникален для каждой звуковой дорожки (песни) компакт-диска.
Подкоды R-W используются в графических дисках формата CD+G для хранения графических и текстовых данных. Это позволяет отображать ограниченный объем графической и текстовой информации во время воспроизведения звуковых файлов. В дисках CD TEXT подкоды используются для хранения информации, относящейся к диску и звуковым дорожкам. Данные CD TEXT хранятся в виде символов ASCII в каналах R-W, расположенных на нулевой дорожке, а также в программной области компакт-диска. Подкоды, находящиеся на нулевой дорожке диска CD TEXT, содержат текстовую информацию о содержании диска. Подкоды, включенные в программную область диска, содержат текстовую информацию, относящуюся к воспроизводимой в данный момент звуковой дорожке (песне).
Обработка ошибок
При разработке стандарта компакт-дисков Red Book основное внимание было уделено обработке ошибок. Для уменьшения влияния возможных ошибок в компакт-дисках используются методы контроля четности и чередования, получившие название перемежающего кода Рида-Соломона ( CIRC ). Эта технология работает на уровне блоков (фреймов). При сохранении информации 24 байт данных каждого блока сначала обрабатываются шифратором Рида-Соломона, создающим 4-байтовый код контроля четности (так называемый Q-контроль четности), который добавляется к исходным 24 байтам данных. Полученные в результате этой операции 28 байт передаются второму шифратору, использующему другую схему, который, в свою очередь, создает дополнительный 4-байтовый код контроля четности (Р-контроль- четности). Этот код добавляется к 28 байтам, полученным в предыдущем кодировании, что составляет 32 байта (24 исходных байта данных плюс байты Q- и Р-контроля четности). Затем вводится дополнительный подкодовый байт данных (информация о дорожке), в результате чего получается 33 байта для каждого блока. Обратите внимание, что байты Р- и Q-контроля четности не имеют никакого отношения к ранее упомянутым подкодам P и Q.
Код коррекции ошибок (ЕСС) позволяет выявлять и исправлять большин-ство мелких ошибок, повышая тем самым надежность и точность обработки данных до уровня, приемлемого для хранения данных.
При воспроизведении музыкального компакт-диска отсутствующие данные могут быть интерполированы, т.е. существует определенный шаблон данных, позволяющий "угадать" отсутствующие значения.
Наряду с основными данными, CD-ROM содержит дополнительную информацию, введенную в каждый сектор и применяемую для выявления и исправления ошибок, а также для более точного определения секторов данных. Для этого из 2 352 байт каждого сектора, используемых первоначально для хранения звуковых данных,304 байт применяются для синхронизации (синхронизирующие биты), идентификации (биты идентификации), кода коррекции ошибок (ЕСС), обнаружения и исправления ошибок (EDC). Фактически в каждом секторе остается 2 048 байт пользовательских данных. За одну секунду считывается 75 секторов, поэтому базовая скорость считывания данных с CD-ROM достигает 2 048 ? 75 = 153 600 байт/с, что составляет 153,6 Кбайт/с, или 150 KiB/с.
Емкость компакт-диска
За каждую секунду CD обрабатывается 75 блоков по 2 048 байт в каждом. Это позволяет вычислить абсолютную максимальную емкость CD-ROM, которая составляет 681 984 000 байт- 682 Мбайт, или 650 MiB ( mebibyte ).