реклама на сайте
подробности

 
 
> Ethernet на ПЛИС, PHY+MAC+UDP/IP
Alexey_pashinov
сообщение Sep 4 2014, 07:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 6-03-14
Из: Зеленоград
Пользователь №: 80 823



Собрал проект, реализующий Ethernet (PHY+MAC+UDP/IP). Я формирую на ПЛИС'ке данные, которые хочу подать, на UDP. При отвправке самого первого пакета при выставлении сигнала sof, UDP/IP stack формирует arp запрос получателю, далее приходит отправителю ответ и после UDP/IP выствляет сигнал dst_rdy, который говорит о том что блок UDP/IP готов к приему данных для отправки. При передаче остальных пакетов сигнал dst_rdy выставляется почти сразу же после выставления sof (промежуток времени между их выставлением равен длине формируемого заголовка). Проблема заключается в следующем. При отправке самого первого пакета сигнал dst_rdy выставляется не сразу, может выставиться аж через 3-5 мин, может меньше может больше, а может и не выставиться. Но после того как это произошло (установилось видимо связь) дальнейшая передача пакетов происходит исправно. Кстати проблема возникает не всегда, например когда проверяю работу на 100 Мбит, зачастую передача работает и редко такое возникает, а когда проверяю на 1gb то наоборот зачастую не работает и только редко начинает работать сразу. Помогите разобраться с этим, буду очень признателен).

Могу выложить описание автомата формир отправку и диаграммы
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
NSergeevich
сообщение Jun 22 2015, 16:00
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



подкиньте ресурс, где можно былобы почитать о всех этих хеадерах и чексуммах
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 22 2015, 19:03
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(NSergeevich @ Jun 22 2015, 19:00) *
подкиньте ресурс, где можно былобы почитать о всех этих хеадерах и чексуммах

На Википедии можно почитать: Ethernet, IP и UDP.

Вообще, при отправке пакета Ethernet, чтобы Wireshark его видел, достаточно подать на MAC пакет состоящий из DST MAC, SRC MAC, тип пакета (08 00) и произвольные данные (минимум 46 байт, если меньше MAC добивает нулями недостающие). Далее MAC дополнияет всё это преамбулой, SFD и CFS и выдаёт на PHY. Т.е. если эти условия выполнены, то никакие арпы и т.д. не нужны, Вы увидите свой пакет в Wireshark.
Если нет - ищите проблему где-то в проекте/железе:
1) Включен ли передатчик MAC-контроллера?
2) Выдаёт ли MAC данные на PHY?
3) Какой интерфейс MAC-PHY используется в системе?
4) Правильно ли настроен PHY?
5) и т.д.

Да, какую FPGA используете? Есть стандартные генераторы Ethernet трафика, можно попробовать загрузить сеть данными генератора.

Чтобы проверить соединение PC-PHY, можно включить PHY в режим Line Loopback и побросать пакеты с компа на плату.
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Jun 23 2015, 07:39
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(doom13 @ Jun 22 2015, 22:03) *
Вообще, при отправке пакета Ethernet, чтобы Wireshark его видел, достаточно подать на MAC пакет состоящий из DST MAC, SRC MAC, тип пакета (08 00) и произвольные данные (минимум 46 байт, если меньше MAC добивает нулями недостающие). Далее MAC дополнияет всё это преамбулой, SFD и CFS и выдаёт на PHY. Т.е. если эти условия выполнены, то никакие арпы и т.д. не нужны, Вы увидите свой пакет в Wireshark.
Если нет - ищите проблему где-то в проекте/железе:
1) Включен ли передатчик MAC-контроллера?
2) Выдаёт ли MAC данные на PHY?
3) Какой интерфейс MAC-PHY используется в системе?
4) Правильно ли настроен PHY?
5) и т.д.

Да, какую FPGA используете? Есть стандартные генераторы Ethernet трафика, можно попробовать загрузить сеть данными генератора.

Чтобы проверить соединение PC-PHY, можно включить PHY в режим Line Loopback и побросать пакеты с компа на плату.


У меня все так и сделано и MAC все добавляет. Я уже об этом писал. При подключении диоды мигают, а на wireshark следующее:
Прикрепленное изображение

Интерфейс у меня RGMII. В настройке phy на 100% я НЕ уверен, т.к. на 100% не понимаю какой регистр кофигурировать и как правильно это делать.
Пробовал и не конфигурируя phy(т.к. где-то вычитал, что конфигурировать не обязательно) и конфигурируя 0-ой регистр control (там я указал скорость передачи и full дуплексный мод).
У меня AR8035 Прикрепленный файл  AR8035.pdf ( 567.24 килобайт ) Кол-во скачиваний: 206

Я работаю со Spartan-ом 6-ым XC6SLX100
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 23 2015, 08:17
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(NSergeevich @ Jun 23 2015, 10:39) *
Интерфейс у меня RGMII. В настройке phy на 100% я НЕ уверен, т.к. на 100% не понимаю какой регистр кофигурировать и как правильно это делать.

Вот тут большая вероятность того, что нужно "подвинуть" клок (TXC) относительно данных (TXD). Это можно делать через соответствующий регистр PHY по MDIO или можете попробовать подвигать его PLL. Ещё, прописаны ли временные ограничения?

Еще, может быть проблема со сбросом, при подаче питания PHY какое-то время (см. доку) надо подержать в ресете.
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Jun 23 2015, 08:48
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(doom13 @ Jun 23 2015, 11:17) *
Вот тут большая вероятность того, что нужно "подвинуть" клок (TXC) относительно данных (TXD). Это можно делать через соответствующий регистр PHY по MDIO или можете попробовать подвигать его PLL. Ещё, прописаны ли временные ограничения?

Еще, может быть проблема со сбросом, при подаче питания PHY какое-то время (см. доку) надо подержать в ресете.


Что за временные ограничения ?
Клок пробовал двигать относительно данных конфигурируя регистр - без результатно.
А phy у меня в ресете при включении некоторое время.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alexey_pashinov   Ethernet на ПЛИС   Sep 4 2014, 07:56
- - billidean   При отправке самого первого пакета Ваш стек отправ...   Sep 4 2014, 09:07
- - Alexey_pashinov   Это я и пояснил во вступлении чтобы было понятно о...   Sep 4 2014, 09:29
- - billidean   Имея картину от сниффера (сохраненный файл), можно...   Sep 4 2014, 09:37
- - Socrates   FPGA Triple speed ethernet MAC + Micrel KSZ9021/KS...   Sep 4 2014, 13:21
- - Alexey_pashinov   Привожу скрин wireshark, в обоих случаях arp запро...   Sep 4 2014, 13:50
- - billidean   Эта картинка, как я понимаю, когда у Вас все хорош...   Sep 4 2014, 14:30
- - Alexey_pashinov   Проблема решилась. Оказывается неправильно подавал...   Sep 8 2014, 08:36
- - HFSE   Всем Привет. Я сейчас занимаюсь тем же самым что ...   Jun 16 2015, 19:46
|- - mobidev   Цитата(HFSE @ Jun 16 2015, 23:46) P.C. На...   Jun 18 2015, 06:30
- - doom13   Если плата отправляет пакет, то wireshark должен е...   Jun 16 2015, 20:03
- - HFSE   Да, спасибо доом13, я это уже пробовал к сожалению...   Jun 17 2015, 19:42
|- - Bad0512   Цитата(HFSE @ Jun 18 2015, 01:42) Кодlibr...   Jun 18 2015, 02:16
|- - HFSE   Цитата(Bad0512 @ Jun 18 2015, 02:16) Жест...   Jun 18 2015, 05:01
|- - vadimuzzz   Цитата(HFSE @ Jun 18 2015, 11:01) Но я пр...   Jun 18 2015, 05:03
|- - HFSE   Цитата(vadimuzzz @ Jun 18 2015, 05:03) на...   Jun 18 2015, 06:22
|- - HFSE   Цитата(HFSE @ Jun 18 2015, 06:22) Я это у...   Jun 18 2015, 06:41
|- - doom13   Цитата(HFSE @ Jun 18 2015, 09:41) Если я ...   Jun 18 2015, 07:34
|- - mobidev   Цитата(HFSE @ Jun 18 2015, 10:41) Если я ...   Jun 18 2015, 08:15
- - HFSE   Всем сапсибо за советы. Но до сих пор я не вижу па...   Jun 19 2015, 06:56
|- - Sergey_Bekrenyov   А зачем Вы TX_CLK_OUT в ноль опускаете? PHY не смо...   Jun 19 2015, 14:30
|- - HFSE   Цитата(Sergey_Bekrenyov @ Jun 19 2015, 15...   Jun 22 2015, 07:19
|- - Sergey_Bekrenyov   Цитата(HFSE @ Jun 22 2015, 10:19) Добрый ...   Jun 22 2015, 09:26
- - doom13   Пробуйте проверять соединение в разных сечениях (l...   Jun 19 2015, 07:12
- - NSergeevich   Всем привет! Мой проект (MAC + Phy) настроен т...   Jun 22 2015, 10:18
|- - mobidev   Цитата(NSergeevich @ Jun 22 2015, 14:18) ...   Jun 22 2015, 11:31
|- - NSergeevich   Цитата(mobidev @ Jun 22 2015, 14:31) QM q...   Jun 22 2015, 11:41
|- - mobidev   Цитата(NSergeevich @ Jun 22 2015, 15:41) ...   Jun 22 2015, 12:03
|- - doom13   Цитата(NSergeevich @ Jun 22 2015, 14:41) ...   Jun 22 2015, 12:27
|- - NSergeevich   Цитата(doom13 @ Jun 22 2015, 15:27) Рукам...   Jun 22 2015, 12:41
- - gosu-art   А promiscuous mode у вас включен? У меня, например...   Jun 22 2015, 10:30
|- - NSergeevich   Цитата(gosu-art @ Jun 22 2015, 13:30...   Jun 22 2015, 10:35
- - gosu-art   RE: Ethernet на ПЛИС   Jun 22 2015, 10:41
- - NSergeevich   C этим модом тоже самое   Jun 22 2015, 10:50
|- - HFSE   Цитата(NSergeevich @ Jun 22 2015, 11:50) ...   Jun 22 2015, 12:53
|- - mobidev   Цитата(HFSE @ Jun 22 2015, 16:53) правиль...   Jun 22 2015, 13:26
|- - NSergeevich   Цитата(HFSE @ Jun 22 2015, 15:53) Sergeev...   Jun 22 2015, 15:02
|- - Corvus   Цитата(NSergeevich @ Jun 22 2015, 18:02) ...   Jun 22 2015, 15:06
- - gosu-art   Код/// size 14 bytes logic [7:0] e...   Jun 22 2015, 12:54
- - krux   для формирования пакетов есть ещё такая интересная...   Jun 22 2015, 13:40
|- - gosu-art   Цитата(doom13 @ Jun 22 2015, 22:03) Вообщ...   Jun 22 2015, 19:23
||- - doom13   Цитата(gosu-art @ Jun 22 2015, 22:23...   Jun 22 2015, 20:02
|- - doom13   Цитата(NSergeevich @ Jun 23 2015, 11:48) ...   Jun 23 2015, 09:19
- - gosu-art   Основные параметры Код localparam SIZE_ETHER_HDR ...   Jun 22 2015, 18:39
- - NSergeevich   Может кто-нибудь сталкивался со следующей проблемо...   Jun 30 2015, 10:52
- - NSergeevich   В случае MII на 100mb интерфейса TXD[3... 0]: Tran...   Jul 10 2015, 13:30
- - HFSE   Цитата(NSergeevich @ Jul 10 2015, 14:30) ...   Jul 13 2015, 07:53


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 19:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016