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

 
 
> Реально Fast Ethernet, Использование RAW-пакетов
Aprox
сообщение Mar 3 2008, 21:30
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131



Периодически вспыхивают дискуссии о реальной скорости передачи данных по Ethernet. У меня именно такая задача - в сенменте Ethernet-100 обеспечить передачу потока данных со скоростью не менее 80 Мbps. Как я уже докладывал, существующие стеки TCP/IP не обеспечивают такой скорости, даже в протоколе UDP. Для известных конструкций на микроконтроллерах, реальная скорость не превышает 20..25 Mbps. Поэтому было решено отойти от стандартов TCP/IP и максимально сократить программное вмешательство процессора в процесс отсылки пакетов. Городить FPGA для ENET-100 тоже не показалось оправданным. В результате, поиск остановился на кристалле STR912FAxx c ARM9 и Ethernet контроллером на борту. Почему именно на нем. Потому, что в нем так организована периферия, AHB шина, контроллер внешней шины и DMA-MAC, что позволяет заполнять FIFO MAC-контроллера внешними данными автономно, минуя шину процессора и минуя шину FLASH и SRAM. Т.е. процессор практически не тормозится, а закачка данных идет на максимальной скорости. Я реализовал простейший вид RAW-пакетов в формате Ethernet-II: <Dst><Src><FrameId><...Data...>. Где FrameId мне любезно предоставил наш уважаемый гуру. Вот первые результаты натурных испытания на модуле MMstr912 от Propox получена максимальная скорость передачи данных- 96 Mbps. Использование 100M сети на 96%. Это скорость, когда процессор ничем не занят. В реале же, я ожидаю незначительного снижения производительности из-за того, что подготовка и отсылка пакетов практически полностью осуществляется аппаратными средствами кристалла. Было проверено также прохождение такого потока данных через свитч. Нареканий нет. Также проверена возможность WinPCAP капчурить поток пакетов такой скорости поступления и записывать их в файл. Работает исправно на Windows XP c обычным пентиумом 800MHz. Сейчас я полон оптимизма и приступаю к реализации WEB-сервера на RAW-пакетах.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Raimis
сообщение Mar 9 2008, 18:33
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 23-11-05
Пользователь №: 11 279



Цитата(Aprox @ Mar 4 2008, 01:30) *
Периодически вспыхивают дискуссии о реальной скорости передачи данных по Ethernet...
Для известных конструкций на микроконтроллерах, реальная скорость не превышает 20..25 Mbps...

Мы тоже начали городить что-то подобное, но испугались что нехватит мощности ST912xx процессора и выбрали проц помощенее - iMX27 от freescale ( мощности небывает слишком много smile.gif.
Цитата(Aprox @ Mar 4 2008, 01:30) *
Вот первые результаты натурных испытания на модуле MMstr912 от Propox получена максимальная скорость передачи данных- 96 Mbps

Как я понимаю тесты делались со стандартным ST MAC/DMA (ENET) фирмваром? Генерились готовые пакеты (в FPGA?) и передавались в FIFO MAC-контролера? А какой размер был тестовых пакетов? Максимальный? А есть возможность повторить тест, но с маленькими пакетами? Могут в таком тесте возникнуть сложности с пакетами размером до 100Б? Есть узкое место?
Go to the top of the page
 
+Quote Post
Aprox
сообщение Mar 10 2008, 08:04
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131



Цитата(Raimis @ Mar 9 2008, 21:33) *
Как я понимаю тесты делались со стандартным ST MAC/DMA (ENET) фирмваром?

91x_enet.c библиотеку переделал, выкинул все лишнее, что было нужно для TCP/IP.
Цитата
Генерились готовые пакеты (в FPGA?) и передавались в FIFO MAC-контролера?

Да, готовый RAW-пакет, кроме CRC, выдает FPGA. ST MAC/DMA читает напрямую из 16-бит внешней шины. Процессор в заполнении пакета данными не задействован.
Цитата
А какой размер был тестовых пакетов? Максимальный?

Да, 1500.
Цитата
А есть возможность повторить тест, но с маленькими пакетами? Могут в таком тесте возникнуть сложности с пакетами размером до 100Б? Есть узкое место?

Я пробовал с пакетами 80 байт. Загрузка сети уменьшалась с 96% до 94%. Узкое место в этом случае предполагаю в большем участии процессора для пересылки. Hо это еще не проверялось. Hе знаю.
Go to the top of the page
 
+Quote Post
Raimis
сообщение Mar 11 2008, 13:47
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 23-11-05
Пользователь №: 11 279



Цитата(Aprox @ Mar 10 2008, 12:04) *
Я пробовал с пакетами 80 байт. Загрузка сети уменьшалась с 96% до 94%. Узкое место в этом случае предполагаю в большем участии процессора для пересылки. Hо это еще не проверялось. Hе знаю.

это очень хорошая новость!
А невозможно хотябы по косвенными признаками прикинуть насколько загружает процессор поток до потолка 80-ти байтовых пакет?
Go to the top of the page
 
+Quote Post
Aprox
сообщение Mar 11 2008, 18:39
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131



Цитата(Raimis @ Mar 11 2008, 16:47) *
это очень хорошая новость!
А невозможно хотябы по косвенными признаками прикинуть насколько загружает процессор поток до потолка 80-ти байтовых пакет?

Процессор для каждой передачи пакета задействуется на четыре С-строки инициализации дескриптора MAC-DMA, что займет где-то порядка 0,5мкс. Далее передача пакета происходит без участия процессора.
Hа пакете в 1500 загрузка процессора составляет 0.5ukc/120ukc=0.5% всего времени. При пакете в 80 байт будет примерно 0.5/6,4= 15% всего времени.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Aprox   Реально Fast Ethernet   Mar 3 2008, 21:30
- - aaarrr   Цитата(Aprox @ Mar 4 2008, 00:30) Как я у...   Mar 3 2008, 22:10
|- - Aprox   Цитата(aaarrr @ Mar 4 2008, 01:10) На ARM...   Mar 4 2008, 09:22
|- - aaarrr   Цитата(Aprox @ Mar 4 2008, 12:22) Мой выб...   Mar 4 2008, 10:18
|- - Aprox   Цитата(aaarrr @ Mar 4 2008, 13:18) По сто...   Mar 4 2008, 15:06
|- - aaarrr   Цитата(Aprox @ Mar 4 2008, 18:06) Если не...   Mar 4 2008, 15:29
|- - Aprox   Цитата(aaarrr @ Mar 4 2008, 18:29) Скорос...   Mar 5 2008, 15:19
- - aaarrr   Понятно. У меня тоже в одной разработке использует...   Mar 5 2008, 15:27
|- - AlexandrY   Решил я тут проверить эти утверждения. Картина нем...   Mar 13 2008, 21:40
|- - Aprox   Цитата(AlexandrY @ Mar 14 2008, 00:40) Ре...   Mar 14 2008, 12:14
|- - AlexandrY   Нет PAUSE пакетов никаких не было. Во первых карта...   Mar 14 2008, 14:41
|- - Aprox   Цитата(AlexandrY @ Mar 14 2008, 17:41) Не...   Mar 14 2008, 15:33
- - GL_basik   А как Ваше устройство отреагирует на сеть, где mul...   Mar 11 2008, 07:03
- - Aprox   Цитата(GL_basik @ Mar 11 2008, 10:03) А к...   Mar 11 2008, 12:36
- - Aprox   Цитата(Aprox @ Mar 11 2008, 15:36) Как ра...   Mar 12 2008, 17:00


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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 18:44
Рейтинг@Mail.ru


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