Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SerDes SN65LV1023/SN65LV1224 от TI
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > от ТТЛ до LVDS здесь
Страницы: 1, 2
cdg
откликнитесь кто использовал, на каких частотах? Стабильность работы на нижней границе диапазона интересует.
CommError
Использовал SN65LV1021DB/SN65LV1224BDB при частоте 10 МГц (120 МГц). Несколько сотен эксемпляров. Никаких проблем нет в диапазоне температур -20/+70 °С.
cdg
Цитата(CommError @ Dec 12 2008, 18:27) *
Использовал SN65LV1021DB/SN65LV1224BDB при частоте 10 МГц (120 МГц). Несколько сотен эксемпляров. Никаких проблем нет в диапазоне температур -20/+70 °С.

1) У Вас пара сериалайзер и десериалайзер работала от одного истогчника частоты (генератора)?
2) Какой режим вхождения в синхронизм использовали?
Кратко суть проблемы:
У меня идут сбои при работе от разных генераторов, частоты различаются на 20 ppm, допускается до 100ppm по даташит, частота 10.24МГц, данные скремблируются, полиномы использовал разные неприводимые от x^7+x^6+1 до x^39+x^35+1, частота сбоев сильно зависит от полинома, как только запитываю сериалайзер и десериалайзер от одной частоты(один и то-же генератор) сбоев нет... Среда передачи оптика или витая пара суть не меняет поведение одинаковое, все согласовано (уровни lvpecl - lvds с помощью микросхем MAX (была и пассивная согласовка), дорожки, резисторы, полигон под линией, длина линии связи короткая меньше 5 см до оптики). Питание чистое, свой линейник + феррит бенд по аналоговому питанию. Пробовал поднять частоту до 12МГц, это не привело к увеличению стабильности, выше поднять не могу у оптики предел до 155мбит/с. Еще один опыт изложу, даю на вход сериалайзера по данным все нули, на выходе LOCK десериалайзера наблюдаю сбои. Помогайте... всю голову сломал...
Zwerg_nase
Использовал пару NATIONAL DS92LV1023/1224. Каждая микросхема работала от своего генератора 20 МГц. Данные передавались по витой паре 5 кат. Синхронизация с использованием синхропоследовательностей. Были сбои при передаче (потеря захвата приемника). Проблему удалось решить только соединив цифровое и аналоговое питание на передатчике.
aosp
Цитата(cdg @ Dec 12 2008, 20:11) *
Еще один опыт изложу, даю на вход сериалайзера по данным все нули, на выходе LOCK десериалайзера наблюдаю сбои. Помогайте... всю голову сломал...


А в каком режиме синхронизации у вас все?
Рапид или Рандом?
CommError
> 1) У Вас пара сериалайзер и десериалайзер работала от одного истогчника частоты (генератора)?

Нет, разные, 10 MHz +/- 50 ppm, как попадались с рулона. Впрочем неинтересно, посколько PLL приемника должно синхронизироватся на частоту передатчика.

> 2) Какой режим вхождения в синхронизм использовали?

Random-Lock-Synchronization

> данные скремблируются, полиномы использовал разные неприводимые от x^7+x^6+1 до
> x^39+x^35+1, частота сбоев сильно зависит от полинома, как только запитываю сериалайзер и
> десериалайзер от одной частоты(один и то-же генератор) сбоев нет.

Правильно. данные дольжны быть псевдослучайными. Но кроме того, вы дольжны использовать в канале передачи DC-free NRZ-Code, как например 8 bit/10 bit, потому что оптический приемник AC-связан по сигналу. С этим кодом можно обычно и упустить скремблирование.

Кстати, SN 65 LV 1023 не будет работать на 10 - 15 МГц. Он хочет увидеть как минимум 30 MHz!
cdg
Цитата(aosp @ Dec 15 2008, 12:32) *
А в каком режиме синхронизации у вас все?
Рапид или Рандом?

Рандом
cdg
Цитата(Zwerg_nase @ Dec 15 2008, 12:22) *
Синхронизация с использованием синхропоследовательностей. Были сбои при передаче (потеря захвата приемника). Проблему удалось решить только соединив цифровое и аналоговое питание на передатчике.

8b10b кодирование имеется в виду????
У меня, судя по CRC, потери происходят и без сбоев захвата приемника, но не редко и сами сбои возникают. Интересно, а без 8b10b кодирования у кого нибудь были результаты???? 8b10b - 20% канала отдай дяде.... На сколько знаю в STM по оптике идет просто скремблированный NRZ и скремблируется он полиномом x^7+x^6+1, не уж то из за одного стартового и стопового бита прийдется так страдать и в пустую 20% канала отдавать??????

Цитата(CommError @ Dec 15 2008, 12:36) *
Нет, разные, 10 MHz +/- 50 ppm, как попадались с рулона. Впрочем неинтересно, посколько PLL приемника должно синхронизироватся на частоту передатчика.

Вот именно, что должны.....

Цитата
Правильно. данные дольжны быть псевдослучайными. Но кроме того, вы дольжны использовать в канале передачи DC-free NRZ-Code, как например 8 bit/10 bit, потому что оптический приемник AC-связан по сигналу. С этим кодом можно обычно и упустить скремблирование.

Это понятно, что это желательно, однако в даташите об этом ни слова...(или плохо читал)??? И в STM over Fiber Optic используют вроде простое скремблирование полиномом 7-ой степени.

Цитата
Кстати, SN 65 LV 1023 не будет работать на 10 - 15 МГц. Он хочет увидеть как минимум 30 MHz!

Упустил из виду, когда писал пост... у меня микросхемы с индеками A и B т.е. из новой серии от 10 до 66
Zwerg_nase
Я имел ввиду синхронизацию приёмника по специальным синхросигналам, которые передаёт передатчик, если один из его входов SYNC1 и SYNC2 будет в "1". У меня от выхода LOCK приемника идет сигнал на вход SYNC передатчика. Если захват приемника пропадает, передатчик передает синхропоследовательности. Похоже, у Техаса это режим Rapid.
Кодирование 8/10 не использую. На вход передатчика подаю 8 бит данных и строб данных. Один бит остается всё время в "1".
CommError
Сравнили уже с даташитом DS92LV1023/1224? Там по-моему более обширная информация.
cdg
Цитата(Zwerg_nase @ Dec 15 2008, 16:48) *
Я имел ввиду синхронизацию приёмника по специальным синхросигналам, которые передаёт передатчик, если один из его входов SYNC1 и SYNC2 будет в "1". У меня от выхода LOCK приемника идет сигнал на вход SYNC передатчика. Если захват приемника пропадает, передатчик передает синхропоследовательности. Похоже, у Техаса это режим Rapid.
Кодирование 8/10 не использую. На вход передатчика подаю 8 бит данных и строб данных. Один бит остается всё время в "1".

Единичные ошибки контролируете CRC есть? Как писал уже не обязательно сбои идут по захвату естть и одиночные ошибки, их больше. Согласование какое 100 ом терминальных возле приемника????

Цитата(CommError @ Dec 15 2008, 16:55) *
Сравнили уже с даташитом DS92LV1023/1224? Там по-моему более обширная информация.

нет пока не сравнивал, сейчас скачаю.
Скачал, прочитал, сравнил, по интересующим вопросам, а именно требованиям к передаваемым данным или хотябы рекомендациям ничего нового, по сравнению с кристалами от TI не обнаружил sad.gif
cdg
Цитата(Zwerg_nase @ Dec 15 2008, 12:22) *
Использовал пару NATIONAL DS92LV1023/1224. Каждая микросхема работала от своего генератора 20 МГц.


На счет 20 МГц ошиблись скорее всего??? 40МГц каждый генератор DS92LV1023 40-66 MHz 10-Bit Serializer [Not recommended for new designs] , DS92LV1023E 30-66 MHz 10-Bit Serializer
http://www.national.com/JS/searchDocument....ield=DS92LV1023
Zwerg_nase
Насчет 20 МГц опечатка. Подаю 50 МГц (20 МГц у меня было на паре DS92LV1021/1212).
CRC нет, передаю видео и наличие ошибок оцениваю по качеству картинки, к единичным ошибкам устройство не критично.
Согласование - параллельный резистор 100 Ом 0603 (см. схему в аттачменте).
cdg
Цитата(Zwerg_nase @ Dec 16 2008, 11:16) *
Насчет 20 МГц опечатка.

Принято smile.gif
Цитата
CRC нет, передаю видео и наличие ошибок оцениваю по качеству картинки, к единичным ошибкам устройство не критично.

У меня как раз наоборот очень критично, ошибок быть не должно, для этого оптику и прикрутил
Цитата
Согласование - параллельный резистор 100 Ом 0603 (см. схему в аттачменте).

На сколько понимаю надо возле приемника резистор ставить.
CommError
@ cdg

Покажите свою схему, иначе дольго еще ходим вокруг да около.
Zwerg_nase
Да, согласующий резистор стоит возле приемника.
cdg
Цитата(CommError @ Dec 16 2008, 12:35) *
@ cdg

Покажите свою схему, иначе дольго еще ходим вокруг да около.

Там и смотреть то особо не на что, выкладываю smile.gif Это вариант с оптикой в комплекте 2 платы, все выводы от SerDes идут в FPGA
Zwerg_nase
На мой взгляд Ваши сбои не связаны с видом передаваемых данных. Я бы поискал проблему в железе.
На Вашем месте я бы:
1) До и после Z4 и Z5 поставил бы танталы не менее 10 мкф, и ещё на каждую ножку AVCC добавил бы по конденсатору NPO/COG 100 - 1000 пф.
2) Если п.1 не помогает, то я бы отпаял Z4 и Z5 и посмотрел как работает устройство без них.
CommError
Вроде все нормально выглядит. Я претендовал бы к 4-слойной плате, но у меня и на двухслойной тоже работало. Однако сериальные линии от DD2/DD3 к/от DD1 для моего вкуса слишком близки друг другу.
cdg
Цитата(Zwerg_nase @ Dec 16 2008, 16:11) *
На мой взгляд Ваши сбои не связаны с видом передаваемых данных. Я бы поискал проблему в железе.
На Вашем месте я бы:
1) До и после Z4 и Z5 поставил бы танталы не менее 10 мкф, и ещё на каждую ножку AVCC добавил бы по конденсатору NPO/COG 100 - 1000 пф.
2) Если п.1 не помогает, то я бы отпаял Z4 и Z5 и посмотрел как работает устройство без них.


ИМХО связано на прямую а может и косвенно, по крайней мере различные скремблирующие полиномы глючат по-разному.
Попробую 10 мкф керамику подпаять, но там потребление по этим цепям не на столько большое, осциллографом ничего не фиксируется, но попытка как говорится не пытка.

Цитата(CommError @ Dec 16 2008, 16:44) *
Вроде все нормально выглядит. Я претендовал бы к 4-слойной плате, но у меня и на двухслойной тоже работало. Однако сериальные линии от DD2/DD3 к/от DD1 для моего вкуса слишком близки друг другу.

Имеется в виду близость дифф пар прием-передача??? тут ножки микросхемы диктуют, с другой стороны дифференциал вродеж как..
Сами линии в диф парах моделировались чтоб погонное волновое по плате получить приблизительно 100 Ом.
Вот тож толкусь вокруг да около... еще и зависимость от полиномов нервирует
CommError
@ Zwerg Nase

> 1) До и после Z4 и Z5 поставил бы танталы не менее 10 мкф, и ещё на каждую ножку AVCC добавил > бы по конденсатору NPO/COG 100 - 1000 пф.

У меня на каждой плюс-ножке всего-лишь 100 nF... 07.gif

@ cdg
>Имеется в виду близость дифф пар прием-передача???

Да.

@ cdg

Какое макс количество непосредственно последующих нульей/единиц при разных полиномах у вас?
cdg
Цитата(CommError @ Dec 16 2008, 17:07) *
Какое макс количество непосредственно последующих нульей/единиц у вас?

Думаю что максимальное число равно 2^(максимальная степень полинома), хотя зависит от входных данных, здесь жешь не избыточное кодирование, но с другой стороны одна 1-ца в потоке присутсвовать будет каждые 12 бит это "СТАРТ" бит самого сериалайзера.
CommError
> но с другой стороны одна 1-ца в потоке присутсвовать будет каждые 12 бит это "СТАРТ" бит самого > сериалайзера.

Гммм да. Правильно.

Попробуйте тогда, что происходит при передаче одних нульей или единиц без скремблера.
cdg
@ Zwerg_nase
Смысла в выпайке индуктивностей, а равно, как и установке кондеров мало, оптика греется не мало(потребление не плохое) и работает через такие-же цепочки по даташит, и на других платах проблем не вызывало, похоже все это на пляски с бубном
Zwerg_nase
to CommError:
У конденсаторов с меньшей емкостью лучше частотные свойства, поэтому, в зависимости от спектра помехи, более мелкий конденсатор (несколько сотен пик) может быть эффективнее, чем сотни нан.
to Cdg:
Мне кажется, что связь с типом полинома может быть косвенной. Если в ошибках виноваты помехи от работы цифровой части устройства , то, в зависимости от полинома, меняются и количество помех и моменты их возникновения (например, когда выходные триггеры FPGA переключаются определенным образом). Причём, как вы понимаете, сбои могут быть как в приемнике, так и в передатчике. В даташите на микросхемы на типы передаваемых данных нет прямых ограничений или рекомендаций. Есть правда, предостережение о ложной синхронизации приемника по повторяющимся битам данных, но если у Вас данные скремблированы и псевдослучайные, то всё должно быть нормально.
Это не похоже это и есть пляска с бубном), иногда это помогает)
CommError
@ Zwerg Nase

> У конденсаторов с меньшей емкостью лучше частотные свойства, поэтому, в зависимости от спектра > помехи, более мелкий конденсатор (несколько сотен пик) может быть эффективнее, чем сотни нан.

Я знаю smile.gif
Zwerg_nase
Да, если еще про бубен, забыл самый главный совет:
Надо ещё раз пропаять всё ножки (особенно земляные) у 1023/1224.
CommError
@ cdg

Какое расстояние от разъема до FPGA? Может быть, резисторы по 82 Ом неудачно выбраны?
Гадание на кофейной гуще... 01.gif
cdg
Цитата(CommError @ Dec 16 2008, 18:32) *
@ cdg

Какое расстояние от разъема до FPGA? Может быть, резисторы по 82 Ом неудачно выбраны?
Гадание на кофейной гуще... 01.gif

Гадать не стоит, расстояние не больше 8 см, 82 ома это теоретически просчитаное и практически измеренное волновое сопротивление этих проводников, да и на частоте в 10 МГц они большого влияния не оказывают, просто согласование с волновым сопротивлением. Уже в общей сложности несколько месяцев гадаю, с переменным успехом, а так все красиво начиналось )))) Максы по согласованию уровней поставил, там раньше пассивная согласовка была, не помогло sad.gif
CommError
Не частота интересна, а крутизна фронтов. Вы уверены, что выбрали RCLK_R/F и TCLK_R/F правильно?
cdg
Цитата(CommError @ Dec 16 2008, 18:49) *
Не частота интересна, а крутизна фронтов. Вы уверены, что выбрали RCLK_R/F и TCLK_R/F правильно?

крутизна нормальная, фронт около 15нс - более чем достаточно имхо
99,9% правильно, можете перепроверить


DEn = 1'b1;
REn = 1'b1;
Sync = 1'b0;
nR_PwrDwn = 1'b1;
nT_PwrDwn = 1'b1;

TClk_R_nF = 1'b0;
RClk_R_nF = 1'b1;
CommError
Я имел в виду, что сканирующий фронт появилься при стабильных данных (в "середине" данных).
До завтра, дольжен сегодня еще рожденственную ельку купить.
cdg
Цитата(CommError @ Dec 16 2008, 19:08) *
Я имел в виду, что сканирующий фронт появилься при стабильных данных (в "середине" данных).

Ну такие вещи смотрятся при первом включении smile.gif)), все работает от центра, единственное, что на передачу я доверился даташиту, регистры на передачу данных и по приему в IO-CEIL, в общем вроде все как нада а не кует, это я уже от безисходности на конференции решил спросить, может чего упустил хитрого....
CommError
Смотрите в даташит HFBR-5103AT. Там резисторы делителей 82 Ом/130 Ом по сравнению с вашей схемой наоборот...
cdg
Цитата(CommError @ Dec 17 2008, 12:17) *
Смотрите в даташит HFBR-5103AT. Там резисторы делителей 82 Ом/130 Ом по сравнению с вашей схемой наоборот...

Спокуха! У меня просто в таком корпусе приемо передатчики 3-х вольтовые стоят smile.gif))), так что ежели брать LVPECL то резисторы должны быть как раз такие, как и стоят, а ежели 5 вольт то как в даташит, такая математика....
Резисторы не оказывают сколько нибудь ощутимого влияния, расстояния мизерные, мало того у меня есть пара плат без оптики, просто соединил по LVDS сериалайзер с десериалайзером + 100 ом согласование, проблемы те-же.
CommError
Нет идей больше, значит, брошу полотенце.
А как со стабильностью передающего такта (Jitter)?
cdg
Цитата(CommError @ Dec 17 2008, 16:06) *
Нет идей больше, значит, брошу полотенце.
А как со стабильностью передающего такта (Jitter)?

Генератор 67.584 -> FPGA[PLL mult_10 div_33 -> div2] -> 10.24 джиттер в пределах 300ps


Сейчас лазил осциллографом по плате и заметил что у десиреалайзера выходы какието жидковатые, в смысле выходное сопротивление их может оказаться более чем надобно, попробую уменьшить последовательные резисторы. Посмотрим как это на результате скажется.
CommError
> FPGA[PLL mult

Вот где собака зарыта!
cdg
Цитата(CommError @ Dec 17 2008, 17:30) *
> FPGA[PLL mult

Вот где собака зарыта!


В чем тут собака???? PLL в Альтере достаточно качественные, по крайней мере у меня не было с ними проблем, в чем проблема, как поймать?
CommError
Позвольте мне тогда цитировать из даташита SN 65 LV 1023A: "Serializer timing requirements for TCLK:
TCLK input jitter 150 ps (max, RMS)."

> В чем тут собака...

Извиняюсь, это немецкое наречие. Смысленный певод: "Вот, в чем дело".
sazh
Цитата(cdg @ Dec 17 2008, 17:22) *
Генератор 67.584 -> FPGA[PLL mult_10 div_33 -> div2] -> 10.24 джиттер в пределах 300ps


После pll div2 на триггере реализован?
cdg
Цитата(CommError @ Dec 17 2008, 17:54) *
Позвольте мне тогда цитировать из даташита SN 65 LV 1023A: "Serializer timing requirements for TCLK:
TCLK input jitter 150 ps (max, RMS)."

Осцилл дает только прикидочные оценки, полоска то всего 500МГц, поэтому пока ничего определенного сказать нельзя, буду проверять. Похоже что пузырь тут, но надо еще частоты пересчитать, у меня нижняя граница диапазона, поэтому требования возможно не будут такими жестокими. Но респект за подсказку!!!!!! Еще у Вас какие генераторы использовались??? Епсоны 3-х вольтовые SJ8002 выходят за допустимые границы у них 200-250ps гарантируется
CommError
Я применяю самые дешевые CTS-357 на 20 MHz, phase jitter max. 1 ps, поставленные Digikey с последующим делителем на 2.
SG 8002 очень и очень не рекомендую, т.к. они сами уже одно PLL содержают. Я на этом месте с осциллятором на 19,44 MHz для STM-1 крепко в лужу сел.
cdg
Цитата(CommError @ Dec 17 2008, 18:53) *
Я применяю самые дешевые CTS-357 на 20 MHz, phase jitter max. 1 ps, поставленные Digikey с последующим делителем на 2.
SG 8002 очень и очень не рекомендую, т.к. они сами уже одно PLL содержают. Я на этом месте с осциллятором на 19,44 MHz для STM-1 крепко в лужу сел.

Оно конечно понятны требования в 150ps для частоты 66МГц => 1/(12*66e-10) ~ 1.27ns, смотрим картину маслом 18 на стр 17 - все логично, но вот для 10МГц => ~8.3ns ????? Зачем нужны такие жесткие требования????
CommError
> Зачем нужны такие жесткие требования????

Теория и практика иногда не совпадают с нашими желаниями.
cdg
Цитата(CommError @ Dec 18 2008, 12:03) *
> Зачем нужны такие жесткие требования????

Теория и практика иногда не совпадают с нашими желаниями.

У меня обычно со 2-го раза совпадает smile.gif)))) Старый мудрый Каа, говорил: "сначала подумай, что ты хочешь увидеть ,потом смотри smile.gif))))))))"
По делу, нашел в загашниках 2 подходящих БМГ-ных генератора, вроде как с джиттером меньше пики, буду пробовать.
sazh
Цитата(cdg @ Dec 18 2008, 13:09) *
У меня обычно со 2-го раза совпадает smile.gif)))) Старый мудрый Каа, говорил: "сначала подумай, что ты хочешь увидеть ,потом смотри smile.gif))))))))"
По делу, нашел в загашниках 2 подходящих БМГ-ных генератора, вроде как с джиттером меньше пики, буду пробовать.


Так ведь pll fpga не даст приемлемых результатов. Наверно можно обойтись без pll, если работать на клоке 67.584
Может дело в проекте. Когда фаза сформированного клока может измениться относительно фазы формирования данных для этого клока.
Код
module clk_serdes
(
input            clk_67_584,
output           clk_10_24,
input      [9:0] in_data_a, in_data_b,
output reg [9:0] out_data_a, out_data_b
);

reg [5:0] ct;
reg       div_2;

wire posedge_clk_10_24, negedge_clk_10_24;


assign clk_10_24 = div_2;
assign posedge_clk_10_24 = (ct == 6'd32) && (div_2 == 1'b0),
       negedge_clk_10_24 = (ct == 6'd32) && div_2;
      
always @(posedge clk_67_584)
begin
if (ct == 6'd32)         ct <= 6'd0;
else                     ct <= ct + 1'b1;

if (ct == 6'd32)         div_2 <= ~div_2;

if (posedge_clk_10_24)   out_data_a <= in_data_a;
if (negedge_clk_10_24)   out_data_b <= in_data_b;
end

endmodule
cdg
Цитата(sazh @ Dec 18 2008, 14:33) *
1-Так ведь pll fpga не даст приемлемых результатов.
2-Наверно можно обойтись без pll, если работать на клоке 67.584
3-Может дело в проекте. Когда фаза сформированного клока может измениться относительно фазы формирования данных для этого клока.


1 - нашел генераторы 20.48, PLL в FPGA не нужен, надо только на 2 поделить
2 - не совсем понял к чему пример? получаем 1.024МГц, а надо в 10 раз больше 10.24 smile.gif
3 - здесь ничего не понял, проект синхронный, частоты прием-передача асинхронные, моделирование вопросов не вызывает, заворот платы сутками стоял ни одной ошибки, не вижу причин не доверять тому что в FPGA, может чего-то неправильно понял, поясните, туплю в конце дня sad.gif

ЗЫ
Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24.
CommError
> Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24.

Думаю, что проблем не будут. У меня деление происходит в маленьких Ксайлинксах: XC 9536 XL и XC 9572 XL.
sazh
Цитата(cdg @ Dec 18 2008, 16:09) *
2 - не совсем понял к чему пример? получаем 1.024МГц, а надо в 10 раз больше 10.24 smile.gif
3 - здесь ничего не понял, проект синхронный, частоты прием-передача асинхронные, моделирование вопросов не вызывает, заворот платы сутками стоял ни одной ошибки, не вижу причин не доверять тому что в FPGA, может чего-то неправильно понял, поясните, туплю в конце дня sad.gif

ЗЫ
Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24.


2 Да конечно. Дело не в posedge_clk_1_024. Я о формировании данных и клока на передачу. Меня интересовала Ваша реализация (На одном клоке или на нескольких. Если несколько их привязка относительно друг друга).
Действительно прием, передача асинхронные, так почему не работает. Заворот платы (сама на себя?) работает. Мне интересно конечно, в чем дело. Почему у других тоже самое работает при той же схемной реализации. (Чтобы с доверием в будущем к этим приемникам передатчикам относиться)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.