SergeyPro 0 12 декабря, 2018 Опубликовано 12 декабря, 2018 · Жалоба Всем доброго времени суток! Я вынужден просить у сообщества помощи, так как уже вторую неделю идет борьба, и прогресса в этой борьбе пока не видно. Суть проблемы. 1.Есть отладка ATSAME70-XPLD, процессор SAME70Q21 rev.A. Есть код, построенный на основе переработанного примера <Basic HTTP web server using the lwIP TCP/IP stack Raw API in standalone mode (i.e. without RTOS support). [lwIP TCP/IP Stack basic HTTP example using Raw API - SAME70-XPLD - ATSAME70Q21B]>. На отладочной плате мой код и Ethernet работает нормально, проблем нет. 2.Сделал свой модуль в формате ddr2-планки. На нем процессор тот же, но в bga-корпусе и ревизия B - SAME70Q21 rev.B. Запускаю постепенно свою плату. Программируется нормально, светодиодики моргают, но вот Ethernet - GMAC, упорно не работает на TX. На RX проблем нет, пакеты принимаются верно. Инициализация сети проходит, пишет, что 100МБит. Но TX-а нет, хоть убейся о стену. Проверено следующее: - электрически подключено все правильно, контакт есть - припаялось нормально. Тестировал выводы проца определяя их как GPIO. Сигналы на PHY - KSZ8081RNA проходят, и куда надо. - KSZ8081RNA перепаял, результата нет - MDIO работает, регистры KSZ8081RNA читаются и пишутся - перевел KSZ8081RNA в аналоговый loopback - в вайршарке пакеты от компа стали дублироваться. Значит аналоговая часть - KSZ8081RNA и HALO-разъем работают нормально. На ATSAME70-XPLD этот тест ведет себя идентично. - на KSZ8081RNA.TXEN всегда = 0, (через GPIO шевелился без проблем) поэтому стал смотреть процессор. Железо вроде в порядке. - периферия подключена верно, регистры выбора периферии записаны верно. К тому же MDIO работает, значит хотя бы один выход GMAC на OUT настроился. - защита записи в GPIO снята - PIO_WPMR = 0x50494F00, значения регистров управления периферией меняются как надо - клок на GMAC выбран. - сравнивал дампы памяти (области регистров GMAC) ATSAME70-XPLD и моей платы. Различий критичных не обнаружил. - errat-у микрочипа читал, на эту тему там проблем не описано. Страшный документ - у них там косяк на косяке... Еще раз повторю, что один и тот же код на ATSAME70-XPLD работает, а на моей плате нет. ВОПРОС. Не сталкивался ли кто с похожей проблемой? Не в ревизии ли "B" процессора дело? Уже идет вторая неделя половых сношений, а результата все нет... Кто-нибудь работал с этим процессором ревизии "B", все ли было в порядке? На фото хорошо виден проц. Буду признателен за любую помощь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 12 декабря, 2018 Опубликовано 12 декабря, 2018 · Жалоба С этим МК не довелось работать, но есть идеи. 2 часа назад, SergeyPro сказал: - MDIO работает, регистры KSZ8081RNA читаются и пишутся Вы сами все регистры пишете? Обычно множество функций определяется внешней аппаратной обвязкой PHY. Есть уверенность, что в регистрах автосогласования и выбора режима дуплекса выставлены правильные значения? 2 часа назад, SergeyPro сказал: - сравнивал дампы памяти (области регистров GMAC) ATSAME70-XPLD и моей платы. Различий критичных не обнаружил. А откуда взялись некритичные отличия при одинаковом софте? А если сравнить дампы всех регистров в PHY? Вангую, что схема разводки PHY-уровня все-таки немного отличается от отладочной платы. И где-то из-за этого принудительно отключен режим выбора полного дуплекса. Кстати, что говорят параметры сетевой карты при подключении к двум девайсам? Скорость и режим дуплекса разные? Одинаковые? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyPro 0 12 декабря, 2018 Опубликовано 12 декабря, 2018 (изменено) · Жалоба 36 minutes ago, Arlleex said: С этим МК не довелось работать, но есть идеи. Вы сами все регистры пишете? Обычно множество функций определяется внешней аппаратной обвязкой PHY. Есть уверенность, что в регистрах автосогласования и выбора режима дуплекса выставлены правильные значения? А откуда взялись некритичные отличия при одинаковом софте? А если сравнить дампы всех регистров в PHY? Вангую, что схема разводки PHY-уровня все-таки немного отличается от отладочной платы. И где-то из-за этого принудительно отключен режим выбора полного дуплекса. Кстати, что говорят параметры сетевой карты при подключении к двум девайсам? Скорость и режим дуплекса разные? Одинаковые? Сетевуха компа определяет верно 100МБит. У меня от микропроцессора на TX тихо - KSZ8081RNA.TXEN всегда = 0. И бит завершения передачи не выставляется, что-то вроде повисшей DMA транзакции. Клок для GMAC включен. Такое ощущение, что где-то или клока нет, или Enable какого-то. Что-то нужно еще включить... Но только где? Изменено 12 декабря, 2018 пользователем SergeyPro Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyPro 0 18 декабря, 2018 Опубликовано 18 декабря, 2018 (изменено) · Жалоба Выяснил, что это 100% программная проблема. При заливке примера без использования lwip - "GMAC example for SAM" плата успешно пингуется. Разбираюсь с софтом. Изменено 18 декабря, 2018 пользователем SergeyPro Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться