|
ad9254, 150 Msps, 14 bit плюс FPGA |
|
|
|
Apr 6 2014, 17:41
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 12-09-11
Пользователь №: 67 135

|
Цитата(polyakovav @ Apr 6 2014, 20:13)  На официальной страничке этого АЦП у производителя http://www.analog.com/ru/analog-to-digital...ts/product.htmlесть два десятка статей с рекомендациями по проектированию. Ваши вопросы там рассматриваются довольно подробно и профессионально. Всему, что там написано, можно верить  Да, спасибо! По названиям статей настоящий клад. Цитата(VladimirB @ Apr 6 2014, 19:18)  Во-первых, почему АЦП именно этот? У AD9254 выходная шина КМОП - на частотах 150МГц она будет шуметь, что выльется в ухудшение характеристик АЦП. На это можно забить или побороться вырезами в земле и вставкой дополнительных последовательных буферов или резисторов. В общем ничего страшного нет - даже без доп. мер работать будет, только с шумами и палками в спектре. ИМХО проще взять АЦП с шиной данных LVDS - благо сейчас их полно.
Ну а так ничего страшного, частоты низкие - 150МГц всего, тактируйте от чего-нибудь с малым джиттером и сплошной слой земли под сигналами и всё должно работать. С выбором, так уж получилось, набираюсь опыта. А если я решусь пару последних бит выкинуть, это сильно упростит задачу? Спасибо. Цитата(zambezi @ Apr 6 2014, 12:42)  Спасибо, спасибо, ничего лишнем не будет. Цитата(dm.pogrebnoy @ Apr 6 2014, 12:23)  Однозначно ставить синтезатор с малым джиттером и ФШ. Иначе затея с 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 - Apr 6 2014, 17:47
|
|
|
|
|
Apr 7 2014, 06:30
|

Brubel
  
Группа: Свой
Сообщений: 321
Регистрация: 17-11-06
Из: Oudergem
Пользователь №: 22 444

|
На схеме отладочной платы ML507 есть разъёмы J4, J6. На J4 приходят дифф сигналы. На плате эти цепи согласованы по длине. Поэтому если вы на своей плате сделаете согласование длин цепей к эти разъёмам, то облегчите себе жизнь в последующей работе с платой. У Analog Devices есть АЦП с выходом как CMOS так и LVDS (переключаемые). Посмотрите, может для вашей АЦП есть совместимая по контактам с LVDS выходами микросхема. С учётом её выводов можно делать схему соединения с ML507. Брать сигнал тактирования с выхода ПЛИС для АЦП не стоит, разве что вам просто нужен принцип оцифровки, работать будет, но ... по поводу Цитата А входной сигнал я могу поделить, допустим, пополам двумя резисторами по 25 Ом, и подать на одну ногу дифференциального входа ацп, привязав вторую ногу диф. входа на землю? Так делать нельзя. У дифф. входа сигналы подаются относительно уровня порового сигнала. Этим уровнем может быть Common-Mode Level Bias Output. Посмотрите схему включения усилителя и трансформатора со страницы 15 даташит. Этим уровнем сигнал с выхода усилителя смещается к уровню нуля. Для того чтоб получить на выходе АЦП нулевой выход мы должны замкнуть входы не к земле, а к сигналу CML. Не пожалейте сил и средств на входной буфер АЦП, он стоит дешевле микросхемы АЦП и перезаказа печатной платы. Усилитель или трансформатор зависит от задач. Если нужна полоса пропускания от 0 Гц (постоянный уровень, видеоимупльс и т. п.), то нужен усилительный буфер, а если нужно только ВЧ часть сигнала, то можно ставить трансформаторный буфер на вход.
|
|
|
|
|
Apr 7 2014, 10:17
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 12-09-11
Пользователь №: 67 135

|
Цитата(Kaligooola @ Apr 7 2014, 10:30)  Брать сигнал тактирования с выхода ПЛИС для АЦП не стоит, разве что вам просто нужен принцип оцифровки, работать будет, но На плате fpga обнаружил синтезатор частоты с такими характеристиками: RMS phase jitter @ 622.08MHz (12KHz - 20MHz): 0.80ps (typical)... Писал о нём в последнем комментарии к посту. Насколько я понимаю, он вполне подходит для тактирования АЦП Спасибо, за разъяснение с дифф. входом.
|
|
|
|
|
Apr 7 2014, 15:09
|

Частый гость
 
Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486

|
Цитата(Ar-han @ Apr 7 2014, 14:17)  На плате fpga обнаружил синтезатор частоты с такими характеристиками: RMS phase jitter @ 622.08MHz (12KHz - 20MHz): 0.80ps (typical)...
Насколько я понимаю, он вполне подходит для тактирования АЦП Подходит или нет - зависит от требований к Вашему устройству по полосе частот и динамическому диапазону. Важно еще правильно передать сигнал с синтезатора до АЦП, чтобы не нагрести по дороге шумов со всей платы.
|
|
|
|
|
Apr 7 2014, 15:59
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 12-09-11
Пользователь №: 67 135

|
Цитата(Kaligooola @ Apr 7 2014, 10:30)  У Analog Devices есть АЦП с выходом как CMOS так и LVDS (переключаемые). Посмотрите, может для вашей АЦП есть совместимая по контактам с LVDS выходами микросхема. С учётом её выводов можно делать схему соединения с ML507. Насколько я понял LVDS выход предпочтительнее для АЦП, вот попалась ADS6145 пытаюсь сравнивать с AD9254 http://www.ti.com/lit/ds/symlink/ads6145.pdf125Msps, 14 bit Выход либо параллельный КМОП либо DDR LVDS, по цене получается дешевле, энергопотребление меньше, не сильно ли усложнит задачу DDR LVDS ? Я не совсем понимаю, как данные забирать с ацп с параллельной шины, если я ацп тактирую своим генератором, получается, я должен этим же генератором тактировать и ПЛИС? Значит нужен еще и распределитель тактовых сигналов для отдельного тактирования ПЛИС? А в случае DDS LVDS вообще пока не очень понятно, там данные по фронту и по спаду тактового сигнала надо собирать? Значит надо в ПЛИСе PLL-ку ставить и умножать частоту на 2, и с этой частотой собирать данные с LVDS или как это правильно делается? Всем спасибо.
|
|
|
|
|
Apr 8 2014, 05:36
|

Brubel
  
Группа: Свой
Сообщений: 321
Регистрация: 17-11-06
Из: Oudergem
Пользователь №: 22 444

|
Цитата Я не совсем понимаю, как данные забирать с ацп с параллельной шины, если я ацп тактирую своим генератором, получается, я должен этим же генератором тактировать и ПЛИС? Значит нужен еще и распределитель тактовых сигналов для отдельного тактирования ПЛИС? Если вы берёте сигнал с разветвителя на ML507 плате, то у вас разветвитель подаёт сигнал и на вход ПЛИС, и на SMA разъём для передачи на АЦП. Дополнительный разветвитель не нужен. К тому же АЦП выдаёт вместе с данными сигнал типа CLKOUT (Как параллельная так и LVDS), и им можно защелкивать данные на входах ПЛИС. Его параметры нужно искать в даташите. Цитата не сильно ли усложнит задачу DDR LVDS ? повозится придётся и с тем и стем вариантом. Цитата А в случае DDS LVDS вообще пока не очень понятно, там данные по фронту и по спаду тактового сигнала надо собирать? Значит надо в ПЛИСе PLL-ку ставить и умножать частоту на 2, и с этой частотой собирать данные с LVDS или как это правильно делается? Да нужно защелкивать по обеим фронтам. Есть специальный буфер для DDR защелкивания. У Xilinx есть несколько интересных XAPP на тему защелкивания данных с LVDS АЦП.
|
|
|
|
|
Apr 8 2014, 12:28
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 12-09-11
Пользователь №: 67 135

|
Цитата(Kaligooola @ Apr 8 2014, 09:36)  Если вы берёте сигнал с разветвителя на ML507 плате, то у вас разветвитель подаёт сигнал и на вход ПЛИС, и на SMA разъём для передачи на АЦП. Дополнительный разветвитель не нужен. Так и предполагаю поступить. Цитата(Kaligooola @ Apr 8 2014, 09:36)  К тому же АЦП выдаёт вместе с данными сигнал типа CLKOUT (Как параллельная так и LVDS), и им можно защелкивать данные на входах ПЛИС. Его параметры нужно искать в даташите. Вот тут пока не совсем понимаю, получается этим сигналом (CLKOUT) нужно тактировать ПЛИС, чтобы собрать данные с АЦП? А в ПЛИСЕ нужно инвертировать этот сигнал, чтобы получить удвоенную частоту, если по фронту и по спаду нужно данные собирать DDR LVDC. CLKOUT, он же будет совпадать по частоте с сигналом, которым я буду тактировать АЦП, он может быть сдвинут по фазе, но этот сдвиг ведь фиксирован и не плавает, тогда зачем он нужен вообще, и как его использовать?
|
|
|
|
|
Apr 9 2014, 04:21
|

Brubel
  
Группа: Свой
Сообщений: 321
Регистрация: 17-11-06
Из: Oudergem
Пользователь №: 22 444

|
Цитата CLKOUT, он же будет совпадать по частоте с сигналом, которым я буду тактировать АЦП, он может быть сдвинут по фазе, но этот сдвиг ведь фиксирован и не плавает, тогда зачем он нужен вообще, и как его использовать? за это момент не скажу, так как моя часть в этом проекте схемная. Этот сигнал может понадобится для защелкивания данных на входных регистрах. Его проще развести, чем потом изгаляться. К том же это сигнал будет свидетельствовать о работоспособности АЦП, о том что на что-то отсылает, а не находится в спящем режиме и тп. По собиранию данных по обеим фронтам почитайте у Xilinx в XAPP. У Altera есть собственный примитив для сбора DDR данных.
|
|
|
|
|
Apr 9 2014, 05:58
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(Ar-han @ Apr 8 2014, 16:28)  Вот тут пока не совсем понимаю, получается этим сигналом (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. У других АЦП ситуация похожая.
|
|
|
|
|
Apr 9 2014, 06:57
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 12-09-11
Пользователь №: 67 135

|
Цитата(Timmy @ Apr 9 2014, 09:58)  Смотрим в даташите 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). Спасибо за разъяснения.
|
|
|
|
|
Apr 9 2014, 08:03
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(Ar-han @ Apr 9 2014, 10:57)  Получается, что "CLKOUT" нужно использовать для тактирования всего ПЛИСа, умножать частоту на два, ДСМ блоком подкрутить фазу считывания... Или можно тактировать ПЛИС и АЦП одним генератором, а в ПЛИС ДСМ блоком отстроиться по фазе на фиксированную величину, относительно общего генератора... Или можно как-то иначе, может в LVDS интерфейсе ПЛИСа что-то аппаратно реализовано для этого сигнала (CLKOUT).
Спасибо за разъяснения. Почитайте аппноты от Xilinx, это стандартная задача, на Виртексе легко решается, даже без DCM, достаточно входных DDR регистров и калиброванных линий задержки.
|
|
|
|
|
Apr 10 2014, 04:07
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 12-09-11
Пользователь №: 67 135

|
Цитата(Timmy @ Apr 9 2014, 12:03)  Почитайте аппноты от Xilinx, это стандартная задача, на Виртексе легко решается, даже без DCM, достаточно входных DDR регистров и калиброванных линий задержки. Может быть у xilinx есть какие-то примеры? Из найденного пока что удалось найти xapp1071 http://electronix.ru/forum/index.php?showt...amp;hl=xapp1071Спасибо.
|
|
|
|
|
Apr 10 2014, 05:31
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(Ar-han @ Apr 10 2014, 08:07)  Может быть у xilinx есть какие-то примеры? Из найденного пока что удалось найти xapp1071 http://electronix.ru/forum/index.php?showt...amp;hl=xapp1071Спасибо. xapp855,xapp860, правда, с наворотами для более высоких частот, но если разберётесь с ними, будет понятно, как сделать проще  .
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|