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

ethernet по стеку UIP

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

 

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

Изменено пользователем IgorKossak
злоупотребление размером шрифта

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


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

Хочу подрубить к 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 без крайней необходимости не стоит.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...