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

 
 
 
Reply to this topicStart new topic
> Проблема взаимодействия Microblaze <=> Ethernet
VladimirB
сообщение Feb 9 2010, 13:29
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Имеется отладочная плата ML403 с Virtex4 FX12 и Ethernet PHY Marvell 88E1111

На ПЛИС собрана система с Microblaze, к нему на PLB подключён XPS_LL_TEMAC и LL_FIFO. Пока без всяких DMA и прерываний.
Внешняя память не используется - всё на BlockRAM.

Из стандартного примера для теста периферии сделал отсылалку пакетов раз в секунду.
Пакет формируется вручную:
1) MAC dest = 0xFFFFFFFFFFFF - 6 байт
2) MAC source = 0x010203040506 - 6 байт
3) длина пакета = 100 - 2 байта
4) тело пакета - 100 байт
В temac включен режим FCS offload - типа контрольную сумму он должен вычислять сам.

После включения системы и соединения с компом - устанавливается 1G соединение, загораются лампочки у PHY "1000" и "DUPLEX". Раз в секунду начинает моргать лампочка TX. На сетевой карте компа тоже моргает лампочка раз в секунду.
Но сниффер Wireshark под WinXP никаких пакетов и никаких ошибок не видит, сколько с ним не бился и какие настройки не ставил. Сетевуха в PROMISCIOUS MODE стоит.

В чём может быть проблема, почему комп не видит пакетов? Или ему только TCP/IP подавай? sad.gif

С Microblaze тоже вроде всё впорядке: когда переводишь Marvel 88E1111 в LoopBack по MAC интерфейсу, то отправленные пакеты принимаются Microblaze нормально - выпихивал их в UART и смотрел побайтно.

Соединение с компом - тоже нормальное: переводил Marvel 88E1111 в Line LoopBack, то при пинге в сниффере появлялись дополнительные пакеты.
Go to the top of the page
 
+Quote Post
AJIEKCEu
сообщение Feb 9 2010, 13:35
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 314
Регистрация: 7-12-05
Пользователь №: 11 917



Может попробовать вместо длины поставить 0x80 0x00 (Type: IP)
Или что то вроде того отсюда.
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Feb 9 2010, 13:49
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(AJIEKCEu @ Feb 9 2010, 16:35) *
Может попробовать вместо длины поставить 0x80 0x00 (Type: IP)
Или что то вроде того отсюда.

дык и стоит отсюда

0000-05DC IEEE802.3 Length Field (0.:1500.)
Go to the top of the page
 
+Quote Post
AJIEKCEu
сообщение Feb 9 2010, 13:58
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 314
Регистрация: 7-12-05
Пользователь №: 11 917



Но все итаки это слегка разные протоколы. До 0х8000 и после.

Но все таки это слегка разные протоколы. До 0х8000 и после.
Go to the top of the page
 
+Quote Post
rsv
сообщение Feb 10 2010, 05:49
Сообщение #5


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

Группа: Свой
Сообщений: 119
Регистрация: 16-07-07
Из: Тула
Пользователь №: 29 160



"В temac включен режим FCS offload - типа контрольную сумму он должен вычислять сам."
если я не ошибаюсь, Rx Tx checksum offload делается только для IP пакетов при работе через local link. Может в этом проблема?
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Feb 10 2010, 18:55
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



ОНО ЗАРАБОТАЛО!!! smile.gif
Проблема была в следующем: Ethernet PHY 88E1111 поддерживает автоопределение скорости (AUTONEGOTIATION)
а XPS_LL_TEMAC нет. Ему скорость надо задавать вручную.
В то время когда всё прогрессивное человечество перешло на 1Gb, в примере от Xilinx в недрах заголовочных файлов определена константа скорости TEMAC на 100Mb.

В режимax LOOPBACK c обоих сторон Ethernet PHY (по интерфейсу с маком и по линии) всё работает, и сам пример от Xilinx тоже.
А вот при передаче от TEMAC в линию возникали проблемы, хотя все лампочки мигали правильно. По видимому TEMAC выдаёт неправильную тактовую частоту для другой скорости на PHY и он не может правильно выдать пакеты в линию.

Всё вылечилось банальным исправление константы со 100 на 1000.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Mar 5 2010, 13:25
Сообщение #7


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(VladimirB @ Feb 10 2010, 20:55) *
ОНО ЗАРАБОТАЛО!!! smile.gif
Проблема была в следующем: Ethernet PHY 88E1111 поддерживает автоопределение скорости (AUTONEGOTIATION)
а XPS_LL_TEMAC нет. Ему скорость надо задавать вручную.
В то время когда всё прогрессивное человечество перешло на 1Gb, в примере от Xilinx в недрах заголовочных файлов определена константа скорости TEMAC на 100Mb.

В режимax LOOPBACK c обоих сторон Ethernet PHY (по интерфейсу с маком и по линии) всё работает, и сам пример от Xilinx тоже.
А вот при передаче от TEMAC в линию возникали проблемы, хотя все лампочки мигали правильно. По видимому TEMAC выдаёт неправильную тактовую частоту для другой скорости на PHY и он не может правильно выдать пакеты в линию.

Всё вылечилось банальным исправление константы со 100 на 1000.

не могли бы поделиться примером или дать ссылку на пример и более поподробнее рассказать о "в недрах заголовочных файлов определена константа скорости TEMAC на 100Mb." где именно и как была исправлена ошибка.
Какой сниффер Вы используете для проверки работоспособности?
ПОЖАЛУЙСТА!!!


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
agate
сообщение Jun 23 2010, 04:04
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 19-06-10
Пользователь №: 58 021



QUOTE (Maverick @ Mar 5 2010, 16:25) *
не могли бы поделиться примером или дать ссылку на пример и более поподробнее рассказать о "в недрах заголовочных файлов определена константа скорости TEMAC на 100Mb." где именно и как была исправлена ошибка.
Какой сниффер Вы используете для проверки работоспособности?
ПОЖАЛУЙСТА!!!

Господа хорошие,
Подскажите где ТЕМАC source можно найти.
Go to the top of the page
 
+Quote Post

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

 


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


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