VladimirB 1 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба Добрый день. Есть самодельная плата с Kintex7 и Marvell 88E1111. В ПЛИС стоит ядро Xilinx TEMAC из Vivado 16.4. Принимаемые пакеты с MACa берем по интерфейсу AXIstream закольцовываем и отправляем обратно напрямую, без участия DMA и микроблейзов. Сеть 100BASE-TX, Full Duplex - 100МБит/c. Светодиоды на Марвеле, соответствующие светятся. Плату подключаем напрямую к ПК. С ПК отправляем 50 пакетов по 1514 байт с максимально возможной скоростью. Назад в ПК приходят все пакеты, но примерно 2-3 штуки из них обрезанные по длине, случайным образом. Т.е. начало пакета правильное (счётчик), потом он резко обрывается. Косяк на приёме данных с ПК. Смотрели чипскопом обрезанные пакеты идут уже с PHY на MAC. Включили внутри 88E1111 счётчик ошибок CRC, он увеличивается каждый раз на количество битых пакетов. Ещё когда в ПК смотрим обрезанные пакеты Wireshark'oм, то CRC у них правильная, что тоже указывает, что пакет побился на приёме, закольцевался с наружи TEMACa и ушёл обратно уже с новой CRC. Проблема наблюдается на нескольких одинаковых платах. Плата многослойка. От PHY до разъёма с магнетиксом где-то 20 мм. Микросхема PHY 88E1111 вызвала подозрение - перепаял на новую от другого поставщика, с другой датой изготовления - ничего не изменилось. Пробовали менять кабель, перепаивали резисторы согласующие на плате (вместо 50 ом ставили 75, 100, 120), добавлял конденсаторов по питанию, меняли разъём с магнетиксом: вместо MagJack TRP, аккуратно привертолётили HALO HFJ11-1G01ERL. Пробовали менять ПК на ноутбук. Ничего не меняется вообще - стабильно 2-3 пакета на 50 обрезанные. С ПК на ноутбук той же программой передается всё нормально. Питание в норме 2.5В и 1В, цифровое и аналоговое питание 2.5В развязано фильтром. Смотрели осциллографом и питание и сигналы на разъёме Ethernet. Ничего подозрительного не увидели. Подскажите люди добрые, в чём тут может быть проблема? Может еррата какая-нибудь есть? P.S. ещё заметили, что пакеты обрезаются только когда идёт одновременный приём и передача данных. Если данные только принимать и не передавать обратно, то счётчик ошибок CRC в PHY не увеличивается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
litv 0 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба Такой проблемы у нас нет и на 1Гиге. Похоже что на одновременной передаче и приеме помеха перекрестная. Может неправильно кабель езернет зажат :) http://www.hardware.zp.ua/docs/ether10.htm или разьем разведен не так или по питанию чтото выскакивает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wolfman 0 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба А что уходит с MACа на PHY смотрели? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirB 1 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба Такой проблемы у нас нет и на 1Гиге. Похоже что на одновременной передаче и приеме помеха перекрестная. Может неправильно кабель езернет зажат :) http://www.hardware.zp.ua/docs/ether10.htm или разьем разведен не так или по питанию чтото выскакивает. Питание смотрели осциллографом с полосой 1ГГц - всё чисто. Кабеля разные пробовали. Короткие, длинные, заводские, самодельные. Ничего не меняется. Также осциллографировали сигналы на выводах разъёма RJ45 со встроенным магнетиксом при вставленном кабеле - они есть только на первых двух дифф.парах MDI0, MDI1 - на остальных контактах разъёма пустота. Если бы бы неправильно включён разъём - то сигналы были бы на других ногах разъёма. Также подпаивал на проводках другой разъём с другой цоколёвкой от HALO - соответственно цоколёвку заново смотрел. Самое обидное - никакой реакции, было бы хоть какое-нибудь ухудшение или улучшение. P.S. На соседней ветке форума вчера бурно обсуждали как на двухслойке 100МБит Ethernet работает. Вроде как преобладало мнение, что 100BASE-TX всё нипочём, и сопротивление волновое можно не согласовывать и длину дорожек по 10см делать. P.S.2 Вот фрагмент платы с Ethernet. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 12 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба Все ли хорошо на клоке 88e1111? Осциллограммы на XTAL-ногах чистые? Также можно проверить сам кварц и номиналы пикофарадных конденсаторов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirB 1 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба Все ли хорошо на клоке 88e1111? Осциллограммы на XTAL-ногах чистые? Также можно проверить сам кварц и номиналы пикофарадных конденсаторов. У нас кварцевый генератор AU-25.000MBE-T. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба P.S. ещё заметили, что пакеты обрезаются только когда идёт одновременный приём и передача данных. Если данные только принимать и не передавать обратно, то счётчик ошибок CRC в PHY не увеличивается. А если на проводах сделать заглушку Tx-Rx, то нормально работает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eugen_pcad_ru 0 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба WireShark-ом смотрите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewkrot 0 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба Попробуйте свою прошилку на какой-нибудь плате с другим PHY чипом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirB 1 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба WireShark-ом смотрите? Да. Promiscuous mode включён. ОС Win 7. Смотрели на разных ПК. Попробуйте свою прошилку на какой-нибудь плате с другим PHY чипом. Дык там и ПЛИС другая. А если на проводах сделать заглушку Tx-Rx, то нормально работает? Можно попробовать завтра диффпары перекрестить, чтобы ПК проверить. А, чтобы так плату проверить, надо переписывать прошивку, делать генератор и проверятор пакетов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vitus 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба Была похожая проблема. У меня резонатор стоял (не генератор, как у вас, ну и чип другой, хотя тоже марвеловский). Из-за ошибки в схеме резанатор был подключен к чипу через конденсаторы, которые на GND должны идти. Проходили все пакеты кроме самых длинных. Длинные обрезались как и в вашем случае. Предполагаю, что в моем случае имело место смещение тактовой, в результате которого буфер в PHY переполнялся на длинных пакетах. Попробуйте более точный генератор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewkrot 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба Да. Promiscuous mode включён. ОС Win 7. Смотрели на разных ПК. Дык там и ПЛИС другая. Можно попробовать завтра диффпары перекрестить, чтобы ПК проверить. А, чтобы так плату проверить, надо переписывать прошивку, делать генератор и проверятор пакетов. А что мешает скомпилить для другой плис проект? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirB 1 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба А что мешает скомпилить для другой плис проект? Vivado, т.к. оно поддерживает ограниченное кол-во семейств. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewkrot 0 30 марта, 2017 Опубликовано 30 марта, 2017 · Жалоба Vivado, т.к. оно поддерживает ограниченное кол-во семейств. Понимаю) Проект ведь Ваш тестовый не очень сложный, наверное. В ISE под спартан перепишите. Если на плате есть свободные пины от плис, то туда можно другого физика подцепить. Я на тестовых платах всегда вывожу на отдельный разъем неиспользованные пины плис. Если конечно, место есть. Когда все отлажено можно из платы выбросить, а можно и оставить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wic 0 31 марта, 2017 Опубликовано 31 марта, 2017 · Жалоба По ощущениям, у вас канал передачи влияет на канал приёма. Тут очень вероятна не правильная разводка платы и/или согласование с магнетикой(разъёмом) По хорошему нужно смотреть разводку платы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться