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

 
 
> MII, Минимальный временной интервал между передачей пакетов от MAC к PHY
egorman44
сообщение May 14 2015, 14:44
Сообщение #1


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

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Всем здравствуйте ! sm.gif У меня вопрос.
Есть у меня волшебный MAC контроллер от Xilinx (Ip "Tri - Mode Ethernet Mac cntr") использую в режиме 100 Mbps работает исключительно на передачу. Каждые 4 мс моей логикой формируются 8 пакетов примерно по 1024 байт, для этого используется 8 буферов по 2048 байт каждый. Размер буфера выбрал исходя из количества оставшихся блоков RAM. Данные поступают от фреймера E1.
Мне это все дело необходимо передать PHY трансмиттеру. Есть ли какой-либо минимальный интервал между посылкой пакетов по MII, или я вполне могу слать следующий как только закончена пересылка предыдущего ? На сколько я понял PHY мне не может доложить, что пакет ушел в сеть ? А может все это дело разнести по времени, по мере заполнения буферов, чтобы сразу во внешку все не передавалось ?

UPD: я так понял достаточно соблюсти Interpacket gap ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex11
сообщение May 14 2015, 16:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Interpacket gap - 96 бит соблюсти обязательно. Будет ли корка его соблюдать сама - по идее, должна.
Go to the top of the page
 
+Quote Post
tvcam
сообщение May 14 2015, 17:06
Сообщение #3


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

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



Когда то давным давно делал аппаратный стек UDP на Altere, выжимая максимальную скорость из 100Мбит. И вот что у меня осталось в памяти, но я могу ошибаться. Можно было пихать в PHY следующий пакет на следующий такт. Получал максимально возможную скорость передачи от устройства (видеокамера), ещё народ в этой конференции писал что не может быть такого потока. В исходниках сохранён комментарий "Промежуток между пакетами 960 нс". Я не знаю сколько должно быть, но оставляю это время в текущих проектах. Помнится следующая особенность данного промежутка. PHY установленное в устройстве будет тупо принимать пакеты по MMI и тупо передавать их в сетку, так как в PHY железная логика. Простые PHY не содержат не каких длинных буферов и тому подобного (так было давно). Посмотрите внимательно на структуру вашего PHY, есть там буфера или нет, я думаю нет (простый 100 мегабитные). Также PHY работает и по приёму, без буферов. Но фишка оказалась в том что в компьютере часто стоит такой же PHY, только на PCI и тоже без буферов. А на этой шине PCI повешена куча устройств которые тоже нужно обслуживать, и время на это при приходе пакетов подряд без промежутков нет, а тем более на одновременное выполнения приёма и передачи. Короче всё зависит от PHY приёмника (в компьютере). При уменьшении времени Интеловская плата встроенная в материнку принимала пакеты, похоже она подключена напрямую к чипу на материнке, где есть буфер, а Реалтековская дешевая за 5 баксов на PCI начинала пропускать, там по структуре нет буфера. К тому же начинала падать передача от компьютера, от PHY в Альтеру приходил только кусок пакета, при увеличении промежутка в компьютер, пакет от компьютера тоже увеличивался - приходя в норму.
Опс.. опередили:

Цитата(Alex11 @ May 14 2015, 19:16) *
Interpacket gap - 96 бит соблюсти обязательно.

это на какой частоте, сколько по времени между пакетами?
Go to the top of the page
 
+Quote Post



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

 


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


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