Maverick_ 10 March 2 Posted March 2 · Report post Доброго дня Насколько я понимаю есть ПО помогающее сконфигурировать микросхему 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 Ответ можно в личку Quote Share this post Link to post Share on other sites More sharing options...
quato_a 3 March 2 Posted March 2 · Report post 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 Quote Share this post Link to post Share on other sites More sharing options...
Maverick_ 10 March 3 Posted March 3 · Report post quato_a Меня интересует программа для инициализации ad9361, которая поможет с ее инициализацией Часть для FPGA - сделана. Снифером считал у SDR радио на основе ad9361, то там оказалось более 4000 команд передается для инициализации... Quote Share this post Link to post Share on other sites More sharing options...
quato_a 3 March 3 Posted March 3 · Report post мы в первый раз, когда знакомились с этим трансивером, заводили его на 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 трактов между ПЛИС и трансивером Quote Share this post Link to post Share on other sites More sharing options...
Maverick_ 10 March 3 Posted March 3 · Report post калибровку задержек TX/RX трактов между ПЛИС и трансивером как делали (если плата с трансивером своей разработки)? Quote Share this post Link to post Share on other sites More sharing options...
quato_a 3 March 3 Posted March 3 · Report post про калибровку 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 Quote Share this post Link to post Share on other sites More sharing options...
Maverick_ 10 March 3 Posted March 3 · Report post Cпасибо quato_a Quote Share this post Link to post Share on other sites More sharing options...
andsky98 0 April 18 Posted April 18 · Report post пытаюсь сгенерировать проект no-OS через Cygwin, получаю такую ошибку, подскажите в чём дело? Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 8 April 18 Posted April 18 · Report post On 3/3/2023 at 12:22 PM, quato_a said: про калибровку LVDS-тракта тут - https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/interface_timing_validation А есть где-то указание что из высокоскоростного интерфейса, насколько и относительно чего при разводке надо выравнять чтобы калибровка прошла? Или за счёт калибровки можно каждую линию вести любой длины? Quote Share this post Link to post Share on other sites More sharing options...
fingertouch 1 April 18 Posted April 18 · Report post 28 минут назад, _4afc_ сказал: А есть где-то указание что из высокоскоростного интерфейса, насколько и относительно чего при разводке надо выравнять чтобы калибровка прошла? Или за счёт калибровки можно каждую линию вести любой длины? В общих чертах про калибровку LVDS. У Xilinx есть элемент idelay - описан в SelectIO. Именно он обеспечивает задержку сигналов. Для 5-6-7 серии имеет 31 отвод по ~78 пс (если правильно помню). То есть в зависимости от алгоритма калибровки вы можете выравнивать либо ~2400 пс разбежки данных относительно клока, либо в два раза меньше. Плюс то же самое можно прикрутить на тактовую, что должно давать теоретически ещё 2400 пс в другую сторону. Но кзайлинкс крайне не рекомендует так делать, поскольку это сильно повышает джиттер принятого клока и соответственно снижает возможность устойчиво принимать данные. В общем, для кзайлинкс даже половинные 1200 пс в масштабах печатной платы - слоновьи 18 см. Смотрите параметры вашей ПЛИС, что она может вытащить по калибровке. В указанном документе говорится о 16 шагах задержки. И в том числе по клоку. Может, там не кзайлинкс имеется в виду? Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 8 April 18 Posted April 18 · Report post 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пС? Quote Share this post Link to post Share on other sites More sharing options...
fingertouch 1 April 18 Posted April 18 · Report post 8 минут назад, _4afc_ сказал: Какой смысл в 16276пС отстраиваться на 1200пС? Смысл любой калибровки в том, чтобы приёмник после неё не попадал клоком в кроссовер данных. Это приоритетное условие номер 1. Ну и ещё желательно, чтобы по всем линиям это были данные, соответствующие одному и тому же такту передачи. Это номер 2. Хотя это не обязательно, есть и другие методы выравнивания. Но если эти другие методы в алгоритме калибровки не предусмотрены - некомпенсируемая разбежка данных от клока сделает корректный приём невозможным. Это задаёт общее условие, которое я вам привёл выше (без конкретики алгоритма калибровки). А по пункту 1 важна не общая длительность периода данных, а длительность "открытого глаза" - она же может быть оценена с помощью ширины кроссовера. Кроссовер зависит от джиттера передающего клока, возможностей передатчика, шумов в линии и т.д. Задержка должна давать возможность гарантированно уйти с области неустойчивого приёма данных. И, судя по отчёту в описании, эта область неустойчивого приёма данных довольно широкая. Количество фейлов там значительно больше, чем пассов. 30 минут назад, _4afc_ сказал: Т.е. в случае 5-6-7 эти 78пС позволяют компенсировать разбег в длинах около 1см 18см с шагом 1см. Тут немного не про то разговор. Смотрите выше. 34 минуты назад, _4afc_ сказал: Какой смысл в 16276пС отстраиваться на 1200пС? Вот это правильный подход. Говорить нужно не об абсолютных длинах, а об электрической длине линии, выраженной в долях периода. Когда перед глазами картинка глазковой диаграммы - всё сразу встаёт на свои места. Например Quote Share this post Link to post Share on other sites More sharing options...