|
ПЛИС для цифрового аудио |
|
|
|
Sep 8 2015, 19:01
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 12-05-07
Из: Северная Венеция
Пользователь №: 27 684

|
Подскажите совсем начинающему ПЛИСоводу. Есть четко поставленная задача: цифровая часть аудиоЦАП высокого класса. На плате будет несколько цифровых фильтров для параллельных ЦАП, которые надо коммутировать (аудиопоток передается по 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 .
|
|
|
|
|
Sep 8 2015, 21:09
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 12-05-07
Из: Северная Венеция
Пользователь №: 27 684

|
Конкретная реализация второй части проекта в симуляторе пока не стоит под вопросом. Цель - выбрать микросхему, которая решала бы подобную задачу с запасом (в разумных пределых). Если даже окажется, что задействовано 10-25% от ресурсов микросхемы - и хорошо. Чтобы во всем этом разобраться мне понадобится много времени, настолько затягивать реализацию в железе не хотелось бы, а просто сначала сделать цифровой коммутатор, думаю, можно достаточно просто. Цитата(iosifk @ Sep 8 2015, 23:26)  Для начала надо не стартовый набор покупать, а сделать проект в симуляторе.. Потом подумать, как в стартовый набор данные будут попадать и как из него извлекаться... А тот дешевый, который "без окон и без дверей" как к хосту подключите? К какому хосту? PLL и GPIO на колодку выведены? Что еще понадобится?
|
|
|
|
|
Sep 8 2015, 21:26
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Steel_monkey @ Sep 9 2015, 00:09)  К какому хосту? PLL и GPIO на колодку выведены? Что еще понадобится? Типичные рассуждения новичка... Ну есть иголки и что? Как там появятся данные? Как проект отлаживать будете? По моргающим светодиодам? Это же ПЛИС, а не микроконтроллер. Тут совсем другая технология и если "в микроконтроллерах" начинают со стартовых наборов, то в ПЛИС этим заканчивают, и только тогда, когда части проекта уже работают в симуляторе... А уж желание купить "самое дешевое" - это и вовсе смешно. Месяц работы инженера стоит примерно от 1000 долл. до 2000 долл. При таких затратах цена стартового набор практически значения не имеет... Так же как и цена микросхемы для первой партии приборов. А иначе куда логический анализатор и отладочные модули денете?
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Sep 9 2015, 04:34
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(_4afc_ @ Sep 8 2015, 23:31)  А разве задача создания устойчивого сигма-дельта модулятора 7 порядка в Матлабе, с последующей возможностью переноса результатов исследований в ПЛИС - является тривиальной задачей с выработанной методикой и решениями? Да ещё для новичка?  Задача тоже не тривиальная... ТС ничего не написал про уже имеющийся алгоритм: Цитата Цитата(Steel_monkey @ Sep 8 2015, 22:01)  Вторая задача (сначала хотел решать её на DSP, но, кажется, с ПЛИС будет проще)- сделать самодельный цифровой интерполирующий фильтр 2-4-8-16х кратности с разрядностью вычислений не менее 32 бит, а также иметь возможность реализовать сигма-дельта модулятор для однобитного аудиоЦАПа (порядок модулятора 6 или 7 ой, частота потока 192 или 384 fs или около 8-16 МГц). .
просто не имея мат. модели разработка для ПЛИС будет тяжелой. Допустим ТС разработает например фильтр, а коэффициенты где брать? Это мое мнение. Матлаб можно заменить на программу С/С++/С#. Почему матлаб, отвечу там уже имеются большинство фильтров и функций для DSP обработки, не надо их писать самому... А проверять как? В матлабе есть уже готовое FFT, применяем и смотрим спектр...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Sep 9 2015, 04:44
|
Частый гость
 
Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133

|
Составьте для себя подробное техзадание. Нарисуйте блоксхему, особенное внимание интерфейсам (тип, разрядность). Прикиньте клоки, количество PLL. Нужно решить, сможете ли Вы применить BGA, а это означает минимум 4х слойную плату. Думаю, что остановитесь на TQFP. Решите, чем Вы будете всем этим управлять, какой будет юзер интерфейс - наверное понадобится МК (внешний или NIOS). Когда все учтёте, выбор будет не так уж велик. Ну и идея насчёт симуляции является очень правильной. Более того, до предварительной сборки всего проекта я не советую начинать разработку печатной платы - чтоб потом меньше переделывать.
|
|
|
|
|
Sep 9 2015, 06:52
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Ага топчи его, топчи! Спартан 6 LX9 это что-то рядом с циклоном 4, по насыщености потрашков. LUT и LE примерно одно и тоже, LE вроде чуть больше надо, за счет 6 входовых LUT у ксалинкса, против 4 входовых LE у Альтеры, поправьте если я не прав. Возьмите табличку из spartan 6 overview и Cyclon IV overview и сравните что там рядом с LX9, на самом деле это не супер героическая микросхема по объему и забить ее умеючи труда не составляет  . А в целом люди правду говорят, проект для ПЛИС вообще изначально можно без железа сделать, и весь проверить, и даже узнать сколько места он займет. Ведь кроме LE есть еще ДСП блоки, есть Блоки памяти, есть всякие интерфейсы к DDR, и они разные и объем их разный у альтеры и ксалинкса, и кто его знает как они в вашу реализацию лягут... Если уже нет сил ждать и пробовать, то я рекомендую взять самый толстый 4 циклон из тех что в корпусе который вам подходит по методу пайки. В худшем случает останется у вас толстая отладочная плата, а вы сделаете вторую итерацию проекта с микросхемой поменьше, вы же не будите первую версию платы хреначить тиражом 100К экземпляров? И все равно будут какие-то ошибки. А ко 2 итерации у вас уже будет понимание по необходимым ресурсам
|
|
|
|
|
Sep 9 2015, 09:23
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 12-05-07
Из: Северная Венеция
Пользователь №: 27 684

|
Цитата(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 длинных моргания и так далее... 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, на самом деле это не супер героическая микросхема по объему и забить ее умеючи труда не составляет  . По параметрам он примерно как 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), не хотелось бы их запаивать-выпаивать. Тогда действительно посмотрю циклон потолще.
|
|
|
|
|
Sep 9 2015, 10:36
|
Профессионал
    
Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596

|
Цитата По параметрам он примерно как EP3C10 его поддержку в последних квартусах уже вырезали. если речь про кубики, то думаю лучше взять Cyclone V GX Starter Kit или что-то похожее. заодно попробуете GX-трансивер в качестве выхода с 3,125G-ШИМом ну и с тиражом 1 штука изготовление своей платы надо отложить на последний момент, когда на кубиках всё заработает.
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
|
|
|
|
|
Sep 9 2015, 10:48
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Steel_monkey @ Sep 9 2015, 12:23)  Подам с другой макетной платы для начала, делов то. Это же не 100 МГц, тут гребенка вполне должна сработать (если сделана правильно, естественно). Этот набор я рассматриваю исходя из двух вещей - программатор и не самый слабый кристалл.
+ четырехканальный осциллограф, если потребуется. Вообще, конечно, профильное обраование имеется, просто нет опыта именно с ПЛИС и небольшой с цифрой. Могу предложить персональные занятия по ПЛИС. Базовый курс... Вообще-то я имел в виду встроенный в ПЛИС логический анализатор... UART никто не отменял, но так же никто не отменял и протокол передачи данных, который должен быть надстроен над ним сверху. Умеете делать обработчик протокола в ПЛИС?
--------------------
www.iosifk.narod.ru
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|