|
|
  |
Подскажите по организации обмена по LVDS через трансформатор, Правильно ли я понимаю алгоритм использования 8b10b кодирования |
|
|
|
May 4 2006, 18:12
|
Участник

Группа: Новичок
Сообщений: 25
Регистрация: 6-06-05
Пользователь №: 5 782

|
Надо передавать данные между 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 мегафункция?
Так ли следует делать? Или забыты какие операции?
Спасибо.
|
|
|
|
|
May 5 2006, 04:19
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Мне тоже предстоит делать нечто подобное (gigabit ethernet), но я пока больше теоретик. Постараюсь ответить, как я считаю. За диспарити должна следить сама мегафункция кодека, а при нарушении - выдавать соответствующий сигнал ошибки на какой-то выход (точно не знаю). Смысл outclock divide factor - в том, что этот вывод является обычным наследником любой PLL, а в LVDS она входит (если только у вас Deserialization Factor не равен 1, что уже тривиальный случай). У меня в проекте этот клок вообще не используется (на приёмной стороне стоит внешняя микросхема SerDes c CDR). Если данный клок используется, то ты можешь задать для него определённый коэффициент деления, как и у любой PLL, когда задаётся определённый коэффициент деления опорной частоты и частоты выходной. Мой к Вам вопрос: где достать эту мегафункцию кодека? Для моего изернета она будет как нельзя к стати.
|
|
|
|
|
May 5 2006, 08:46
|
Участник

Группа: Новичок
Сообщений: 25
Регистрация: 6-06-05
Пользователь №: 5 782

|
Мегафункцию брал из Мегакоре Либ 2004.12. Там она версии 1.5.0. Есть новее, но не смог уговорить работать бесплатно :-) Мегакоре Либ взял с известного фтп.
|
|
|
|
|
May 10 2006, 14:18
|
Участник

Группа: Новичок
Сообщений: 25
Регистрация: 6-06-05
Пользователь №: 5 782

|
Там 160М. Возьмите лучше с фтп Альтеры. Там есть, только что проверил.
|
|
|
|
|
Oct 4 2011, 18:43
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
вот я тут нашел тему, но так и не понял как все таки восстанавливается клок http://electronix.ru/forum/index.php?showt...195&hl=lvdsВот у меня есть два СIII связанные по LVDS ->DS кодом. Т.е. для передачи в одну сторону используется две линии. Хочу попробовать 8b/10b. Создаю 2е мегафункции (соответственно кодер/декодер). У каждой свой клок. Будет ли обеспечен нормальный прием/передача? И как все таки восстанавливается клок в данной кодировке?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|