Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/28: Рейтинг темы: голосов - 28, средняя оценка - 4.64
iiss9
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 6
1

ENC28J60 + DHCP = проблема

20.05.2014, 14:19. Просмотров 5310. Ответов 9
Метки нет (Все метки)

Доброго дня, уважаемые форумчане.

Встала задача обмениваться данными по локальной сети. Почитал цикл статей уважаемого Lifelover. Вроде все описано просто и доступно у него. Понял что для моей задачи вполне хватит преобразователя UDP-UART. Поэтому взял его библиотеку, закомитил дефайны
Код
#define WITH_TCP
#define WITH_TCP_REXMIT
, собрал макетку на ATmego32A. Все работает отлично. В том числе и DHCP.
Дальше посмотрев на количество свободной памяти и ног загрустил. Вспомнил что у меня валяются ATTiny1634, переразвел макетку под ENC28J60 + ATTiny1634. Подправил код: с таймера 2 перекинул счет 1кГц на таймер 0 и вместо SPI используется USI. Без DHCP все работает, устройство в сети видится. Но как только я включаю DHCP, ip устройство от роутера не получает.
Нарекания других пользователей, что DHCP не работает, тоже читал. Посему, т.к. с ATmego32 все работало, код товарища Lifelover не трогал, счет секунды идет, обмен по USI тоже идет. Т.е. код должен быть рабочим. Грешу на разводку. Кто работал с ENC28J60, насколько она критична к топологии платы? Может есть специфические требования к плате?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2014, 14:19
Ответы с готовыми решениями:

Проблема с ENC28J60 - через некоторое время отваливается
Привет. Взял тупо проект дихальта из статьи http://iosyitistromyss.ru/pinboard-ii-e ... 28j60.html...

Atmega16 + enc28j60. enc28j60 перестает отвечать
Столкнулся с непонятной проблемой, прошу помочь. С чем и как работаю В своей системе использую...

Отправка пакетов в enc28j60
Здравствуйте уважаемые форумчане. Хочу у Вас спросить про алгоритм отправки пакета в enc28j60....

Библиотека ENC28J60 CCS GCC
Доброго времени суток! У меня огромная просьба к сообществу. Я нашел просто потрясающую...

PIC18F60J67 ENC28J60 Разъем с трансформатором
опрос такой интересный))) Вопщем я купил неправильный разъем для ENC28J60, PIC18F60J67. Эти...

9
sitimur
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 648
20.05.2014, 17:23 2
в файле enc28j60.h есть назначение 4 пинов, правильно изменил значения, при смене мк?
0
iiss9
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 6
20.05.2014, 17:26 3
Да, если бы неправильно изменил, то USI не работал бы. А так без DHCP все работает: в сети железка видится, пакеты принимает и отправляет.
0
tyzord66
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
20.05.2014, 23:44 4
У ATTiny1634 рамы вдвое меньше чем в М32, может у Вас данные со стеком бодаются. DHCP сам по себе тяжеловат.
0
20.05.2014, 23:44
iiss9
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 6
21.05.2014, 11:50 5
Возможно, но Lifelover делал все на ATmega16 (он сам писал об этом), а у нее тоже 1К рама.
Сравнил свои проекты
- на tiny без DHCP:
Prokram Memory Usage : 2984 bytes 18,2 % Full
Data Memory Usage : 918 bytes 89,6 % Full
- на tiny с DHCP:
Prokram Memory Usage : 5694 bytes 34,8 % Full
Data Memory Usage : 947 bytes 92,5 % Full
- на mega без DHCP:
Prokram Memory Usage : 2876 bytes 8,8 % Full
Data Memory Usage : 930 bytes 45,4 % Full
- на mega с DHCP:
Prokram Memory Usage : 5612 bytes 17,1 % Full
Data Memory Usage : 959 bytes 46,8 % Full
Вообщем то цифры на обоих контроллерах сходятся. Да и как видно, DHCP отъедает куда больше флеша чем рама.
0
sitimur
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 648
21.05.2014, 13:24 6
как вариант можно на диск записать ubuntu, запустить без установки, но настроить инет, и установить снифер и dhcp сервер, и посмотреть на содержимое пакетов, может они некорректные, или вообще не посылаются?
0
iiss9
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 6
21.05.2014, 15:40 7
а зачем ubuntu для этого ставить?
0
sitimur
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 648
21.05.2014, 16:00 8
Ну можно конечно установить windows-server и под ним искать проблемму, просто мне не встречались dhcp службы под XP или win7, хотя может плохо искал :-)
0
tyzord66
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
21.05.2014, 21:04 9
Я свой проект на 100% отладил в протеусе, в качестве DHCP сервера использовал собственный роутер, траф смотрел ваершарком. Удалось все втиснуть в М168(1к ROM), но это все на асме. В своих примерах Lifelover принятый пакет зачитывает целиком и потом парсит, я зачитывал пакет из ENCхи частями и по частям с ним разбирался. DHCP-ofer весьма увесистый, уходит далеко за пол кило, так что запросто мог со стеком столкнуться.
0
iiss9
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 6
22.05.2014, 12:25 10
Понял,ставлю m32 и не парюсь, т.к. с ethernet никогда дела не имел. Новичку разбираться в ethernet протоколах можно долго, тем более что объемной информации по этому вопросу на русском языке в одном месте, как я понимаю, нет.
0
22.05.2014, 12:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2014, 12:25

Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
Подскажите пожалуйста, какой стек поможет мне решить следующую задачу: Нужно отправлять данные на...

Проблема с DHCP сервером
Всех приветствую. У меня есть пару вопросов. 1) У меня идет тупизм, с раздачей интернета и...

TP-Link TL-WA7210N иногда наблюдается проблема с раздачей DHCP
Доброго времени суток ! Возник у меня вопрос, связанный с данными точками доступа, точнее сказать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru