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

ethernet

Всем привет! В данный момент я занимаюсь реализацией проекта ethernet на spartan6 xilinx. Хочу сделать 1gb ethernet подключить плисину через витую пару к компу и попробовать погонять данные. Я плохо представляю общую схему из каких модулей должен состоять проект. На самой плате есть phy чип AR8035 с протоколом RGMII, который связан с портом. Также в xilinx-е есть готовые cores например tri_mode_ethernet_mac. Так вот я не понимаю достаточно-ли этой корки для реализации проекта или еще что-то нужно прикрутить. На данный момент я сгенерил tri_mode_ethernet_mac и запидалил порты на AR8035, т.е. на phy. Этого достаточно? как теперь пакеты попедалить?

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


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

Думаю, что начать надо с попедаливания пакетов между 2мя компами. А потом уже с платы.

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


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

1) Определитесь, как именно вы хотите "попедалить" пакеты? TCP, UDP, web-интерфейс?

2) Возьмите XAPP1026 под свою плату. Или переделайте его под неё.

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


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

На данный момент я сгенерил tri_mode_ethernet_mac и запидалил порты на AR8035, т.е. на phy. Этого достаточно? как теперь пакеты попедалить?

Достаточно. У Вас на данный момент реализован канальный уровень. Запускайте на компе wireshark и педальте пакеты на здоровье.

 

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


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

Достаточно. У Вас на данный момент реализован канальный уровень. Запускайте на компе wireshark и педальте пакеты на здоровье.

 

Я полагаю, что нужно еще прописать phy address компа и ip, а также назначить ip плисине. Сейчас думаю как грамотно это все прописать.

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


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

Я полагаю, что нужно еще прописать phy address компа и ip, а также назначить ip плисине. Сейчас думаю как грамотно это все прописать.

Можно, но не нужно. На канальном уровне всё отлично работает. Нужно узнать МАС-адрес компа, и назначить плиске свой, далее писать сетевую прогу которая как раз бы и педалила кадры.

Но если не в лом поднимать tcp/ip стек - ради Бога.

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


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

Можно, но не нужно. На канальном уровне всё отлично работает. Нужно узнать МАС-адрес компа, и назначить плиске свой, далее писать сетевую прогу которая как раз бы и педалила кадры.

Но если не в лом поднимать tcp/ip стек - ради Бога.

 

Прошу прощения, но я не знаю как назначить плиске свой MAC :blush:

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


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

Прошу прощения, но я не знаю как назначить плиске свой MAC :blush:

Формируете ethernet-пакет - шапка ethernet, шапка ip, шапка интересующего протокола, данные (для начала можно просто шапка ethernet + данные). Запихиваете всё это на MAC, все остальные части ethernet-пакета (preamble, SFD, FCS) MAC добавит сам и отдаст на PHY. Для MAC можно выбрать опцию перебивать mac-адрес для поступающих данных на mac-адрес записанный в регистры MAC (по желанию). Т.е. mac-адрес или уже содержится в передаваемых данных, или перебивается MAC-контроллером.

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


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

Формируете ethernet-пакет - шапка ethernet, шапка ip, шапка интересующего протокола, данные (для начала можно просто шапка ethernet + данные). Запихиваете всё это на MAC, все остальные части ethernet-пакета (preamble, SFD, FCS) MAC добавит сам и отдаст на PHY. Для MAC можно выбрать опцию перебивать mac-адрес для поступающих данных на mac-адрес записанный в регистры MAC (по желанию). Т.е. mac-адрес или уже содержится в передаваемых данных, или перебивается MAC-контроллером.

 

Мне бы пример посмотреть в каком-нибудь проекте))

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


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

Мне бы пример посмотреть в каком-нибудь проекте))

Ну я начинал с того что изучил даташитину на корку, там всё очень хорошо и подробно расписано, правда у меня Альтера, но я думаю у хилых должно быть не хуже.

 

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


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

Ну я начинал с того что изучил даташитину на корку, там всё очень хорошо и подробно расписано, правда у меня Альтера, но я думаю у хилых должно быть не хуже.

 

Ковыряю ее родимую...

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


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

Уважаемые, подскажите! Есть задача управлять с компа устройством на плис при помощи Ethernet. Соотвественно, есть определенный набор команд, которые должно понимать устройство и давать определенные ответы на них. Выход в интернет не нужен. Для реализации хочу использовать стек TCP/IP. Причем канальный, сетевой и транспортный уровень будет организован аппаратно при промощи ethernet модуля Wiznet. Внимание вопрос! Что использовать в качестве прикладного уровня для управление устройством? Должна ли я использовать уже стандартные протоколы (есть возможност использовать SNMP) или я могу назначить свой порт и отправлять необходимые мне команды "как есть"? Или это не так просто, как я представляю?

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


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

Внимание вопрос! Что использовать в качестве прикладного уровня для управление устройством? Должна ли я использовать уже стандартные протоколы (есть возможност использовать SNMP) или я могу назначить свой порт и отправлять необходимые мне команды "как есть"? Или это не так просто, как я представляю?

Что имеется в виду под "как есть"? С помощью Wiznet-а, да и вообще, можно работать с тремя основными типами сообщений - RAW, TCP и UDP. Для небольшого канала управления лучше всего подходит TCP, - назначаете порт, пишите структуру пакета с нужными битовыми полями и можно работать.

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


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

Что имеется в виду под "как есть"? С помощью Wiznet-а, да и вообще, можно работать с тремя основными типами сообщений - RAW, TCP и UDP. Для небольшого канала управления лучше всего подходит TCP, - назначаете порт, пишите структуру пакета с нужными битовыми полями и можно работать.

 

Предварительно, работать буду с сообщениями UDP. То есть я правильно понимаю, что мне достаточно работать с UDP пакетами, а прикладной уровень вообще не задействовать? Я еще не углублялась в даташит на Wiznetовскую микросхему, поэтому представляю обмен пакетами следующим образом (прошу, поправить, если не так)) ): например я хочу отправить команду ХХ12345, для этого : пишу ip адрес получателя, порт получателя и подсчитываю кол-во байт моей команды - записываю и пишу саму команду. Этот пакет и отправляю. Правильно?

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


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

Здравствуйте!

Работаю с Wiznetом. Канал связи точка-точка с ПК. Логика работы: при старте инициализирую MAC, IP-адреса компьютера и плис, порты. Потом просто записываю сформированные пакеты в Wiznet, не указываю куда и на какой порт.

 

 

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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