Опорные частоты в PCM процессорах

Система для записи-воспроизведения РСМ разрабатывалась в виде приставки, предполагая использование готовых профессиональных и бытовых видеомагнитофонов без модификаций. Поэтому частоту дискретизации звука нужно было привязать к частотам, на основе которых формируется NTSC видеосигнал. Была выбрана частота 44100 Гц. Подробнее об этом можно прочитать в статье On Several Standards for Converting PCM Signals into Video Signals. Для NTSC эта частота актуальна при использовании черно-белого стандарта с частотой кадров равной 30. Для цветного NTSC частота кадров на 0,1% ниже и составляет 29,97 кадров в секунду. Следовательно, частота дискретизации для цветного NTSC будет равна 44056 Гц (44055,94 Гц). Несмотря на то, что в разных стандартах РСМ используется разная величина разрядности семплов (от 12 до 16), битовая частота (bitrate) аудио потока рассчитывается исходя из 16-ти бит на семпл (вероятно, это было удобно при использовании 8-битных регистров стандартной логики).

NTSC        44100 Гц х 16 бит х 2 канала =  1411200 бит в секунду
NTSC Color ~44056 Гц х 16 бит х 2 канала = ~1409792 бит в секунду

Впоследствии данный стандарт стал применяться в CDDA (Compact Disc Digital Audio или Audio CD), который используется по сей день и не претерпел особых изменений. Даже в наши дни его поддерживают подавляющее большинство современных звуковых карт и ресиверов.

PCM Format С уже разрабатывался не только под видеостандарт NTSC (STC-007), но и под PAL/SECAM (STC-008, IEC 60841-1988)*. В Format С каждая строка видеосигнала разделена на 168 интервалов (бит). Следовательно, частота заполнения строки данными должна быть равна:

NTSC           30 х 525 х 168 =  2646000 Hz (2.646 MHz)    
NTSC Color ~29.97 х 525 х 168 = ~2643356.64 Hz (~2.643 MHz)
PAL            25 х 625 х 168 =  2625000 Hz (2.625 MHz)   `

Получившиеся значения – это частоты, с которыми должны считываться биты из буферной памяти для заполнения видеостроки (RMCK, read memory bit clock). Поступление данных в буфер, в свою очередь будет выполняться с битовой частотой аудио потока (WMCK, write memory bit clock). Чтобы эти два процесса были синхронными, у них должна быть общая опорная частота (MCLK, master clock). Есть несколько подходов к решению этой задачи, но почти во всех PCM-процессорах использовался кварцевый резонатор, у которого опорной частотой является наименьшее общее кратное (least common multiple) между частотами RMCK и WMCK.

Parameter NTSC NTSC Color PAL/SECAM
Read memory bit clock 2.646 MHz ~2.643 MHz 2.625 MHz
Write memory bit clock 1.4112 MHz ~1.4098 MHz 1.4112 MHz
Least common multiple 21.168 MHz ~21.14685 MHz 882 MHz (!)

Для NTSC это 21,168 МГц, для NTSC Color – 21,1468 МГц. Эти значения не являлись стандартными (и не являются до сих пор) и требовали изготовления специализированных кварцевых резонаторов. Для PAL потребовалось бы изготовить кварцевый резонатор на частоту 882 МГц, что является нетривиальной задачей и сегодня, поэтому RMCK формировалась на основе схемы ФАПЧ с применением резонатора на ту же частоту, как и в NTSC – 21,168 МГц.

Например, в SONY РСМ-701ES и PCM-F1 это сделано по следующей схеме (рис. 1). Для получения в PAL частоты RMCK на тех же делителях, что и для NTSC, MCLK понижали до 21,000 МГц.

Рис. 1. Схема получения MCLK для PAL в SONY РСМ-701ES / PCM-F1

Схема получения опорных частот для NTSC и PAL представлена рис. 2.

Рис. 2. Блок-схема деления частот
Получение опорных частот в ПЛИС

При проектировании РСМ Coder’а было решено применить готовый S/PDIF приемник WM8805. Это дает возможность получить цифровой звук в формате I2S, в котором помимо основных сигналов LRCK, DATA, BCLK есть дополнительный основной тактовый сигнал MCLK (master clock). Как правило, он в кратное число раз выше частоты дискретизации: 128fs, 256fs, 512fs и т.д. Выбранный нами приемник WM8805 имеет встроенную схему ФАПЧ, которая позволяет получить 256fs из опорного кварцевого резонатора на 12 МГц. При частоте дискретизации 44100 Гц MCLK будет равна 11,2896 МГц. Этот сигнал мы применили в качестве основного тактового сигнала в ПЛИС. Однако, получить из него любую из необходимых частот для формирования псевдо-видео сигнала средствами обычной логики невозможно. Поэтому были задействованы встроенные в ПЛИС два блока ФАПЧ. Получить эти частоты из 256fs при помощи только одного блока ФАПЧ невозможно из-за ограничений по выбору коэффициентов в используемой нами модели ПЛИС. Первый ФАПЧ формирует из входной частоты 11,2896 МГц РСМ MCLK 21,168 МГц (коэффициент 15/8). Формировать MCLK специально для NTSC Color нет необходимости, т.к. ФАПЧ WM8805 при подаче цифрового сигнала S/PDIF с частотой дискретизации 44056 Гц выдаст опорную частоту в ~11.2783 МГц. Сигнал этой частоты после ФАПЧ в ПЛИС станет равным ~21,1468 МГц. Далее сигнал РСМ MCLK из первой схемы ФАПЧ поступает на вторую, которая используется для получения WMCK и RMCK для NTSC и PAL.
Используются следующие коэффициенты:

NTSC PAL/SECAM
Bit clock to write memory (WMCK) 1/8 125/1008
Bit clock to read memory (RMCK) 1/15*

* Получить одновременно все три частоты в одной ФАПЧ нельзя, поэтому при переключении между PAL и NTSC выполняется автоматическая перенастройка ФАПЧ. Однако, ввиду некоторых ограничений перенастройки невозможно получить RMCK с коэффициентом 1/15. Его пришлось увеличить до 1/3 и разделить еще на 5 дополнительными счетчиками на триггерах вне петли ФАПЧ.

При подаче S/PDIF сигнала с частотой дискретизации не равной 44100 Гц, приемник в соответствии с ней будет формировать MCLK, величина которого будет значительно отличаться от 11,2896 МГц. В этом случае первая ФАПЧ в ПЛИС перенастраивается с коэффициентом 67/38 на тактовый сигнал 12 МГц, подаваемый с выхода генератора S/PDIF приемника. Это позволяет получить достаточно близкую к 21,168МГц частоту ~21,157895 МГц. На видеовыходе частота кадров будет ~29,9857 в NTSC и ~24,9881 в PAL. Поскольку в этом случае аудио данные не принимаются и формируется только видеосигнал в режиме REC MUTE, отклонения ±0,05% от номинальной частоты кадров можно считать приемлемыми.