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

Можно ли соединить две плиски через USB/Ethernet кабель, минуя все эти сложные протоколы?

На 200Мгц по диффпаре на пару метров в режиме SPI работать не будет, точнее то будет то не будет и так всё время. Придётся по каким-то посылкам всё время фазу подстраивать, а если надо городить подстройку фазы, то проще поставить  PHY 1G Ethernet.

Либо снизьте частоту до 50Мгц и учетверите количество диффпар, тем более что есть кабели с чуть ли не любым количеством диффпар в составе.

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


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

Можно спокойно LVDS-ом через кабель (витые пары в экране) на 2-3 метра передавать. Без всяких лишних заморочек. Пруф - смотри CameraLink (это простой lvds без наворотов-кодирования). Только кабель должен быть правильный-качественный. 

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


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

41 minutes ago, Lmx2315 said:

На 200Мгц по диффпаре на пару метров в режиме SPI работать не будет

понятно что если длина кабеля больше чем период, то передача от слэйва по клокам мастера работать будет так себе.

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

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


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

13 hours ago, iiv said:

А какие у Вас были скорости, когда не работало, и когда стало работать? Я предполагаю, что 200МБит/с меня устроит, но всегда хочется про запас иметь больше, а вдруг пригодится. В даташите вроде на каждую линию 1.2ГБит/с дают.

В моем случае, на скоростях более 600Mbps с приемника сыпется исключительно мусор. Никакие настройки не помогают, а попробовал я много всего, можете глянуть. Плата Tang Nano 25K, линия передачи в виде перемычки разъеме (плюс согласующие резисторы).

2 hours ago, Yuri124 said:

а у них есть требования по питанию?

Документация у них жиденькая, как таковых рекомендаций нет.

Хотя, где-то я находил рекомендацию запитывать банк с LVDS линиями именно от 2.5V. В надежде на улучшение, я заколхозил плату, но ... ничего не изменилось 🤣

@iiv Ещё, обратите внимание на количество доступных PLL - их, вроде бы, две. А приемников у вас - 7 штук. Надо заранее подумать, на каком клоке вы будете принимать данные

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


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

41 minutes ago, pavlovconst said:

Ещё, обратите внимание на количество доступных PLL - их, вроде бы, две. А приемников у вас - 7 штук. Надо заранее подумать, на каком клоке вы будете принимать данные

да, две, и, более того, одна PLL по другим делам занята будет, то есть только одну могу выделить. Я собственно поэтому и тут вопрошаю (но пока так и не понял, кто знает, подскажите, пожалуйста) можно ли одну и ту же LVDS пару использовать как приемник и как передатчик. Чтобы обойти проблему клоков, я бы мог все 4 линии в какой-то момент переключать так, что они работают в одну сторону, тогда клок бы шел по одной LVDS паре, и данные - по трем другим. Так как на обоих концах - все только свое и никто в этот протокол не полезет, я мог бы даже условиться о размере пакетов. В этом случае с учетом всех оверхедов мне где-то 200-300МГц надо иметь, может чуть больше.

 

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

 

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

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


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

у людей проблемы с приёмом данных с АЦП по LVDS на 200 - 300 МГц , которые рядом на печатной плате стоят, а вы хотите без проблем передать на 2 метра, по кабелю, чьи параметры будут меняться от того как его согнули!

з.ы.

Нет проблем передать данные по LVDS в данном сетапе, проблема их синхронизировать между собой и на приёме.

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


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

1 hour ago, _pv said:

На 200Мгц по диффпаре на пару метров в режиме SPI работать не будет

Не знаю как  в GOWINe, а в стареньком Spartan3 и Virtex4 LVDS в чистом SPI режиме  на ~200MHz  работало безо всяких проблем. И даже без DLL/PLL.  На внешнем LVDS кабеле 2м с разъёмами. 
Кабель 5 пар, одна пара - клок.  Но естественно это без DC развязки.
И я даже пробовал извращался и делал синхронизацию передачи выкалывая несколько тактов клока  и детектируя  это на приёмной стороне.  Тоже работало.  
Но все же было проще  сделать норм 8b/10b кодирование  и поднять скорость. Получается универсальнее и DC развязка без проблем  

P.S,  И все это без serdes, чисто на  логике 

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


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

On 9/4/2024 at 1:16 PM, RobFPGA said:

Не знаю как  в GOWINe, а в стареньком Spartan3 и Virtex4 LVDS в чистом SPI режиме  на ~200MHz  работало безо всяких проблем. И даже без DLL/PLL.  На внешнем LVDS кабеле 2м с разъёмами.

Ultra-640_SCSI передавал 320 Мбит/с по каждой LVDS паре на 10 метров ещё 20 лет назад.. :biggrin:

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


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

24 minutes ago, RobFPGA said:

Но естественно это без DC развязки.

скажите, пожалуйста, правильно ли я понимаю, что DC развязка - это трансформаторы в езернет розетке, в том числе для POE?

А почему с ней режим SPI, когда по одному каналу клок, по другим - данные - не пойдет, пожалуйста, объясните?

 

27 minutes ago, RobFPGA said:

Но все же было проще  сделать норм 8b/10b кодирование  и поднять скорость.

правильно ли я понимаю, что без PLL сделать такое декодирование клока на стороне получателя не реально?

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


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

On 9/4/2024 at 1:45 PM, iiv said:

DC развязка - это трансформаторы в езернет розетке

можно сделать и с помощью конденсаторов.

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


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

13 минут назад, iiv сказал:

А почему с ней режим SPI, когда по одному каналу клок, по другим - данные - не пойдет, пожалуйста, объясните?

Вот вы пошлёте по линии длинную серию нулей или единиц, для линии это будет почти постоянный сигнал, а постоянные сигналы через конденсаторы/трансформаторы не проходят.

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


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

51 минуту назад, blackfin сказал:

Ultra-640_SCSI передавал 320 Мбит/с по каждой LVDS паре на 10 метров ещё 20 лет назад.. :biggrin:

Я тут почитал как скази работает:

If the I/O signal is false (transfer to the target PIA) the target PIA shall request information by asserting the REQx signal. The initiator PIA shall drive the data and parity signals to their desired values, delay at least one deskew delay plus a cable skew delay and assert the ACKx signal. The initiator PIA shall continue to drive the data and parity signals until the REQx signal is false.

Ну, чем не подстройка фазы. Топикстартер всего лишь сделает точно также, добавит недостающих линий, коррекцию ошибок и его lvds тоже заработает.

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


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

38 minutes ago, iiv said:

правильно ли я понимаю, что без PLL сделать такое декодирование клока на стороне получателя не реально?

Есть несколько вариантов реализации вашей системы

- Системный (общий для всех устройств) клок. Передача данных и прием на этом клоке. Хорошо, если этот вариант заработает на 90MHz.

- Source-synchronous тактирование, клок сопровождает данные. DDR буфера на передаче и на приеме. Думаю, максимум 90MHz внутренний клок, 180Mbps или около того на лейн. Реализовать такое относительно легко.

- Source-synchronous тактирование, SERDES c кратностью от 4 до 10, передаем внутренний медленный клок. Потребуется умножать внутренний клок и на передатчике, и на приемнике, нужны PLL. Видимо, вы так не сможете сделать.

- То же, что и предыдущий пункт, только с данными передаем быстрый клок. Приемник делит этот клок на логике, чтобы защелкивать данные с десериализатора. По даташиту обещают до 1200Mbps, по факту - будет трудоемко получить даже 400Mbps. Много подводных камней, связанных с пророческим названием выбранной ПЛИСки.

 

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


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

1 hour ago, iiv said:

правильно ли я понимаю, что без PLL сделать такое декодирование клока на стороне получателя не реально?

Нет, неправильно. Кодирование 8b10b работает "само по себе" без  необходимости восстанавливать клок.  Главное чтобы этот клок был.
Если вы будете передавать клок отдельной парой  то 8b10b (или другие подобные) нужен будет лишь для устранения проблем c DС развязкой. 
Например вы передаёте клок   отдельной парой,  и можно на частоте в 2 раза меньше чем битовый  поток. 
А на приёмной стороне нужно будет лишь выровнять задержку клока на середину окна бита, и принять биты по обоим фронтам на DDR, а затем уже декодировать 8b/10b с выравниванием на слово и контролем четности. 
Так же и на перечу,  8b10b кодирование и в DDR передача используя для передачи принятый клок.     

Для  200MHz, c окном ~5 ns,  для нормального LVDS кабеля, и обычных условий эксп. даже не нужно делать автоподстройку фазы приёма. Работает и на статическом ручном подборе.  

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


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

- Или всё же обратить внимание на IP-корку Езернета + свич на 8 портов и все дела 😁

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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