Reffum2 0 6 февраля, 2018 Опубликовано 6 февраля, 2018 · Жалоба Создается проект на 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? Спасибо за ответы! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 14 6 февраля, 2018 Опубликовано 6 февраля, 2018 · Жалоба slaa545? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 6 февраля, 2018 Опубликовано 6 февраля, 2018 · Жалоба Приветствую! .. ADS42LB49 линий 7. Если я правильно понимаю, мне нужно сформировать 7 CLK PLL, по 1 для каждой линии данных, и захватывать DDR данные по нему? Для VIRTEX-6 правильнее будет двигать не clk, а динамически менять задержку (IDELAY) на каждом входном пине данных. Поищите на сайте XILINX есть апноты и даже демо проекты для динамической подстройки окна приема. 2. Как передать захваченные данные от домена с CLK PLL в тактовый домен, по которому работает логика ПЛИС? Если через FIFO, то по какому CLK записывать данные в это FIFO?Ну а раз клок от ADC останется в гордом одиночестве то ответ очевиден. Удачи! Rob. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
10ff 0 7 февраля, 2018 Опубликовано 7 февраля, 2018 · Жалоба Мне не понятны следующие вопросы: 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 по входному клоку от АЦП. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться