Jump to content
Sign in to follow this  
Symkin

Ethernet - Где Найти Информацию?

Recommended Posts

Здравствуйте. Мне нужно изучить интерфейс Ethernet. Хотелось бы узнать, где можно о нём почитать "с нуля", на русском языке, чтобы было и про формат кадра и про непосредственно способ передачи информации (тайминги), и особенности. Желательно с примерами работы на микроконтроллерах. А то рыться в интернете и вытаскивать информацию по кусочкам неудобно.

Share this post


Link to post
Share on other sites

Добрый вечер. Подниму тему, т.к тоже начал изучать Ethernet. И с информацией очень плохо.

Интересует, как работает Ethernet-контроллер,на пальцах, а не чтение datasheetов. Как в нём преобразуется пакет в сигналы которые потом идут на шину PCI и наоборот.

Буду очень благодарен, если посоветуете что-нибудь толковое почитать по этой тематике.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Similar Content

    • Guest Георгий
      By Guest Георгий
      Всем доброго В.С.
      Необходимо сейчас к уже готовому проекту по работе с двигателями, печатной головой, различными датчиками и интерфейсами подрубить сервер для, вот неожиданность, удаленного управления всей этой историей.
      Беда в том, что опыта с работой и настройкой сервера на микроконтроллерных платах у меня 0, ноль, зеро. В связи с чем и обращаюсь на данный форум с просьбой направить меня на путь истинный и посоветовать с чего начать и чем закончить (необязательный пункт).
      И так, к сути. В наличии STM32F746IGT6 плата с Cortex M7 на борту и хардверной поддержкой Ethernet, разумеется. По скорости, объему памяти и прочему, я думаю смысла расписывать нет. Это целый набор разработчика с кучей периферии (экран, камера, плата с RG-45 разъемом и т.д.) . На ней-то я и планирую развернуть простейший сервер БЕЗ Web страницы (ибо есть десктопное приложение для взаимодействия с платой по методу отправки POST запросов и получения ответов после получения запроса). В наборе со всей этой красотой идет CD диск с КУЧЕЙ разных примеров для этой платы и несколькими примерами сервера в частности. В целом, подогнать готовый проект под необходимые нужды не составило труда - получаем запрос, распарсиваем его, получаем нужные значения и выполняем необходимые операции с механикой. Но тут-то и возникла первая проблема - ответ от сервера присылается в виде html-страницы, что и неудивительно, ведь она размещена на сервере и позволяет манипулировать светодиодами, а ответом является изменение инфы на странице после отправки запроса. Кое-как я заставил сервак не отправлять мне html страницу, а отправить заголовок о том, что все хорошо и данные валидны:
      HTTP/1.1 200 OK\r\n Content-Type: text/plain\r\nConnection: close\r\n\r\nData valid! Но ответ все равно присылается в файле, а строка в нем зацикливается до бесконечности, пока не остановишь его (не разобрался почему так, иногда только Data valid!, а иногда весь Request reply целиком). Вы скажите - "Так не отсылай ответ и все будет нормально"! Но нет, без ответа от сервера клиентское приложение не пустит нас дальше.
      Я бы и дальше пилил этот сервер, в недрах которого заплутают даже Гензель и Гретель, но вдруг осознал, что он перегружен всяким ненужным функционалом типа поддержки кастомной fsdata, get-запросов и т.д.). Вот и решил написать, так сказать, свой HTTP/HTTPS(в идеале) сервер с DHCP (без него ни куда), без WEB интерфейса, с поддержкой POST-запросов и без FREERTOS (ну вот так вот нужно) Вот только инфы в интернете оказалось недостаточно (пару примеров под Visual GDB и Keil). Я работаю под Keil и их примеры тоже не подходят, ибо опять-таки содержат тот самый fsdata (начинкой которого является html страница). 
      Уважаемые, люди, может кто-то посоветует где наколядовать инфы о том, как развернуть простой сервер с +- таким же функционалом (получил post-запрос, ответил что получил, ждет опять посылку)? Может статьи или книженции, мануалы и т.п.?
      Заранее благодарю. Всем добра!
    • By 2expres
      Окажу услуги по написанию программ для Raspberry PI и прочих одноплатных ПК. Напишу прошивку для микроконтроллеров Microchip 10F, 12F, 16F, 18F. Создание, проектирование схем, разводка печатных плат, подготовка к серийному выпуску Gerber-файлы. 
      Цены на услуги на сайте написание программ для Raspberry PI
    • By Flash6300
      Всем привет. Подскажите пожалуйста как на электрической принципиальной схеме обозначается сетевой коммутатор (свитч) к которому подключены несколько клиентов, а сам свитч потом соединен с сервером?
    • Guest blackhand
      By Guest blackhand
      Здравствуйте. Недавно возникла потребность в Ethernet бутлоадере для stm32f7.  Гугл на этот счёт обладает крайне скудной информацией, в частности есть наполовину полезная pdf от ST STM32Cube Ethernet IAP example, в которой описана архитектура того, как работает этот бутлоадер в целом и по каким протоколам. Во всём мире существует только один готовый пример такого бутлоадера , который сконфигурирован для stm32f4 и под какую-то из EVAL-отладочную плату. В распоряжении имею отладочную Nucleo-144 на STM32F767ZI, у которой на борту уже есть PHY Ethernet чип.
      А теперь, в чём, собственно, проблема: Простое переназначение ножек в файле ethernetif.c под мою плату (ну я уж не говорю про замену всех библиотек под мой тип МК) не поможет. Пример сделан под PHY Ethernet чип, который общается с контроллером по интерфейсу MII. На Nucleo чип имеет интерфейс RMII , то есть, пинов у него меньше. При изучении кода примера выяснил, что там отлавливается некое внешнее прерывание с отдельной ножки MII чипа, которая соединена с PB14  (Enable PB14 to IT mode: Ethernet Link interrupt). Такой ножки у моего RMII в помине нет, поэтому это прерывание Ethernet Link interrupt просто повисает в воздухе.
      Может кто-нибудь встречался с такой проблемой или имеет готовый рабочий бутлоадер? Был бы благодарен за помощь
    • By Valimor
      Нужно по работе (схемотехнически, а не на коленке всё собрать) соединить два ethernet устройства и порт ethernet компьютера в одну сеть, чтобы они могли обмениваться информацией и не было эффекта коллизии(то есть обеспечить режим работы full duplex) и отражений сигнала на отправляющий порт.
      Первое устройство будет сделано на микрухе PIC18F67J60(это микроконтроллер с встроенным ethernet модулем) и его можно менять схемотехнически как угодно, программирую его тоже я, единственное требование к устройству это минимальный размер. К второму доступа нет, это готовое устройство с ethernet модулем.
      Какие допустимы варианты соединений:
      1. Все три устройства обмениваются между собой информацией в режиме полного дуплекса (вопрос как обеспечить для всех трех устройств??)
      2. Компьютер обменивается информацией с 1 устройством (которое на PIC18F67J60), второе его не слышит. Затем первое устройство без потери связи (а может и с ней) с компьютером пересылает необходимые данные во второе устройство (по ethernet естественно) .... (вопрос как это сделать схемотехнически, как их разделить???)
      Какие варианты я нашел/надумал:
      1. Поставить ENC28J60 и в первом устройстве мы будем иметь уже два ethernet модуля(один в PIC18, другой в ENC28). И тогда мы можем один модуль соединить с портом компьтера, а другой с вторым устройством. То есть у нас будет два отдельных соединения.
      Плюсы:
      + Обеспечение режима fullduplex как говорится из коробки
      + Простота реализации
      Минусы:
      - Габариты. Нужно будет поставить одну дополнительную микросхему плюс обвязка (особенно трансформатор, хотя можно заменить и на емкости, так как второе устройство стоит в одном корпусе с первым и грозозащиту нам обеспечивать не нужно).
      2. Пассивный ethernet хаб. Можно почитать в интернете. Минусы: режим full duplex отсутствует (невозможно обеспечить). Плюсы: предельная простота
      3. Найти очень очень махонькую микросхему которая будет коммутировать все 3 порта и требующую минимальную обвязку. И желательно не требующую программирования (то есть готовый интерфейсный контроллер... не помню как они там называются).
      Плюсы:
      + fullduplex
      Минусы:
      - опять же габариты. (если будет очень небольшая микросхема, то вполне устроит)
      - ещё надо найти такую))
      4. Электронная коммутация (электронные ключи): на второе устройство необходимо передавать очень небольшой объем данных и непостоянно: постоянный линк нам не нужен. Поэтому мы можем держать постоянную связь между первым устройством и компьютером, и периодически (на единицы микросекунд) соединять первое устройство со вторым при этом разъединяясь с компом, затем переключаться обратно.
      + fullduplex
      Минусы:
      + Габариты.
      + Придется разъединяться, хотя если на микросекунды,то может вроде не критично
      Если у кого есть идеи или готовые наработки, или что-то ещё прошу выкладывайте. Есть вопросы спрашивайте
×
×
  • Create New...