Отправка данных по сети с помощью W5500

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
ddimochka
Встал на лапы
Сообщения: 82
Зарегистрирован: Чт мар 22, 2012 20:28:49

Отправка данных по сети с помощью W5500

Сообщение ddimochka »

Здравствуйте, уважаемые гуру и не очень! Вот пытаюсь расширить функционал своего устройства в части подключения его к сети. Для этой цели купил готовый модуль Ehternet на основе микросхемы W5500. Сначала подключал его к ATmega64, сейчас к STM32, но не суть - и в том и другом случае все получилось, кроме одного. W5500 инициализируется на работу в качестве TCP/IP сервера. Со стороны компьютера клиент к нему успешно подключается, все вроде нормально. ТЕперь пытаюсь передать со стороны микроконтроллера несколько байт данных (в принципе не важно сколько - ошибка повторяется при любом количестве). Ну я, как написано в даташите, читаю регистр SN_TX_FSR, узнаю количество свободного пространства в буфере передачи. Далее читаю регистр SN_TX_RD, чтобы узнать с какого адреса начинать записывать данные. И вот тут-то и начинается какая-то лажа. Первое: данный регистр иногда инициализируется не нулем, а каким-либо рандомным значением. Ну это ладно. Далее записываем в буфер нужное количество байт, увеличиваем на это количество регистр SN_TX_WR. Отправляем данные коммандой SEND. Данные отправились все нормально. При следующей посылке читаем снова регистр SN_TX_RD. Он по идее должен увеличиться относительно предыдущего значения на количество отправленных байт, а не тут-то было. Он увеличился на рандомное значение и, соответственно, в следующей посылке отсылается совершенная ахинея из хренова количества байт. Данная ошибка возникает хаотично, может каждую вторую-третью посылку возникать, а может и десять посылок пройти без ошибок. У кого есть опыт с этой микросхемой, может подскажите чего полезного? В сети находил идентичный вопрос, но ответа на него не увидел.
Serge V Iz
Встал на лапы
Сообщения: 92
Зарегистрирован: Вс апр 29, 2018 08:28:33

Re: Отправка данных по сети с помощью W5500

Сообщение Serge V Iz »

Видимо, стоит проверить еачество связи по SPI. Может быть, для начала сильно снизить скорость.
Ответить

Вернуться в «Периферия»