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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Gigabit Ethernet IP
robix
сообщение Mar 17 2011, 07:04
Сообщение #16


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

Группа: Свой
Сообщений: 126
Регистрация: 15-08-06
Из: Москва
Пользователь №: 19 556



Коллеги, а какой минимальный чип может потребоваться для реализации системы на NIOS, с гигабитным ethernet, i2c, SPI е еще 6 Клут 8К ОЗУ на другие задачи!?
Я имею ввиду чип без внешней памяти из серии cyclone... Например можно ли все это сделать на чипе с 30К лут и 100К ОЗУ!?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 17 2011, 07:55
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(robix @ Mar 17 2011, 13:04) *
Например можно ли все это сделать на чипе с 30К лут и 100К ОЗУ!?

без проблем влезет в ep3c25, еще место останется. правда, никаких stdlib в сях, встроенных осей и т.п.
Go to the top of the page
 
+Quote Post
iiv
сообщение Apr 26 2011, 08:31
Сообщение #18


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(bark @ Mar 15 2011, 12:38) *
UDP весьма прост. поэтому принимать и обрабатывать его проблем нет.


ПолуОФФ: Скажите, пожалуйста, а UDP по 10 и 1000МБитным протоколам одинаковое? Вот то, что я для 10МБит использовал, как по ссылке

http://www.fpga4fun.com/10BASE-T0.html

я для Гигабитного UDP смогу использовать?
Go to the top of the page
 
+Quote Post
des333
сообщение Apr 26 2011, 11:22
Сообщение #19


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(iiv @ Apr 26 2011, 12:31) *
ПолуОФФ: Скажите, пожалуйста, а UDP по 10 и 1000МБитным протоколам одинаковое? Вот то, что я для 10МБит использовал, как по ссылке

http://www.fpga4fun.com/10BASE-T0.html

я для Гигабитного UDP смогу использовать?


Вообще, естественно, UDP, как протокол более высокого уровня не зависит (не должен) от используемого стандарта Ethernet.

Но то, что Вы привели по ссылке, это просто учебный пример. Там в одном модуле перемешано все: и 2, и 3, и 4 уровни.
Вытащить оттуда UDP можно, но смысла особого нет. Лучше заново переписать с нуля более структурировано и красиво. sm.gif
(возможно, у Вас уже все написано как нужно - я комментирую исключительно тот код, что по ссылке sm.gif)

Видел ветку откуда Вы перешли в эту тему.
Извиняюсь, что отвечаю на вопрос из той темы, просто чтобы все было в одном месте.

Если хотите передавать относительно простой UDP трафик без использования софт-процессоров (типа NIOS), лучший вариант для Вас -
скачать готовую корку MAC-ядра с OpenCores и дописать буквально пару простых модулей для формирования нужного UDP трафика.


--------------------
Go to the top of the page
 
+Quote Post
bark
сообщение Apr 26 2011, 13:44
Сообщение #20


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Цитата(iiv @ Apr 26 2011, 11:31) *
ПолуОФФ: Скажите, пожалуйста, а UDP по 10 и 1000МБитным протоколам одинаковое?


да. разницы никакой нет.
просто надо корректно формировать пакеты и скармливать их МАС контроллеру.
http://ru.wikipedia.org/wiki/UDP
Но я бы рекомендовал больше смотреть на English версию страницы. На русской вроде какая-то путаница с расчетом UDP чексуммы.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
des333
сообщение Apr 26 2011, 13:50
Сообщение #21


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(bark @ Apr 26 2011, 17:44) *
На русской вроде какая-то путаница с расчетом UDP чексуммы.
Глянул - никакой путаницы, вроде, нет.






--------------------
Go to the top of the page
 
+Quote Post
bark
сообщение Apr 26 2011, 13:54
Сообщение #22


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Цитата(des333 @ Apr 26 2011, 16:50) *
Глянул - никакой путаницы, вроде, нет.

Значит путаница возникала только у меня в голове. =)
Тем не мение гораздо понятнее мне была именно английская версия.
сейчас уже (зная все ньюансы) и русская понятна.. но сначала она мне такой прозрачной не казалась.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
des333
сообщение Apr 26 2011, 14:00
Сообщение #23


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

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Цитата(bark @ Apr 26 2011, 17:54) *
Значит путаница возникала только у меня в голове. =)
Тем не мение гораздо понятнее мне была именно английская версия.
сейчас уже (зная все ньюансы) и русская понятна.. но сначала она мне такой прозрачной не казалась.

Ну, это часто так. Я вообще стараюсь русскоязычную литературу не использовать - часто пишут бред. sm.gif


А, если не секрет, как у Вас дела с Вашим проектом (помнится, Вы тоже хотели по гигабиту UDP гнать)?
Спрашиваю не из праздного любопытства. Просто у iiv на плате RGMII, а готовые кортки на том же OpenCores с GMII.
Вы тогда, если ничего не путаю, тоже с этой проблемой сталкнулись. Как решили? Сами написали или нашли готовую?

Может и уважаемому iiv советом поможете? sm.gif


--------------------
Go to the top of the page
 
+Quote Post
bark
сообщение Apr 26 2011, 14:06
Сообщение #24


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Цитата(des333 @ Apr 26 2011, 17:00) *
Ну, это часто так. Я вообще стараюсь русскоязычную литературу не использовать - часто пишут бред. sm.gif


А, если не секрет, как у Вас дела с Вашим проектом (помнится, Вы тоже хотели по гигабиту UDP гнать)?
Спрашиваю не из праздного любопытства. Просто у iiv на плате RGMII, а готовые кортки на том же OpenCores с GMII.
Вы тогда, если ничего не путаю, тоже с этой проблемой сталкнулись. Как решили? Сами написали или нашли готовую?

Может и уважаемому iiv советом поможете? sm.gif


С опенкоров проект действительно не подходит из-за MII интерфейса.
СтьюардЛиттл помог с Альтеровским TSE MAC-контроллером. (по этому поводу надо к нему в личку)

как только у меня появился МАС - начал писать проект под него.
Разобрался с шиной Авалон. (по ней идёт общение с МАС).
Сделал сбор пакетов и сейчас у меня UDP летает. последний замер был 982Мбит целостный поток от девборды к компу.
+ARP + ICMP

с вопросами по организации всего этого конечно могу помочь.

на всё это дело, от изучения TSE и до работы 3-х протоколов потратил вроде около месяца-полтора.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
spectr
сообщение Aug 17 2011, 10:33
Сообщение #25


Местный
***

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



Пытаюсь запустить TSE_MAC на скорости 1Гбит на плате CIII dev board (EP3C120F780). Пока что мало чего понимаю в этом IP, поэтому будет немало вопросов.
Все делаю на базе проекта cycloneIII_3c120_dev_niosII_standard из дев-кита (как говорят на альтерафорумах, он может работать в гигабитном режиме).

Итак, насколько я понял, если настроить корку в режиме "10/100/1000Mb Ethernet MAC", то она автоматически должна уметь работать в режиме 1000. Собственно, ничего в сэмпловом проекте пока не менял. Однако, при заливке проекта Simple Socket Server я по логу вижу что скорость таки 100Мбит:

Код
InterNiche Portable TCP/IP, v3.1

Copyright 1996-2008 by InterNiche Technologies. All rights reserved.
prep_tse_mac 0
Can't read the MAC address from your board (this probably means
that your flash was erased). We will assign you a MAC address and
static network settings

Please enter your 9-digit serial number. This is printed on a
label under your Nios dev. board. The first 3 digits of the
label are ASJ and the serial number follows this.
-->Created "Inet main" task (Prio: 2)
Created "clock tick" task (Prio: 3)

123456789
123456789
Your Ethernet MAC address is 00:07:ed:ff:cd:15
prepped 1 interface, initializing...
[tse_mac_init]
INFO    : TSE MAC 0 found at address 0x10022800
INFO    : PHY Marvell 88E1111 found at PHY address 0x12 of MAC Group[0]
INFO    : PHY[0.0] - Automatically mapped to tse_mac_device[0]
INFO    : PHY[0.0] - Restart Auto-Negotiation, checking PHY link...
INFO    : PHY[0.0] - Auto-Negotiation PASSED
MARVELL : Mode changed to RGMII/Modified MII to Copper mode
MARVELL : Enable RGMII Timing Control
MARVELL : PHY reset
INFO    : PHY[0.0] - Checking link...
INFO    : PHY[0.0] - Link not yet established, restart auto-negotiation...
INFO    : PHY[0.0] - Restart Auto-Negotiation, checking PHY link...
INFO    : PHY[0.0] - Auto-Negotiation PASSED
INFO    : PHY[0.0] - Link established
INFO    : PHY[0.0] - Speed = 100, Duplex = Full
OK, x=0, CMD_CONFIG=0x00000000

MAC post-initialization: CMD_CONFIG=0x04000203
[tse_sgdma_read_init] RX descriptor chain desc (1 depth) created
mctest init called
IP address of et1 : 0.0.0.0
Acquired IP address via DHCP client for interface: et1
IP address : 192.168.0.104
Subnet Mask: 255.255.255.0
Gateway    : 192.168.0.1

Simple Socket Server starting up
[sss_task] Simple Socket Server listening on port 30
Created "simple socket server" task (Prio: 4)


хотя на альтерафорумс сплошь и рядом в логах сияет "Speed = 1000".

Что я на данном этапе делаю не так?
И еще - нужно ли мне единичить сигнал "set_1000_to_the_tse_mac"?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 17 2011, 12:23
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



скорость задается переключением выходов PLL (125, 25 и 2,5 МГц). сигнал на переключатель подается с MAC, а MAC его выставляет в зависимости от сигнала с PHY (он называется enet_link_1000, как-то так), либо может быть установлен принудительно. проверьте сигналы управления клоком, в регистры PHY тоже не мешает заглянуть

Цитата(spectr @ Aug 17 2011, 17:33) *
И еще - нужно ли мне единичить сигнал "set_1000_to_the_tse_mac"?

заведите на него проинвертированный enet_link_1000. set_10 установить в 0. выходы ena_10 и eth_mode управляют мультиплексором
Go to the top of the page
 
+Quote Post
spectr
сообщение Aug 17 2011, 13:05
Сообщение #27


Местный
***

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



Подключение сигнала enet_led_link1000 к порту set_1000_to_the_tse_mac никак не влияет - даже светодиод соответствующий на плате не загорается. Вероятно, дело в настройках регистров. Отсюда вопрос - в каком месте (до alt_iniche_init() или после или где-то еще) нужно производить конфигурирование регистров и достаточно ли только установить флаг ETH_SPEED?

П.С.: По логу во всех случаях действительно видно, что CMD_CONFIG=0x04000203 (т.е., битCMD_CONFIG[3] (ETH_SPEED) = 0). Согласно даташиту на TSE_MAC поле ETH_SPEED содержится в 4-м бите регистра CMD_CONFIG, но при инициализации контроллера этот бит не устанавливается.

П.П.С.: Плата сейчас включена в общую локалку. Это может заставить ее работать не в том режиме? Имеет ли смысл подключить ее напрямую к ПК?

Сообщение отредактировал spectr - Aug 17 2011, 13:18
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 17 2011, 13:49
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(spectr @ Aug 17 2011, 20:05) *
Подключение сигнала enet_led_link1000 к порту set_1000_to_the_tse_mac никак не влияет - даже светодиод соответствующий на плате не загорается.

светодиод должен загораться при наличии линка. смотрите не CMD_CONFIG, а STATUS-регистр PHY, он первичен. но светодиод смущает, м.б. кабель плохо обжат?

Цитата(spectr @ Aug 17 2011, 20:05) *
Согласно даташиту на TSE_MAC поле ETH_SPEED содержится в 4-м бите регистра CMD_CONFIG, но при инициализации контроллера этот бит не устанавливается.

все правильно, если 0, то скорость определяется так, как я описывал выше. установка 1 принудительно включит гигабит, но у вас явно есть проблема в сети, ее нужно найти
Go to the top of the page
 
+Quote Post
spectr
сообщение Aug 18 2011, 12:08
Сообщение #29


Местный
***

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



Итак, после ряда телодвижений (топ-левел из кита версии 10.0 оказался сильно перепилен по сравнению с этим же проектом версии 9.1) удалось увидеть в логе "Speed = 1000", светодиод соответствующий на плате горит.
Теперь хочется понять следующее:
1. Что и в какой последовательности конфигурировать программно (для двух случаев - если используется ucos, и если она не используется)?
2. Каким образом можно организовать канал передачи данных (от платы к ПК) на максимально возможной скорости, желательно с достаточно высокой надежностью (т.е. без потерь)?
3. Каким образом померить (какими средствами, что учитывать и что не учитывать при подсчете) пропускную способность канала передачи данных?

Пока что параллельно изучаю тред "Ethernet+Nios+Cyclone", где есть много полезного. Наверняка многие ответы найду там, но на всякий случай оставлю свои вопросы и здесь.

П.С.: Кстати, в логе конфигурации появилась фраза "TSEMAC SW reset bit never cleared!". То есть это означает что ресет софтварно не сбрасывается или же что что-то аппаратно сидит в ресете?

Плата, хоть и конфигурируется, но до нее никак не достучаться - не пигнуется ни в какую (соединена с ПК кросс-кабелем)... Может быть я некорректно выставляю параметры сети? Какими, например, должны быть параметры для платы и ПК?

Сообщение отредактировал spectr - Aug 18 2011, 13:20
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 18 2011, 13:38
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(spectr @ Aug 18 2011, 19:08) *
2. Каким образом можно организовать канал передачи данных (от платы к ПК) на максимально возможной скорости, желательно с достаточно высокой надежностью (т.е. без потерь)?

указанные требования находятся в противоречии. максимальная надежность достигается при использовании TCP, за счет скорости, разумеется. максимальная скорость будет на UDP и Raw Ethernet сокетах, надежность не гарантируется. т.е. напрашивается UDP с по возможности максимальной длиной пакета + контроль ошибок/доставки своими руками.
Цитата
3. Каким образом померить (какими средствами, что учитывать и что не учитывать при подсчете) пропускную способность канала передачи данных?

счетчик пакетов + таймер. как вариант - снифер типа wireshark, там это есть. служебную информацию отбросить.
Цитата
Пока что параллельно изучаю тред "Ethernet+Nios+Cyclone", где есть много полезного. Наверняка многие ответы найду там, но на всякий случай оставлю свои вопросы и здесь.

по пункту 1 там точно есть
Цитата
П.С.: Кстати, в логе конфигурации появилась фраза "TSEMAC SW reset bit never cleared!". То есть это означает что ресет софтварно не сбрасывается или же что что-то аппаратно сидит в ресете?

возможно, что-то с клоками. информации недостаточно. бит в регистре не очищается - скорее всего проблема аппаратная
Цитата
Плата, хоть и конфигурируется, но до нее никак не достучаться - не пигнуется ни в какую (соединена с ПК кросс-кабелем)... Может быть я некорректно выставляю параметры сети? Какими, например, должны быть параметры для платы и ПК?

IP-шники из одной подсети, этого должно быть достаточно
Go to the top of the page
 
+Quote Post

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

 


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


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