T00T 0 17 февраля, 2020 Опубликовано 17 февраля, 2020 (изменено) · Жалоба Доброго времени суток... пытаюсь запустить W5100. Интерфейс связи - INDERECT BUS. Делаю аппаратный сброс, жду 300ms записываю в MR 0x80. Далее жду кода бит сбросится. А он не сбрасывается. Вопрос из-за чего может такое происходить? Что я делал: 1)Грешил на питание - подключал отдельный источник лабораторный. 2)Может что в разводке питания или чего ещё - подключал по SPI. Все работает, пингуется..... 3)Думал может что неправильно сигналы разведены - проверял. 4) Если не делать запись в MR 0x80, то MR читается как 0, потом пишу 0x80- читается как 0x80, и не сбрасывается. Осциллографом смотрю - реально на шине данных 0х80. 5) На другой версии платы все работает. Проверял наличие всех земель и питаний. 6) Менял микросхему с другого рабочего проекта. Менял FPGA. 7) Менял кварц с рабочего устройства, хотя п.2 это исключает. ........ТУПИК......... Изменено 17 февраля, 2020 пользователем T00T Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 17 февраля, 2020 Опубликовано 17 февраля, 2020 · Жалоба 1 час назад, T00T сказал: Далее жду кода бит сбросится А он должен? Честно говоря никогда не обращал внимания, просто записывал сначала 1, потом ноль и фразу "It will be automatically cleared after reset." воспринимал как "будет автоматически очищен после аппаратного сброса". Возможно вы и правы, логика в ваших рассуждениях мне понятна. Может у вас что-то напутано с адресацией? Попробуйте вычитать какой-либо регистр, в котором после сброса должно быть ненулевое значение, например, RCR - считаете из него 0x08? Использовал Direct bus address mode, боюсь, мало чем смогу помочь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
T00T 0 17 февраля, 2020 Опубликовано 17 февраля, 2020 · Жалоба 1 hour ago, Сергей Борщ said: "It will be automatically cleared after reset." воспринимал как "будет автоматически очищен после аппаратного сброса" Ну в английской версии слова аппаратнного чего то нет.... :) Этот метод инициализации я подсмотрел в библиотеках, кажись от ардуинки. Загвоздка в том что весь этот код работает стабильно на другой плате, теперь я переразвёл плату и тут не работает, причем ethernet физику перенёс почти один в один. Мистика какая то.... 1 hour ago, Сергей Борщ said: Попробуйте вычитать какой-либо регистр, в котором после сброса должно быть ненулевое значение, например, RCR - считаете из него 0x08? Попобую.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться