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

 
 
 
Reply to this topicStart new topic
> spartan6 sp605 + Tri-mode Ethernet MAC v5.4
serg_k1
сообщение Oct 17 2013, 11:50
Сообщение #1


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Здравствуйте,помогите разобраться с адресацией и портом.
на плате spartan6 sp605 с помощью core Tri-mode Ethernet MAC v5.4 собран передатчик пакетов по 1Gb Ethernet. то что задается, то и выдается наружу. на выходе есть преамбула, старт-байт и далее, то что задается как массив данных на входе core Tri-mode Ethernet т.е. первые 6 байтов - адрес назначения,далее 6 байтов - адрес источника посылки и т.д. но я то думал , что адрес источника должен браться из конфигурационного регистра. и если без менеджера конфигурации , то просто из старших 48 разрядов input [79 : 0] tx_mac_config_vector моего core Tri-mode Ethernet . может я что-то недоделал? wireshark показывает адрес источника из моего массива данных.
и еще вопрос. по какому порту происходит передача данных? как это выяснить и можно ли задать?
Go to the top of the page
 
+Quote Post
akorud
сообщение Oct 17 2013, 13:08
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Цитата(serg_k1 @ Oct 17 2013, 13:50) *
Здравствуйте,помогите разобраться с адресацией и портом.
на плате spartan6 sp605 с помощью core Tri-mode Ethernet MAC v5.4 собран передатчик пакетов по 1Gb Ethernet. то что задается, то и выдается наружу. на выходе есть преамбула, старт-байт и далее, то что задается как массив данных на входе core Tri-mode Ethernet т.е. первые 6 байтов - адрес назначения,далее 6 байтов - адрес источника посылки и т.д. но я то думал , что адрес источника должен браться из конфигурационного регистра. и если без менеджера конфигурации , то просто из старших 48 разрядов input [79 : 0] tx_mac_config_vector моего core Tri-mode Ethernet . может я что-то недоделал? wireshark показывает адрес источника из моего массива данных.
и еще вопрос. по какому порту происходит передача данных? как это выяснить и можно ли задать?

Насколько я помню задать нельзя. Адрес в конфигурационном векторе используется для flow control пакетов, о чем честно написано в документации.
Цитата
Transmitter Pause Frame Source Address[47:0].
This MAC Address is used by the MAC core to match against the destination address of any incoming flow control frames, and as the source address for any outbound flow control frames.
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Oct 18 2013, 05:51
Сообщение #3


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Цитата(akorud @ Oct 17 2013, 17:08) *
Насколько я помню задать нельзя. Адрес в конфигурационном векторе используется для flow control пакетов, о чем честно написано в документации.

ну я не увидел здесь запрета на передачу.
а как же тогда (pg051 стр. 27)
Configuration Vector Signal Definition
Table 2-13 describes the configuration vectors, which use direct inputs to the core to
replace the functionality of the MAC configuration bits when the Management Interface is
not used. The configuration settings described in Tables 2-24 to 2-30 are included in the
vector.
значит можно просто задать
tx_mac_config_vector = {48'b...,16'b..., 15'b0010_0000_0000_001, mac_tx_reset};

а далее в том же на стр.59 в tx_configuration_vector Bit Definitions 79:32 написано

Transmitter Pause Frame Source Address[47:0]. This MAC Address is used by the
MAC core to match against the destination address of any incoming flow control
frames, and as the source address for any outbound flow control frames.
The bits in this vector field are ordered so that the least significant bit of the MAC
Address (IEEE802.3 definition) is stored in the least significant bit of this vector field.
Consequently, bit 0 of this field differentiates between an individual or group
(multicast) address.
The transmission order within a MAC frame is to send the least significant bit of the
MAC Address first. Consequently, bits 7-0 of this vector field represent the first byte to
appear in frame transmission


разве это не про передачу.
но с адресом это можно и просто в пакете самому передать, как я сейчас и делаю. а вот как быть с портом. по какому передается и что задать на стороне приема в bind в addr.sin_port=htons( ??? );
Go to the top of the page
 
+Quote Post
akorud
сообщение Oct 18 2013, 06:41
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Вы не то выделили жирным.

Transmitter Pause Frame Source Address[47:0]. This MAC Address is used by the
MAC core to match against the destination address of any incoming flow control
frames, and as the source address for any outbound flow control frames.

Адрес используется в случае если MAC сам решает выслать пакет, "от себя" и никак не влияет на ваши пакеты.

Цитата(serg_k1 @ Oct 18 2013, 07:51) *
но с адресом это можно и просто в пакете самому передать, как я сейчас и делаю. а вот как быть с портом. по какому передается и что задать на стороне приема в bind в addr.sin_port=htons( ??? );


Стоп-стоп, не надо путать теплое с мягким sm.gif - c уровня MAC сразу скакать на как минимум UDP (там только появляется порт).

UDP header:
Go to the top of the page
 
+Quote Post
serg_k1
сообщение Oct 18 2013, 10:34
Сообщение #5


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

Группа: Участник
Сообщений: 115
Регистрация: 21-03-07
Пользователь №: 26 368



Цитата(akorud @ Oct 18 2013, 10:41) *
Стоп-стоп, не надо путать теплое с мягким sm.gif - c уровня MAC сразу скакать на как минимум UDP (там только появляется порт).

спасибо, все понятно.я пока не буду передавать UDP, а только Ethernet пакеты. придется напрягаться при приеме. я так понимаю что winsocket не пойдет. нужно смотреть winpcap.
Go to the top of the page
 
+Quote Post
akorud
сообщение Oct 18 2013, 12:34
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Цитата(serg_k1 @ Oct 18 2013, 12:34) *
спасибо, все понятно.я пока не буду передавать UDP, а только Ethernet пакеты. придется напрягаться при приеме. я так понимаю что winsocket не пойдет. нужно смотреть winpcap.

Да. Или как-то так http://msdn.microsoft.com/en-us/library/wi...v=vs.85%29.aspx - но я под windows не работал.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:57
Рейтинг@Mail.ru


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