Top.Mail.Ru
Уведомления
Очистить все

[Решено] Отладка соединения ENC28j60

Страница 2 / 2
Aveal
(@aveal)
Top level Admin

А тот пакет, который принимается в начале - в нем что содержится?


ОтветитьЦитата
Размещено : 05.02.2025 10:47
(@remontovich)
Level 1

@aveal Супер, спасибо! Сейчас попробую как раз!

Вот что вывел в отладчике со *.elf файлом который у меня получился. Поставил на ПК непрерывные ARP запросы на IP 10.31.36.33. Я правильно понимаю, у меня с ENC как-кой то мусор сыпется? И еще вопрос. Не могу понять, почему в структуре encFrame uint8_t data[ENC28J60_FRAME_DATA_MAX] выводится массивом в столбик, а вот в в структуре ethFrame uint8_t data [] уже просто одной стройкой прописывается, хотя тоже массив. Спасибо, что помогаете. Не так быстро получается разобраться, как хотелось бы)

wsh arp
encFrame1
etherFrame1

 


ОтветитьЦитата
Создатель темы Размещено : 05.02.2025 12:49
Aveal
(@aveal)
Top level Admin

Да, похоже на мусор... Настройки SPI итд все без изменений? А кабель сейчас перекрестный или обычный?


ОтветитьЦитата
Размещено : 05.02.2025 13:08
(@remontovich)
Level 1

@aveal Мы разобрались!!! Не хватало тока. Только плата ENC хавает больше 100 мА. А у меня источник выдавал где то 80 мА на всю схему вместе с bluepill. Я сразу и не догадался проверить. Ну и SPI запускался... Тоже не смотрел в эту сторону. Взял второй такой же модуль ENC(покупал два). Его подсоединил, а он даже и не запустился по SPI. Стал уже было думать, что китайские ENC не рабочие. А потом решил питание проверить)))

Фух. Ну теперь UTP осталось протестить. Ну что же... Опыт! Спасибо огромное за помощь!!!

win

ОтветитьЦитата
Создатель темы Размещено : 05.02.2025 14:05
(@remontovich)
Level 1

Дальше разбираюсь с ENC. Понял, что пингуется как через прямой кабель, так и через кроссовер. Через свич пингуется тоже.

Правда не с первого раза. 🙄 

ping 36.33

 


ОтветитьЦитата
Создатель темы Размещено : 05.02.2025 14:24
Aveal
(@aveal)
Top level Admin

Запись от: @remontovich

@aveal Мы разобрались!!! Не хватало тока. Только плата ENC хавает больше 100 мА. А у меня источник выдавал где то 80 мА на всю схему вместе с bluepill. Я сразу и не догадался проверить. Ну и SPI запускался... Тоже не смотрел в эту сторону. Взял второй такой же модуль ENC(покупал два). Его подсоединил, а он даже и не запустился по SPI. Стал уже было думать, что китайские ENC не рабочие. А потом решил питание проверить)))

Фух. Ну теперь UTP осталось протестить. Ну что же... Опыт! Спасибо огромное за помощь!!!

Отлично! Да, на питание подозрение вообще не падало, хорошо, что обнаружили )


ОтветитьЦитата
Размещено : 05.02.2025 16:03
(@remontovich)
Level 1

Добрый день!

В попытках с пользой применить STMку в сетевом взаимодействии выявил такой баг:

иногда устройство отвечает на приходящие ей фреймы с большой задержкой.

Лечится переинициализацией со сбросом ENC28J60.

В приложенной картинке видно, что на ICMP запросы с ПК 10.31.36.32, устройство 10.31.36.33 отвечает с сильной задержкой. По времени более 3 секунд. Пингую я через win cmd. Так вот он уже ответы не видит. Превышено время ожидания. Так же видно ARP ответы устройства с MAC адресом. Ранее, тут не видно, я пинговал и ПК не занл его MAC адреса. Слал ARP запросы, но они пришли тоже с сильной задержкой.  Я стал разбираться. Выяснил, что STM не зависает, стабильно выполняет ETH_Process(&frame); в бесконечном цикле. Обращаюсь к более опытным програмерам за помощью. Как можно отладить этот баг и в чем он может быть? Спасибо!!!

задержка в ответах

 


ОтветитьЦитата
Создатель темы Размещено : 18.02.2026 18:29
(@remontovich)
Level 1
задержка в ответах2

ОтветитьЦитата
Создатель темы Размещено : 18.02.2026 18:37
Aveal
(@aveal)
Top level Admin

@remontovich приветствую! Можно для начала посмотреть под отладчиком, откуда берется задержка - по сути, либо запрос принимается на устройстве уже с задержкой, либо есть пауза на устройстве между приемом запроса и отправкой ответа.


ОтветитьЦитата
Размещено : 19.02.2026 14:48
(@remontovich)
Level 1

@aveal Спасибо! Вот думаю как это организовать) Это происходит не каждый раз. В WireShark запросы ARP и ICMP от ПК я вижу сразу, как только из cmd запускаю ping. На плате вывел светодиод, которой в бесконечном цикле вместе с ETH_Process, с понижающим по времени коэффициентом мигает через Toggle_Pin. Обработку ICMP фрейма тоже контролирую через еще один светодиод. Он едва мигает, когда проходит обработка ICMP. По интервалам мигания светодиода, задержки обработки ETH_Process нет. Секундные задержки было бы видно сразу. Может ли архитектура самой сети задерживать запросы? При этом ответные пакеты от платы появляются в Wire Shark сразу же после обработки ICMP фрейма. Вижу это по миганию светодиода. 


ОтветитьЦитата
Создатель темы Размещено : 20.02.2026 11:56
Aveal
(@aveal)
Top level Admin

@remontovich Приветствую! Уезжал на пару дней, какие на текущий момент новости по проблеме?


ОтветитьЦитата
Размещено : 24.02.2026 11:04
(@remontovich)
Level 1

@aveal купил новую платку c ENC28J60 на озоне, чтоб исключить аппаратные баги.
Проблема повторилась и с новой платой enc.  Думал дело в свитче. Исключил свич. Наблюдал за работой напрямую между ПК и ENC. Все так же. Пингую с терминала. Плата отвечает, но с задержкой в 10 секунд. Причем задержка эта не меняется. Перезапускаю контроллер ресетом на плате BluePill - происходит реинициализация ENC и все работает хорошо, ping 1 мс.


ОтветитьЦитата
Создатель темы Размещено : 25.02.2026 14:23
Страница 2 / 2
Поделиться:
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.