Jump to content
    

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

Добрый день,

 

есть несколько плисок, конкретно GoWin GW1NR-LV9LQ144 или примерно такие же физически на расстоянии друг от друга около метра - двух. Хочется парно их соединить, передавая около 200мбит/с между такими парами. Из каждой плиски будет наверное по 3 входа-выхода. Хотелось бы их как-то соединить и передавать данные примерно как по дуплексному двухбитному интерфейсу.

 

Скажите, пожалуйста, правильно ли я понимаю, что если я возьму обычный 8 пиновый етернет кабель и пары его воткну в LVDS то по идее я могу обеспечить по два бита в каждую сторону, если они будут на 200МГц скорости, то вроде все должно пойти разумно (то есть у меня будет 400МБит/с дуплекса, но с запасом и свои 200МБит/с я получу).

 

Скажите, пожалуйста, не будет ли LVDS плиски плохо поддерживать разброс волнового сопротивления етернет кабеля?

 

Если так можно, тогда еще вопрос, правильно ли я понимаю, что и POE поверх можно через трансформаторы пустить?

 

Спасибо!

Share this post


Link to post
Share on other sites

на плате tang nano 9k есть hdmi разъём, куда данная плисина напрямую херачит данные на те же пару метров, даже на несколько более высоких скоростях своими lvds передатчиками.

с приёмом несколько сложнее.

но там вроде mipi есть для этого.

Share this post


Link to post
Share on other sites

Идея рабочая, в т.ч. PoE, но нужна стандартная защита и кодирование в переменный ток, иначе через трансформаторы оно не пролезет, стандартное это 4b5b.

Share this post


Link to post
Share on other sites

2 часа назад, iiv сказал:

минуя все эти сложные протоколы?

И как будете передавать? Как будет происходить CDR? В итоге придете к изобретательству обычного езернет-фай на минималках.

Ничего сложного в том же езернете с точки зрения следующего уровня - а именно, канального, нет. Не надо даже сам езернет там поднимать - достаточно только сигнального линка.

Share this post


Link to post
Share on other sites

9 minutes ago, Arlleex said:

И как будете передавать? Как будет происходить CDR?

там какой-то mipi вроде есть и приёмник и передатчик.

но и без него частоты не самые большие, клок можно третьей парой пустить и ничего не восстанавливать. spi поверх lvds.

Share this post


Link to post
Share on other sites

12 минут назад, _pv сказал:

там какой-то mipi вроде есть и приёмник и передатчик.

но и без него частоты не самые большие, клок можно третьей парой пустить и ничего не восстанавливать. spi поверх lvds.

Тогда можно поставить внешние TTL -> LVDS -> TTL буферы, а ПЛИСовые ноги нарастить в количестве по желанию.

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

Share this post


Link to post
Share on other sites

2 hours ago, _pv said:

на плате tang nano 9k есть hdmi разъём

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

Мне именно плиска на плиску надо, и так много раз, поэтому с танг-наной - не реально, с другой стороны я этот GoWin уже однажды разводил ииспользовал, и есть надежда, что поедет все с первого раза, если я сильно с lvds-ами не накосячу.

 

2 hours ago, Plain said:

но нужна стандартная защита и кодирование в переменный ток

По данным - спасибо! Да, 4b5b, может даже что-то двухбитное с большей коррекцией ошибок. А по питанию, надо ли что-то?

Пусть у меня есть платы с плисками A,B,C,D,E,F,G,H и соединения

A-B, A-C, B-D, B-E, C-G, C-H, G-D, H-E

Питание есть только на A.

Правильно ли я понимаю, что все средние провода всех четных трансформаторов на каждой плате с плиской я соединяю, и то же самое делаю для всех проводов нечетных трансформаторов. Тогда если я на нечетные провода подам "+", на четные "-" на плате с плиской A, то на всех остальных я могу через выпрямитель с четной и нечетной пары снять питание и использовать по месту?

Аппарат не заземлен, надеюсь, молния не попадет, но рядом работающие моторы могут что-то навести.

Вроде никто больше туда лазить не будет, правильно ли я понимаю, что больше там в защите ничего ставить не надо, или я очень наивен, и ставить, как Вы меня когда-то учили (

)?

1 hour ago, Arlleex said:

И как будете передавать? Как будет происходить CDR? В итоге придете к изобретательству обычного езернет-фай на минималках.

делать свой протокол. У меня там несколько режимов - в одном нужна латентность, но данных мало, в другом - много данных. Да и соединение не сильно простое, минимум 7 устройств, а может и больше будет.

32 minutes ago, Arlleex said:

Тогда можно поставить внешние TTL -> LVDS -> TTL буферы

не, как раз хотелось плиску по полной использовать, да и трафик не сильно большой, где-то 200МБит/с меня должно устроить, может чуть больше. если задействовать все 4 пары, по две в каждую сторону, то надо в режиме 4b5b надо посылать на частоте порядка 120МГц.

 

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

Share this post


Link to post
Share on other sites

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

в одном нужна латентность

Тогда без CDR, восстанавливающей опору из передаваемых данных, не обойтись. Опять же - латентность чего относительно чего?

Share this post


Link to post
Share on other sites

19 minutes ago, Arlleex said:

Тогда без CDR, восстанавливающей опору из передаваемых данных, не обойтись.

спасибо! Да, это конечно надо, хотя при реально большом запасе по скорости можно по одному lvds пустить клок, а по другому - данные. Или условиться, что идет чередование каналов, тогда в один слот времени идет по одному каналу клок и по трем - данные, но не в дуплексе, а одностороннем режиме. Но это все - по первости, чтобы быстрее сделать и проверить, а потом уже переходить на более экономные протоколы типа 4b5b.

21 minutes ago, Arlleex said:

Опять же - латентность чего относительно чего?

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

 

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

 

 

Share this post


Link to post
Share on other sites

2 hours ago, iiv said:

По данным - спасибо! Да, 4b5b, может даже что-то двухбитное с большей коррекцией ошибок. А по питанию, надо ли что-то?

По согласованной витой паре или обычным LVDS кабелям на пару метров 200 MHz без проблем передаётся.
Кодирование  4b5b / 8b10b / 64b66 / ... нужно лишь тогда когда данные в линиях LVDS развязаны по DC или надо восстанавливать клок.
Если отдельной парой кинете клок то на приёмной стороне будет нужна лишь подстройка фазы, и то статическая (на 200 MHz),  автомат это если уж совсем кабеля левые.
 

Share this post


Link to post
Share on other sites

13 часов назад, iiv сказал:

может даже что-то двухбитное с большей коррекцией ошибок

Защита от ЭМП, как на Рис.11 здесь, только ещё шину ограничителя подтянуть через 10 кОм на питание:

Designing Ethernet Cable Ports to Withstand Lightning Surges - In Compliance Magazine.pdf

PoE достаточно лишь на стороне источника изолировать.

Share this post


Link to post
Share on other sites

Скажите, пожалуйста, вдогонку по GoWin, а конкретно по GW1NR-LV9:

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

2. нужно ли только TRUE LVDS 2.5 делать, или можно LVPECL на 3.3В или 1.8В делать?

Спасибо!

Share this post


Link to post
Share on other sites

18 hours ago, RobFPGA said:

По согласованной витой паре или обычным LVDS кабелям на пару метров 200 MHz без проблем передаётся.

На Xilinx это делается, и успешно работает. А вот на Gowin - будьте крайне осторожны. Обязательно смакетируйте передатчик, тракт передачи, и приемник.

Я имел негативный опыт реализации LVDS SERDES на Gowin на высоких скоростях. Долго не мог понять, почему же лыжи не едут.

В итоге, пришлось кратно снижать linerate, даже несмотря на динамическую подстройку фаз

Share this post


Link to post
Share on other sites

4 hours ago, pavlovconst said:

Я имел негативный опыт реализации LVDS SERDES на Gowin на высоких скоростях. Долго не мог понять, почему же лыжи не едут.

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

 

И да, Альтера с Ксайликсом - конечно классные, но у них разводка на порядок геморнее (и Циклон-СОК, и Говин разводил, знаю о чем говорю), а мне надо все вместе (и верилог, и разводку) сделать и быстро при том.

Share this post


Link to post
Share on other sites

On 9/3/2024 at 6:16 PM, pavlovconst said:

имел негативный опыт реализации LVDS SERDES на Gowin на высоких скоростях.

а у них есть требования по питанию?
Помнится, у Альтеры целым зоопарком конденсаторов нужно обвешивать питание скоростных банков/интерфейсов, вплоть до того, что формировать конденсатор для фильтрации ВЧ слоями печатной платы.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...