|
|
  |
Передача большого потока, Передача большого потока из платы в плату |
|
|
|
Dec 18 2015, 20:55
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Алексей_1990 @ Dec 18 2015, 22:58)  Железо уже оговорено, к сожалению. Вы упомянули про altlvds-rx. А если скорость порядка 800 Mbps, разве altlvds-rx адекватно будет воспринимать данные? Для CV заявлено (cv_51001.pdf), но надо ещё в какой доке глянуть: Цитата 875 Mbps LVDS receiver and 840 Mbps LVDS transmitter , но для Вашего случая оно не подходит, если только ставить "правильный" АЦП.
|
|
|
|
|
Dec 21 2015, 06:31
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934

|
Цитата(doom13 @ Dec 19 2015, 00:55)  Для CV заявлено (cv_51001.pdf), но надо ещё в какой доке глянуть: , но для Вашего случая оно не подходит, если только ставить "правильный" АЦП. А ситуация с асинхронным кодом патовая? Может у Вас есть ещё какие мысли? На самом деле стоит две задачи: В первом случае принять сигнал с сериалайзера, т.е. организовать десериалайзер. Во втором случае будет необходимо принять сигнал с АЦП lts 2193. Первая задача вроде как промежуточная. Также для отладки всего этого есть в наличии отладочная плата Cyclone V GX Starter Kit
|
|
|
|
|
Dec 21 2015, 06:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Я так и не понял, железо уже есть или можно ещё что-то менять? Если железо есть, то пробуйте использовать ядро Custom PHY, в GUI ставте для SYNC PATTERN настройки, которые оно позволяет выбрать, а в топ модуле подправте вручную и пробуйте скомпилить. Цитата(Алексей_1990 @ Dec 21 2015, 09:31)  Во втором случае будет необходимо принять сигнал с АЦП lts 2193. Если правильно понял, что АЦП это LTC2193, то никакой внешний сериалайзер не нужен, заводите сигналы прямо на FPGA и используете ядро ALT_LVDS RX. Клоки - на клоковую ногу FPGA (которую можно протянуть до PLL), достаточно будет DATA CLOCK OUT.
|
|
|
|
|
Dec 21 2015, 07:15
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934

|
Цитата(doom13 @ Dec 21 2015, 10:48)  Я так и не понял, железо уже есть или можно ещё что-то менять? Если железо есть, то пробуйте использовать ядро Custom PHY, в GUI ставте для SYNC PATTERN настройки, которые оно позволяет выбрать, а в топ модуле подправте вручную и пробуйте скомпилить.
Если правильно понял, что АЦП это LTC2193, то никакой внешний сериалайзер не нужен, заводите сигналы прямо на FPGA и используете ядро ALT_LVDS RX. Клоки - на клоковую ногу FPGA (которую можно протянуть до PLL), достаточно будет DATA CLOCK OUT. Железо выбрано. Сейчас колдую над custom PHY. При чем я отошёл от сериалайзера и подаю на вход просто последовательность единиц с генератора импульсов, при этом решил попробовать режим bitslip. Вывел его на кнопку, при нажатии код смещается, как я понял, так и должно быть. Но все идёт нормально только до 8ого бита, потом код скачет вверх, пропуская много позиций. Хотелось бы, конечно, проверить режим с выравниванием слова по последовательности, но я не располагаю таким генератором, с которого я подаю сначала синхро-последовательность, а потом какой-то код.
|
|
|
|
|
Dec 21 2015, 07:52
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934

|
Цитата(doom13 @ Dec 21 2015, 11:33)  Про АЦП Вы не ответили, это LTC2193??? Да, именно. Прошу прощения. Попробовал в топ модуле подправить, компилятор ругается.
|
|
|
|
|
Dec 21 2015, 08:05
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Алексей_1990 @ Dec 21 2015, 10:52)  Попробовал в топ модуле подправить, компилятор ругается. Возможно ещё что-то завязано на эти параметры. Цитата(Алексей_1990 @ Dec 21 2015, 10:52)  Да, именно. Прошу прощения. Тогда тут не нужен внешний трансивер. Для приёма достаточно завести все сигналы АЦП в FPGA (линии данных канала АЦП для 4-line mode и тактовую АЦП DATA CLOCK OUT) и при максимальной частоте тактирования АЦП 125 MHz получится всего 500 Mbps на линию. Для 800 Mbps от канала АЦП можно использовать 2-line mode (а если FPGA держит приведённые выше характеристики, то будет достаточно и 1-line mode). PS: ALT_LVDS вполне подходит.
|
|
|
|
|
Dec 23 2015, 05:55
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934

|
Цитата(doom13 @ Dec 21 2015, 12:05)  Возможно ещё что-то завязано на эти параметры.
Тогда тут не нужен внешний трансивер. Для приёма достаточно завести все сигналы АЦП в FPGA (линии данных канала АЦП для 4-line mode и тактовую АЦП DATA CLOCK OUT) и при максимальной частоте тактирования АЦП 125 MHz получится всего 500 Mbps на линию. Для 800 Mbps от канала АЦП можно использовать 2-line mode (а если FPGA держит приведённые выше характеристики, то будет достаточно и 1-line mode). PS: ALT_LVDS вполне подходит. А в этом случае, не проясните ли мне почему в altlvds_rx максимальный возможный фактор дессериализации равен 10? Как я понимаю, чтобы принять 16битную последовательность нужно поставить каскадно два приёмника по 8 бит
|
|
|
|
|
Dec 23 2015, 11:15
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934

|
Цитата(doom13 @ Dec 23 2015, 10:47)  У Вашего АЦП есть режимы 4-line/2-line/1-line mode, где фактор десериализации будет соответственно 4/8/16 (вот только 16 выбрать не получится, тут только если делать свой приёмник). Используйте 4-line mode, чтоб можно было работать на максимальной частоте тактирования АЦП. Так вот задача то и заключается в принятии сигнала по 1 линии.
|
|
|
|
|
Dec 23 2015, 12:00
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Алексей_1990 @ Dec 23 2015, 14:15)  Так вот задача то и заключается в принятии сигнала по 1 линии. Если учесть, что согласно даташиту на ALTLVDS_RX: Цитата In Cyclone series, the SERDES circuitry is always implemented in logic cells. то, как вариант, можно попробовать сделать свой приёмник для Вашего случая. Когда-то давно делал такое, а потом нашёл ALTLVDS_RX, который работает намного лучше. В настоящей системе используется ALTLVDS_RX, который принимает 800 Mbps с одной линии, так что пробуйте.
|
|
|
|
|
Dec 23 2015, 16:17
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934

|
Цитата(doom13 @ Dec 23 2015, 16:00)  Если учесть, что согласно даташиту на ALTLVDS_RX:
то, как вариант, можно попробовать сделать свой приёмник для Вашего случая. Когда-то давно делал такое, а потом нашёл ALTLVDS_RX, который работает намного лучше. В настоящей системе используется ALTLVDS_RX, который принимает 800 Mbps с одной линии, так что пробуйте. Буду пробовать, только жаль что на отладочной плате высокочастотные выводы железно завязаны на аппаратные высокоскоростные трансиверы. Не могли бы прояснить ещё один момент: как я понимаю в altlvds_rx на пин inclock я завожу свою фреймовую частоту? Немного не по теме, но хочу поделиться: был на семинаре, так вот там упоминался интерфейс jesd204b. Знакомы с ним? Это чисто моё любопытство)
|
|
|
|
|
Dec 23 2015, 18:42
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Алексей_1990 @ Dec 23 2015, 19:17)  Буду пробовать, только жаль что на отладочной плате высокочастотные выводы железно завязаны на аппаратные высокоскоростные трансиверы. Не могли бы прояснить ещё один момент: как я понимаю в altlvds_rx на пин inclock я завожу свою фреймовую частоту? Если хотите использовать вход трансивера, то тут altlvds_rx прицепить не получится. Мне кажется, что должен быть способ настроить Custom PHY для Вашего случая. Сами заложили в своём устройстве соединение между FPGA через трансиверы в режиме half duplex и предполагал использовать Custom PHY (по документации всё должно работать, но железа пока ещё нет, а так проект скомпилился, не помню, правда, какие настройки для шины данных там задавал). На inclock заводится либо frame clock либо bit clock (можно оба, но это избыточно), если только один АЦП на плате, то разницы нет, если несколько и надо будет их все синхронизировать - тогда bit clock. Заводится на ногу, которую можно забросить на PLL. Цитата(Алексей_1990 @ Dec 23 2015, 19:17)  Немного не по теме, но хочу поделиться: был на семинаре, так вот там упоминался интерфейс jesd204b. Знакомы с ним? Это чисто моё любопытство) У нас DDS с этим интерфейсом используется, но запускал его коллега.
|
|
|
|
|
Dec 24 2015, 07:17
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934

|
Цитата(warrior-2001 @ Dec 24 2015, 09:26)  jesd204b - это готовый стандарт. Использую его в AD9656. Написал сам. Если бы была ПЛИС 5 серии - поставил бы ядро альтеровское. И в какую нынче цену такое ядро? Цитата(doom13 @ Dec 23 2015, 22:42)  Если хотите использовать вход трансивера, то тут altlvds_rx прицепить не получится. Мне кажется, что должен быть способ настроить Custom PHY для Вашего случая. Сами заложили в своём устройстве соединение между FPGA через трансиверы в режиме half duplex и предполагал использовать Custom PHY (по документации всё должно работать, но железа пока ещё нет, а так проект скомпилился, не помню, правда, какие настройки для шины данных там задавал). На inclock заводится либо frame clock либо bit clock (можно оба, но это избыточно), если только один АЦП на плате, то разницы нет, если несколько и надо будет их все синхронизировать - тогда bit clock. Заводится на ногу, которую можно забросить на PLL.
У нас DDS с этим интерфейсом используется, но запускал его коллега. На самом деле, уже много режимов перепробовал для трансивера, ничего даже приближенного к правде не выдавалось.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|