Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: sgmii to copper
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
bambam
Сразу прошу прощения за "не те вопросы".

Ситуация: я программист. Есть плата с phy 88E1111. ПЛИС Spartan6. Все это работает ТОЛЬКО по SGMII, т.е. есть только линии S_IN и S_OUT. По сбросу PHY в режиме SGMII without clock ANEG(0100). Никогда ранее ПЛИСинами не занимался, но начальство сказало что надо проверить Ethernet. Сразу скажу чтоб всем был ясен мой уровень в проектировании ПЛИС - узнал лишь в процессе что на вход куда подается частота надо ставить IBUFG. Сгенерировал в LogiCORE SGMII и прилепил к нему приемник и передатчик(висят на PLB). Не смог подцепить Tri speed MAC из LogiCORE к шине PLB(Просто времени дали мало), поэтому просто прицепил приемник и передатчик к параллельным входам. Данные, отсылаемые мною из ПЛИС по кольцу в PHY проходят, т.е. я кладу в свой передатчик(на самом деле это просто небольшая память) данные и отсылаю их в PHY. Данные по кольцу возвращаются назад. Все отлично. Но без лупбэка данные на выходе PHY(MDI[0],..., MDI[3]) не появляются. Из компа пингом данные тоже не поступают ко мне в приемник, хотя видно что PHY данные принимает.

Частота(125 МГц) с внешнего генератора.

Вопросы(сразу оговорюсь, я не программировал на таком уровне... обычно положил в регистр, отпустил, отослал, принял, проанализировал, поэтому, прошу сильно не пинать, пакеты своими ручками вместе с преамбулами сам никогда не формировал):

1) Критично ли в каком виде информация поступает на PHY? Т.е., нужна ли преамбула, контрольная сумма и т.д. чтобы данные вышли из PHY?
2) Данные из компа не принимаются, хотя при лупбэке в PHY МОЙ приемник данные от меня принимает. В чем может быть дело?
3) То что данные по кольцу проходят нормально является ли это показателем того что мой SGMII с приемником и передатчиком собраны нормально и дело в настройках PHY?

Судя по тому что данные по кольцу проходят нормально, получается что вид данных для связки SGMII+TX+RX не особо важны, но тогда данные из компа, даже если что-то не так, должны были пройти до моего приемника, а их нет.

В даташите на PHY сказано про режим Packet Generator. Там сказано что этот режим работает на той скорости, которая установилась. Но на гигабите в режиме GMII to copper не работает(на 100 работает), и в SGMII to copper тоже не работает. В даташите об этом ничего не сказано. Может у меня чего-то не хватает или так и должно быть?

Всем заранее спасибо.
sorok-odin
а) Плата самодельная или китлайт? Сеть в компе 100 или 1000?
б) Есть только SGMII говорите, а MDIO тоже нету? Если нету, то похоже вы настраиваете в лупбэк MAC, а не PHY. Неработающий генератор пакетов тоже наводит на эти мысли. Чтобы проверить, прочитайте регистр 2, там должно быть 0x0141 - код изготовителя 88E1111.
в) Данные на выходе PHY(MDI[0],..., MDI[3]) появляются только если есть линк (он есть?) или если в 16 регистре установить бит 10 (но это только для 10/100, не 1000).
г) Про пинг, как определили, что PHY данные принимает?
д) Преамбулу, SFD, FCS, IFG добавляет сам TEMAC, поэтому в данных может быть что угодно, и оно дойдет до компа, примете wireshark'ом.
е) Работющий лупбэк, если он и правда был в PHY, говорит, что SGMII правильный, проверяли скорости 100 и 1000?
ж) ЕМНИП, для нормальной работы (не лупбэк) скорость MAC надо настраивать на ту, что согласовал PHY.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.