Ar-han 0 6 апреля, 2014 Опубликовано 6 апреля, 2014 (изменено) · Жалоба На официальной страничке этого АЦП у производителя 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 Изменено 6 апреля, 2014 пользователем Ar-han Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
McSava 0 7 апреля, 2014 Опубликовано 7 апреля, 2014 · Жалоба На схеме отладочной платы ML507 есть разъёмы J4, J6. На J4 приходят дифф сигналы. На плате эти цепи согласованы по длине. Поэтому если вы на своей плате сделаете согласование длин цепей к эти разъёмам, то облегчите себе жизнь в последующей работе с платой. У Analog Devices есть АЦП с выходом как CMOS так и LVDS (переключаемые). Посмотрите, может для вашей АЦП есть совместимая по контактам с LVDS выходами микросхема. С учётом её выводов можно делать схему соединения с ML507. Брать сигнал тактирования с выхода ПЛИС для АЦП не стоит, разве что вам просто нужен принцип оцифровки, работать будет, но ... по поводу А входной сигнал я могу поделить, допустим, пополам двумя резисторами по 25 Ом, и подать на одну ногу дифференциального входа ацп, привязав вторую ногу диф. входа на землю? Так делать нельзя. У дифф. входа сигналы подаются относительно уровня порового сигнала. Этим уровнем может быть Common-Mode Level Bias Output. Посмотрите схему включения усилителя и трансформатора со страницы 15 даташит. Этим уровнем сигнал с выхода усилителя смещается к уровню нуля. Для того чтоб получить на выходе АЦП нулевой выход мы должны замкнуть входы не к земле, а к сигналу CML. Не пожалейте сил и средств на входной буфер АЦП, он стоит дешевле микросхемы АЦП и перезаказа печатной платы. Усилитель или трансформатор зависит от задач. Если нужна полоса пропускания от 0 Гц (постоянный уровень, видеоимупльс и т. п.), то нужен усилительный буфер, а если нужно только ВЧ часть сигнала, то можно ставить трансформаторный буфер на вход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ar-han 0 7 апреля, 2014 Опубликовано 7 апреля, 2014 · Жалоба Брать сигнал тактирования с выхода ПЛИС для АЦП не стоит, разве что вам просто нужен принцип оцифровки, работать будет, но На плате fpga обнаружил синтезатор частоты с такими характеристиками: RMS phase jitter @ 622.08MHz (12KHz - 20MHz): 0.80ps (typical)... Писал о нём в последнем комментарии к посту. Насколько я понимаю, он вполне подходит для тактирования АЦП Спасибо, за разъяснение с дифф. входом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyakovav 0 7 апреля, 2014 Опубликовано 7 апреля, 2014 · Жалоба На плате fpga обнаружил синтезатор частоты с такими характеристиками: RMS phase jitter @ 622.08MHz (12KHz - 20MHz): 0.80ps (typical)... Насколько я понимаю, он вполне подходит для тактирования АЦП Подходит или нет - зависит от требований к Вашему устройству по полосе частот и динамическому диапазону. Важно еще правильно передать сигнал с синтезатора до АЦП, чтобы не нагрести по дороге шумов со всей платы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ar-han 0 7 апреля, 2014 Опубликовано 7 апреля, 2014 · Жалоба У 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 или как это правильно делается? Всем спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
McSava 0 8 апреля, 2014 Опубликовано 8 апреля, 2014 · Жалоба Я не совсем понимаю, как данные забирать с ацп с параллельной шины, если я ацп тактирую своим генератором, получается, я должен этим же генератором тактировать и ПЛИС? Значит нужен еще и распределитель тактовых сигналов для отдельного тактирования ПЛИС? Если вы берёте сигнал с разветвителя на ML507 плате, то у вас разветвитель подаёт сигнал и на вход ПЛИС, и на SMA разъём для передачи на АЦП. Дополнительный разветвитель не нужен. К тому же АЦП выдаёт вместе с данными сигнал типа CLKOUT (Как параллельная так и LVDS), и им можно защелкивать данные на входах ПЛИС. Его параметры нужно искать в даташите. не сильно ли усложнит задачу DDR LVDS ? повозится придётся и с тем и стем вариантом. А в случае DDS LVDS вообще пока не очень понятно, там данные по фронту и по спаду тактового сигнала надо собирать? Значит надо в ПЛИСе PLL-ку ставить и умножать частоту на 2, и с этой частотой собирать данные с LVDS или как это правильно делается? Да нужно защелкивать по обеим фронтам. Есть специальный буфер для DDR защелкивания. У Xilinx есть несколько интересных XAPP на тему защелкивания данных с LVDS АЦП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ar-han 0 8 апреля, 2014 Опубликовано 8 апреля, 2014 · Жалоба Если вы берёте сигнал с разветвителя на ML507 плате, то у вас разветвитель подаёт сигнал и на вход ПЛИС, и на SMA разъём для передачи на АЦП. Дополнительный разветвитель не нужен. Так и предполагаю поступить. К тому же АЦП выдаёт вместе с данными сигнал типа CLKOUT (Как параллельная так и LVDS), и им можно защелкивать данные на входах ПЛИС. Его параметры нужно искать в даташите. Вот тут пока не совсем понимаю, получается этим сигналом (CLKOUT) нужно тактировать ПЛИС, чтобы собрать данные с АЦП? А в ПЛИСЕ нужно инвертировать этот сигнал, чтобы получить удвоенную частоту, если по фронту и по спаду нужно данные собирать DDR LVDC. CLKOUT, он же будет совпадать по частоте с сигналом, которым я буду тактировать АЦП, он может быть сдвинут по фазе, но этот сдвиг ведь фиксирован и не плавает, тогда зачем он нужен вообще, и как его использовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
McSava 0 9 апреля, 2014 Опубликовано 9 апреля, 2014 · Жалоба CLKOUT, он же будет совпадать по частоте с сигналом, которым я буду тактировать АЦП, он может быть сдвинут по фазе, но этот сдвиг ведь фиксирован и не плавает, тогда зачем он нужен вообще, и как его использовать? за это момент не скажу, так как моя часть в этом проекте схемная. Этот сигнал может понадобится для защелкивания данных на входных регистрах. Его проще развести, чем потом изгаляться. К том же это сигнал будет свидетельствовать о работоспособности АЦП, о том что на что-то отсылает, а не находится в спящем режиме и тп. По собиранию данных по обеим фронтам почитайте у Xilinx в XAPP. У Altera есть собственный примитив для сбора DDR данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 9 апреля, 2014 Опубликовано 9 апреля, 2014 · Жалоба Вот тут пока не совсем понимаю, получается этим сигналом (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. У других АЦП ситуация похожая. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ar-han 0 9 апреля, 2014 Опубликовано 9 апреля, 2014 · Жалоба Смотрим в даташите 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). Спасибо за разъяснения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 9 апреля, 2014 Опубликовано 9 апреля, 2014 · Жалоба Получается, что "CLKOUT" нужно использовать для тактирования всего ПЛИСа, умножать частоту на два, ДСМ блоком подкрутить фазу считывания... Или можно тактировать ПЛИС и АЦП одним генератором, а в ПЛИС ДСМ блоком отстроиться по фазе на фиксированную величину, относительно общего генератора... Или можно как-то иначе, может в LVDS интерфейсе ПЛИСа что-то аппаратно реализовано для этого сигнала (CLKOUT). Спасибо за разъяснения. Почитайте аппноты от Xilinx, это стандартная задача, на Виртексе легко решается, даже без DCM, достаточно входных DDR регистров и калиброванных линий задержки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ar-han 0 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба Почитайте аппноты от Xilinx, это стандартная задача, на Виртексе легко решается, даже без DCM, достаточно входных DDR регистров и калиброванных линий задержки. Может быть у xilinx есть какие-то примеры? Из найденного пока что удалось найти xapp1071 http://electronix.ru/forum/index.php?showt...amp;hl=xapp1071 Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 10 апреля, 2014 Опубликовано 10 апреля, 2014 · Жалоба Может быть у xilinx есть какие-то примеры? Из найденного пока что удалось найти xapp1071 http://electronix.ru/forum/index.php?showt...amp;hl=xapp1071 Спасибо. xapp855,xapp860, правда, с наворотами для более высоких частот, но если разберётесь с ними, будет понятно, как сделать проще:). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться