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

 
 
 
Reply to this topicStart new topic
> Atmel EMAC / EMACB small packets, Проблема с приемом нестандартных Eth фреймов
defunct
сообщение May 30 2009, 15:29
Сообщение #1


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



По стандарту IEEE 802.3 минимальный размер Eth фрейма - 64 байта:

[ 6 байт destMAC ] [ 6 байт srcMAC ] [2 байта тип фрема ][ 46 байт user data][ 4 байта CRC].

Некоторые EMAC'и позволяют принимать и отправлять фреймы меньшего размера.
На Atmel'овом EMACе возникла проблема с приемом маленьких фреймов (62 байта), такие фреймы бракуются и не переносятся в RAM, инкрементируется EMAC_USF (undersize frame) регистр статистики. Других ошибок в статистике нет.

EMAC_NCFGR = (1 << SPD) | (1 << CAF) | (1 << DRFCS);

Вопрос: имеется ли способ заставить Atmel'овый EMAC'е принимать маленькие фреймы впринципе? Если да - то как?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 30 2009, 20:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ May 30 2009, 19:29) *
Вопрос: имеется ли способ заставить Atmel'овый EMAC'е принимать маленькие фреймы впринципе? Если да - то как?

Странно, конечно, но похоже, что такая возможность принципиально отсутствует.
Go to the top of the page
 
+Quote Post
defunct
сообщение May 30 2009, 23:08
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ May 30 2009, 23:17) *
Странно, конечно, но похоже, что такая возможность принципиально отсутствует.

Печально.. 3th party сервер шлет именно такие пакеты, а заствить его слать с Trailer'ом не в моей власти.
Попытаю счастья в Atmel тех поддержке.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 31 2009, 07:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Весьма интресно, что ответит техподдержка. Поделитесь потом с коллегами.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 3 2009, 14:02
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ May 31 2009, 10:21) *
Весьма интресно, что ответит техподдержка. Поделитесь потом с коллегами.

таки не поддерживает вообще. sad.gif

Вот основные тезисы из переписки:

Indeed, it is not possible to receive frames whose the size is smaller than 64bytes defined by the IEEE 802.3
A 62 bytes frame will not be considered as a good frame, so CAF will not have any influences. There is no way to retrieve it unfortunately.

>> Could you please confirm that such behavior is true for EMACB HW implementation also? i.e. that EMACB integrated to SAM9 parts
>> (and AVR32 AT32AP7000) has the same frame size limitation, and it is not possible to accept small packets even for debug purposes.

Yes, that's the same for our SAM9 products. I can not commit for AVR32, you need to ask their support but I think that's exactly the same implementation.



Кто имел дело с NXPшным МАК'ом поделитесь плз как обстоят дела с маленькими пакетами там? Уж очень не хочется ставить внешний МАК.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 3 2009, 14:27
Сообщение #6


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(defunct @ Jun 3 2009, 18:02) *
Кто имел дело с NXPшным МАК'ом поделитесь плз как обстоят дела с маленькими пакетами там? Уж очень не хочется ставить внешний МАК.

Должен принимать!
Все настройки в регистрах для этого есть!
PassRuntFrame When set to ’1’, passes runt frames smaller than 64 bytes to
memory unless they have a CRC error. If ’0’ runt frames are
filtered out.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 3 2009, 14:37
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(KRS @ Jun 3 2009, 17:27) *
PassRuntFrame When set to ’1’, passes runt frames smaller than 64 bytes to
memory unless they have a CRC error. If ’0’ runt frames are
filtered out.

Спасибо, это обнадеживает! Будет повод поковырять новые LPC smile.gif
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 3 2009, 14:49
Сообщение #8


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(defunct @ Jun 3 2009, 18:37) *
Спасибо, это обнадеживает! Будет повод поковырять новые LPC smile.gif

А почему Вы сразу не стали использовать LPC23xx или 24xx
они же и дешевле SAM7, а о производительности и говорить нечего!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 3 2009, 15:13
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(KRS @ Jun 3 2009, 17:27) *
Должен принимать!

.....И принимает.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 3 2009, 17:06
Сообщение #10


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(KRS @ Jun 3 2009, 17:49) *
А почему Вы сразу не стали использовать LPC23xx или 24xx
они же и дешевле SAM7, а о производительности и говорить нечего!

Так исторически сложилось... Поект делал до того как вышли LPC23xx/LPC24xx.
SAM7 против старых LPC (без DMA) был предпочтительнее, т.к. как раз за счет DMA справлялся с поставленной задачей.
Go to the top of the page
 
+Quote Post

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

 


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


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