Перейти к содержанию

ethernet по стеку UIP

Хочу подрубить к xmega ethernet по стеку UIP.

Подскажите, пожалуйста, с чего начать, что почитать.
Изменено пользователем IgorKossak
злоупотребление размером шрифта

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
QUOTE (Alex_new @ Jan 19 2018, 18:36) <{POST_SNAPBACK}>
Хочу подрубить к xmega ethernet по стеку UIP.

Подскажите, пожалуйста, с чего начать, что почитать.

1. Есть в вашей xmega модуль MAC (Media Access Controller)? Именно он отвечает за оформление ethernet-фрейма, который затем передаётся по сети через PHY (фиттер, physical layer).
2. Есть ли в вашей xmega встроенный PHY? Этот модуль принимает фрейм от MAC и передаёт его по какой-либо среде (медь, оптика, радио, совы))), ну и обратно он тоже работает (т.е. принимает данные из среды, и отдаёт их MAC).
3. Модули, перечисленные в 1, 2 это либо отдельные микросхемы, подключаемые к микроконтроллеру через какой-либо интерфейс, либо обычно MAC встроен в МК, а PHY - подключается отдельно. Когда эти уровни передачи реализованы в железе, нужно задуматься о драйвере для них. И только после этого можно прикручивать любой стек (uIP, lwip, самописный), либо гонять "чистые" фреймы ethernet без привязки к стеку tcp/ip.

Для примера, микросхемы PHY: lan8720, DP83848C, ksz-серия.
Микросхемы MAC + PHY: RTL8019AS, enc28j60.

Обычно, для "мелких" МК, которые MAC не имеют (я подозреваю, что xmega к ним относится), используют вариант - внешний MAC + PHY.
Например, здесь вариант с RTL8019AS.
ENC29J60 подключается через шину SPI. Примеров в сети достаточно, вы их и сами найдёте.

Конечно же вам не обойтись без понимания уровней модели OSI, хотябы в первом представлении.

Ну, а без понимания работы стека (хотя бы IP, ARP, UDP) там тоже делать нечего)))

Когда вы реализуете цепочку "МК<->MAC<->PHY<->розетка коммутатора" на физическому уровние, и напишите драйвера для MAC + PHY, а затем прикрутите их к стеку, то получите по-сути готовое решение.

Как только пройдёт первый пинг до вашей платы, сможет выпить кружечку кофе и поздравить себя с огромной победой!!! Дальше можно прикручивать уровени приложений: web, ftp, sntp, telnet и т.п.

Для отладки сетевого траффика используйте wireshark, ethreal (по, устанавливаемое на компьютер, и отслеживающее обмен между сетевой картой компа и внешними узлами).

На самом деле, даже если загрузится ваша первая страничка, ваши приключения ещй не окончатся, т.к. вам нужно проверить, как будет работать ваше устройство при банальном передёргивании сетевого кабеля, что будет, если его подключат к древнему коммутатору 10 MBit, half-duplex, как поведёт себя ваше устройство если ему организуют dddos-атаку и т.д. и тп.

Если это для вас кажется сложным, то поищите примеры в сети. Я думаю, что вы их найдёте. Ссылку на одно решения я уже предоставил, хотя в наше время оно уже несколько тяжеловато, и использовать RTL8019AS без крайней необходимости не стоит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация