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

Тактовая частота ПЛИС равна символьной скорости или очень близка к ней?

Контекст: широкополосный модулятор с символьной скоростью, например, 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?

Если есть опыт по данной теме и вообще по теме схемотехники широкополосных модуляторов, поделитесь.
Изменено пользователем sashko_g

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


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

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

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

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


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

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


Спасибо за воодушевление. Можно подробнее, какие приемы используются для достижения 1000 Мсимв/с на артиксе (если это не секретно, конечно)? Или хотя бы ключевые слова, по которым нужно искать информацию.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(sashko_g @ May 4 2018, 14:16) <{POST_SNAPBACK}>
Можно подробнее, какие приемы используются для достижения 1000 Мсимв/с на артиксе (если это не секретно, конечно)? Или хотя бы ключевые слова, по которым нужно искать информацию.

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

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


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

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

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


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

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

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

Удачи! Rob.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(RobFPGA @ May 8 2018, 14:03) <{POST_SNAPBACK}>
Приветствую!


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

Удачи! Rob.


Узнал про существование JESD204B. Мой мир никогда не будет прежним. w00t.gif

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти