|
Нестабильно работает трансивер Kintex7, Нужен свежий взгляд на проблему |
|
|
|
Feb 24 2015, 14:48
|
Знающий
   
Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965

|
Занимаюсь сейчас SATA на плате с Kintex7 и уперся в некоторый тупик - поведение трансивера меняется от ресета к ресету и, чаще всего, не обеспечивает нормальной работы. Сгенерирован стандартный пример на 3 ГБит/с с минимумом изменений, для процедуры сброса используется встроенный контроллер, т.е. снаружи сброс подается только сигналом soft_reset. Далее я наблюдаю происходящее после сброса, ориентируясь главным образом на признак rxnotintable, говорящий об ошибке на нижнем уровне при 10b/8b-декодировании внутри трансивера (ну и заодно rxdisperr).
Я вижу что: 1. Иногда (1 случай из 20) все работает нормально, правда с периодом в минуту-пять-полчаса может проскочить одиночная ошибка (тоже ведь не нормально или как?) 2. В большинстве случаев после прохождения процедур OOB начинают сыпаться ошибки (сразу или через некоторое время). При этом alignment обычно проходит, а вот дальше уже все тухло. От случая к случаю ошибки могут вылезать или длинными периодами, или быть перманентными (например каждое четвертое принятое слово - с ошибкой).
Будь это моя собственная логика, я бы списал на асинхронщину, клоки/сбросы и т.п. Ну тут все происходит внутри адской коробочки и как быть непонятно.
На данный момент я успел проверит следующее:
1. Тупой тест с PRBS на базе готового примера через loopback-кабель проходит - то есть линия сама по себе целая. IBERT тест к сожалению запустить не удается. По невыясненным причинам вивада говорит, то debug-ядра внутри проекта нет (или клока нет). Хотя берется готовый пример,а клок тот же, что и в рабочем проекте. 2. Был найден AR# 53364 с указанием какие параметры задавать RX CDR для разных протоколов. Ни к каким видимым эффектам не привело. 3. Поигрался с разными режимами эквалайзера, впрочем не особо понимая их внутреннюю физику. Опять-таки видимого результата нет. 4. Естественно попробовал разные кабели и несколько жестких дисков. 5. Тайминги в проекте вроде как проходят, но даже если бы не проходили - это все снаружи, а проблемы начинаются непосредственно с приема внутри трансивера. 6. Кое где были упоминания про длительную настройку эквалайзера, которая может мешать начальной процедуре установления соединения. Возможно, но по крайней мере по ее окончании я должен получать из линии символы без ошибок - а сыпятся rxnotintable.
Может кто-то боролся с похожими проблемами и может навести на след проблемы?
|
|
|
|
|
 |
Ответов
|
Feb 26 2015, 10:04
|
Знающий
   
Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965

|
Цитата(dm.pogrebnoy @ Feb 25 2015, 12:09)  Что за плата? Что за опорный генератор? Как дела обстоят с терминацией (такта и данных)? Используете ли вы FSM для сброса, которая идет с примером к GTX визарду? - были там какие-то заморочки. Можно наверно выложить трансивер сюда на форум. Плата само падельная, что вносит некоторые опасения. Клоки идут с PLL TI CDC62005. От нее же тактируется много всего еще, в том числе Serial RapidIO 5.0Gbps на той же FPGA (и вроде работает). Да, использую встроенный FSM для сброса. Изначально рисовал на бумажке по юзергайду, хотел сделать сам - но в итоге то, что генерирует встроенный контроллер совпало с моими представлениями. Вот с терминацией вопрос хороший оказался. Я стал уже сам смотреть и выяснилось, что схему делали из общих соображений, поставив разделительные конденсаторы по 100 нФ на приемной линии. А в sata просят не более 12 нф, причем ставят с обеих сторон и на приемник и на передатчик. Сейчас коллеги думают как быть... Но у меня сомнения в том, что это корень проблемы... Цитата Кстати, надеяться что визард вам все настроит, это сомнительно. На Virtex-6, по крайней мере, пришлось основательно разобраться какой параметр за что отвечает и править руками. На счет править руками настройки визарда - пока только RXCDR_CFG, больше не накопал ничего. Остальное либо вещи функциональные, которые вроде и не надо трогать, либо настолько невнятные, что остается только 2^n комбинаций перебирать. Может порекомендуете, какого рода настройки вам пришлось править?
|
|
|
|
|
Feb 26 2015, 10:32
|

Знающий
   
Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933

|
Цитата(alexadmin @ Feb 26 2015, 13:04)  Вот с терминацией вопрос хороший оказался. Я стал уже сам смотреть и выяснилось, что схему делали из общих соображений, поставив разделительные конденсаторы по 100 нФ на приемной линии. А в sata просят не более 12 нф, причем ставят с обеих сторон и на приемник и на передатчик. Сейчас коллеги думают как быть... Но у меня сомнения в том, что это корень проблемы... Не забывайте что на такт тоже требуются разделительные конденсаторы по 0,1 мкФ. Цитата(alexadmin @ Feb 26 2015, 13:04)  На счет править руками настройки визарда - пока только RXCDR_CFG, больше не накопал ничего. Остальное либо вещи функциональные, которые вроде и не надо трогать, либо настолько невнятные, что остается только 2^n комбинаций перебирать. Может порекомендуете, какого рода настройки вам пришлось править? В моем случае была проблема с TXDIFFCTRL. Визард ставил 4'b0000 вместо 4'b1000. Но в этом случае вообще ничего не работало. Убедитесь перед работой что все такты устаканились. При появлении ошибок эластичного буфера его нужно сбросить, иначе может не заработать. Ну и в принципе, не плохо было бы промониторить его работу. Воспринимает ли он ALIGNp...
--------------------
|
|
|
|
|
Feb 26 2015, 12:07
|
Знающий
   
Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965

|
Цитата(dm.pogrebnoy @ Feb 26 2015, 13:32)  Не забывайте что на такт тоже требуются разделительные конденсаторы по 0,1 мкФ. Да, это есть. Цитата В моем случае была проблема с TXDIFFCTRL. Визард ставил 4'b0000 вместо 4'b1000. Но в этом случае вообще ничего не работало. Увы, там по умолчанию уже стоит 1000. Пробовал увеличить - без разницы...
|
|
|
|
Сообщений в этой теме
alexadmin Нестабильно работает трансивер Kintex7 Feb 24 2015, 14:48 dm.pogrebnoy MMCM сбрасываете вместе с soft_reset? Может забыли... Feb 24 2015, 15:41 alexadmin Цитата(dm.pogrebnoy @ Feb 24 2015, 18:41)... Feb 25 2015, 08:47  DmitryR Цитата(alexadmin @ Feb 26 2015, 14:04) Пл... Mar 6 2015, 13:12 AndreiUS Если плата самодельная, то я бы в первую очередь п... Feb 25 2015, 14:06 silantis Вполне может оказаться что Вы так и не решите эту ... Feb 25 2015, 17:25 dm.pogrebnoy Цитата(silantis @ Feb 25 2015, 20:25) Впо... Feb 25 2015, 19:15 curly07 Цитата(silantis @ Feb 25 2015, 20:25) Впо... Feb 26 2015, 08:25 VladimirB Цитата(silantis @ Feb 25 2015, 20:25) Впо... Feb 26 2015, 20:26 Eugenius Цитата(silantis @ Feb 25 2015, 20:25) Впо... Feb 27 2015, 11:35 dm.pogrebnoy Кстати, в даташите пишут что нельзя верить сигналу... Feb 26 2015, 12:12 alexadmin Цитата(dm.pogrebnoy @ Feb 26 2015, 15:12)... Feb 27 2015, 09:21 silantis Я предлагаю ТС не слушать горячих русских парней у... Feb 27 2015, 18:56 VladimirB Цитата(silantis @ Feb 27 2015, 21:56) Я п... Feb 27 2015, 20:17 dm.pogrebnoy Цитата(silantis @ Feb 27 2015, 21:56) Я п... Feb 28 2015, 07:32  silantis Цитата(dm.pogrebnoy @ Feb 28 2015, 11:32)... Feb 28 2015, 08:55 alexadmin Цитата(silantis @ Feb 27 2015, 21:56) зад... Mar 2 2015, 09:17
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|