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

 
 
> Подключение компьютера к LAN через FPGA
EgorTol
сообщение Jan 24 2013, 14:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 23-01-13
Пользователь №: 75 311



Задача: требуется подключить компьютер через FPGA с помощью Ethernet к локальной сети с интернетом и другими компьютерами.

Исходные данные:
1) Компьютер (обычный)
2) Плата с FPGA (Cyclone III), двумя микросхемами PHY (RTL8201bl) и двумя трансформаторами для сети Ethernet.
3) Роутер D-LINK (DI-804 HV)
4) Кабели категории 5Е с разъёмами RJ-45.

Решение:
1) Схема подключения:
Компьютер<--->плата с FPGA<--->роутер<--->сеть/интернет.

2) Берем кабели и подключаем все компоненты согласно схеме подключения.

3) Пишем код в FPGA и программируем её.

4) Работаем.

Описание работы и взаимодействия FPGA и PHY:
Плата с FPGA, микросхемами и разъемами выглядит так:
Трансформатор<--->PHY<--->FPGA<--->PHY<--->Трансформатор
PHY и FPGA связаны интерфейсом MII.

Описание кода для FPGA:
В FPGA реализован асинхронный буфер, который с одной стороны принмает данные от PHY по интерфейсу MII и потом передает эти же данные в другой PHY также по интерфейсу MII и наоборот (т.е. в обратную сторону).

Описание проблемы: Если компьютер подключить просто к сети, без FPGA, то максимальная скорость передачи данных равна 11,5 МБайт/сек, если подключить через FPGA, то скорость падает до 10,9 МБайт/сек.

Диагностика:
1) с помощью SignalTap определно, что буфер не переполняется и не опустошается (гарантированно), пакеты не обрываются (гарантированно), преамбула не повреждена (гарантированно), данные не повреждаются (маловероятно, что повреждаются в FPGA).
2) с помощью программы Wireshark было установленно, что компьютер или сервер посылает дублированные запросы на передачу данных, что говорит о том, что некая часть данных теряется, а теряется скорее всего из-за того что в каком-то месте пакет повреждается, а поврежденный пакет отбрасывается.

Просьба о помощи: Задача вроде крайне простая, но никак не удается достичь передачи данных без потерь и на максимальной скорости, если кто сталкивался с подобной задачей, просьба подсказать в чем может быть проблема. Буду очень благодарен.

P.S. буфер реализован с помощью MegaWizard. Управление буфером тоже очень простое, могу выложить код на Verilog.
P.S.2 не знаю в какую тему форума писать, так как задача объединяет и язык Verilog, и интерфейсы, и FPGA.

Спасибо за внимание. sm.gif


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
EgorTol
сообщение Jan 25 2013, 08:03
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 23-01-13
Пользователь №: 75 311



Цитата(telix @ Jan 24 2013, 21:07) *
Фото платы в студию, может у Вас LAN разведен так, что данные теряются, может FIFO теряет пакеты, нужно больше информации. Раз пакеты теряются, то либо на физическом уровне, либо на программном. Запустите тесты на просто передачу пакетов от FPGA к компьютеру на максимальной скорости и посмотрите, какая скорость. Чтобы FPGA сама генерила разные пакеты и пуляла их в комп. Затем повторите это со вторым каналом. Если скорость будет максимальная и потерь не будет, значит проблема в программе и FIFO.
А если пакеты будут теряться значит искать что именно портит пакеты.


Фото пока не могу предоставить, в понедельник может быть. Могу сказать сразу, что разведено всё "соплями". Где они там в FIFO могут потеряться? Считал количество принятых и переданных пакетов на входе и выходе FPGA, вроде всё совпадает. Сделать тест для генерации можно, хотя не слишком просто, надо поднимать сеть: компьютер<--->FPGA, для этого надо MAC-контроллер реализовывать? А еще как скорость в таком случае посмотреть? На данный момент я просто скачиваю большой файл из сети и смотрю скорость.

Цитата(iosifk @ Jan 24 2013, 21:59) *
А почему вместо FPGA не взять микросхемку 3 или 5-ти портового свитча? И гарантированно будет работать без всяких прошивок... Например у Микрела свитч с физикой сразу...


В дальнейшем необходимо обрабатывать некоторые пакеты с помощью FPGA.

Цитата(Alex11 @ Jan 25 2013, 01:59) *
Вообще-то странно. На 100 Мб должно работать абсолютно без сбоев. Циклон3 даже гига-ethernet тянет без сбоев. Попробуйте для начала выкинуть буфера и соединить две физики проводами в Циклоне. Если будет работать правильно, надо будет искать ошибки в проекте, а если нет - в разводке и электричестве.


Попробовал. Потери большие, скорость настолько низкая, что нельзя определить какая она sm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- EgorTol   Подключение компьютера к LAN через FPGA   Jan 24 2013, 14:41
- - telix   Фото платы в студию, может у Вас LAN разведен так,...   Jan 24 2013, 17:07
- - iosifk   Цитата(EgorTol @ Jan 24 2013, 18:41) Зада...   Jan 24 2013, 17:59
- - Alex11   Вообще-то странно. На 100 Мб должно работать абсол...   Jan 24 2013, 21:59
|- - telix   Цитата(EgorTol @ Jan 25 2013, 12:03) Могу...   Jan 25 2013, 18:28
|- - iosifk   Цитата(EgorTol @ Jan 25 2013, 12:03) В да...   Jan 25 2013, 19:21
|- - prig   Цитата(EgorTol @ Jan 25 2013, 12:03) Фото...   Jan 31 2013, 14:34
|- - iosifk   Цитата(prig @ Jan 31 2013, 18:34) Вы дума...   Jan 31 2013, 16:59
|- - prig   Цитата(iosifk @ Jan 31 2013, 20:59) Скоре...   Feb 1 2013, 09:03
||- - iosifk   Цитата(prig @ Feb 1 2013, 13:03) Вообще-т...   Feb 1 2013, 10:43
|- - gosu-art   Цитата(iosifk @ Jan 31 2013, 20:59) Внутр...   Feb 4 2013, 04:16
|- - EgorTol   Цитата(gosu-art @ Feb 4 2013, 08:16)...   Feb 5 2013, 13:29
|- - iosifk   Цитата(EgorTol @ Feb 5 2013, 17:29) Кстат...   Feb 5 2013, 13:55
||- - gosu-art   По поводу реализации езернета на плис: http://elec...   Feb 5 2013, 20:08
||- - EgorTol   Вы предлагаете мне МАК-контроллер сделать? Мне нуж...   Feb 6 2013, 07:46
|- - prig   Цитата(EgorTol @ Feb 5 2013, 17:29) ... И...   Feb 6 2013, 08:41
|- - EgorTol   Простите, не мог ответить. Продолжение следует... ...   Feb 22 2013, 07:27
- - sorok-odin   Цитата(EgorTol @ Jan 24 2013, 18:41) 1) С...   Jan 25 2013, 18:19
- - polyakovav   Цитата(EgorTol @ Jan 24 2013, 18:41) Зада...   Jan 31 2013, 15:18
- - prig   iosifk, дело не в том, что лучше или хуже. М.б. 10...   Feb 1 2013, 14:18


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

 


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


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