Jump to content
    

конфигурируем микросхему ad9361

Доброго дня

Насколько я понимаю есть ПО помогающее сконфигурировать микросхему ad9361

сужу по ресурсам:

https://ez.analog.com/wide-band-rf-transceivers/design-support/f/q-a/79163/ad9361-configuration-software

AD936X Advanced Plugin [Analog Devices Wiki]

вот у китайцев

https://blog.csdn.net/qq_37989552/article/details/124381604

подскажите где можно скачать? Может кто-то может поделиться?

меня интересует паралельнй CMOS для RX/TX не LVDS у ad9361

PS Ответ можно в личку

Share this post


Link to post
Share on other sites

4 hours ago, Maverick_ said:

меня интересует паралельнй CMOS для RX/TX не LVDS у ad9361

https://github.com/analogdevicesinc/hdl/tree/master/library/axi_ad9361

на китайцев лучше не смотреть, смотрите wiki AD, там инструкции по сборки и ссылки на исходники под HDL и no-OC код конфигурации через Zynq или MicroBlaze

Share this post


Link to post
Share on other sites

quato_a  Меня интересует программа для инициализации ad9361, которая поможет с ее инициализацией 

Часть для FPGA - сделана. Снифером считал у SDR радио на основе ad9361, то там оказалось более 4000 команд передается для инициализации...

Share this post


Link to post
Share on other sites

мы в первый раз, когда знакомились с этим трансивером, заводили его на ZedBoard и AD-FMCOMM2, пользовались этими инструкциями

https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz

нужно собирать проект под Vivado + SDK по инструкциям и исходникам от AD, инструкцию не могу найти

под SDK часть тут - https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/no-os-setup

15 minutes ago, Maverick_ said:

...там оказалось более 4000 команд передается для инициализации...

там не только команды по SPI, но и калибровка задержек TX/RX трактов между ПЛИС и трансивером

Share this post


Link to post
Share on other sites

калибровку задержек TX/RX трактов между ПЛИС и трансивером как делали (если плата с трансивером своей разработки)?

Share this post


Link to post
Share on other sites

про калибровку LVDS-тракта тут - https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/interface_timing_validation

программа от AD (HDL + SDK) заводит трансивер и HDL часть в калибровочный режим

RX - трансивер начинает слать известную последовательность, а HDL часть принимает и калибрует IDELAYE2

TX - HDL начинает слать извествую последовательность, трансивер принимает и с него считывается через SPI результат приема, на основе которого настраивается либо ODELAYE2 (есть только на HP банках 7-Series Xilinx), либо задержки в самом трансивере - точно не помню

Иготом - это происходит автоматически при вкл питания и трогать это не желательно

мы тоже делали свои платы и калибровка всегда успешно проходила

 

кстати, HDL - https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/reference_hdl

Share this post


Link to post
Share on other sites

пытаюсь сгенерировать проект no-OS через Cygwin, получаю такую ошибку, подскажите в чём дело?image.thumb.png.8f90684f37de59cd8dfeb26660596023.png

Share this post


Link to post
Share on other sites

On 3/3/2023 at 12:22 PM, quato_a said:

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

Или за счёт калибровки можно каждую линию вести любой длины?

Share this post


Link to post
Share on other sites

28 минут назад, _4afc_ сказал:

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

Или за счёт калибровки можно каждую линию вести любой длины?

В общих чертах про калибровку LVDS.

У Xilinx есть элемент idelay - описан в SelectIO. Именно он обеспечивает задержку сигналов. Для 5-6-7 серии имеет 31 отвод по ~78 пс (если правильно помню). То есть в зависимости от алгоритма калибровки вы можете выравнивать либо ~2400 пс разбежки данных относительно клока, либо в два раза меньше. Плюс то же самое можно прикрутить на тактовую, что должно давать теоретически ещё 2400 пс в другую сторону. Но кзайлинкс крайне не рекомендует так делать, поскольку это сильно повышает джиттер принятого клока и соответственно снижает возможность устойчиво принимать данные.

В общем, для кзайлинкс даже половинные 1200 пс в масштабах печатной платы - слоновьи 18 см.

Смотрите параметры вашей ПЛИС, что она может вытащить по калибровке. В указанном документе говорится о 16 шагах задержки. И в том числе по клоку. Может, там не кзайлинкс имеется в виду? 

Share this post


Link to post
Share on other sites

33 minutes ago, fingertouch said:

В общем, для кзайлинкс даже половинные 1200 пс в масштабах печатной платы - слоновьи 18 см.

Смотрите параметры вашей ПЛИС, что она может вытащить по калибровке. В указанном документе говорится о 16 шагах задержки. И в том числе по клоку. Может, там не кзайлинкс имеется в виду? 

Т.е. в случае 5-6-7 эти 78пС позволяют компенсировать разбег в длинах около 1см 18см с шагом 1см.

 

Интересно что у AD9361 CMOS до 16276пС (61.44МГц), а LVDS до 4096пС (245.76МГц)  при этом

по ссылке https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/interface_timing_validation

похоже калибруют CMOS т.к. выше 61.44МГц не поднимаются.

 

Какой смысл в 16276пС отстраиваться на 1200пС?

Share this post


Link to post
Share on other sites

8 минут назад, _4afc_ сказал:

Какой смысл в 16276пС отстраиваться на 1200пС?

Смысл любой калибровки в том, чтобы приёмник после неё не попадал клоком в кроссовер данных. Это приоритетное условие номер 1. Ну и ещё желательно, чтобы по всем линиям это были данные, соответствующие одному и тому же такту передачи. Это номер 2. Хотя это не обязательно, есть и другие методы выравнивания. Но если эти другие методы в алгоритме калибровки не предусмотрены - некомпенсируемая разбежка данных от клока сделает корректный приём невозможным. Это задаёт общее условие, которое я вам привёл выше (без конкретики алгоритма калибровки).

А по пункту 1 важна не общая длительность периода данных, а длительность "открытого глаза" - она же может быть оценена с помощью ширины кроссовера. Кроссовер зависит от джиттера передающего клока, возможностей передатчика, шумов в линии и т.д. Задержка должна давать возможность гарантированно уйти с области неустойчивого приёма данных.  И, судя по отчёту в описании, эта область неустойчивого приёма данных довольно широкая. Количество фейлов там значительно больше, чем пассов.

30 минут назад, _4afc_ сказал:

Т.е. в случае 5-6-7 эти 78пС позволяют компенсировать разбег в длинах около 1см 18см с шагом 1см.

Тут немного не про то разговор. Смотрите выше.

 

34 минуты назад, _4afc_ сказал:

Какой смысл в 16276пС отстраиваться на 1200пС?

Вот это правильный подход. Говорить нужно не об абсолютных длинах, а об электрической длине линии, выраженной в долях периода. Когда перед глазами картинка глазковой диаграммы - всё сразу встаёт на свои места.

Например

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...