Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ethernet
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
NSergeevich
Всем привет! В данный момент я занимаюсь реализацией проекта ethernet на spartan6 xilinx. Хочу сделать 1gb ethernet подключить плисину через витую пару к компу и попробовать погонять данные. Я плохо представляю общую схему из каких модулей должен состоять проект. На самой плате есть phy чип AR8035 с протоколом RGMII, который связан с портом. Также в xilinx-е есть готовые cores например tri_mode_ethernet_mac. Так вот я не понимаю достаточно-ли этой корки для реализации проекта или еще что-то нужно прикрутить. На данный момент я сгенерил tri_mode_ethernet_mac и запидалил порты на AR8035, т.е. на phy. Этого достаточно? как теперь пакеты попедалить?
Koluchiy
Думаю, что начать надо с попедаливания пакетов между 2мя компами. А потом уже с платы.
Corvus
1) Определитесь, как именно вы хотите "попедалить" пакеты? TCP, UDP, web-интерфейс?
2) Возьмите XAPP1026 под свою плату. Или переделайте его под неё.
Jackov
Цитата(NSergeevich @ Mar 12 2015, 15:05) *
На данный момент я сгенерил tri_mode_ethernet_mac и запидалил порты на AR8035, т.е. на phy. Этого достаточно? как теперь пакеты попедалить?

Достаточно. У Вас на данный момент реализован канальный уровень. Запускайте на компе wireshark и педальте пакеты на здоровье.
NSergeevich
Цитата(Jackov @ Mar 12 2015, 19:49) *
Достаточно. У Вас на данный момент реализован канальный уровень. Запускайте на компе wireshark и педальте пакеты на здоровье.


Я полагаю, что нужно еще прописать phy address компа и ip, а также назначить ip плисине. Сейчас думаю как грамотно это все прописать.
Jackov
Цитата(NSergeevich @ Mar 13 2015, 16:06) *
Я полагаю, что нужно еще прописать phy address компа и ip, а также назначить ip плисине. Сейчас думаю как грамотно это все прописать.

Можно, но не нужно. На канальном уровне всё отлично работает. Нужно узнать МАС-адрес компа, и назначить плиске свой, далее писать сетевую прогу которая как раз бы и педалила кадры.
Но если не в лом поднимать tcp/ip стек - ради Бога.
NSergeevich
Цитата(Jackov @ Mar 13 2015, 18:37) *
Можно, но не нужно. На канальном уровне всё отлично работает. Нужно узнать МАС-адрес компа, и назначить плиске свой, далее писать сетевую прогу которая как раз бы и педалила кадры.
Но если не в лом поднимать tcp/ip стек - ради Бога.


Прошу прощения, но я не знаю как назначить плиске свой MAC blush.gif
doom13
Цитата(NSergeevich @ Mar 13 2015, 19:02) *
Прошу прощения, но я не знаю как назначить плиске свой MAC blush.gif

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


Мне бы пример посмотреть в каком-нибудь проекте))
Jackov
Цитата(NSergeevich @ Mar 13 2015, 20:47) *
Мне бы пример посмотреть в каком-нибудь проекте))

Ну я начинал с того что изучил даташитину на корку, там всё очень хорошо и подробно расписано, правда у меня Альтера, но я думаю у хилых должно быть не хуже.
NSergeevich
Цитата(Jackov @ Mar 13 2015, 20:52) *
Ну я начинал с того что изучил даташитину на корку, там всё очень хорошо и подробно расписано, правда у меня Альтера, но я думаю у хилых должно быть не хуже.


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

Что имеется в виду под "как есть"? С помощью Wiznet-а, да и вообще, можно работать с тремя основными типами сообщений - RAW, TCP и UDP. Для небольшого канала управления лучше всего подходит TCP, - назначаете порт, пишите структуру пакета с нужными битовыми полями и можно работать.
prussta
Цитата(hdl_student @ Mar 16 2015, 08:30) *
Что имеется в виду под "как есть"? С помощью Wiznet-а, да и вообще, можно работать с тремя основными типами сообщений - RAW, TCP и UDP. Для небольшого канала управления лучше всего подходит TCP, - назначаете порт, пишите структуру пакета с нужными битовыми полями и можно работать.


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

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.