Lmx2315 5 September 4 Posted September 4 · Report post На 200Мгц по диффпаре на пару метров в режиме SPI работать не будет, точнее то будет то не будет и так всё время. Придётся по каким-то посылкам всё время фазу подстраивать, а если надо городить подстройку фазы, то проще поставить PHY 1G Ethernet. Либо снизьте частоту до 50Мгц и учетверите количество диффпар, тем более что есть кабели с чуть ли не любым количеством диффпар в составе. Quote Share this post Link to post Share on other sites More sharing options...
quest 2 September 4 Posted September 4 · Report post Можно спокойно LVDS-ом через кабель (витые пары в экране) на 2-3 метра передавать. Без всяких лишних заморочек. Пруф - смотри CameraLink (это простой lvds без наворотов-кодирования). Только кабель должен быть правильный-качественный. Quote Share this post Link to post Share on other sites More sharing options...
_pv 78 September 4 Posted September 4 · Report post 41 minutes ago, Lmx2315 said: На 200Мгц по диффпаре на пару метров в режиме SPI работать не будет понятно что если длина кабеля больше чем период, то передача от слэйва по клокам мастера работать будет так себе. но в одну сторону, со сменой направления клоков, чтобы их всегда генерил передатчик (ну или завернуть их со стороны слэйва обратно) - вполне. 1 Quote Share this post Link to post Share on other sites More sharing options...
pavlovconst 5 September 4 Posted September 4 · Report post 13 hours ago, iiv said: А какие у Вас были скорости, когда не работало, и когда стало работать? Я предполагаю, что 200МБит/с меня устроит, но всегда хочется про запас иметь больше, а вдруг пригодится. В даташите вроде на каждую линию 1.2ГБит/с дают. В моем случае, на скоростях более 600Mbps с приемника сыпется исключительно мусор. Никакие настройки не помогают, а попробовал я много всего, можете глянуть. Плата Tang Nano 25K, линия передачи в виде перемычки разъеме (плюс согласующие резисторы). 2 hours ago, Yuri124 said: а у них есть требования по питанию? Документация у них жиденькая, как таковых рекомендаций нет. Хотя, где-то я находил рекомендацию запитывать банк с LVDS линиями именно от 2.5V. В надежде на улучшение, я заколхозил плату, но ... ничего не изменилось 🤣 @iiv Ещё, обратите внимание на количество доступных PLL - их, вроде бы, две. А приемников у вас - 7 штук. Надо заранее подумать, на каком клоке вы будете принимать данные 1 Quote Share this post Link to post Share on other sites More sharing options...
iiv 29 September 4 Posted September 4 · Report post 41 minutes ago, pavlovconst said: Ещё, обратите внимание на количество доступных PLL - их, вроде бы, две. А приемников у вас - 7 штук. Надо заранее подумать, на каком клоке вы будете принимать данные да, две, и, более того, одна PLL по другим делам занята будет, то есть только одну могу выделить. Я собственно поэтому и тут вопрошаю (но пока так и не понял, кто знает, подскажите, пожалуйста) можно ли одну и ту же LVDS пару использовать как приемник и как передатчик. Чтобы обойти проблему клоков, я бы мог все 4 линии в какой-то момент переключать так, что они работают в одну сторону, тогда клок бы шел по одной LVDS паре, и данные - по трем другим. Так как на обоих концах - все только свое и никто в этот протокол не полезет, я мог бы даже условиться о размере пакетов. В этом случае с учетом всех оверхедов мне где-то 200-300МГц надо иметь, может чуть больше. Длины соединений всегда будут одни и те же, то есть можно теоретически вычислить задержку и вообще один клок с центрального всем раздавать и подкручивать фазовращателями. Другое дело, мне также надо вытаскивать из этих плисин данные, я пока не придумал как, но, скорей всего там надо будет обычный ethernet ставить, и тогда все, что у Вас было, мне тоже придется ощутить. Quote Share this post Link to post Share on other sites More sharing options...
Lmx2315 5 September 4 Posted September 4 · Report post у людей проблемы с приёмом данных с АЦП по LVDS на 200 - 300 МГц , которые рядом на печатной плате стоят, а вы хотите без проблем передать на 2 метра, по кабелю, чьи параметры будут меняться от того как его согнули! з.ы. Нет проблем передать данные по LVDS в данном сетапе, проблема их синхронизировать между собой и на приёме. Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 34 September 4 Posted September 4 · Report post 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, чисто на логике 1 Quote Share this post Link to post Share on other sites More sharing options...
blackfin 26 September 4 Posted September 4 · Report post 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 лет назад.. Quote Share this post Link to post Share on other sites More sharing options...
iiv 29 September 4 Posted September 4 · Report post 24 minutes ago, RobFPGA said: Но естественно это без DC развязки. скажите, пожалуйста, правильно ли я понимаю, что DC развязка - это трансформаторы в езернет розетке, в том числе для POE? А почему с ней режим SPI, когда по одному каналу клок, по другим - данные - не пойдет, пожалуйста, объясните? 27 minutes ago, RobFPGA said: Но все же было проще сделать норм 8b/10b кодирование и поднять скорость. правильно ли я понимаю, что без PLL сделать такое декодирование клока на стороне получателя не реально? Quote Share this post Link to post Share on other sites More sharing options...
Yuri124 4 September 4 Posted September 4 · Report post On 9/4/2024 at 1:45 PM, iiv said: DC развязка - это трансформаторы в езернет розетке можно сделать и с помощью конденсаторов. Quote Share this post Link to post Share on other sites More sharing options...
Lmx2315 5 September 4 Posted September 4 · Report post 13 минут назад, iiv сказал: А почему с ней режим SPI, когда по одному каналу клок, по другим - данные - не пойдет, пожалуйста, объясните? Вот вы пошлёте по линии длинную серию нулей или единиц, для линии это будет почти постоянный сигнал, а постоянные сигналы через конденсаторы/трансформаторы не проходят. 1 Quote Share this post Link to post Share on other sites More sharing options...
Lmx2315 5 September 4 Posted September 4 · Report post 51 минуту назад, blackfin сказал: Ultra-640_SCSI передавал 320 Мбит/с по каждой LVDS паре на 10 метров ещё 20 лет назад.. Я тут почитал как скази работает: 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 тоже заработает. Quote Share this post Link to post Share on other sites More sharing options...
pavlovconst 5 September 4 Posted September 4 · Report post 38 minutes ago, iiv said: правильно ли я понимаю, что без PLL сделать такое декодирование клока на стороне получателя не реально? Есть несколько вариантов реализации вашей системы - Системный (общий для всех устройств) клок. Передача данных и прием на этом клоке. Хорошо, если этот вариант заработает на 90MHz. - Source-synchronous тактирование, клок сопровождает данные. DDR буфера на передаче и на приеме. Думаю, максимум 90MHz внутренний клок, 180Mbps или около того на лейн. Реализовать такое относительно легко. - Source-synchronous тактирование, SERDES c кратностью от 4 до 10, передаем внутренний медленный клок. Потребуется умножать внутренний клок и на передатчике, и на приемнике, нужны PLL. Видимо, вы так не сможете сделать. - То же, что и предыдущий пункт, только с данными передаем быстрый клок. Приемник делит этот клок на логике, чтобы защелкивать данные с десериализатора. По даташиту обещают до 1200Mbps, по факту - будет трудоемко получить даже 400Mbps. Много подводных камней, связанных с пророческим названием выбранной ПЛИСки. 1 Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 34 September 4 Posted September 4 · Report post 1 hour ago, iiv said: правильно ли я понимаю, что без PLL сделать такое декодирование клока на стороне получателя не реально? Нет, неправильно. Кодирование 8b10b работает "само по себе" без необходимости восстанавливать клок. Главное чтобы этот клок был. Если вы будете передавать клок отдельной парой то 8b10b (или другие подобные) нужен будет лишь для устранения проблем c DС развязкой. Например вы передаёте клок отдельной парой, и можно на частоте в 2 раза меньше чем битовый поток. А на приёмной стороне нужно будет лишь выровнять задержку клока на середину окна бита, и принять биты по обоим фронтам на DDR, а затем уже декодировать 8b/10b с выравниванием на слово и контролем четности. Так же и на перечу, 8b10b кодирование и в DDR передача используя для передачи принятый клок. Для 200MHz, c окном ~5 ns, для нормального LVDS кабеля, и обычных условий эксп. даже не нужно делать автоподстройку фазы приёма. Работает и на статическом ручном подборе. Quote Share this post Link to post Share on other sites More sharing options...
pavlovconst 5 September 4 Posted September 4 · Report post - Или всё же обратить внимание на IP-корку Езернета + свич на 8 портов и все дела 😁 Quote Share this post Link to post Share on other sites More sharing options...