Перейти к содержанию
    

ПЛИС для цифрового аудио

Подскажите совсем начинающему ПЛИСоводу. Есть четко поставленная задача: цифровая часть аудиоЦАП высокого класса. На плате будет несколько цифровых фильтров для параллельных ЦАП, которые надо коммутировать (аудиопоток передается по I2S, максимально, что придется передавать - клок от самой платы ЦАП к цифровому фильтру, 16 или 22 МГц, и, возможно, с помощью ФАПЧ нужно будет множить частоту на 2/3), и дельта-сигма модулятор SAA7350 (выход однобитный поток ~8 МГц). Эта базовая задача, понятно, решается любой дешевой ПЛИС. Вторая задача (сначала хотел решать её на DSP, но, кажется, с ПЛИС будет проще)- сделать самодельный цифровой интерполирующий фильтр 2-4-8-16х кратности с разрядностью вычислений не менее 32 бит, а также иметь возможность реализовать сигма-дельта модулятор для однобитного аудиоЦАПа (порядок модулятора 6 или 7 ой, частота потока 192 или 384 fs или около 8-16 МГц). Так как делается все не за казенный счет, то хочется тратиться "по минимуму", фирма производитель - только альтера. На данный момент опыт с ПЛИС ограничивается заливкой прошивки в какой-то ACEX и составление задержки сигнала на несколько тактов в максплюсе на EPM3032, поэтому собрать и прикинуть проект заранее возможности нет, да и в начале предполагается только коммутационная функция ПЛИС. Есть информация, что все это помещается в Спартан6 LX9, но как он сопоставляется по DSP возможностям с циклонами я не очень понимаю. Для начала хочу приобрести кит с программатором и потестировать его на макете http://www.ebay.com/itm/EP3C10-Cyclone-III...=item3f2aa7ac1f , а в финальную плату включить http://www.ebay.com/itm/ALTERA-EP3C25E144C...=item4addf9939d . Хватит ли этого камня? Вот ссылка на проект http://forum.vegalab.ru/showthread.php?t=7...l=1#post2093779 .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

. Для начала хочу приобрести кит с программатором и потестировать его на макете

Для начала надо не стартовый набор покупать, а сделать проект в симуляторе..

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала надо не стартовый набор покупать, а сделать проект в симуляторе..

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

Полностью согласен и добавлю задача округления без потери качества звука будет. Здесь я вначале в матлабе алгоритм обработки промоделировал. Потом уже брался за реализацию. И когда уже процентов 60 проекта будет сделано можно выбирать ПЛИС, таким образом чтобы весь проект занимал около 60-70% емкости ПЛИС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полностью согласен и добавлю задача округления без потери качества звука будет. Здесь я вначале в матлабе алгоритм обработки промоделировал. Потом уже брался за реализацию. И когда уже проценто. 60 проекта будет сделано можно выбирать ПЛИС

 

А разве задача создания устойчивого сигма-дельта модулятора 7 порядка в Матлабе, с последующей возможностью переноса результатов исследований в ПЛИС - является тривиальной задачей с выработанной методикой и решениями? Да ещё для новичка? :wacko:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конкретная реализация второй части проекта в симуляторе пока не стоит под вопросом. Цель - выбрать микросхему, которая решала бы подобную задачу с запасом (в разумных пределых). Если даже окажется, что задействовано 10-25% от ресурсов микросхемы - и хорошо. Чтобы во всем этом разобраться мне понадобится много времени, настолько затягивать реализацию в железе не хотелось бы, а просто сначала сделать цифровой коммутатор, думаю, можно достаточно просто.

 

Для начала надо не стартовый набор покупать, а сделать проект в симуляторе..

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

К какому хосту? PLL и GPIO на колодку выведены? Что еще понадобится?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К какому хосту? PLL и GPIO на колодку выведены? Что еще понадобится?

Типичные рассуждения новичка... Ну есть иголки и что? Как там появятся данные?

Как проект отлаживать будете? По моргающим светодиодам?

Это же ПЛИС, а не микроконтроллер. Тут совсем другая технология и если "в микроконтроллерах" начинают со стартовых наборов, то в ПЛИС этим заканчивают, и только тогда, когда части проекта уже работают в симуляторе...

А уж желание купить "самое дешевое" - это и вовсе смешно. Месяц работы инженера стоит примерно от 1000 долл. до 2000 долл. При таких затратах цена стартового набор практически значения не имеет... Так же как и цена микросхемы для первой партии приборов. А иначе куда логический анализатор и отладочные модули денете?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А разве задача создания устойчивого сигма-дельта модулятора 7 порядка в Матлабе, с последующей возможностью переноса результатов исследований в ПЛИС - является тривиальной задачей с выработанной методикой и решениями? Да ещё для новичка? :wacko:

Задача тоже не тривиальная...

ТС ничего не написал про уже имеющийся алгоритм:

 

Вторая задача (сначала хотел решать её на DSP, но, кажется, с ПЛИС будет проще)- сделать самодельный цифровой интерполирующий фильтр 2-4-8-16х кратности с разрядностью вычислений не менее 32 бит, а также иметь возможность реализовать сигма-дельта модулятор для однобитного аудиоЦАПа (порядок модулятора 6 или 7 ой, частота потока 192 или 384 fs или около 8-16 МГц). .

 

просто не имея мат. модели разработка для ПЛИС будет тяжелой. Допустим ТС разработает например фильтр, а коэффициенты где брать? Это мое мнение.

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

А проверять как? В матлабе есть уже готовое FFT, применяем и смотрим спектр...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Составьте для себя подробное техзадание. Нарисуйте блоксхему, особенное внимание интерфейсам (тип, разрядность). Прикиньте клоки, количество PLL. Нужно решить, сможете ли Вы применить BGA, а это означает минимум 4х слойную плату. Думаю, что остановитесь на TQFP. Решите, чем Вы будете всем этим управлять, какой будет юзер интерфейс - наверное понадобится МК (внешний или NIOS). Когда все учтёте, выбор будет не так уж велик.

Ну и идея насчёт симуляции является очень правильной. Более того, до предварительной сборки всего проекта я не советую начинать разработку печатной платы - чтоб потом меньше переделывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как проект отлаживать будете? По моргающим светодиодам?

а что можно. Сделать типа азбуки морзе - 1 короткое моргание 2 длинных моргания и так далее... :biggrin:

PS Шутка...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага топчи его, топчи!

 

Спартан 6 LX9 это что-то рядом с циклоном 4, по насыщености потрашков. LUT и LE примерно одно и тоже, LE вроде чуть больше надо, за счет 6 входовых LUT у ксалинкса, против 4 входовых LE у Альтеры, поправьте если я не прав.

Возьмите табличку из spartan 6 overview и Cyclon IV overview и сравните что там рядом с LX9, на самом деле это не супер героическая микросхема по объему и забить ее умеючи труда не составляет:).

 

А в целом люди правду говорят, проект для ПЛИС вообще изначально можно без железа сделать, и весь проверить, и даже узнать сколько места он займет. Ведь кроме LE есть еще ДСП блоки, есть Блоки памяти, есть всякие интерфейсы к DDR, и они разные и объем их разный у альтеры и ксалинкса, и кто его знает как они в вашу реализацию лягут...

 

Если уже нет сил ждать и пробовать, то я рекомендую взять самый толстый 4 циклон из тех что в корпусе который вам подходит по методу пайки. В худшем случает останется у вас толстая отладочная плата, а вы сделаете вторую итерацию проекта с микросхемой поменьше, вы же не будите первую версию платы хреначить тиражом 100К экземпляров? И все равно будут какие-то ошибки. А ко 2 итерации у вас уже будет понимание по необходимым ресурсам

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Типичные рассуждения новичка... Ну есть иголки и что? Как там появятся данные?

Подам с другой макетной платы для начала, делов то. Это же не 100 МГц, тут гребенка вполне должна сработать (если сделана правильно, естественно). Этот набор я рассматриваю исходя из двух вещей - программатор и не самый слабый кристалл.

 

Как проект отлаживать будете? По моргающим светодиодам?

+ четырехканальный осциллограф, если потребуется. Вообще, конечно, профильное обраование имеется, просто нет опыта именно с ПЛИС и небольшой с цифрой.

 

Это же ПЛИС, а не микроконтроллер. Тут совсем другая технология и если "в микроконтроллерах" начинают со стартовых наборов, то в ПЛИС этим заканчивают, и только тогда, когда части проекта уже работают в симуляторе...

Это если просто учиться и делать что-нибудь без конкретной цели. У меня, вроде, задача ясно поставлена.

 

А уж желание купить "самое дешевое" - это и вовсе смешно. Месяц работы инженера стоит примерно от 1000 долл. до 2000 долл. При таких затратах цена стартового набор практически значения не имеет... Так же как и цена микросхемы для первой партии приборов. А иначе куда логический анализатор и отладочные модули денете?

Вроде же написано, что буду делать сам. Никакой партии не предвидится, прибор исключительно для личного потребления (максимум пару плат желающим на продажу, если таковые найдутся, хотя я сомневаюсь). Отладочные модули просто положу на полку, поэтому они должны быть недорогими.

 

просто не имея мат. модели разработка для ПЛИС будет тяжелой. Допустим ТС разработает например фильтр, а коэффициенты где брать? Это мое мнение.

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

А проверять как? В матлабе есть уже готовое FFT, применяем и смотрим спектр...

Ясное дело, что писать самому алгоритмы цифровой обработки - глупость. Для начала, коэффициенты того же SM5847 доступны в сети. Буду сидеть с матлабом (хотя я его не перевариваю, плотненько использую maple).

 

Составьте для себя подробное техзадание. Нарисуйте блоксхему, особенное внимание интерфейсам (тип, разрядность). Прикиньте клоки, количество PLL. Нужно решить, сможете ли Вы применить BGA, а это означает минимум 4х слойную плату. Думаю, что остановитесь на TQFP. Решите, чем Вы будете всем этим управлять, какой будет юзер интерфейс - наверное понадобится МК (внешний или NIOS). Когда все учтёте, выбор будет не так уж велик.

Ну и идея насчёт симуляции является очень правильной. Более того, до предварительной сборки всего проекта я не советую начинать разработку печатной платы - чтоб потом меньше переделывать.

Понятно, что плата должна содержать минимум 4 слоя, если BGA то, думаю, минимум 6. Для управления, которого достаточно много, возьму толстый STM32, а точнее для начала отладочную плату дискавери. Блок-схема уже есть, задача - выбрать правильные кубики.

 

а что можно. Сделать типа азбуки морзе - 1 короткое моргание 2 длинных моргания и так далее... :biggrin:

PS Шутка...

USART уже запрещен законом к использованию?

 

Ага топчи его, топчи!

 

Спартан 6 LX9 это что-то рядом с циклоном 4, по насыщености потрашков. LUT и LE примерно одно и тоже, LE вроде чуть больше надо, за счет 6 входовых LUT у ксалинкса, против 4 входовых LE у Альтеры, поправьте если я не прав.

Возьмите табличку из spartan 6 overview и Cyclon IV overview и сравните что там рядом с LX9, на самом деле это не супер героическая микросхема по объему и забить ее умеючи труда не составляет:).

По параметрам он примерно как EP3C10, но я не очень понимаю, насколько он сильнее именно по DSP возможностям.

 

А в целом люди правду говорят, проект для ПЛИС вообще изначально можно без железа сделать, и весь проверить, и даже узнать сколько места он займет. Ведь кроме LE есть еще ДСП блоки, есть Блоки памяти, есть всякие интерфейсы к DDR, и они разные и объем их разный у альтеры и ксалинкса, и кто его знает как они в вашу реализацию лягут...

Собственно кроме DSP блоков мне больше ничего и не надо, никаких DDR и прочего. Умножители, как я понимаю, что в xilinx, что в altera, 18-разрядные, но насколько xilinx сильнее по DSP пока я не очень понимаю.

 

Если уже нет сил ждать и пробовать, то я рекомендую взять самый толстый 4 циклон из тех что в корпусе который вам подходит по методу пайки. В худшем случает останется у вас толстая отладочная плата, а вы сделаете вторую итерацию проекта с микросхемой поменьше, вы же не будите первую версию платы хреначить тиражом 100К экземпляров? И все равно будут какие-то ошибки. А ко 2 итерации у вас уже будет понимание по необходимым ресурсам

Тираж - 1 штука. Микросхемки цифровых фильтров достаточно дороги для меня (тот же PMD100 около 5000), не хотелось бы их запаивать-выпаивать. Тогда действительно посмотрю циклон потолще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если тираж 1 партия, то пихайте самый толстый циклон что есть:).

Разница с худым будет сильно меньше цены ошибки и необходимости переделать всю плату. Все эти экономии на тираже имеют смысл.

 

Кстати на Е-бай есть модуль с распаенным 6 спартаном как раз x9 все нужные ножки просто на 2.54 гребенку, если он подходит, то зачем альтера?:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По параметрам он примерно как EP3C10

его поддержку в последних квартусах уже вырезали.

 

если речь про кубики, то думаю лучше взять Cyclone V GX Starter Kit или что-то похожее.

заодно попробуете GX-трансивер в качестве выхода с 3,125G-ШИМом

 

ну и с тиражом 1 штука изготовление своей платы надо отложить на последний момент, когда на кубиках всё заработает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подам с другой макетной платы для начала, делов то. Это же не 100 МГц, тут гребенка вполне должна сработать (если сделана правильно, естественно). Этот набор я рассматриваю исходя из двух вещей - программатор и не самый слабый кристалл.

 

+ четырехканальный осциллограф, если потребуется. Вообще, конечно, профильное обраование имеется, просто нет опыта именно с ПЛИС и небольшой с цифрой.

Могу предложить персональные занятия по ПЛИС. Базовый курс...

 

Вообще-то я имел в виду встроенный в ПЛИС логический анализатор...

UART никто не отменял, но так же никто не отменял и протокол передачи данных, который должен быть надстроен над ним сверху. Умеете делать обработчик протокола в ПЛИС?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оставьте идею фикс с ПЛИСами если у вас нет опыта работы с ними, сделайте дучше на ДСП - быстрее надежнее и проще и дешевле получится конечное изделие - все же ДСП более массовый продукт и более дешевый. для них имеется множество готовых библиотек. то что вы попали на 32бит отсчеты может конечно быть проблемой, но полагаю невеликой - придется перевелосипедить образцовую библиотеку на новые типы данных, но дури в современных ДСП хватает чтобы обрабатывать звук в релтайме полюбому, ну скорость упадет раза в 4. а может и без ДСП - АРМом обойдетесь

Изменено пользователем AlexRayne

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...