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

Отладка соединения ENC28j60

Страница 1 / 2
(@remontovich)
Level 1
WSH
проект
20250203 183552
опрос в бесконечном цикле
ping
Здравствуйте!
Понадобилось вывести STMку в сеть. Заодно решил и для себя разобраться в сетевой архитектуре передачи данных.
Я использую cubeide. Создал новый проект. Взял *.c и *.h файлы из проекта Aveal. Подключение - все один в один: SPI1, чипселект на PB3.
Собрал на бредборде. Подрубаю к ПК и не пропинговаться. Брал обычный Ethrnet кабель и перекрестный кабель. Логическим анализатором проверил - обмен данными по SPI - он идет. После подачи питания обмен идет активно, потом, через некоторое время, - запрос 0x19 и в ответ нули. На винде, в утилите Ping делаю запрос, пишет: "Заданный узел не доступен". Светодиоды на ENC не мигают. (хотя после подачи питания на ENC оба диода мигают какоет-то время). Попытался схитрить. Поставил IP адрес шлюза и предпочтительный DNS сервер  - IP адрес ENC. На WireShark смотрю ARP запросы от сетевой карты - они идут. Ответа нет.
Попробовал отдебажить, через IDE.
Ставлю брейкпоинт внутри функции ETH_Process на развилке if (requestSize > 0). Не заходит в нее. Как я понимаю - в переменную requestSize ничего не попадает.
Или может я не правильно отлаживаю... Подскажите пожалуйста, что может быть не так? Может я проект не так перенес? У Aveal он под IAR как я порнял.
Там папка "EWARM". Что то в ней существенное?
Спасибо!
Цитата
Создатель темы Размещено : 03.02.2025 18:50
Aveal
(@aveal)
Top level Admin

Добрый день!

В requestSize всегда 0, без исключений? Тогда следующий этап - идти на уровень ниже, то есть смотреть, почему в ENC28J60_ReceiveFrame() нет данных.

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

@aveal Принял, спасибо. Сейчас буду пробовать.

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

Да, по поводу IDE - без разницы, я на тот момент просто в большей степени IAR'ом пользовался.

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

При перезапуске ENC и STM в requestSize что то все таки залетает. Возможно это свич видит новое устройство и пытается опознать его. Но что для меня странно, что нет реакции светодиодов на Ping. Может просто я на ПК сеть не правильно настраиваю и в этом дело? Как я писал, я пытался ENC и на прямую соединять c ПК через кроссовер и через прямой кабель. Все происходит примерно так же, светодиоды мигнут и тишина. 

requestSize
схема со свич
ОтветитьЦитата
Создатель темы Размещено : 04.02.2025 12:31
Aveal
(@aveal)
Top level Admin

Для теста в любом случае лучше напрямую. Можешь вывод ipconfig скинуть?

ОтветитьЦитата
Размещено : 04.02.2025 12:49
(@remontovich)
Level 1

@aveal

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

На да, по настройкам все четко выглядит. Если напрямую, то тоже пакет принимается только при запуске, а дальше requestSize в 0? Надо посмотреть этот правильно принимаемый пакет на предмет - к чему он относится.

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

@aveal Ок, спасибо, сейчас попробую состав фрейма в отладчик вывести.

Пока не понимаю, почему в WireShark ISMP запроса не вижу

прямой кабель WSha

 

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

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

warnungi

 

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

Запись от: @remontovich

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

warnungi

 

Просто заложено для универсальности, но конкретно в демо-примере не используется, норм.

 

ОтветитьЦитата
Размещено : 04.02.2025 13:37
Aveal
(@aveal)
Top level Admin

Запись от: @remontovich

@aveal Ок, спасибо, сейчас попробую состав фрейма в отладчик вывести.

Пока не понимаю, почему в WireShark ISMP запроса не вижу

прямой кабель WSha

 

Кстати, а почему нет ответа на ARP для 36.1? И нет ARP-запросов для 36.33.

 

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

@aveal 36.1 это шлюз (свич и маршрутизатор). Он его по дефолту ищет всегда. Но я напрямую сейчас ENC подрубаю к ПК. А то что нет ни ARP ни ICMP на 36.33 - это мне не понятно. При этом я пингую в сети другие ПК - все запросы вижу. Привел пример пинга 36.8

ping 36.8

 

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

@aveal а возможно попросить *.elf файл?

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

Запись от: @remontovich

@aveal а возможно попросить *.elf файл?

А там в архиве нет? IAR генерирует .out - тот же .elf насколько я помню.

 

ОтветитьЦитата
Размещено : 05.02.2025 10:47
Страница 1 / 2
Поделиться: