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

ad9254, 150 Msps, 14 bit плюс FPGA

На официальной страничке этого АЦП у производителя

http://www.analog.com/ru/analog-to-digital...ts/product.html

есть два десятка статей с рекомендациями по проектированию.

Ваши вопросы там рассматриваются довольно подробно и профессионально.

Всему, что там написано, можно верить :)

 

Да, спасибо! По названиям статей настоящий клад.

 

Во-первых, почему АЦП именно этот?

У AD9254 выходная шина КМОП - на частотах 150МГц она будет шуметь, что выльется в ухудшение характеристик АЦП.

На это можно забить или побороться вырезами в земле и вставкой дополнительных последовательных буферов или резисторов.

В общем ничего страшного нет - даже без доп. мер работать будет, только с шумами и палками в спектре.

ИМХО проще взять АЦП с шиной данных LVDS - благо сейчас их полно.

 

Ну а так ничего страшного, частоты низкие - 150МГц всего, тактируйте от чего-нибудь с малым джиттером и сплошной слой земли под сигналами и всё должно работать.

С выбором, так уж получилось, набираюсь опыта.

А если я решусь пару последних бит выкинуть, это сильно упростит задачу?

Спасибо.

 

Не знаю поможет или нет, вот статья про генераторы http://www.micran.ru/sites/micran_ru/data/...ynthesizers.pdf

 

Спасибо, спасибо, ничего лишнем не будет.

 

Однозначно ставить синтезатор с малым джиттером и ФШ. Иначе затея с 14 битами бессмысленна.

 

Присмотрелся к плате FPGA, обнаружил синтезатор частоты, с такими характеристиками:

RMS phase jitter @ 622.08MHz (12KHz - 20MHz): 0.80ps (typical)...

The rms phase jitter performance is typically less than 1ps, thus making

the device acceptable for use in demanding applications such

as OC48 SONET and 10 Gb Ethernet.

 

Синтезатор частоты:

http://www.xilinx.com/products/boards/ml50...cs843001-21.pdf

Как я понял, 150 Мгц вполне реально с неё получить.

 

Схема FPGA отладочной платы, ML507

http://www-inst.eecs.berkeley.edu/~cs150/f..._schematics.pdf

стр.9 - тактирование

 

Значит не всё так страшно, и можно тактировать ацп по lvds через sma разъёмы c платы fpga?

Ну не такую же штуку еще городить на 150 Msps рядом с корпусом ацп?

AD9540

http://www.analog.com/static/imported-file...eets/AD9540.pdf

 

Изменено пользователем Ar-han

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


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

На схеме отладочной платы ML507 есть разъёмы J4, J6. На J4 приходят дифф сигналы. На плате эти цепи согласованы по длине.

Поэтому если вы на своей плате сделаете согласование длин цепей к эти разъёмам, то облегчите себе жизнь в последующей работе с платой.

 

У Analog Devices есть АЦП с выходом как CMOS так и LVDS (переключаемые).

Посмотрите, может для вашей АЦП есть совместимая по контактам с LVDS выходами микросхема.

С учётом её выводов можно делать схему соединения с ML507.

 

Брать сигнал тактирования с выхода ПЛИС для АЦП не стоит, разве что вам просто нужен принцип оцифровки, работать будет, но ...

 

по поводу

А входной сигнал я могу поделить, допустим, пополам двумя резисторами по 25 Ом, и подать на одну ногу дифференциального входа ацп, привязав вторую ногу диф. входа на землю?

 

Так делать нельзя. У дифф. входа сигналы подаются относительно уровня порового сигнала. Этим уровнем может быть Common-Mode Level Bias Output. Посмотрите схему включения усилителя и трансформатора со страницы 15 даташит. Этим уровнем сигнал с выхода усилителя смещается к уровню нуля.

Для того чтоб получить на выходе АЦП нулевой выход мы должны замкнуть входы не к земле, а к сигналу CML.

 

Не пожалейте сил и средств на входной буфер АЦП, он стоит дешевле микросхемы АЦП и перезаказа печатной платы. Усилитель или трансформатор зависит от задач. Если нужна полоса пропускания от 0 Гц (постоянный уровень, видеоимупльс и т. п.), то нужен усилительный буфер, а если нужно только ВЧ часть сигнала, то можно ставить трансформаторный буфер на вход.

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


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

Брать сигнал тактирования с выхода ПЛИС для АЦП не стоит, разве что вам просто нужен принцип оцифровки, работать будет, но

 

На плате fpga обнаружил синтезатор частоты с такими характеристиками:

RMS phase jitter @ 622.08MHz (12KHz - 20MHz): 0.80ps (typical)...

Писал о нём в последнем комментарии к посту.

Насколько я понимаю, он вполне подходит для тактирования АЦП

 

Спасибо, за разъяснение с дифф. входом.

 

 

 

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


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

На плате fpga обнаружил синтезатор частоты с такими характеристиками:

RMS phase jitter @ 622.08MHz (12KHz - 20MHz): 0.80ps (typical)...

 

Насколько я понимаю, он вполне подходит для тактирования АЦП

Подходит или нет - зависит от требований к Вашему устройству по полосе частот и динамическому диапазону.

Важно еще правильно передать сигнал с синтезатора до АЦП, чтобы не нагрести по дороге шумов со всей платы.

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


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

У Analog Devices есть АЦП с выходом как CMOS так и LVDS (переключаемые).

Посмотрите, может для вашей АЦП есть совместимая по контактам с LVDS выходами микросхема.

С учётом её выводов можно делать схему соединения с ML507.

Насколько я понял LVDS выход предпочтительнее для АЦП, вот попалась ADS6145

пытаюсь сравнивать с AD9254

http://www.ti.com/lit/ds/symlink/ads6145.pdf

125Msps, 14 bit

Выход либо параллельный КМОП либо DDR LVDS, по цене получается дешевле, энергопотребление меньше,

не сильно ли усложнит задачу DDR LVDS ?

 

Я не совсем понимаю, как данные забирать с ацп с параллельной шины, если я ацп тактирую своим генератором,

получается, я должен этим же генератором тактировать и ПЛИС? Значит нужен еще и распределитель тактовых сигналов для

отдельного тактирования ПЛИС?

А в случае DDS LVDS вообще пока не очень понятно, там данные по фронту и по спаду тактового сигнала надо собирать?

Значит надо в ПЛИСе PLL-ку ставить и умножать частоту на 2, и с этой частотой собирать данные с LVDS или как это

правильно делается?

 

Всем спасибо.

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


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

Я не совсем понимаю, как данные забирать с ацп с параллельной шины, если я ацп тактирую своим генератором,

получается, я должен этим же генератором тактировать и ПЛИС? Значит нужен еще и распределитель тактовых сигналов для

отдельного тактирования ПЛИС?

Если вы берёте сигнал с разветвителя на ML507 плате, то у вас разветвитель подаёт сигнал и на вход ПЛИС, и на SMA разъём для передачи на АЦП. Дополнительный разветвитель не нужен.

К тому же АЦП выдаёт вместе с данными сигнал типа CLKOUT (Как параллельная так и LVDS), и им можно защелкивать данные на входах ПЛИС. Его параметры нужно искать в даташите.

не сильно ли усложнит задачу DDR LVDS ?

повозится придётся и с тем и стем вариантом.

А в случае DDS LVDS вообще пока не очень понятно, там данные по фронту и по спаду тактового сигнала надо собирать?

Значит надо в ПЛИСе PLL-ку ставить и умножать частоту на 2, и с этой частотой собирать данные с LVDS или как это

правильно делается?

Да нужно защелкивать по обеим фронтам. Есть специальный буфер для DDR защелкивания.

У Xilinx есть несколько интересных XAPP на тему защелкивания данных с LVDS АЦП.

 

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


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

Если вы берёте сигнал с разветвителя на ML507 плате, то у вас разветвитель подаёт сигнал и на вход ПЛИС, и на SMA разъём для передачи на АЦП. Дополнительный разветвитель не нужен.

Так и предполагаю поступить.

 

 

К тому же АЦП выдаёт вместе с данными сигнал типа CLKOUT (Как параллельная так и LVDS), и им можно защелкивать данные на входах ПЛИС. Его параметры нужно искать в даташите.

Вот тут пока не совсем понимаю, получается этим сигналом (CLKOUT) нужно тактировать ПЛИС, чтобы собрать данные с АЦП?

А в ПЛИСЕ нужно инвертировать этот сигнал, чтобы получить удвоенную частоту, если по фронту и по спаду нужно данные собирать DDR LVDC.

CLKOUT, он же будет совпадать по частоте с сигналом, которым я буду тактировать АЦП, он может быть сдвинут по фазе, но этот сдвиг ведь фиксирован и не плавает, тогда зачем он нужен вообще, и как его использовать?

 

 

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


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

CLKOUT, он же будет совпадать по частоте с сигналом, которым я буду тактировать АЦП, он может быть сдвинут по фазе, но этот сдвиг ведь фиксирован и не плавает, тогда зачем он нужен вообще, и как его использовать?

 

за это момент не скажу, так как моя часть в этом проекте схемная. Этот сигнал может понадобится для защелкивания данных на входных регистрах. Его проще развести, чем потом изгаляться.

К том же это сигнал будет свидетельствовать о работоспособности АЦП, о том что на что-то отсылает, а не находится в спящем режиме и тп.

 

По собиранию данных по обеим фронтам почитайте у Xilinx в XAPP.

У Altera есть собственный примитив для сбора DDR данных.

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


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

Вот тут пока не совсем понимаю, получается этим сигналом (CLKOUT) нужно тактировать ПЛИС, чтобы собрать данные с АЦП?

А в ПЛИСЕ нужно инвертировать этот сигнал, чтобы получить удвоенную частоту, если по фронту и по спаду нужно данные собирать DDR LVDC.

CLKOUT, он же будет совпадать по частоте с сигналом, которым я буду тактировать АЦП, он может быть сдвинут по фазе, но этот сдвиг ведь фиксирован и не плавает, тогда зачем он нужен вообще, и как его использовать?

Смотрим в даташите ads6145 минимальные холд и сетап для данных относительно CLKOUT:0.7 и 1.7 ns. В целом, ширина окна валидных данных 2.4нс. Далее, смотрим задержку CLKOUT относительно CLKIN: 4.3нс - 7.3нс - разброс задержки больше, чем окно данных, таким образом, без использования CLKOUT мы не сможем надёжно синхронизироваться с данными даже без учёта clock to data skew в FPGA и PCB. У других АЦП ситуация похожая.

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


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

Смотрим в даташите ads6145 минимальные холд и сетап для данных относительно CLKOUT:0.7 и 1.7 ns. В целом, ширина окна валидных данных 2.4нс. Далее, смотрим задержку CLKOUT относительно CLKIN: 4.3нс - 7.3нс - разброс задержки больше, чем окно данных, таким образом, без использования CLKOUT мы не сможем надёжно синхронизироваться с данными даже без учёта clock to data skew в FPGA и PCB. У других АЦП ситуация похожая.

 

Получается, что "CLKOUT" нужно использовать для тактирования всего ПЛИСа, умножать частоту на два, ДСМ блоком подкрутить фазу считывания...

Или можно тактировать ПЛИС и АЦП одним генератором, а в ПЛИС ДСМ блоком отстроиться по фазе на фиксированную величину, относительно общего генератора...

Или можно как-то иначе, может в LVDS интерфейсе ПЛИСа что-то аппаратно реализовано для этого сигнала (CLKOUT).

 

Спасибо за разъяснения.

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


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

Получается, что "CLKOUT" нужно использовать для тактирования всего ПЛИСа, умножать частоту на два, ДСМ блоком подкрутить фазу считывания...

Или можно тактировать ПЛИС и АЦП одним генератором, а в ПЛИС ДСМ блоком отстроиться по фазе на фиксированную величину, относительно общего генератора...

Или можно как-то иначе, может в LVDS интерфейсе ПЛИСа что-то аппаратно реализовано для этого сигнала (CLKOUT).

 

Спасибо за разъяснения.

Почитайте аппноты от Xilinx, это стандартная задача, на Виртексе легко решается, даже без DCM, достаточно входных DDR регистров и калиброванных линий задержки.

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


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

Почитайте аппноты от Xilinx, это стандартная задача, на Виртексе легко решается, даже без DCM, достаточно входных DDR регистров и калиброванных линий задержки.

 

Может быть у xilinx есть какие-то примеры? Из найденного пока что удалось найти xapp1071

http://electronix.ru/forum/index.php?showt...amp;hl=xapp1071

 

Спасибо.

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


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

Может быть у xilinx есть какие-то примеры? Из найденного пока что удалось найти xapp1071

http://electronix.ru/forum/index.php?showt...amp;hl=xapp1071

 

Спасибо.

xapp855,xapp860, правда, с наворотами для более высоких частот, но если разберётесь с ними, будет понятно, как сделать проще:).

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...