В рамках основного проекта БК-0012 возникла существенная проблема с реализацией mp3-модуля. Изначально предполагалось использование готового модуля vs1011b, но тогда бы возникло противоречие с разным импедансом выходов AY и встроенного усилителя vs1011b (непонятно как их в один объединять). Кроме того, в чипе vs1011b слишком низкокачественный DAC и усилитель. Тогда обратили внимание в сторону DAC CS4344 и усилителя OPA2134. Также был рассмотрен mp3-чип STA013, в котором нет DAC и усилителя. В итоге возникли следующие возможные варианты:
1. Самый оптимальный. Из ПЛИС сигнал поступает на DAC CS4344 и далее на усилитель OPA2134. Декодированием mp3 занимается DSP C54xx, портированный в ПЛИС (лежит на opencores на Verilog), для которого есть открытый код по воспроизведению mp3, разместить который можно будет также внутри ПЛИС.
Такой вариант с любой точки зрения оптимален, удобно объединяются в один канал реальный AY, mp3-звук, несжатый звук, soft-AY (FPGA).
Остается одна проблема - кто провернет эту программистскую спецоперацию с DSP. В частности, чтобы этот DSP умел сам брать из памяти поток данных для воспроизведения. Нет желающих оказать помощь?
2. Использование готового модуля mp3 - STA013. При этом, для универсального использования DAC CS4344, придется выход STA013 завести обратно в ПЛИС (заняв несколько дефицитных ног ПЛИС), а из ПЛИС на DAC CS4344 выводить уже нужный поток (несжатый звук, декодированный mp3 или soft-AY). Останется нерешенной одна большая проблема: кто будет подавать mp3-поток на STA013? Если это будет делать ЦП, то будет сильно тратить на это свой ресурс, если не ЦП, то потребуется дополнительный контроллер I2C и еще контроллер ПДП + SPI, чтобы STA013 сама брала данные из памяти. Можно конечно взвалить все эти функции на PIC32MX, но нужно его для этого соответствующим образом запрограммировать и придумать эффективный протокол взаимодействия с ЦП.
В общем всё сложно.. Может у кого есть идеи..
В бюджет проекта не входит FPGA-реализация контроллера ПДП и плавающего сопроцессора. Может кому-то интересно было бы заняться этим как говорится "для души", т.е. не на финансовой основе (платить просто нечем, по крайней мере в ближайшие 2 года - расплатиться бы по основному проекту.)
Как вариант - если кто-то решится выделить доп. финансирование (сверх 300 тыс, которые сейчас весит проект) - тогда мой разработчик взял бы на себя решение и этой проблемы. Т.е. помочь можно либо программированием/проектированием, либо деньгами.




Ответить с цитированием