Перейти к содержанию
    

Собрать это ядро не проблема, прочитав xapp'ы. Можно пользоваться этим ядром, но он без автоматов.

Автоматы все равно надо создавать. Это так в ISE.

 

 

 

ИДЕЛАЙ и ИСЕРДЕС включить не особая проблема.

 

Важно к xapp' ам есть примеры проекта .zip файлы.

Изменено пользователем Алга

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так в том то и дело что в юзер гайде на АЦП с последней ревизией в сентябре 2013 я ничего дельного на эту тему не нашел. кроме этой диаграммы и описания пина:

DAFRAMEP, DAFRAMEM — Differential frame clock output for channel A

user guide я даже не смотрел. В документе http://www.ti.com/lit/ds/symlink/ads42lb49.pdf на страницах 31-33, 41-43 приведено достаточное количество картинок для понимания работы интерфейса. Если этого не хватает, то можно например посмотреть аналогичные АЦП с подобным интерфейсом, работаю они также.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрать это ядро не проблема, прочитав xapp'ы. Можно пользоваться этим ядром, но он без автоматов.

Автоматы все равно надо создавать. Это так в ISE.

Что понимается под автоматом? Работал с ALTLVDS_RX от Altera, там АЦП необходимо загнать в режим синхронизации, кога на выход идёт тестовая последовательность. Автомат тактирует align порт ядра и задаёт правильное выравнивание (приём) данных, после чего АЦП переключается в рабочий режим. Тут также?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет,

Altera похоже автоматизировала этот процесс, ее ядро. Значит ALTERA здесь лучше подумала.

У Xilinx этот процесс калибровки не автоматизирован- делай сам вручную! О чем я и пишу.

Твой самопальный автомат (или заимствованный из какого-нибудь проекта) будет делать эти калибровки.

 

Подозреваю, что у Altera может быть эти калибровки идут постоянно,

динамически подстраиваясь под изменения температуры, питания и тд. Tе динамическая подстройка

 

У Xilinx также имеется форум и поиск по ключевым словам iserdese, bitslip xapp585, и тд работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подозреваю, что у Altera может быть эти калибровки идут постоянно,

динамически подстраиваясь под изменения температуры, питания и тд. Tе динамическая подстройка

 

то же самое я и делал, только для ддр режима у ацп-ки. при этом xapp-ы не читал :). первоначальная подстройка по включению питания, плюс возможность подстройки в любой момент - только дернуть соответствующую ногу у моего контроллера. а ее можно было дернуть при определенном значении температуры (контроллер под внешний температурный датчик тоже я делал :)), либо же блок управления мог по таймеру или по еще какому прерыванию это сделать. а вот с qdr-ом что то затупил - и кристалл поменялся и требования повыше...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то же самое я и делал, только для ддр режима у ацп-ки. при этом xapp-ы не читал :). первоначальная подстройка по включению питания, плюс возможность подстройки в любой момент - только дернуть соответствующую ногу у моего контроллера. а ее можно было дернуть при определенном значении температуры (контроллер под внешний температурный датчик тоже я делал :)), либо же блок управления мог по таймеру или по еще какому прерыванию это сделать. а вот с qdr-ом что то затупил - и кристалл поменялся и требования повыше...

Подстройка выравнивания клока и данных может выполняться непрерывно, для этого клоковый вход подключается к SERDES, как обычная линия данных, и тактируется собой же через IDELAY, в аппнотах это описано подробно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подстройка выравнивания клока и данных может выполняться непрерывно, для этого клоковый вход подключается к SERDES, как обычная линия данных, и тактируется собой же через IDELAY, в аппнотах это описано подробно.

 

только я не соображу как потом распределяются эти частоты. задача - собрать данное на ИСЕРДЕСЕ в режиме MEMORY Interface Type. На ИСЕРДЕСЕ клоки ЦЛК, ОЦЛК, ЦЛКДИВ. Соответственно как я понимаю:

ДЦЛК = ЦЛК

BitClk_MonClkOut = ОЦЛК

BitClk_RefClkOut = ЦЛКДИВ

 

в этом случае выполняются все требования - фронты ЦЛК и ОЦЛК разнесены и не получится попадания на момент переключения, и ОЦЛК с ЦЛКДИВом выровнены по фазе.

 

вот только не знаю - можно ли с выхода ЛВДС буфера так растянуть нетку на ИОДЕЛЕЙ, ИСЕРДЕС (Д вход в этом же пине) и как синхру на ИСЕРДЕС в другом пине

post-76333-1455285342_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот только не знаю - можно ли с выхода ЛВДС буфера так растянуть нетку на ИОДЕЛЕЙ, ИСЕРДЕС (Д вход в этом же пине) и как синхру на ИСЕРДЕС в другом пине

А зачем тянуть выход LVDS буфера прямо на синхру? Все линии данных синхронизируются по BitClk_MonClkOut и BitClk_RefClkOut, в XAPP-ах же исходники есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зачем тянуть выход LVDS буфера прямо на синхру? Все линии данных синхронизируются по BitClk_MonClkOut и BitClk_RefClkOut, в XAPP-ах же исходники есть.

 

уже разобрались. хилинх предполагает что ДЦЛК и данные уже выровнены (фронт синхры посередине данных) и подстраивает внутрянку с буферов под входную, предполагая что тогда и она будет посередине данного. этот вариант не подходит - синхру с данными надо ровнять вручную

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет,

Altera похоже автоматизировала этот процесс, ее ядро. Значит ALTERA здесь лучше подумала.

У Xilinx этот процесс калибровки не автоматизирован- делай сам вручную! О чем я и пишу.

Твой самопальный автомат (или заимствованный из какого-нибудь проекта) будет делать эти калибровки.

 

Подозреваю, что у Altera может быть эти калибровки идут постоянно,

динамически подстраиваясь под изменения температуры, питания и тд. Tе динамическая подстройка

Так и не понял, что Вы тут хотели сказать?

Ядро SelectIO Interface Wizard работает по тому же принципу, что и ALTLVDS_RX у Altera. Порт bitslip используется для битового сдвига данных, чтобы получить правильное выравнивание. Если битовым сдвигом не удаётся получить правильные данные, то можно ставить задержки на линии "клока" и данных. Автомат будет определять выравнены ли данные и управлять сдвигом данных (о чём я и спрашивал).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так и не понял, что Вы тут хотели сказать?

Ядро SelectIO Interface Wizard работает по тому же принципу, что и ALTLVDS_RX у Altera. Порт bitslip используется для битового сдвига данных, чтобы получить правильное выравнивание. Если битовым сдвигом не удаётся получить правильные данные, то можно ставить задержки на линии "клока" и данных. Автомат будет определять выравнены ли данные и управлять сдвигом данных (о чём я и спрашивал).

 

Ядро SelectIO Interface Wizard состоит только из примитивов ISERDESE IDELAY,

которыми надо управлять внешними сигналами BITSLIP и задержками. Те строится внешний автомат калибровок.

Он не входит в состав ядра.

 

С Aлтерой я не работал. Если здесь ядро похоже сделано то грустно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

уже разобрались. хилинх предполагает что ДЦЛК и данные уже выровнены (фронт синхры посередине данных) и подстраивает внутрянку с буферов под входную, предполагая что тогда и она будет посередине данного. этот вариант не подходит - синхру с данными надо ровнять вручную

Если синхра с данными не выровнена из-за несогласованной длины дорожек, надо в каждый вход вставить IDELAY, откалибровать их всех на старте, а потом динамически выравнивать только клок и данные, таким же образом, как предлагает Xilinx.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для Altera всё понятно, там есть готовое ядро ALTLVDS_RX для приёма таких данных. Есть ли что-то похожее у Xilinx? Или придётся делать свой приёмник?

Уточните, пожалуйста, у Алтеры полностью готовое ядро или "болванка", к которой необходим дополнительный

внешний автомат калибровок (state mashine).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уточните, пожалуйста, у Алтеры полностью готовое ядро или "болванка", к которой необходим дополнительный

внешний автомат калибровок (state mashine).

Необходим внешний автомат, только там нельзя ставить задержки на линии клока/данных, вместо этого есть возможность настраивать PLL, если битового сдвига недостаточно для правильного приёма данных

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрать это ядро не проблема, прочитав xapp'ы. Можно пользоваться этим ядром, но он без автоматов.

Автоматы все равно надо создавать. Это так в ISE.

уже разобрались. хилинх предполагает что ДЦЛК и данные уже выровнены (фронт синхры посередине данных) и подстраивает внутрянку с буферов под входную, предполагая что тогда и она будет посередине данного. этот вариант не подходит - синхру с данными надо ровнять вручную

Если синхра с данными не выровнена из-за несогласованной длины дорожек, надо в каждый вход вставить IDELAY, откалибровать их всех на старте, а потом динамически выравнивать только клок и данные, таким же образом, как предлагает Xilinx.

Если можно, расскажите алгоритм работы автомата калибровки (предполагаем, что линии данных и клока могут иметь разную длину).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...