Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ПЛИС для цифрового аудио
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Steel_monkey
Подскажите совсем начинающему ПЛИСоводу. Есть четко поставленная задача: цифровая часть аудиоЦАП высокого класса. На плате будет несколько цифровых фильтров для параллельных ЦАП, которые надо коммутировать (аудиопоток передается по 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 .
iosifk
Цитата(Steel_monkey @ Sep 8 2015, 22:01) *
. Для начала хочу приобрести кит с программатором и потестировать его на макете

Для начала надо не стартовый набор покупать, а сделать проект в симуляторе..
Потом подумать, как в стартовый набор данные будут попадать и как из него извлекаться... А тот дешевый, который "без окон и без дверей" как к хосту подключите?
Maverick
Цитата(iosifk @ Sep 8 2015, 22:26) *
Для начала надо не стартовый набор покупать, а сделать проект в симуляторе..
Потом подумать, как в стартовый набор данные будут попадать и как из него извлекаться... А тот дешевый, который "без окон и без дверей" как к хосту подключите?

Полностью согласен и добавлю задача округления без потери качества звука будет. Здесь я вначале в матлабе алгоритм обработки промоделировал. Потом уже брался за реализацию. И когда уже процентов 60 проекта будет сделано можно выбирать ПЛИС, таким образом чтобы весь проект занимал около 60-70% емкости ПЛИС.
_4afc_
Цитата(Maverick @ Sep 8 2015, 22:55) *
Полностью согласен и добавлю задача округления без потери качества звука будет. Здесь я вначале в матлабе алгоритм обработки промоделировал. Потом уже брался за реализацию. И когда уже проценто. 60 проекта будет сделано можно выбирать ПЛИС


А разве задача создания устойчивого сигма-дельта модулятора 7 порядка в Матлабе, с последующей возможностью переноса результатов исследований в ПЛИС - является тривиальной задачей с выработанной методикой и решениями? Да ещё для новичка? wacko.gif
Steel_monkey
Конкретная реализация второй части проекта в симуляторе пока не стоит под вопросом. Цель - выбрать микросхему, которая решала бы подобную задачу с запасом (в разумных пределых). Если даже окажется, что задействовано 10-25% от ресурсов микросхемы - и хорошо. Чтобы во всем этом разобраться мне понадобится много времени, настолько затягивать реализацию в железе не хотелось бы, а просто сначала сделать цифровой коммутатор, думаю, можно достаточно просто.

Цитата(iosifk @ Sep 8 2015, 23:26) *
Для начала надо не стартовый набор покупать, а сделать проект в симуляторе..
Потом подумать, как в стартовый набор данные будут попадать и как из него извлекаться... А тот дешевый, который "без окон и без дверей" как к хосту подключите?

К какому хосту? PLL и GPIO на колодку выведены? Что еще понадобится?
iosifk
Цитата(Steel_monkey @ Sep 9 2015, 00:09) *
К какому хосту? PLL и GPIO на колодку выведены? Что еще понадобится?

Типичные рассуждения новичка... Ну есть иголки и что? Как там появятся данные?
Как проект отлаживать будете? По моргающим светодиодам?
Это же ПЛИС, а не микроконтроллер. Тут совсем другая технология и если "в микроконтроллерах" начинают со стартовых наборов, то в ПЛИС этим заканчивают, и только тогда, когда части проекта уже работают в симуляторе...
А уж желание купить "самое дешевое" - это и вовсе смешно. Месяц работы инженера стоит примерно от 1000 долл. до 2000 долл. При таких затратах цена стартового набор практически значения не имеет... Так же как и цена микросхемы для первой партии приборов. А иначе куда логический анализатор и отладочные модули денете?
Maverick
Цитата(_4afc_ @ Sep 8 2015, 23:31) *
А разве задача создания устойчивого сигма-дельта модулятора 7 порядка в Матлабе, с последующей возможностью переноса результатов исследований в ПЛИС - является тривиальной задачей с выработанной методикой и решениями? Да ещё для новичка? wacko.gif

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

Цитата
Цитата(Steel_monkey @ Sep 8 2015, 22:01) *

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


просто не имея мат. модели разработка для ПЛИС будет тяжелой. Допустим ТС разработает например фильтр, а коэффициенты где брать? Это мое мнение.
Матлаб можно заменить на программу С/С++/С#. Почему матлаб, отвечу там уже имеются большинство фильтров и функций для DSP обработки, не надо их писать самому...
А проверять как? В матлабе есть уже готовое FFT, применяем и смотрим спектр...
bugdesigner
Составьте для себя подробное техзадание. Нарисуйте блоксхему, особенное внимание интерфейсам (тип, разрядность). Прикиньте клоки, количество PLL. Нужно решить, сможете ли Вы применить BGA, а это означает минимум 4х слойную плату. Думаю, что остановитесь на TQFP. Решите, чем Вы будете всем этим управлять, какой будет юзер интерфейс - наверное понадобится МК (внешний или NIOS). Когда все учтёте, выбор будет не так уж велик.
Ну и идея насчёт симуляции является очень правильной. Более того, до предварительной сборки всего проекта я не советую начинать разработку печатной платы - чтоб потом меньше переделывать.
Maverick
Цитата(iosifk @ Sep 9 2015, 00:26) *
Как проект отлаживать будете? По моргающим светодиодам?

а что можно. Сделать типа азбуки морзе - 1 короткое моргание 2 длинных моргания и так далее... biggrin.gif
PS Шутка...
Golikov A.
Ага топчи его, топчи!

Спартан 6 LX9 это что-то рядом с циклоном 4, по насыщености потрашков. LUT и LE примерно одно и тоже, LE вроде чуть больше надо, за счет 6 входовых LUT у ксалинкса, против 4 входовых LE у Альтеры, поправьте если я не прав.
Возьмите табличку из spartan 6 overview и Cyclon IV overview и сравните что там рядом с LX9, на самом деле это не супер героическая микросхема по объему и забить ее умеючи труда не составляетsm.gif.

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

Если уже нет сил ждать и пробовать, то я рекомендую взять самый толстый 4 циклон из тех что в корпусе который вам подходит по методу пайки. В худшем случает останется у вас толстая отладочная плата, а вы сделаете вторую итерацию проекта с микросхемой поменьше, вы же не будите первую версию платы хреначить тиражом 100К экземпляров? И все равно будут какие-то ошибки. А ко 2 итерации у вас уже будет понимание по необходимым ресурсам
Steel_monkey
Цитата(iosifk @ Sep 9 2015, 01:26) *
Типичные рассуждения новичка... Ну есть иголки и что? Как там появятся данные?

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

Цитата(iosifk @ Sep 9 2015, 01:26) *
Как проект отлаживать будете? По моргающим светодиодам?

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

Цитата(iosifk @ Sep 9 2015, 01:26) *
Это же ПЛИС, а не микроконтроллер. Тут совсем другая технология и если "в микроконтроллерах" начинают со стартовых наборов, то в ПЛИС этим заканчивают, и только тогда, когда части проекта уже работают в симуляторе...

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

Цитата(iosifk @ Sep 9 2015, 01:26) *
А уж желание купить "самое дешевое" - это и вовсе смешно. Месяц работы инженера стоит примерно от 1000 долл. до 2000 долл. При таких затратах цена стартового набор практически значения не имеет... Так же как и цена микросхемы для первой партии приборов. А иначе куда логический анализатор и отладочные модули денете?

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

Цитата(Maverick @ Sep 9 2015, 08:34) *
просто не имея мат. модели разработка для ПЛИС будет тяжелой. Допустим ТС разработает например фильтр, а коэффициенты где брать? Это мое мнение.
Матлаб можно заменить на программу С/С++/С#. Почему матлаб, отвечу там уже имеются большинство фильтров и функций для DSP обработки, не надо их писать самому...
А проверять как? В матлабе есть уже готовое FFT, применяем и смотрим спектр...

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

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

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

Цитата(Maverick @ Sep 9 2015, 09:26) *
а что можно. Сделать типа азбуки морзе - 1 короткое моргание 2 длинных моргания и так далее... biggrin.gif
PS Шутка...

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

Цитата(Golikov A. @ Sep 9 2015, 10:52) *
Ага топчи его, топчи!

Спартан 6 LX9 это что-то рядом с циклоном 4, по насыщености потрашков. LUT и LE примерно одно и тоже, LE вроде чуть больше надо, за счет 6 входовых LUT у ксалинкса, против 4 входовых LE у Альтеры, поправьте если я не прав.
Возьмите табличку из spartan 6 overview и Cyclon IV overview и сравните что там рядом с LX9, на самом деле это не супер героическая микросхема по объему и забить ее умеючи труда не составляетsm.gif.

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

Цитата(Golikov A. @ Sep 9 2015, 10:52) *
А в целом люди правду говорят, проект для ПЛИС вообще изначально можно без железа сделать, и весь проверить, и даже узнать сколько места он займет. Ведь кроме LE есть еще ДСП блоки, есть Блоки памяти, есть всякие интерфейсы к DDR, и они разные и объем их разный у альтеры и ксалинкса, и кто его знает как они в вашу реализацию лягут...

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

Цитата(Golikov A. @ Sep 9 2015, 10:52) *
Если уже нет сил ждать и пробовать, то я рекомендую взять самый толстый 4 циклон из тех что в корпусе который вам подходит по методу пайки. В худшем случает останется у вас толстая отладочная плата, а вы сделаете вторую итерацию проекта с микросхемой поменьше, вы же не будите первую версию платы хреначить тиражом 100К экземпляров? И все равно будут какие-то ошибки. А ко 2 итерации у вас уже будет понимание по необходимым ресурсам

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

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

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

если речь про кубики, то думаю лучше взять Cyclone V GX Starter Kit или что-то похожее.
заодно попробуете GX-трансивер в качестве выхода с 3,125G-ШИМом

ну и с тиражом 1 штука изготовление своей платы надо отложить на последний момент, когда на кубиках всё заработает.
iosifk
Цитата(Steel_monkey @ Sep 9 2015, 12:23) *
Подам с другой макетной платы для начала, делов то. Это же не 100 МГц, тут гребенка вполне должна сработать (если сделана правильно, естественно). Этот набор я рассматриваю исходя из двух вещей - программатор и не самый слабый кристалл.

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

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

Вообще-то я имел в виду встроенный в ПЛИС логический анализатор...
UART никто не отменял, но так же никто не отменял и протокол передачи данных, который должен быть надстроен над ним сверху. Умеете делать обработчик протокола в ПЛИС?
AlexRayne
Оставьте идею фикс с ПЛИСами если у вас нет опыта работы с ними, сделайте дучше на ДСП - быстрее надежнее и проще и дешевле получится конечное изделие - все же ДСП более массовый продукт и более дешевый. для них имеется множество готовых библиотек. то что вы попали на 32бит отсчеты может конечно быть проблемой, но полагаю невеликой - придется перевелосипедить образцовую библиотеку на новые типы данных, но дури в современных ДСП хватает чтобы обрабатывать звук в релтайме полюбому, ну скорость упадет раза в 4. а может и без ДСП - АРМом обойдетесь
Steel_monkey
Цитата(iosifk @ Sep 9 2015, 14:48) *
Могу предложить персональные занятия по ПЛИС. Базовый курс...

Спасибо, сначала все изучу по книгам.


Цитата(iosifk @ Sep 9 2015, 14:48) *
Вообще-то я имел в виду встроенный в ПЛИС логический анализатор...
UART никто не отменял, но так же никто не отменял и протокол передачи данных, который должен быть надстроен над ним сверху. Умеете делать обработчик протокола в ПЛИС?

Нет, такого не умею, но если есть связка плис-контроллер, то как-то через этот самый контроллер выдать отладочные данные из ПЛИСки можно.

Цитата(Golikov A. @ Sep 9 2015, 14:33) *
Если тираж 1 партия, то пихайте самый толстый циклон что естьsm.gif.
Разница с худым будет сильно меньше цены ошибки и необходимости переделать всю плату. Все эти экономии на тираже имеют смысл.

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


C Xilinx связываться не хочу, уже какой-то опыт с альтерой есть, да и программатор дороже.

Цитата(krux @ Sep 9 2015, 14:36) *
его поддержку в последних квартусах уже вырезали.

Жаль

Цитата(krux @ Sep 9 2015, 14:36) *
если речь про кубики, то думаю лучше взять Cyclone V GX Starter Kit или что-то похожее.
заодно попробуете GX-трансивер в качестве выхода с 3,125G-ШИМом

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

Хороший кит, но, во первых, дороговат, во вторых, много не нужной мне в этом проекте периферии. 3,125G ШИМ мне не понадобится, максимальная частота ДС модулятора около 12 МГц, что связано с наличием качественных кристаллов на аудио частоты (очень высокочастотными их не делают), а данные надо реклокнуть внешним триггером.
bugdesigner
Цитата(Steel_monkey @ Sep 9 2015, 15:01) *
Жаль
3,125G ШИМ мне не понадобится, максимальная частота ДС модулятора около 12 МГц

Для таких задач Cyclone 3 вполне достаточно, да и по цене приемлемо. То, что в последнем квартусе нет поддержки не большая проблема, всегда есть старый, проверенный квартус 13.1. Хотя, можете взять 4й циклон, дороже практически не будет. К тому же имеется недорогой кит с циклоном 4 на 22к LE.
Steel_monkey
Цитата(bugdesigner @ Sep 9 2015, 16:31) *
Для таких задач Cyclone 3 вполне достаточно, да и по цене приемлемо. То, что в последнем квартусе нет поддержки не большая проблема, всегда есть старый, проверенный квартус 13.1. Хотя, можете взять 4й циклон, дороже практически не будет. К тому же имеется недорогой кит с циклоном 4 на 22к LE.

Вроде хороший и недорогой вариант. Чем мне не нравятся китайские киты с ебая так это полной безграмотностью (хотя чего еще ждать от китайцев за такие деньги?). На PLD панели длиной в 20 линий одна-две земли, хотя, строго говоря, необходимо чередование земля-сигнал, разводка тоже мне не нравится. Хотелось бы иметь более-менее грамотную борду. В этой плате, к сожалению, такой же косяк. Про то, что не ставят последовательно с сигналом резисторы на плате ПЛИС я уже и не говорю.
bugdesigner
Цитата(Steel_monkey @ Sep 9 2015, 16:25) *
Вроде хороший и недорогой вариант. Чем мне не нравятся китайские киты с ебая так это полной безграмотностью (хотя чего еще ждать от китайцев за такие деньги?).

Terasic рекомендуется самой Альтерой и качество их китов на высоте. Я у них именно такой кит покупал года три назад - выполнен безупречно. Как мне кажется, это карманная компания Альтеры и чипы им отдаются по минимальной цене. Если посчитать стоимость комплетующих, получается больше стоимости готовой платы. Цель понятна - присадить разработчиков на свои продукты.
Steel_monkey
Цитата(bugdesigner @ Sep 10 2015, 00:41) *
Terasic рекомендуется самой Альтерой и качество их китов на высоте. Я у них именно такой кит покупал года три назад - выполнен безупречно. Как мне кажется, это карманная компания Альтеры и чипы им отдаются по минимальной цене. Если посчитать стоимость комплетующих, получается больше стоимости готовой платы. Цель понятна - присадить разработчиков на свои продукты.

Да я согласен, плата хороша. Я одного не понял, можно ли с его помощью без ковыряния платы программировать другие чипы, или только тот, что установлен?
bugdesigner
Цитата(Steel_monkey @ Sep 10 2015, 10:44) *
можно ли с его помощью без ковыряния платы программировать другие чипы, или только тот, что установлен?
Увы, без ковыряния не выйдет. Можно купить клон USB Blaster у китайцев за символическую плату, или сделать свой. Правда, со своим встаёт вопрос курицы и яйца. Можно, конечно найти комп с LPT и слепить Byteblaster LPT практически за копейки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.