реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Тактовая частота ПЛИС равна символьной скорости или очень близка к ней?, Варианты решения задачи
sashko_g
сообщение May 3 2018, 14:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 24-01-08
Пользователь №: 34 389



Контекст: широкополосный модулятор с символьной скоростью, например, 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 - May 3 2018, 14:15
Go to the top of the page
 
+Quote Post
des00
сообщение May 4 2018, 00:41
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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

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

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



--------------------
Go to the top of the page
 
+Quote Post
sashko_g
сообщение May 4 2018, 07:16
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 24-01-08
Пользователь №: 34 389



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

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


Спасибо за воодушевление. Можно подробнее, какие приемы используются для достижения 1000 Мсимв/с на артиксе (если это не секретно, конечно)? Или хотя бы ключевые слова, по которым нужно искать информацию.
Go to the top of the page
 
+Quote Post
des00
сообщение May 7 2018, 15:25
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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

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


--------------------
Go to the top of the page
 
+Quote Post
sashko_g
сообщение May 8 2018, 09:55
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 24-01-08
Пользователь №: 34 389



Цитата(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 мегасимволов, какую элементную базу использовали? Как делали мультиплексор для ЦАПа?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 8 2018, 11:03
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 198
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

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

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

Удачи! Rob.
Go to the top of the page
 
+Quote Post
sashko_g
сообщение May 8 2018, 12:17
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 24-01-08
Пользователь №: 34 389



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


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

Удачи! Rob.


Узнал про существование JESD204B. Мой мир никогда не будет прежним. w00t.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st September 2018 - 02:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.00902 секунд с 7
ELECTRONIX ©2004-2016