Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подскажите по организации обмена по LVDS через трансформатор
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
yurich
Надо передавать данные между 2мя Циклонами2 по LVDS, развязанному трансформаторами.

Используется ALTLVDS RX/TX и 8b10b Encoder/Decoder Megafunction.

Как я понимаю, выглядеть должно следующим образом:
1. На передающей стороне байты, которые надо передать, формируются в пакеты, между которыми вставляется символ К28.5, например путем использования idle_ins входа энкодера 8b10b
2. Выход 8b10b энкодера отправляем на ALTLVDS_TX. Для ALTLVDS ставим Deserialization Factor = 10.
Вопрос: в чем смысл outclock divide factor?

3. На приемной стороне на выходе ALTLVDS_RX ищем символ К28.5 и по нему синхронизируем поток. Нарезаем поток по 10 бит и подаем их на 8b10b декодер. На выходе декодера получаем переданные байтики.

Еще вопрос: надо ли самому следить за диспарити, или это делает 8b10b мегафункция?

Так ли следует делать? Или забыты какие операции?

Спасибо.
Krys
Мне тоже предстоит делать нечто подобное (gigabit ethernet), но я пока больше теоретик. Постараюсь ответить, как я считаю.
За диспарити должна следить сама мегафункция кодека, а при нарушении - выдавать соответствующий сигнал ошибки на какой-то выход (точно не знаю).
Смысл outclock divide factor - в том, что этот вывод является обычным наследником любой PLL, а в LVDS она входит (если только у вас Deserialization Factor не равен 1, что уже тривиальный случай). У меня в проекте этот клок вообще не используется (на приёмной стороне стоит внешняя микросхема SerDes c CDR). Если данный клок используется, то ты можешь задать для него определённый коэффициент деления, как и у любой PLL, когда задаётся определённый коэффициент деления опорной частоты и частоты выходной.
Мой к Вам вопрос: где достать эту мегафункцию кодека? Для моего изернета она будет как нельзя к стати.
yurich
Мегафункцию брал из Мегакоре Либ 2004.12. Там она версии 1.5.0. Есть новее, но не смог уговорить работать бесплатно :-)
Мегакоре Либ взял с известного фтп.
Krys
Если можно, перешлите, пожалуйста Мегакоре Либ 2004.12, если можно! Местный ФТП не работает, а попробовать интересно!
Моё мыло paul_paul (gav-gav) ngs (tochka) ru
yurich
Там 160М.
Возьмите лучше с фтп Альтеры. Там есть, только что проверил.
gosu-art
А какие трансформаторы можно использовать для LVDS (поток в районе 100Mb/s)? Erhernet'овские? И нужно ли передавать клок при 8b10b кодировке?
dvladim
Цитата(gosu-art @ Oct 4 2011, 14:43) *
А какие трансформаторы можно использовать для LVDS (поток в районе 100Mb/s)? Erhernet'овские? И нужно ли передавать клок при 8b10b кодировке?

Ну а почему бы и нет, в Erhernet те же 100 Мбит (125 полоса), те же трансформаторы. Клок обычно восстанавливается (Clock Data Recovery CDR).
gosu-art
вот я тут нашел тему, но так и не понял как все таки восстанавливается клок http://electronix.ru/forum/index.php?showt...195&hl=lvds

Вот у меня есть два СIII связанные по LVDS ->DS кодом. Т.е. для передачи в одну сторону используется две линии. Хочу попробовать 8b/10b. Создаю 2е мегафункции (соответственно кодер/декодер). У каждой свой клок. Будет ли обеспечен нормальный прием/передача?
И как все таки восстанавливается клок в данной кодировке?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.