sanhcezzz 0 19 января, 2018 Опубликовано 19 января, 2018 (изменено) · Жалоба Хочу подрубить к xmega ethernet по стеку UIP. Подскажите, пожалуйста, с чего начать, что почитать. Изменено 19 января, 2018 пользователем IgorKossak злоупотребление размером шрифта Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 24 января, 2018 Опубликовано 24 января, 2018 · Жалоба Хочу подрубить к 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 без крайней необходимости не стоит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться