Абырвалг 0 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба Есть некий цифровой приёмник, сейчас это АЦП + DSP. Всё работает, но аппетиты растут, хочется частоты повыше, каналов побольше. DSP не справляется. Городить гетеродин до АЦП слишком заморочено. После АЦП - только если в ПЛИС. Есть мысль сделать так. 1) АЦП 24 бита, 500 кГц, 8 каналов одновременно. 2) Далее FPGA, внутри которой на каждый канал гетеродин, фильтр, дециматор. 3) Микропроцессор для дальнейшей обработки на низкой частоте. Помогите прикинуть, какие FPGA для подобной задачи подойдут из не очень толстых. Какое ПО ставить, какой отладчик покупать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 3 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 6 minutes ago, Абырвалг said: Есть некий цифровой приёмник, сейчас это АЦП + DSP. Всё работает, но аппетиты растут, хочется частоты повыше, каналов побольше. DSP не справляется. Городить гетеродин до АЦП слишком заморочено. После АЦП - только если в ПЛИС. Есть мысль сделать так. 1) АЦП 24 бита, 500 кГц, 8 каналов одновременно. 2) Далее FPGA, внутри которой на каждый канал гетеродин, фильтр, дециматор. 3) Микропроцессор для дальнейшей обработки на низкой частоте. Помогите прикинуть, какие FPGA для подобной задачи подойдут из не очень толстых. Какое ПО ставить, какой отладчик покупать? Очень зависит от интерфейса АЦП. 24 бита параллельно - это нужно много ног. Последовательно - ПЛИС должна быть достаточно скоростная. Так же, если не принципиальны 24 битика, то можно посмотреть в сторону интегрированных решений. Типа ADAR7251. Там и фильтрация внутри есть и работу с ним потянет даже DSP, ПЛИС не нужна будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Абырвалг 0 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 24 бита - принципиально. Последовательно. АЦП прикинули AK5578. Кроме описанного выше гетеродина в FPGA будет ещё всякое, но для начала надо прикинуть эту, основную функцию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба Приветствую! 3 minutes ago, Абырвалг said: 24 бита - принципиально. Последовательно. АЦП прикинули AK5578. Кроме описанного выше гетеродина в FPGA будет ещё всякое, но для начала надо прикинуть эту, основную функцию. Ну так и прикидывайте - соберите структуру вашей обработки в кучу для начала хотя бы чтобы понимать какие ресурсы потребуются - какие параметры фильтров, разрядность данных, потоки данных и требуемые интерфейсы и память для буферизации и коэффициентов, ... Будет первое приближение требуемых ресурсов. Было бы хорошо реализовать тракт обработки в том же Matlab. Ну или хотя бы попробовать реализовать критичные блоки в IP корках основных вендоров и посмотреть на реальные затраты ресурсов. И тогда будет понятен приблизительный список кандидатов FPGA. А иначе все вилами по воде - диапазон требуемых ресурсов очень широк. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitry-tomsk 0 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 52 minutes ago, Абырвалг said: Есть некий цифровой приёмник, сейчас это АЦП + DSP. Всё работает, но аппетиты растут, хочется частоты повыше, каналов побольше. DSP не справляется. Городить гетеродин до АЦП слишком заморочено. После АЦП - только если в ПЛИС. Есть мысль сделать так. 1) АЦП 24 бита, 500 кГц, 8 каналов одновременно. 2) Далее FPGA, внутри которой на каждый канал гетеродин, фильтр, дециматор. 3) Микропроцессор для дальнейшей обработки на низкой частоте. Помогите прикинуть, какие FPGA для подобной задачи подойдут из не очень толстых. Какое ПО ставить, какой отладчик покупать? xc7a100t должно хватить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость vitzap 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба Можете обратить внимание на серию Zynq 7000 - FPGA там Artix, но еще и микропроцессор есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 35 минут назад, Абырвалг сказал: 2) Далее FPGA, внутри которой на каждый канал гетеродин, фильтр, дециматор. Учитывая входную частоту 500 кГц а частоту плис например 50 МГц (Spartan 6/7, artix) то мы получаем порядка 100 тактов на один отсчёт. Соответственно можно уходить от схем параллельной обработки к схемам с последовательной. Что очень сильно будет экономить ресурсы. Иными словами если для фильтра нужно 100 умножителей и 100 коэффициентов то в новом варианте можно обойтись 1 умножителем и 1 памятью на 100 коэффициентов и укладываться в ту же времянку имея экономию по умножителям в 100 раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Абырвалг 0 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 21 minutes ago, RobFPGA said: А иначе все вилами по воде - диапазон требуемых ресурсов очень широк. Это да. Но надо же с чего-то начинать. С ПЛИС я последний раз имел дело 15 лет назад, это было достаточно поверхностно и никак не связано с цифровой обработкой сигналов. Так что можно сказать - ноль в этом деле. Хотелось бы с помощью сообщества примерно сориентироваться, в какую сторону двигаться и не ошибиться с требованиями на два порядка. 17 minutes ago, dmitry-tomsk said: xc7a100t должно хватить Дороговастенько. В диджикее 109$. С текущими задачами TMS320C28342 за 14$ справляется. Понятно, спасибо, будем иметь в виду. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 31 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 12 minutes ago, MegaVolt said: Иными словами если для фильтра нужно 100 умножителей и 100 коэффициентов то в новом варианте можно обойтись 1 умножителем и 1 памятью на 100 коэффициентов и укладываться в ту же времянку имея экономию по умножителям в 100 раз. Ну, в 100 раз "по умножителям" это вы явно хватили.. ;) Умножение 24-х битных чисел на DSP48 выполняется минимум за 4 такта. Так что экономия по умножителям будет максимум в 25 раз. Это если отношение частот 1:100. Но Spartan, КМК, может умножать и на 200 МГц.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Абырвалг 0 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 14 minutes ago, vitzap said: Можете обратить внимание на серию Zynq 7000 - FPGA там Artix, но еще и микропроцессор есть. Цинк имеем в виду. И когда будем понимать чего нам надо, возможно, на него и сядем. Но пока, думается, начать лучше с отдельной ПЛИСины. 12 minutes ago, MegaVolt said: Учитывая входную частоту 500 кГц а частоту плис например 50 МГц (Spartan 6/7, artix) то мы получаем порядка 100 тактов на один отсчёт. Соответственно можно уходить от схем параллельной обработки к схемам с последовательной. Что очень сильно будет экономить ресурсы. Иными словами если для фильтра нужно 100 умножителей и 100 коэффициентов то в новом варианте можно обойтись 1 умножителем и 1 памятью на 100 коэффициентов и укладываться в ту же времянку имея экономию по умножителям в 100 раз. Вот! Спасибо. Как раз была такая мысль и в дальнейшем хотел спросить, как насчёт умножения одним умножителем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба Приветствую! Just now, blackfin said: Ну, в 100 раз "по умножителям" это вы явно хватили.. ;) Умножение на DSP48 выполняется минимум за 4 такта. Так что экономия по умножителям будет максимум в 25 раз. Не за 4 такта, а c latency 4 такта. Но при этом новое умножение каждый такт. Так что коэффициент 100 вполне реален. Вопрос к TC в другом - 24 бит ADC подразумевают большую разрядность как данных так и коэффициентов фильтра. А с учетом неизвестных требований к фильтрам может быть так что 1000 порядок FIR нужен будет или какой замороченный IIR понадобится да еще и формате с плавающей точкой. А мы тут гадаем влезет в младший цинк или нет. Нужны хотя бы рамочные представления об параметрах и структуре обработки чтобы не ошибаться на два порядка Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба ну для обработки 0.5*8 = 4MSPS есть DSP и немного "позлее" чем c2000. шарки например, со всякими аппаратными ускорителями fft/фильтров с десятком эффективных ГФлопсов, с тысячей операций на отсчёт можно что угодно с сигналом сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 31 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 28 minutes ago, RobFPGA said: Не за 4 такта, а c latency 4 такта. Но при этом новое умножение каждый такт. Так что коэффициент 100 вполне реален. Ну, вы неявно предполагаете, что у ТС'а КИХ-фильтры. Но поскольку ТС'ом это явно не указано, то предполагаем худший случай - БИХ-фильтры и интерполяторы Фэрроу.. И тогда конвейер может не получиться.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Абырвалг 0 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 8 minutes ago, RobFPGA said: Вопрос к TC в другом - 24 бит ADC подразумевают большую разрядность как данных так и коэффициентов фильтра. А с учетом неизвестных требований к фильтрам может быть так что 1000 порядок FIR нужен будет или какой замороченный IIR понадобится да еще и формате с плавающей точкой. А мы тут гадаем влезет в младший цинк или нет. Нужны хотя бы рамочные представления об параметрах и структуре обработки чтобы не ошибаться на два порядка У приёмника предполагаются несколько функций. На самом деле сейчас эти функции выполняют два разных прибора. Первое - просто полосовой фильтр. Сейчас это примерно 6 Гц по уровню -1 дБ, 46 Гц по уровню -120 дБ. БИХ, целочисленный, 12 порядка. На большие частоты и много каналов DSP не хватает. Хочется перенести гетеродином в ПЛИС на частоты пониже и дофильтровывать в DSP. Есть ещё задачи, но они на относительно низких частотах, от ПЛИС достаточно ФНЧ с дециматором. Есть ещё другие задачи, хитрые для ПЛИС. Частоты высокие, но каналов один или два, ДСП справляется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 31 9 сентября, 2020 Опубликовано 9 сентября, 2020 · Жалоба 5 minutes ago, Абырвалг said: ... от ПЛИС достаточно ФНЧ с дециматором. Дециматор дробный или целочисленный? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться