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

Идеи по приему данных с 4-бит интерфейса

Собираются идеи по приему данных с интерфейса:

1. 4 бита и клок. При этом данные выставляются по фронту и спаду клока (DDR).

2. Максимальная частота клока - 150 МГц, но если не получится, то можно до 100 МГц опустить, но не желательно.

3. Нужно опционально двигать линии данных в пределах 1-10 нс, с шагом 1-2 нс.

 

Для пункта 3 пока что рассматриваются любые варианты, даже не рекомендуемые для широкого применения, типа задержки на внутренней логике. Внешние решения тоже рассматриваются, только не линии задержки за $10 / канал.

 

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

 

После приема ПЛИС будет восстанавливать из этого байтовый поток, выполнять простую фильтрацию и передавать все это на внешний интерфейс. Сильно много ресурсов для этого не нужно, так что чем дешевле решение, тем лучше.

 

Идеи?

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

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


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

Собираются идеи по приему данных с интерфейса:

1. 4 бита и клок. При этом данные выставляются по фронту и спаду клока (DDR).

2. Максимальная частота клока - 150 МГц, но если не получится, то можно до 100 МГц опустить, но не желательно.

3. Нужно опционально двигать линии данных в пределах 1-10 нс, с шагом 1-2 нс.

 

Для пункта 3 пока что рассматриваются любые варианты, даже не рекомендуемые для широкого применения, типа задержки на внутренней логике. Внешние решения тоже рассматриваются, только не линии задержки за $10 / канал.

 

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

 

После приема ПЛИС будет восстанавливать из этого байтовый поток, выполнять простую фильтрацию и передавать все это на внешний интерфейс. Сильно много ресурсов для этого не нужно, так что чем дешевле решение, тем лучше.

 

Идеи?

 

А в чем проблема? частота 150 МГц довольно низнакая (я реально принимал 250 МГц 14 бит с АЦП). Разрядность невысокая. Выравнивание можно и даже нужно замутить на встроенных блоках задержки (если Xilinx). Так что проблем быть не должно если конечно плата разведена более или менее нормально.

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


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

Посмотрите application note от Xilinx: xapp524,xapp855,xapp856,xapp860,xapp866,xapp585,xapp774,xapp1064,xapp1071,

потом можно поискать поиском по форуму по названиям xapp-ов, было уже множество тем с разбором приёма такого типа данных.

Даже статья на хабре есть - https://habrahabr.ru/post/313692/

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


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

3. Нужно опционально двигать линии данных в пределах 1-10 нс, с шагом 1-2 нс.

 

Для пункта 3 пока что рассматриваются любые варианты, даже не рекомендуемые для широкого применения, типа задержки на внутренней логике. Внешние решения тоже рассматриваются, только не линии задержки за $10 / канал.

 

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

Идеи?

Если альтера, то прямо для Вас

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


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

Спасибо всем, буду читать аппноты. Проблема тут одна - я нуб с ПЛИС, поэтому думаю в терминах стандартной логики, и спец. блоки упустил из виду.

 

К стати, этот форум не доступен из внутренней сети Microchip, так как домен помечен как зловредный в OpenDNS.

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


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

вроде бы внутренние блоки задержки такую дискретность 1-2 нс не дадут.

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

 

не наврал, дадут дискретность даже лучше.

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


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

А в чем проблема? частота 150 МГц довольно низнакая (я реально принимал 250 МГц 14 бит с АЦП). Разрядность невысокая. Выравнивание можно и даже нужно замутить на встроенных блоках задержки (если Xilinx). Так что проблем быть не должно если конечно плата разведена более или менее нормально.

 

встроенные блоки задержки дают максимальную задержку в 2-3 наны. 32 тапа по (кажись) 80 пикосекунд

 

когда то собирал модуль автоподстройки данных от ацп для ддр и кюдр интерфейсов. но там черт ногу сломит в коде ))). да и не помню уже особо тонкостей логики функционирования

 

автору смотреть юзер гайды по ISERDESE b IODELAY

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


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

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

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

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

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

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

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

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

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

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