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

 
 
 
Closed TopicStart new topic
> Прием данных от АЦП в ПЛИС, АЦП ADS42LB49
Олег Гаврильченк...
сообщение Feb 6 2018, 17:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 10-02-15
Пользователь №: 85 052



Создается проект на XILINX VIRTEX-6. В нем также используется АЦП ADS42LB49. Данные идут в режиме DDR.
Данные от АЦП в ПЛИС идут по 7 линиям в режиме DDR, то есть на каждой линии данных передается 1 бит на фронте, и 1 бит на спаде CLK. CLK также идет от АЦП. Скорость 250 MSPS.
Я хочу спросить, как сделать правильно прием данных от АЦП в ПЛИС, и как затем передать эти данные от тактового домена с CLK АЦП в домен ПЛИС?

Мне не понятны следующие вопросы:
1. Руководства XILINX говорит, что так как на такой большой скорости между линиями CLK и линиями данных возникает разброс по времени, лучше не захватывать данные АЦП по CLK АЦП, а подать CLK АЦП на PLL в ПЛИС, и сдвинуть выходной CLK PLL на правильную фазу. Эту фазу нужно подобрать динамически, так чтобы фронты CLK PLL приходились посередине бита данных от АЦП. Это описано, например, здесь http://www.elec.canterbury.ac.nz/intranet/...tes/xapp268.pdf. Однако, там рассматривают АЦП с 1 линией данных. А у ADS42LB49 линий 7. Если я правильно понимаю, мне нужно сформировать 7 CLK PLL, по 1 для каждой линии данных, и захватывать DDR данные по нему?

2. Как передать захваченные данные от домена с CLK PLL в тактовый домен, по которому работает логика ПЛИС? Если через FIFO, то по какому CLK записывать данные в это FIFO?

Спасибо за ответы!
Go to the top of the page
 
+Quote Post
blackfin
сообщение Feb 6 2018, 18:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 042
Регистрация: 18-04-05
Пользователь №: 4 261



slaa545?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 6 2018, 18:46
Сообщение #3


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

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



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

Цитата(Олег Гаврильченко @ Feb 6 2018, 20:46) *
..
ADS42LB49 линий 7. Если я правильно понимаю, мне нужно сформировать 7 CLK PLL, по 1 для каждой линии данных, и захватывать DDR данные по нему?
Для VIRTEX-6 правильнее будет двигать не clk, а динамически менять задержку (IDELAY) на каждом входном пине данных. Поищите на сайте XILINX есть апноты и даже демо проекты для динамической подстройки окна приема.

Цитата(Олег Гаврильченко @ Feb 6 2018, 20:46) *
2. Как передать захваченные данные от домена с CLK PLL в тактовый домен, по которому работает логика ПЛИС? Если через FIFO, то по какому CLK записывать данные в это FIFO?
Ну а раз клок от ADC останется в гордом одиночестве то ответ очевиден.

Удачи! Rob.
Go to the top of the page
 
+Quote Post
AndreiUS
сообщение Feb 7 2018, 06:43
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 289
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



Цитата(Олег Гаврильченко @ Feb 6 2018, 20:46) *
Мне не понятны следующие вопросы:
1. Руководства XILINX говорит, что так как на такой большой скорости между линиями CLK и линиями данных возникает разброс по времени, лучше не захватывать данные АЦП по CLK АЦП, а подать CLK АЦП на PLL в ПЛИС, и сдвинуть выходной CLK PLL на правильную фазу. Эту фазу нужно подобрать динамически, так чтобы фронты CLK PLL приходились посередине бита данных от АЦП. Это описано, например, здесь http://www.elec.canterbury.ac.nz/intranet/...tes/xapp268.pdf. Однако, там рассматривают АЦП с 1 линией данных. А у ADS42LB49 линий 7. Если я правильно понимаю, мне нужно сформировать 7 CLK PLL, по 1 для каждой линии данных, и захватывать DDR данные по нему?

2. Как передать захваченные данные от домена с CLK PLL в тактовый домен, по которому работает логика ПЛИС? Если через FIFO, то по какому CLK записывать данные в это FIFO?


1. Два варианта.
Первый, самый простой - сделать динамическую подстройку CLK с помощью IDELAY. Программируете АЦП на выдачу тестовых паттернов, затем начинаете двигать CLK. Как только находите два положения срыва входных данных, ставите в IDELAY среднее значение задержки, это и будет центр данных.

Второй вариант, самый правильный. Как писали выше делать все то же самое на пинах данных. Такой метод, кстати, применяется и для динамической памяти.
2. Если у вас обработка не непрерывная, то ответ очевидный - записывать в FIFO по входному клоку от АЦП.
Go to the top of the page
 
+Quote Post

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

 


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


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