Комментарии к блок-схеме флэш-транспорта.
1. Пока это окончательно
незавершенная разработка.
2. Концептуально это
автономное узкоспециализированное исключительно цифровое устройство понимающее только формат 44,1кГц / 16 бит
(универсальность вещь конечно приятная, но очень не хотелось бы расплачиваться за нее звуком, либо лавинообразно нарастающей сложностью разработки).
3.
Чисто аппаратное (схемотехническое) решение (на Альтере) было выбрано из соображений минимизации любого джитера.
4. Концептуально было принято решение, что все в схеме будет принципиально тактироваться от одного общего мастерклока кратного частоте 44,1кГц (44,1*768).
Все необходимые частоты и тактовые импульсы получаются внутри Альтерки путем деления этой частоты (узел «Main CLK Counter»).
Сначала была Альтерка подключенная к LPT-порту ноутбука работающего под DOS-ом (реалтайм аднака

).
Воспроизведение делалось маленькой ассемблерной программкой читающей wav-ку,
и по мере необходимости подкачивающей байты в Альтеру.
4 байта стробируются сигналом /Shift и сдвигаются в сдвиговом регистре «8/32 bit Reg»
в результате получается 32 разрядное слово (2*16 бит = левый + правый канал).
Это 32 битное слово подается на вход небольшого буфера FIFO (First In First Out) “первый зашел, первый вышел”. Запись слова в FIFO производится стробом по линии /Stb.
Квитирование записи происходит по линии FSt0, остальные линии служат для индикации состояния буфера (полон /пуст, осталось одно слово).
Слова в FIFO-буфере передвигаются естественно с частотой 44,1 кГц.
Далее, с выхода FIFO информация идет на передатчики I2S и S/PDIF.
Чисто пароноидальный узел «ReClock» на выходе,
представляет собой D-тригеры, работающие по переднему фронту
(а Main CLK Counter» работает по заднему фронту),
т.е. происходит принудительное выравнивание фронтов выходных сигналов.
Таким образом джитер определяется исключительно величиной джитера мастерклока.
После того как у меня «заиграла» Алтерка, на ATmega16 была сделана «читалка» флешкарты.
Максимальная частота (по паспорту) для этого чипа 16мГц, однако как показала практика,
он без проблем (при 5 вольтовом питании) работает и на 16,9344мГц.
Процесс воспроизведения в Атмеге «рултится» по com-портовому интерфейсу.
В настоящий момент от все того же ноутбука, в последствии будет еще один процессор, обслуживающий ЖК-дисплей, клавиатуру и ДУ.
(Мухи отдельно, котлеты отдельно – ибо нефиг нагружать лишними задачами звуковоспроизводящий процессор)
Собственно транспорт схемотехнически выглядит достаточно просто
– три чипа на макетной плате.
Все в общем-то упихано внутрь прошивок.