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

 
 
26 страниц V  « < 23 24 25 26 >  
Reply to this topicStart new topic
> Ethernet + Cyclone + Nios
vadimuzzz
сообщение Oct 30 2014, 09:31
Сообщение #361


Гуру
******

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



Цитата(MrSeN @ Oct 30 2014, 13:44) *
rx_clk короче чем rx_d

должно быть наоборот, см. аттач

Цитата
tx_en в нуле а вот с tx_d самая проблема, эти сигналы всегда висят в нуле, это видно в сигналтабе, я их смотрю непосредственно как выход модуля tse.

в сигналтапе их вы напрямую не увидите - это шина ddr. компилятор их тупо выкинет с соответствующим ворнингом. посмотреть txd можно на входе ddr-регистра, либо осциллографом
Прикрепленные файлы
Прикрепленный файл  RGMII_Timing_Solutions.pdf ( 317.95 килобайт ) Кол-во скачиваний: 1190
Прикрепленный файл  Data_Skew_Information.7z ( 15.26 килобайт ) Кол-во скачиваний: 43
 
Go to the top of the page
 
+Quote Post
alexPec
сообщение Nov 6 2014, 09:05
Сообщение #362


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Всем доброго дня. Возникла проблема с эзернетом от opencores, раньше использовал это ядро- такого не было.

Инициализирую PHY, линк есть, инициализирую MAC теми же значениями что и в предыдущем проекте. Регистрирую прерывание на прием пакетов, завожу один дескриптор на прием, указываю там буфер.
В результате когда делаю пинг процессор попадает в прерывание по приему, читает источник IRQ и вместо бита RXC (принят пакет) или RXE (ошибка) вижу установленный бит BUSY :

This bit indicates that a buffer was received and discarded due to a lack of
buffers. It is cleared by writing 1 to it. This bit appears regardless to the
IRQ bits in the Receive or Transmit Buffer Descriptors.

Читаю регистр CTRL дескриптора функцией IORD_ETH_OCM_DESC_CTRL(ETH_OCM_0_BASE, 1) - получаю значение 0xe000, установленные биты означают:

- The data buffer is empty (and ready for receiving data) or currently
receiving data.
- When data is received (or error occurs), an RXF interrupt will be
asserted (See 3.2 INT_SOURCE (Interrupt Source Register) for more
details).
- This buffer descriptor is the last descriptor in the buffer descriptor table.
After this buffer descriptor is used, the first Rx buffer descriptor in the table
will be used again.

Указатель на буфер в регистре правильный.

Что смотреть и куда копать - думаю, а пока решил спросить...

Раньше это ядро запускал на Q9.1 - сходу заработало, никаких проблем не было. Сейчас запускаю в QSYS на Q13.1.

UPD: прочитал еще doc-файл по авалон-интерфейсу, там написано что бит BUSY ставится при переполнении фифо на RX. Похоже действительно фифо переполняется, а прерывания по приему пакета не идут, только по переполнению фифо.
Go to the top of the page
 
+Quote Post
everest
сообщение Dec 19 2014, 19:25
Сообщение #363





Группа: Новичок
Сообщений: 8
Регистрация: 11-11-13
Из: Москва
Пользователь №: 79 146



Добрый вечер , никто на форуме не запускал аппаратно под новый Quartus 13.1 или 14 проект UDP offload example. http://www.alterawiki.com/wiki/Nios_II_UDP_Offload_Example
Плата основана на Cyclone 4 , имеет SDRAM , вместо DDR SDRAM 2. Я так понимаю на TSE также нужно покупать лицензию , ну или лечить.
Микросхема dp83640 с интерфейсом rmii. На форуме альтеры также нашёл переходник mii to rmii.
Qsys + переходник

Сообщение отредактировал everest - Dec 19 2014, 19:25
Прикрепленные файлы
Прикрепленный файл  TSE_Ethernet.rar ( 14.88 килобайт ) Кол-во скачиваний: 55
 
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 23 2014, 07:02
Сообщение #364


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(everest @ Dec 19 2014, 22:25) *
Добрый вечер , никто на форуме не запускал аппаратно под новый Quartus 13.1 или 14 проект UDP offload example. http://www.alterawiki.com/wiki/Nios_II_UDP_Offload_Example
Плата основана на Cyclone 4 , имеет SDRAM , вместо DDR SDRAM 2. Я так понимаю на TSE также нужно покупать лицензию , ну или лечить.
Микросхема dp83640 с интерфейсом rmii. На форуме альтеры также нашёл переходник mii to rmii.
Qsys + переходник

А какие у Вас вопросы? Я свой проект с TSE v14.0 запускал, счас уже всё работает. Основная проблема оказалась в неправильном подключении TSE. После изменения его интерфейса подключения неправильно понял назначение портов и не работало, пока не залез внутрь TSE и не разобрался - что и куда надо подключать.
Go to the top of the page
 
+Quote Post
MrSeN
сообщение Jan 15 2015, 12:50
Сообщение #365





Группа: Новичок
Сообщений: 3
Регистрация: 28-10-13
Пользователь №: 78 932



А ни у кого нету примера с работающим приемом?
Go to the top of the page
 
+Quote Post
everest
сообщение Mar 11 2015, 18:20
Сообщение #366





Группа: Новичок
Сообщений: 8
Регистрация: 11-11-13
Из: Москва
Пользователь №: 79 146



Цитата(doom13 @ Dec 23 2014, 10:02) *
А какие у Вас вопросы? Я свой проект с TSE v14.0 запускал, счас уже всё работает. Основная проблема оказалась в неправильном подключении TSE. После изменения его интерфейса подключения неправильно понял назначение портов и не работало, пока не залез внутрь TSE и не разобрался - что и куда надо подключать.


Взял готовый проект с сайта AlteraWiki.
Собрал все в qsys. При компиляции в Eclipse выдаёт следующие ошибки.

Цитата
Код
Description    Resource    Path    Location    Type
make: *** [tut_app.elf] Error 1    tut_app             C/C++ Problem
undefined reference to `install_menu'    demo_control.c    /tut_app    line 96    C/C++ Problem
undefined reference to `stooges'    tut_app        line 0    C/C++ Problem


http://www.alteraforum.com/forum/showthread.php?t=30536
http://www.alteraforum.com/forum/showthread.php?t=45601

В чём может быть проблема?

Сообщение отредактировал everest - Mar 11 2015, 18:23
Go to the top of the page
 
+Quote Post
doom13
сообщение Mar 13 2015, 18:47
Сообщение #367


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(everest @ Mar 11 2015, 21:20) *
Взял готовый проект с сайта AlteraWiki.

Уберите из проекта всё лишнее, оставте сам процессор, память, TSE, SgDMA TX, SgDMA RX, descriptor_memory. Разберитесь с работой SgDMA (выше в теме был пример) и конфигурацией TSE.
Go to the top of the page
 
+Quote Post
everest
сообщение Mar 14 2015, 08:52
Сообщение #368





Группа: Новичок
Сообщений: 8
Регистрация: 11-11-13
Из: Москва
Пользователь №: 79 146



Цитата(doom13 @ Mar 13 2015, 21:47) *
Уберите из проекта всё лишнее, оставте сам процессор, память, TSE, SgDMA TX, SgDMA RX, descriptor_memory. Разберитесь с работой SgDMA (выше в теме был пример) и конфигурацией TSE.


Спасибо за ответ.
Как раз таки это все заработало на 11-ой версии Quartus на примере веб-сервера. (UCOS + NicheStack)
Затем и lwip прикрутил без ос. Правда lwip + FreeRTOS так и не запустился, но это уже другая история...

Интересовала именно аппаратная реализация UDP с кучей второстепенных блоков.
Не очень понятна разница между данной версией на сайте альтеры и реализацией UDP у уважаемого vadimuzz, ужатого в один блок.
Вроде бы и все ветки на форуме перечитал, посвящённые аппаратной реализацией udp протокола.
Видимо я не очень-то хорошо разобрался , пойду дальше изучать.

Сообщение отредактировал everest - Mar 14 2015, 08:55
Go to the top of the page
 
+Quote Post
doom13
сообщение Mar 14 2015, 10:26
Сообщение #369


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(everest @ Mar 14 2015, 12:52) *
Интересовала именно аппаратная реализация UDP с кучей второстепенных блоков.
Не очень понятна разница между данной версией на сайте альтеры и реализацией UDP у уважаемого vadimuzz, ужатого в один блок.

Формирование UDP-пакета (аппаратное) реализует один блок - udp_offload, всё остальное вспомогательные модули. На udp_offload подаются данные, он добавляет UDP-шапку и выдаёт на TSE, если работает несколько передатчиков - тогда на MAC заводятся через мультиплексор. Я его (udp_offload) допиливал под себя, чтобы была возможность посылать фрагментированный пакет.
Go to the top of the page
 
+Quote Post
everest
сообщение Mar 14 2015, 11:14
Сообщение #370





Группа: Новичок
Сообщений: 8
Регистрация: 11-11-13
Из: Москва
Пользователь №: 79 146



Цитата(doom13 @ Mar 14 2015, 13:26) *
Формирование UDP-пакета (аппаратное) реализует один блок - udp_offload, всё остальное вспомогательные модули. На udp_offload подаются данные, он добавляет UDP-шапку и выдаёт на TSE, если работает несколько передатчиков - тогда на MAC заводятся через мультиплексор. Я его (udp_offload) допиливал под себя, чтобы была возможность посылать фрагментированный пакет.


Стало более яснее, то есть по идее можно сделать на примере alterawiki и примера vadimuzz такой же блок (например udp_rx_offload) , но для приёма и обработки UDP пакета и при необходимости добавить демультиплексор.
Естественно придётся писать драйвер.
Go to the top of the page
 
+Quote Post
doom13
сообщение Mar 14 2015, 11:42
Сообщение #371


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(everest @ Mar 14 2015, 15:14) *
Стало более яснее, то есть по идее можно сделать на примере alterawiki и примера vadimuzz такой же блок (например udp_rx_offload) , но для приёма и обработки UDP пакета и при необходимости добавить демультиплексор.
Естественно придётся писать драйвер.

Пример vadimuzz достаточен, чтоб запустить аппаратное формирование UDP и выдачу в сеть. По поводу приёма не понял, Вам нужен приёмник на логике?
Go to the top of the page
 
+Quote Post
everest
сообщение Mar 14 2015, 12:04
Сообщение #372





Группа: Новичок
Сообщений: 8
Регистрация: 11-11-13
Из: Москва
Пользователь №: 79 146



Цитата(doom13 @ Mar 14 2015, 14:42) *
Пример vadimuzz достаточен, чтоб запустить аппаратное формирование UDP и выдачу в сеть. По поводу приёма не понял, Вам нужен приёмник на логике?


Да именно, было бы интересно сделать(переделать) аппаратный приём и обработку UDP пакетов на основе того же примера с сайта альтеры_вики.

Go to the top of the page
 
+Quote Post
doom13
сообщение Mar 14 2015, 12:13
Сообщение #373


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(everest @ Mar 14 2015, 16:04) *
Да именно, было бы интересно сделать(переделать) аппаратный приём и обработку UDP пакетов на основе того же примера с сайта альтеры_вики.

Но если нужен даже минимальный стек IP протоколов, то реализовать аппаратно будет непростая задача.
Go to the top of the page
 
+Quote Post
Creamman
сообщение Apr 7 2015, 11:48
Сообщение #374





Группа: Участник
Сообщений: 7
Регистрация: 7-04-15
Пользователь №: 86 104



Здравствуйте!) А каким образом задать для ПЛИС MAC и IP адрес. Cyclone III (Triple Speed Ethernet)
Go to the top of the page
 
+Quote Post
Unfog
сообщение Aug 7 2015, 10:53
Сообщение #375


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 20-05-12
Из: Санкт-Петербург
Пользователь №: 71 932



Уважаемые гуру, помогите, пожалуйста, с проблемкой =)

Имеется кит на Stratix 3 с 88е1111.
В идеале нужно сделать UDP с обменом по SGMII.

Что получилось:
Конфиг через MDIO, связь через MII. Проблем нет, пакеты отправляются, принимаются.

Т. к. я раньше не имел дело с SGMII решил использовать TSE. В перспективе в Qsys, но т.к. с SGDMA опять же не встречался, решил сначала запустить TSE без NIOS.
И тут затык =(
TSE сконфигуринован на small 10/100MAC.
На входы вроде подаю правильно, а он молчит.
В какую сторону копать?
Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение


clock - 50 МГц

Сообщение отредактировал Unfog - Aug 7 2015, 10:53
Go to the top of the page
 
+Quote Post

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

 


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


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