Перейти к содержанию
    

Virtex-7 + 88E1111 по SGMII

Есть плата VC707 с Virtex-7. Там есть Ethernet PHY 88E1111 с подключением только по SGMII без клоковой линии. Эту PHY я настраиваю самостоятельно, результаты настройки регистров в приложенном к сообщению файле. PHY подключается через GTX трансивер при помощи IP-ядра 1G/2.5G Ethernet PCS/PMA or SGMII v16.1 в режиме конвертера SGMII в GMII.

Работаю на 100 мегабит/с, для чего соответствующим образом настраиваю PHY (видно в приложенном файле), также выставляю режим "0100 - SGMII without Clock with SGMII Auto-Neg to Copper", что также видно в txt-файле в строке, показывающей 4 младших бита регистра 27 означающих HWCFG_MODE. На плате конфиг-пины выставляют неверный режим по умолчанию, что странно зачем они так сделали в схеме, но не суть - через SMI я это изменил.

Что наблюдаю: не приходят пакеты и не отправляются. rx_dv не работает и никогда фронт на нем не возникает, PHY loopback не работает (когда что отправил то и получил). Видимо косячный линк SGMII.

Когда включаю GTX loopback (Loopback Control == 1) то вижу - данные на rxd и rx_dv, т.е. GTX PMA loopback работает, значит с моей стороны всё сделано верно, и лишь вопрос что там в регистрах PHY не так, а быть может сама PHY дохлая.

Кроме того, если просто мониторить, что же валится на rxd при rx_dv == 0, то можно видеть, когда PHY опускаю в reset, rxd ловит всякий случайный мусор из случайных байт, но как только я отпускаю PHY reset то микросхема PHY всё время одну и ту же последовательность:

BC BC BC BC BC BC BC BC BC BC 00 00 00 00 00 00 00 00 00 00 - десять BC и десять нулей

Всё время одно и то же, причем то что по 10 раз я понимаю - я ведь выбрал именно 100 мегабит, а это значит символы дублируются 10 раз, что не знаю как совместимо с режимом "SGMII without Clock with SGMII Auto-Neg" когда скорость должна автоматом влетать на гиг. Я так и не нашел, что же значат эти загадочные последовательности BC00 которую шлет PHY в SGMII, при этом нет ошибок типа disparity error или not in table, оно явно умышленно шлет эту последовательность, но так и не нашел документа, который бы пояснил что хочет от меня PHY, на что оно жалуется???

 

UPDATE: В интернете пишут везде что корректная IDLE последовательность это BC-50 или BC-C5. Откуда они берут что она корректная, из какого документа, может в нем же и про BC-00 пишут? Вот симуляции я вижу BC-50 используется для обозначения IDLE когда нет данных пакета...  

sgmii003_smi_log.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Удалось победить этот SGMII на 1 Гбит/с. Никто не ответил, я напишу решение:

1) Первое, что хочется отметить, мне стоило внимательнее отнестись к тому факту, что режим SGMII у меня "SGMII without Clock with SGMII Auto-Neg to copper" (пишется в 27-й регистр PHY), стало быть без autoneg рассчитывать на нормальную работу было странно, но я почему-то решил что тут всё как и у RGMII/GMII - выставляешь скорость и типа всё. Нетушки. Autoneg нужно ставить в единицу и у IP-ядра, которое трансивер оборачивает вокруг, не забыв забить в an_adv_config_vector + рестарт импульс. И в регистре 0 у PHY выставить тоже autoneg в 12-м бите

2) Второе, что можно отметить, что даже при rx_dv = 0 когда работает SGMII, там всё-таки валятся символы, и если это спец К-символы из пространства 8B10B, то значит линия charisk (char is k = этот символ К) будет в единице. И вот тут можно видеть много интересного, что поможет отлаживаться. Например BC 42 00 00 BC B5 00 00 которые я видел, это как раз и была попытка PHY сказать мне что там некая проблема с autonegation

3) Наконец я нашел где брать эти последовательности в стандарте IEEE Std 802.3-2015 - оказывается его можно на халяву скачать в полной версии 50 мегабайт на 4000+ страниц. Там нет упоминания SGMII, но там есть TBI (ten bit interface), по нему как раз эти 8B10B шастают. Там есть таблица Table 36–3—Defined ordered sets, и этот мой BC это как раз спецсимвол K28.5

 

Тема решена

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...