Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Тактовая частота ПЛИС равна символьной скорости или очень близка к ней?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
sashko_g
Контекст: широкополосный модулятор с символьной скоростью, например, 100 Мсимв/с. Весь процесс вычитывания данных из источника и формирования цифрового НЧ-сигнала (помехоустойчивое кодирование, фильтрация, предыскажения) выполняется на ПЛИС.

Вопросы: какие приемы используются для понижения тактовой частоты ПЛИС? Возможно ли понизить тактовую до символьной или еще ниже?

Варианты решения:
1. Первое, что могу придумать, это использовать двухканальный интерполирующий ЦАП. Подаем на входы ЦАП символы I и Q на символьной частоте Fs, ЦАП сам повышает частоту дискретизации например в 8 раз, фильтрует в цифре и выдает аналоговый НЧ сигнал с гармониками на частотах кратных 8*Fs. Ну а дальше уже все понятно. Такие ЦАПы вроде бы давно уже есть: сходу нашел AD977x и DAC5688. Только что делать с фильтром приподнятого косинуса - в этих ЦАПах его кажется нет, а в ПЛИС при 1 отсчете на символ этот фильтр не сделать? Будет ли вообще данная схема работать? Кто использовал подобные ЦАП, поделитесь опытом.
2. Еще можно формировать в ПЛИС два отсчета на символ, но работать на символьной частоте парами по два отсчета. Читал, что существуют схемы распараллеливания фильтров для такой работы. Но нужен ЦАП, который может в параллель принять два символа и выдавать их последовательно (желательно еще при этом с интерполяцией хотя бы в два раза). Чувствую, что такие "ЦАПы-сериалайзеры" должны существовать в природе, но с ходу не нашел. Кто сталкивался с такими ЦАПами?
3. Точно есть проверенный вариант с работой на тактовой ПЛИС равной 1,25 от символьной. Там дискретизация сигнала 2,5 отсчета на символ, но формирующий фильтр распараллелен на две части и таким образом получается Fclk = 2,5*Fs/2 = 1,25Fs. В результате 99% логики плис работает на частоте 1,25Fs и только выходные регистры, выдающие отсчеты на ЦАП, работают на частоте 2,5Fs. Решение неплохое, но все же тактовая выше символьной и после ЦАП нужен довольной крутой ФНЧ. Если идти этим путем, то теоретически можно сделать тактовую даже ниже символьной в целое число раз, просто распараллеливая ЦОС, но выходные регистры, к сожалению, все равно работают на значительно больших частотах.
4. Совместить предыдущие варианты в некое гибридное решение. Например, два отсчета на символ с параллельной обработкой и интерполирующий ЦАП.

У меня есть опыт работы с ПЛИС Artix-7, выдавить из него в сложной схеме более чем 110-120 МГц очень проблематично, в связи с этим и возникла данная тема. Возможно ли на данном ПЛИСе построить модулятор на 100 Мсимв/с или более? Или нужно брать следующие поколения: Kintex-7, Virtex-7?

Если есть опыт по данной теме и вообще по теме схемотехники широкополосных модуляторов, поделитесь.
des00
Цитата(sashko_g @ May 3 2018, 21:05) *
У меня есть опыт работы с ПЛИС Artix-7, выдавить из него в сложной схеме более чем 110-120 МГц очень проблематично, в связи с этим и возникла данная тема. Возможно ли на данном ПЛИСе построить модулятор на 100 Мсимв/с или более?

Планируйте тщательнее, на артиксе-7 лекго достигается 250МГц. модем на 100мегасимволов, левой задней ногой делается.

ЗЫ. Делал на артиксе модемы от 2 до 1000 мегасимволов. Ничего сложного.

sashko_g
Цитата(des00 @ May 4 2018, 03:41) *
Планируйте тщательнее, на артиксе-7 лекго достигается 250МГц. модем на 100мегасимволов, левой задней ногой делается.

ЗЫ. Делал на артиксе модемы от 2 до 1000 мегасимволов. Ничего сложного.


Спасибо за воодушевление. Можно подробнее, какие приемы используются для достижения 1000 Мсимв/с на артиксе (если это не секретно, конечно)? Или хотя бы ключевые слова, по которым нужно искать информацию.
des00
Цитата(sashko_g @ May 4 2018, 14:16) *
Можно подробнее, какие приемы используются для достижения 1000 Мсимв/с на артиксе (если это не секретно, конечно)? Или хотя бы ключевые слова, по которым нужно искать информацию.

Не надо ничего искать. Карандаш и бумага. Распишите последовательность вычислений банального FIR с коэффициентами 1,2,3,4,5,6,7,8. Потом предположите что вам нужна частота 100 попугаев, а есть только 50. А последовательность вычислений должна быть таже самая. Когда это распишите, все остальное станет для вас банальным)
sashko_g
Цитата(des00 @ May 7 2018, 18:25) *
Не надо ничего искать. Карандаш и бумага. Распишите последовательность вычислений банального FIR с коэффициентами 1,2,3,4,5,6,7,8. Потом предположите что вам нужна частота 100 попугаев, а есть только 50. А последовательность вычислений должна быть та же самая. Когда это распишите, все остальное станет для вас банальным)

C распараллеливание фильтра более-менее понятно, но как потом вернуться на большую частоту? Допустим мне нужно 1000 мегасимволов. При двух отсчетах на символ (в идеальном мире) это тактовая 2000 МГц. Но, например, у меня есть только 125 МГц тактовой. Я распараллелил всю ЦОС на 16 потоков и работаю на 125 МГц - все отлично. На каждый такт тактовой у меня есть 16 символов, которые каким то образом нужно выдать последовательно на ЦАП. Как это сделать? Я не слышал о ЦАПах с входным мультиплексором на 16 входов, которые пробегают по этим входам на 16-ти кратной часоте. Если вы делали модулятор на 1000 мегасимволов, какую элементную базу использовали? Как делали мультиплексор для ЦАПа?
RobFPGA
Приветствую!

Цитата(sashko_g @ May 8 2018, 12:55) *
C распараллеливание фильтра более-менее понятно, но как потом вернуться на большую частоту? Допустим мне нужно 1000 мегасимволов. При двух отсчетах на символ (в идеальном мире) это тактовая 2000 МГц
. ...
Как это сделать? Я не слышал о ЦАПах ...

В каком мире Вы живете? - Ищите доку на ЦАП c тактовой >=2000 MHz и смотрите какой интерфейс он имеет и какой формат данных ему на вход надо давать. Ну а дальше дело техники (и FIFO с разной разрядностью на запись и чтение) как Ваши 16 шин упаковать в требуемый формат.

Удачи! Rob.
sashko_g
Цитата(RobFPGA @ May 8 2018, 14:03) *
Приветствую!


В каком мире Вы живете? - Ищите доку на ЦАП c тактовой >=2000 MHz и смотрите какой интерфейс он имеет и какой формат данных ему на вход надо давать. Ну а дальше дело техники (и FIFO с разной разрядностью на запись и чтение) как Ваши 16 шин упаковать в требуемый формат.

Удачи! Rob.


Узнал про существование JESD204B. Мой мир никогда не будет прежним. w00t.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.