Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: собрать примерный аналог ad9958 на fpga
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
sergey sva
Прикинуть насколько сложнее, дороже будет собрать такой dds на дискретных элементах. Какую плис применить Cyclone 3-4 Spartan 6, цап dac3154 ? Чем лучше дизайн на дискретных элементах чем один чип ad9958 ?
bogaev_roman
Цитата(sergey sva @ May 17 2016, 12:06) *
Чем лучше дизайн на дискретных элементах чем один чип ad9958 ?

Работаю со спартан6, корка DDS позволяет работать с разрядностью 48бит и в режиме реального времени менять и частоту и фазу согласно заданному алгоритму, точность можете вычислить самостоятельно исходя из частоты дискретизации и требуемой, но она очень высокая. Максимальное быстродействие (SFDR, 12-bit phase, 12-bit sin/cos, use DSP48) 400МГц. Есть настройка Noise Shaping. Описание корки http://www.xilinx.com/support/documentatio...n/dds_ds558.pdf
ЗЫ. И да, если xilinx, то проще, дешевле и быстрее будет использовать 7 семейство (хотя там ПО немного другое).
litv
На ПЛИс можно наделать много разных сложных и не сложных видов модуляции, те более гибкая система.
Разрешение по частоте у DDS xilinx можно сделать на много порядков лучше чем 0.12 Гц у AD.
bogaev_roman
Цитата(litv @ May 17 2016, 13:38) *
Разрешение по частоте у DDS xilinx можно сделать на много порядков лучше чем 0.12 Гц у AD.

Сейчас посмотрел внимательно - при разрядности 48 и частоте дискретизации 122,88МГц - 10 минус седьмая Гц точность. И занимает 15BRAM 18k.
_pv
а чего не хватает в ad9958? разрядности FTW и/или ЦАПа?
у тексасов есть 16ти разрядные ЦАПы со встроенным 48ми битным NCO - DAC37J82, как квадратурный DDS его можно использовать без JESD интерфейса вообще, записав амплитуду через регистры SPI.
sergey sva
Цитата
а чего не хватает в ad9958?
Не то что бы не хватает, а хочется найти лучший вариант. С плис получиться дороже и сомнения cyclon 3 или spartan 6 пройдут по быстродействию? Умножение cyclone 3 работало около 250Мгц. Вариант с плис нравиться гибкостью а вариант с готовым dds тем что схема проще и места на плате меньше занимает. Задача требуется получить выходной сигнал до 200Мгц с лчм и лфм с временем шага 1 мкс. Какое разрешение по фазе и частоте можно получить используя плис (примерно)?
bogaev_roman
Цитата(sergey sva @ May 17 2016, 15:30) *
занимает. Задача требуется получить выходной сигнал до 200Мгц с лчм и лфм с временем шага 1 мкс. Какое разрешение по фазе и частоте можно получить используя плис (примерно)?

для спартан6 частота 200МГц не проблема, точность по частоте в случае 48разрядов - 200000000/2^48~7e-7Гц, точность по фазе в градусах - 360/2^48.
Выходной сигнал до 200МГ - Вы хотите с какой частотой дискретизации работать?
По документации самый быстрый кинтакс ультра скэйл дает максимальную частоту работы DSP48 741МГц, BRAM - 660МГц.
litv
Если вдруг понадобится быстро менять частототу то надо еще помнить что для ad9958 надо 8 байт загрузить.
Мы только изза времени перезагрузки от ad отказались, ПЛИС - ЦАП - мгновенно новая частота sm.gif.
_pv
Цитата(bogaev_roman @ May 17 2016, 19:43) *
для спартан6 частота 200МГц не проблемa.
Выходной сигнал до 200МГ - Вы хотите с какой частотой дискретизации работать?

200МГц это выходная частота, соответственно частота ЦАПа должна быть >500МГц.

можно попробовать взять вышеупомянутый DAC37J82, разогнать ему SPI немного, до 50МГц, так чтобы за 1мкс успеть 7 байт (адрес регистра + 48 бит частоты) запихнуть.
про SPI в даташите не много сказано, setup/hold по 5/10нс, так что вроде должен успеть, но период SCLK при этом почему-то указан typical 100нс.
bogaev_roman
Цитата(_pv @ May 17 2016, 16:03) *
200МГц это выходная частота, соответственно частота ЦАПа должна быть >500МГц.

Ну я в даташтах посмотрел и дополнил - последние серии в теории позволяют разогнать такие частоты - память и умножитель сработают. По lvds пинаут тоже. циклон3 не потянет. Другой вопрос - зачем такая точность.
des00
Цитата(bogaev_roman @ May 17 2016, 20:43) *
точность по фазе в градусах - 360/2^48.

и это на
Цитата
занимает 15BRAM 18k.....12-bit phase, 12-bit sin/cos ?

реально столько получилось ?
bogaev_roman
Цитата
реально столько получилось ?

Что там получилось реально после компиляции я сейчас посмотреть, к сожалению, не могу. Попозже. Отображает именно так. Там же еще куча настроек по функциональности - здесь DSP48 в минимум, остальные по дефолту. Ширина фазы определяет разрядность адреса чтения, но реально в таблице значений меньше (по синус/косинус конкретно в этом случае выделено всего 16 разрядов), т.е. кол-во bram определяется разрядностью значений.
sergey sva
Частота на выходе dds до 200Мгц частоту дискретизации цапа не меньше чем в 2-2,5 раза. Получается что бы повторить похожий dds ad9958 на плис нужен не cyclon 3 -4 spartan 6 что то более быстрое?
des00
Цитата(bogaev_roman @ May 17 2016, 22:36) *
Что там получилось реально после компиляции я сейчас посмотреть, к сожалению, не могу. Попозже. Отображает именно так. Там же еще куча настроек по функциональности - здесь DSP48 в минимум, остальные по дефолту. Ширина фазы определяет разрядность адреса чтения, но реально в таблице значений меньше (по синус/косинус конкретно в этом случае выделено всего 16 разрядов), т.е. кол-во bram определяется разрядностью значений.

но вы же сами понимаете, что бы иметь возможность прочитать из памяти синус с дискретом 360/2^48, вам нужна память с шиной адреса 2^46. При этом, что бы не было повторяющихся значений, нужно иметь соответствующую разрядность этого синуса, иначе нет смысла в такой подробной дискретизации.

Судя по вашей таблице там в 15 RAMB18 блоках, прописано 1/4 синуса, что дает 16 битный синус на выходе + 2^16 дискретизацию этого синуса. Но никак не 2^48

Цитата(sergey sva @ May 17 2016, 23:16) *
Частота на выходе dds до 200Мгц частоту дискретизации цапа не меньше чем в 2-2,5 раза. Получается что бы повторить похожий dds ad9958 на плис нужен не cyclon 3 -4 spartan 6 что то более быстрое?

спартан 6 + ЦАП класса AD9129. У спартана на выходе сердесы в ддре на 800Мгц.
sergey sva
В Spartan 6 максимальная частота внутреннего pll 400Мгц если не ошибаюсь(как получить 800), заводить клок от внешнего генератора? Аккумулятор фазы 16 разрядный примерно на какой максимальной частоте может работь spartan6?
Если собрать dds на плис jitter будет сильно зависеть от кварца, а как определить jitter ad9958 сколько ps в документации не нашел?
des00
Цитата(sergey sva @ May 18 2016, 00:38) *
В Spartan 6 максимальная частота внутреннего pll 400Мгц если не ошибаюсь(как получить 800), заводить клок от внешнего генератора? Аккумулятор фазы 16 разрядный примерно на какой максимальной частоте может работь spartan6?

http://www.mvd-fpga.com/cores/en/files/Up_...ite%20paper.pdf
http://www.xilinx.com/products/intellectua...m.html#overview
Lmx2315
Цитата(sergey sva @ May 17 2016, 19:38) *
Если собрать dds на плис jitter будет сильно зависеть от кварца, а как определить jitter ad9958 сколько ps в документации не нашел?

..jitter будет от ЦАПа зависеть и от его клока.
sergey sva
Это имел ввиду просто не так выразился. А у ad9958 какой jitter?
des00
Цитата(sergey sva @ May 18 2016, 01:20) *
Это имел ввиду просто не так выразился. А у ad9958 какой jitter?

Как бы DDS не этими параметрами меряются. Вас должны интересовать фазовые шумы dbc/Hz и уровень спурсов. Все это при работе на разных частотах.

ЗЫ. В даташите всё это написано.
bogaev_roman
Цитата
Судя по вашей таблице там в 15 RAMB18 блоках, прописано 1/4 синуса, что дает 16 битный синус на выходе + 2^16 дискретизацию этого синуса. Но никак не 2^48

Согласен, но, согласно формулам, точность определяется разрядностью аккумулятора, а не разрядностью синуса
sergey sva
Что бы получить 48 бит разрешение таблицу с синусом нужно будет в формате double хранить в озу?
_pv
Цитата(bogaev_roman @ May 18 2016, 15:19) *
Согласен, но, согласно формулам, точность определяется разрядностью аккумулятора, а не разрядностью синуса

тут вопрос про 48-ми битную фазу, а не про частоту.
потому что если при 16-ти разрядном синусе фазу сдвинуть на 2^-48, из 16-ти разрядной таблицы будут браться абсолютно точно такие же значения как и без сдвига, а значит и фазу лучше чем разрядность синуса не подстроить.

хотя формально да, 48-ми разрядный аккумулятор на 2^-48 по фазе сдвинуть можно, только в результате ничего не поменяется.

Цитата(sergey sva @ May 18 2016, 16:24) *
Что бы получить 48 бит разрешение таблицу с синусом нужно будет в формате double хранить в озу?

разрядность синуса и длина таблицы определяются разрядностью ЦАП.
48 бит - только аккумулятор фазы который разрешение по частоте и определяет.
Bad0512
Цитата(bogaev_roman @ May 18 2016, 14:19) *
Согласен, но, согласно формулам, точность определяется разрядностью аккумулятора, а не разрядностью синуса

Здесь говорится о точности установления частоты. Кроме точности установления частоты также важна точность установления амплитуды, так как от этой величины зависит амплитуда паразитных спектральных составляющих (spurs),
которые также влияют на характеристики системы в целом.
bogaev_roman
Цитата(sergey sva @ May 18 2016, 12:24) *
Что бы получить 48 бит разрешение таблицу с синусом нужно будет в формате double хранить в озу?

Таблица - четверть периода синуса разрядностью 16 бит. Аккумулятор разрядностью 48 бит формирует адрес чтения из таблицы, т.е. происходит некая дешифрация аккумулятора в адрес. Ну условно при точности синуса 16 бит аккумулятор в диапазоне от нуля до X соответствует адресу 0 (т.к. в этом диапазоне аккумулятора синус равен 0 из-за ограничения разрядности). Это я так понял, может неправильно. Где эти значения будут храниться вопрос другой - по умолчанию в аппаратной BRAM (для xilinx) ПЛИС.
Цитата
а значит и фазу лучше чем разрядность синуса не подстроить

Да
Цитата
паразитных спектральных составляющих (spurs),

Да, поэтому в самом начале в качестве дополнительной плюшки корки добавил ссылку на ее описание и возможность подключения Taylor Series Corrected DDS и прочего, которые сам не использовал и не разбирался.
Bad0512
Цитата(sergey sva @ May 18 2016, 15:24) *
Что бы получить 48 бит разрешение таблицу с синусом нужно будет в формате double хранить в озу?

не обязательно. Чтобы уменьшить размер таблицы есть всякие трюки типа брать ближайшие точки в таблице, затем интерполировать (линейно, кубическими сплайнами и т.д.).
Кроме того синус можно считать и другими способами (вышеупомянутой кордик, разложение в ряд и т.д.).

З Ы Поглядите описалово на DDS от Хилых - там основные теоретические моменты неплохо описаны.
sergey sva
На плис spartan 6 sc6slx9 можно реализовать примерный аналог ad9958. Цена получается выше в несколько раз (. Только цена одного цапа AD9129 почти как как ad9958. Может кто решал такую задачу и получилось не так дорого, какие компоненты использовали sc6slx9 + ..?
Timmy
Цитата(sergey sva @ May 18 2016, 12:53) *
На плис spartan 6 sc6slx9 можно реализовать примерный аналог ad9958. Цена получается выше в несколько раз (. Только цена одного цапа AD9129 почти как как ad9958. Может кто решал такую задачу и получилось не так дорого, какие компоненты использовали sc6slx9 + ..?

ad9129 - это совсем не аналог, его частота выше, аналог скорее dac3154, он значительно дешевле.
sergey sva
Аналог или похожий по характеристика на ad9958 dds производства России существует? Может можно собрать из дискретных элементов производства России ? Постоянно по телеку показывают столько военной техники радары комплексы c300 400 Что же там все импортное, если бы производили в России все микросхемы для такой техники то на рынке бы это свободно продавалась или нет ?
Я ничего против импортного не имею, детали выбираю по характеристикам цена, качество, доступность и тд.. мне все равно где они сделаны главное что бы работали надежно. Просто стало интересно есть такие Российское dds попытался найти но не смог.
BSACPLD
Цитата(sergey sva @ May 21 2016, 20:18) *
Аналог или похожий по характеристика на ad9958 dds производства России существует? Может можно собрать из дискретных элементов производства России ? Постоянно по телеку показывают столько военной техники радары комплексы c300 400 Что же там все импортное, если бы производили в России все микросхемы для такой техники то на рынке бы это свободно продавалась или нет ?
Я ничего против импортного не имею, детали выбираю по характеристикам цена, качество, доступность и тд.. мне все равно где они сделаны главное что бы работали надежно. Просто стало интересно есть такие Российское dds попытался найти но не смог.

1367МН015
http://www.mri-progress.ru/products/bis-i-...sintezator-dds/
Правда насколько они покупабельны я не знаю.
dm.pogrebnoy
Цитата(bogaev_roman @ May 17 2016, 17:36) *
Что там получилось реально после компиляции я сейчас посмотреть, к сожалению, не могу. Попозже. Отображает именно так. Там же еще куча настроек по функциональности - здесь DSP48 в минимум, остальные по дефолту. Ширина фазы определяет разрядность адреса чтения, но реально в таблице значений меньше (по синус/косинус конкретно в этом случае выделено всего 16 разрядов), т.е. кол-во bram определяется разрядностью значений.


Аккумулятор фазы хоть и 48 бит, памяти на хранение столько никогда не бывает, адрес на память берут со старших бит аккумулятора (правда совсем 2 старших бита берут для выбора квадранта, а хранят четверть синуса в таблице). А вот дальше можно применить метод Тейлоровской коррекции, когда по оставшимся битам аккумулятора вычисляется поправка к значению из памяти. Это дает ощутимый прирост к параметрам формируемого сигнала. Эта опция есть у Xilinx из коробки, ее просто надо включить и требует она минимального количества умножителей. Правда я думал это прописные истины для всех, кто когда-нибудь использовал DDS в своей работе.

К вопросу о реализации на ПЛИС. Сделать можно, больших загвоздок нет, особенно в цифровой части. Мы, например, используем ЦАП AD9739 (2,5 ГГц, раньше стоил $50 в розницу). На мало-мальском Spartan-6 его можно использовать до 1,6 ГГц, на других сериях до номинала. На Virtex-5 даже разгоняли до 3 ГГц. В аналоговой части приходится бороться с зеркалками, спурами ЦАПа, неравномерностью АЧХ. Фазовый шум формируемого сигнала непосредственно определяется опорным генератором, так что здесь все хорошо. Но по цене это никогда не будет дешевле, как мне кажется.

Цитата(sergey sva @ May 17 2016, 19:38) *
В Spartan 6 максимальная частота внутреннего pll 400Мгц если не ошибаюсь(как получить 800), заводить клок от внешнего генератора?

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

Цитата(sergey sva @ May 17 2016, 19:38) *
Аккумулятор фазы 16 разрядный примерно на какой максимальной частоте может работь spartan6?

Открываем ds162.pdf и смотрим DSP48A1 - Fmax. Для -2 спидгрейда 333 МГц. Это если на DSP48 делать, там сразу до 48 бит такая производительность. Если делать на логике думаю где-то около того же, получится, но 16 бит.

Цитата(sergey sva @ May 17 2016, 19:38) *
Если собрать dds на плис jitter будет сильно зависеть от кварца, а как определить jitter ad9958 сколько ps в документации не нашел?

Все определяется опорным тактовый сигналом.
VladimirB
Цитата(sergey sva @ May 21 2016, 19:18) *
Аналог или похожий по характеристика на ad9958 dds производства России существует? Может можно собрать из дискретных элементов производства России ? Постоянно по телеку показывают столько военной техники радары комплексы c300 400 Что же там все импортное, если бы производили в России все микросхемы для такой техники то на рынке бы это свободно продавалась или нет ?
Я ничего против импортного не имею, детали выбираю по характеристикам цена, качество, доступность и тд.. мне все равно где они сделаны главное что бы работали надежно. Просто стало интересно есть такие Российское dds попытался найти но не смог.


надо отечественного производителя поддерживать

"...1508ПЛ8Т входит в состав серии высокочастотных микросхем «ФлексРадио», разрабатываемых ОАО НПЦ «ЭЛВИС» на базе стандартной коммерческой КМОП технологии с проектными нормами 0,18-мкм.
По совокупности реализованных функций синтеза и разнообразию интерфейсов управления и передачи данных данный синтезатор превосходит свои аналоги (AD9952, AD9858, AD9854, AD9852, AD9850, AD9830), а по параметрам встроенных ЦАП не уступает AD9858 и другим подобным изделиям. Энергопотребление микросхем 1508ПЛ8Т существенно меньше, чем у аналогичных по классу устройств.
Реализованы следующие типы модуляции: линейно-частотная (ЛЧМ), частотная (ЧМ), фазовая (ФМ), амплитудная (АМ), квадратурная, а также их комбинации, включая QAM-64..."


http://multicore.ru/index.php?id=466

P.S. С приобретением проблем быть не должно. Производится, наверное, лет 5 как уже.
А у самого Элвиса интерфейс дружественный раньше был.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.