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

 
 
 
Reply to this topicStart new topic
> Nios сырые пакеты Ethernet
Acvarif
сообщение Mar 16 2012, 08:01
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



В Nios пока полный дилетант.
Но прежде чем приступить хотелось бы выяснить некоторые вопросы.
Имеется необходимость на базе Nios отсылать и принимать безпротокольные (сырые) Ehternet пакеты (на MAC или IP).

1. Насколько это возможно на Nios, имел ли кто такой опыт?
2. Поскольку к отладочной плате DE0 (Циклон 3) нужно подключить платку с PHY ks8721bl (MII, RMII), то вопрос -
Имеется-ли в стандартной библиотеке NIOS кроме LAN9111 то, что будет работать как МАС MII?

Спасибо.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Mar 17 2012, 12:15
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Acvarif @ Mar 16 2012, 12:01) *
1. Насколько это возможно на Nios, имел ли кто такой опыт?
2. Поскольку к отладочной плате DE0 (Циклон 3) нужно подключить платку с PHY ks8721bl (MII, RMII), то вопрос -
Имеется-ли в стандартной библиотеке NIOS кроме LAN9111 то, что будет работать как МАС MII?


Чем задавать сырые вопросы попытался в лоб создать процессор с МАС MII и сразу нарвался на непонятку.
Error: triple_speed_ethernet_0.transmit: "triple_speed_ethernet_0.transmit" must be connected to an Avalon-ST source
Error: triple_speed_ethernet_0.receive: "triple_speed_ethernet_0.receive" must be connected to an Avalon-ST sink
Прикрепленное изображение

Где то понимаю, что концы transmit и receive должны быть подключены к шине Avalon-ST.
Перебрал варианты, но как это сделать не понял. Не получилось.
Подскажите, кому не сложно.
Go to the top of the page
 
+Quote Post
Wic
сообщение Mar 20 2012, 06:13
Сообщение #3


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

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Вам нужно читать документацию на езернет, там пишут что transmit и receive должны подключены быть к памяти через SGDMA контролеры. Советую искать примеры использования TSE, у альтеры на сайте есть примеры для демо плат, вот там можно найти "немного" информации.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Mar 20 2012, 06:43
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Wic @ Mar 20 2012, 09:13) *
Вам нужно читать документацию на езернет, там пишут что transmit и receive должны подключены быть к памяти через SGDMA контролеры. Советую искать примеры использования TSE, у альтеры на сайте есть примеры для демо плат, вот там можно найти "немного" информации.
Спасибо.
Нашел. В общих чертах понял.
Но прошелся по созвучным темам форума и решил попробовать OpenCore "eth_ocm"
Прикрепленное изображение

На столе имею DE0 http://www.terasic.com.tw/cgi-bin/page/arc...o=56&No=364
и SK-Ethernet-Plug http://starterkit.ru/html/index.php?name=s...=view&id=19
Надеюсь соединить их не сложно.
Основная цель все же прием и передача сырых пакетов под библиотеку для WinPcap ПК.
Но для начала хотя бы UDP реализовать на Циклоне. Посему вопрос.
Реально-ли запустить UDP на "eth_ocm" + SK-Ethernet-Plug (интерфейс MII/RMII)?
Возможно ли достичь скорости 95 Mbits/s?


Go to the top of the page
 
+Quote Post
Acvarif
сообщение Mar 25 2012, 19:32
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



По ходу возникают вопросы и непонятности.
Чтобы запустить "eth_ocm" наверняка понадобится sdram. Внутренней памяти не хватит.
Ради проверки работы NIOS в sdram создал простой проект работы с PIO и светодиодами типа
CODE
int alt_main (void)
{
alt_u8 led = 0x2;
alt_u8 dir = 0;
volatile int i = 0;

while (1)
{
if(led & 0x81)
{
dir = (dir ^ 0x1);
}
if(dir)
led = led >> 1;
else
led = led << 1;
for(i = 0; i < 20000; i++)
{
if (i == 20)
{IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, led);}
};
}
return 0;
}


Но программа упорно не хочет загружаться в sdram. Как не переназначаю адреса, всеравно грузится во внутреннюю мемори ПЛИС, которой кот наплакал.
Хотя нет, разобрался. Залез в свойства системной библиотеки (изменил все на sdram) Всего-то пытаюсь запустить простенькую программу в sdram DE0 board, чтоб затем подключить "eth_ocm".
...Таки запустилось в sdram. Подсоединил к проекту OpenCore "eth_ocm". Вплотную приблизился к теме этой ветки. Работающий проект в sdram DE0 terasic, пока только мигающие светодиоды + подсоединенная корка "eth_ocm" тут http://depositfiles.com/files/ym8ngw02h




Сообщение отредактировал Acvarif - Mar 26 2012, 11:03
Go to the top of the page
 
+Quote Post

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

 


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


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