aprox 0 9 ноября, 2007 Опубликовано 9 ноября, 2007 · Жалоба Стоит задача передавать по Ethernet-100 поток данных в PC и из него. При этом требуется скорость передачи порядка 80 Мбит в сек. Хочется использовать для этого максимально готовый W5100 в связке с FPGA. Основная идея - попытаться задействовать все четыре сокета внутри W5100 для предачи на один Destination адрес. Т.е. производить заполнение памяти данными на отправку в одном сокете пока другой сокет занят отправкой предыдущего пакета. По идее, должна как-минимум удвоиться производительность. Отсюда вопрос- не знает ли кто непреодолимых препятствий на пути реализации идеи параллельного использования сокетов в W5100 для одной цели? И второй вопрос- возникли подозрения, что чип W5100 содержит внутри процессор последовательного дейстия с жесткой программой один на все сокеты. А это может означать, что закачивать ему в память данные на отправку, пока другой сокет занят передачей может не получиться. Подозрения могут быть и напрасными. Кто-нибудь знает хардварные ограничения чипа, или сам игрался уже в этом напраквлении- откликнитесь пожалуйства Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 32 9 ноября, 2007 Опубликовано 9 ноября, 2007 · Жалоба Стоит задача передавать по Ethernet-100 поток данных в PC и из него. При этом требуется скорость передачи порядка 80 Мбит в сек. Хочется использовать для этого максимально готовый W5100 в связке с FPGA. А потянет он (этот чип) такой поток? Младшие, вроде, не тянули, по некоторым данным, например, W3100 осиливает максимум 30-40 Мбит/сек. Сколько вообще этот чип реально может потянуть, есть у кого-нибудь практические результаты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aprox 0 10 ноября, 2007 Опубликовано 10 ноября, 2007 · Жалоба А потянет он (этот чип) такой поток? Младшие, вроде, не тянули, по некоторым данным, например, W3100 осиливает максимум 30-40 Мбит/сек. Сколько вообще этот чип реально может потянуть, есть у кого-нибудь практические результаты? Я игрался до этого с ColdFire-2 c Ethernet контроллером на борту. Максимум, чего я добился по производительности отправки UDP пакетов- это 29 Mbit/s . Исследовал, что ограничивает скорость и выяснил- до 2/3 времени уходит на софтовую подготовку данных и оформление UDP пакетов. Т.е. проблема реальной пропускной способности канала зависит от хоста. Думаю, что и в случае с W5100 цифры 30-40 Мбит/сек вытекают из скорости работы хост-контроллера по загрузке буферов чипа. Сам же чип, его скоростные данные по чтению/ записи в память вполне способен переварить загрузку и выгрузку пакетов со скоростью не намного меньше 100 Mbit/s, если с учетом служебных команд. Hо, например, микроконтроллер ATmega128, который поставлен в известной EB от WIZNET, может писать и читать во внешнюю память намного медленнее. Я поэтому и нацелился на FPGA в качестве хоста, чтобы обойти ограничения традиционных микроконтроллеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
psL 0 12 ноября, 2007 Опубликовано 12 ноября, 2007 · Жалоба Вообщето у W5100 минимальное время цикла записи 70 ns Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 12 ноября, 2007 Опубликовано 12 ноября, 2007 · Жалоба Вообщето у W5100 минимальное время цикла записи 70 ns И озвучена максимальная скорость обмена "Up to 25Mbps throughput at application layer" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aprox 0 12 ноября, 2007 Опубликовано 12 ноября, 2007 · Жалоба И озвучена максимальная скорость обмена "Up to 25Mbps throughput at application layer" Это, по-видимому, при обмене по TCP. UDP должно быть побыстрее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 12 ноября, 2007 Опубликовано 12 ноября, 2007 · Жалоба Это, по-видимому... :) :) :) не надо себя пытаться обмануть. Это то, что максимум, что Ваш Application через MCU Interface сможет запихнуть в W5100. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aprox 0 13 ноября, 2007 Опубликовано 13 ноября, 2007 · Жалоба :) :) :) не надо себя пытаться обмануть. Это то, что максимум, что Ваш Application через MCU Interface сможет запихнуть в W5100. Странно, я считал иначе. Если в мануале на W5100 представлен цикл записи 8-ми битового значения за минимум 80 нС, то максимальная скорость загрузки чипа будет 8бит/0,08 мкс = 100 Мбит/Сек. Если использовать пакеты максимально возможного размера, то за-за служебных посылок скорость уменьшится незначительно, т.е. вполне реально выйти где-то на 80 Мбит/Сек. Очень хотелось бы знать, где я неправ в своих оценках, прежде чем начинать дела практически. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Epikur 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 · Жалоба Нет. Визнеты работают более-менее стабильно только тогда, когда для отправки дожидаешься полного освобождения буфера, прежде чем запихнуть туда пакет. Если бы можно было дать команду на отправку пакета и тут же начать заливать в него новый, то максимальная производительность бы и достигалась. А вместо этого он начинает сбоить. А так получается: время опроса/обновления всех регистров +время загрузки пакета +время отправки пакета на MAC-уровне +внутричиповое обновление регистров - всё это делить производительность раза в три..четыре. Зы. Сталкивался ли кто-нибудь с недокументированными глюками W3100A, такими, что в W3150 или W5100 они были устранены или обойдены? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aprox 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба Нет. Визнеты работают более-менее стабильно только тогда, когда для отправки дожидаешься полного освобождения буфера, прежде чем запихнуть туда пакет. Если бы можно было дать команду на отправку пакета и тут же начать заливать в него новый, то максимальная производительность бы и достигалась. А вместо этого он начинает сбоить. А так получается: время опроса/обновления всех регистров +время загрузки пакета +время отправки пакета на MAC-уровне +внутричиповое обновление регистров - всё это делить производительность раза в три..четыре. Внутри чипа я видел 4 сокета, каждый со своим отдельным буфером. Пока из буфера одного сокета выгружается пакт в сеть, почему нельзя в это же самое время загружать следующий пакет в буфер другого сокета? Такая параллельная операция тоже приведет к сбоям и зависаниям визнета? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Epikur 0 17 ноября, 2007 Опубликовано 17 ноября, 2007 · Жалоба Aprox Не знаю. Как это ни удивительно, но я использую визнет в режиме MAC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aprox 0 21 ноября, 2007 Опубликовано 21 ноября, 2007 · Жалоба Aprox Не знаю. Как это ни удивительно, но я использую визнет в режиме MAC. Кажется я понял, где ошибаюсь. Hет в визнете независимых буферов на каждый слот. Физически все буфера размещены в одной памяти, только по разным адресам. Это означает, что обслуживаться 4-ре сокета могут только поочереди, последовательно. Отсюда, скорей всего, и максимальная производительность визнета = 100/4 = 25 Mbit/sec Жаль, придется отказаться от этого чипа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Epikur 0 22 ноября, 2007 Опубликовано 22 ноября, 2007 · Жалоба >> Отсюда, скорей всего, и максимальная производительность визнета = 100/4 = 25 Mbit/sec. Нет, дело где-то в другом. Даже когда используешь только один канал, и буфер выделяешь только для него, а остальные каналы отключены, производительность не превышает 25 мбит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 22 ноября, 2007 Опубликовано 22 ноября, 2007 · Жалоба Кажется я понял..... Какое-то маниакальное желание обмануть самого себя :( Зачем? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aprox 0 22 ноября, 2007 Опубликовано 22 ноября, 2007 · Жалоба Какое-то маниакальное желание обмануть самого себя :( Зачем? Hе понял про "обмануть". Просто не хочется тратить время бестолку. Вот, и пытаюсь разобраться заранее, откуда такие цифры информационной скорости, когда они должны быть по-расчетам совсем другими. Вы же не взялись обьяснить, почему реальный предел 25Mbit/sec для визнета, когда они пишут Ethernet 100Mbit/s ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться