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

 
 
> Ethernet + Cyclone + Nios
yura-w
сообщение Oct 10 2007, 17:05
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617



Здравствуйте,
хочу сделать устройство: Ethernet (10/100) + CycloneII + NiosII.
Подскажите пожалуйста,
на какую корку (TCP/IP) и соответствующую ей аппаратную часть обратить внимание
Go to the top of the page
 
+Quote Post
26 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 99)
RHnd
сообщение Oct 10 2007, 19:35
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Цитата(yura-w @ Oct 10 2007, 21:05) *
Здравствуйте,
хочу сделать устройство: Ethernet (10/100) + CycloneII + NiosII.
Подскажите пожалуйста,
на какую корку (TCP/IP) и соответствующую ей аппаратную часть обратить внимание


Могу подсказать, что на отладочной плате NIOSII CyclonII Edition есть Ethernet. Так что даже если самой платы нет, то можно глянуть на альтеровские примеры веб-сервера.
Go to the top of the page
 
+Quote Post
yura-w
сообщение Oct 11 2007, 18:59
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617



Цитата(RHnd @ Oct 10 2007, 23:35) *
...на отладочной плате NIOSII CyclonII Edition есть Ethernet...

спасибо посмотрел,
поиск от туда мне и надо было начинать…
похоже, этого будет достаточно для закрытия темы
Go to the top of the page
 
+Quote Post
yura-w
сообщение Oct 15 2007, 15:42
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617



подскажите, кто-нибудь решал такую задачу на базе Davicom?
например у terasic DE2 есть DM9000A, но можно ли ее ip-core применить в собственном проекте
(да и микросхему не просто достать), или лучше идти по пути LAN91C111?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Oct 16 2007, 05:30
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(yura-w @ Oct 15 2007, 19:42) *
подскажите, кто-нибудь решал такую задачу на базе Davicom?
например у terasic DE2 есть DM9000A, но можно ли ее ip-core применить в собственном проекте
(да и микросхему не просто достать), или лучше идти по пути LAN91C111?

Могу предложить Micrel KSZ8841/2. Описания на русском - у меня на сайте, в разделе "статьи"...
Лежат на складе...
На них Метроком успешно делает свои приборы... Так что есть у кого посмотреть драйвера...
Будут вопросы - пишите.
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
yura-w
сообщение Oct 16 2007, 18:03
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617



Цитата(iosifk @ Oct 16 2007, 09:30) *
...Будут вопросы - пишите.
Удачи!


Спасибо за помощь,
По данной теме появился обозревательный семинар:
"Implementing Flexible Industrial Ethernet Solutions":

http://www.altera.com/education/webcasts/a...industrial.html
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Oct 17 2007, 01:41
Сообщение #7


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(yura-w @ Oct 11 2007, 02:05) *
Здравствуйте,
хочу сделать устройство: Ethernet (10/100) + CycloneII + NiosII.
Подскажите пожалуйста,
на какую корку (TCP/IP) и соответствующую ей аппаратную часть обратить внимание

тоесть стоит задача реализовать подержку TCP/IP в железе а не в софте?
или всё таки в железе как здесь
тут вот исходники можно взять если всё таки в железе

Цитата(yura-w @ Oct 16 2007, 00:42) *
подскажите, кто-нибудь решал такую задачу на базе Davicom?
например у terasic DE2 есть DM9000A, но можно ли ее ip-core применить в собственном проекте
(да и микросхему не просто достать), или лучше идти по пути LAN91C111?

давиком9000 и лан91 это MAC уровень. о каком ip-core идёт речь?
на самом деле какой MAC вы собрались использовать всё равно, лишь бы доставаем был и доки были
а TCP/IP всё же стоит реализовать средствами ниоса, тоесть софтверно.


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
yura-w
сообщение Oct 17 2007, 15:25
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617



Цитата(Postoroniy_V @ Oct 17 2007, 05:41) *
тоесть стоит задача реализовать подержку TCP/IP в железе а не в софте?

лучше я думаю в софте (изначально задача: объединить плис и инет; и после предварительного знакомства, с новой для меня темой, я решил что удобнее всего реализовать в ниосе)

Цитата
давиком9000 и лан91 это MAC уровень. о каком ip-core идёт речь?

я посчитал, что компоненты добавляемые в sopc builder (для связи ниоса и лан91) это и есть ip-core, я не прав?

Цитата
на самом деле какой MAC вы собрались использовать всё равно, лишь бы доставаем был и доки были

именно об этом я и хотел получить информацию создавая тему.
стыковка МАК и Ниос мне не ясна...
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Oct 18 2007, 04:45
Сообщение #9


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(yura-w @ Oct 18 2007, 00:25) *
лучше я думаю в софте (изначально задача: объединить плис и инет; и после предварительного знакомства, с новой для меня темой, я решил что удобнее всего реализовать в ниосе)
я посчитал, что компоненты добавляемые в sopc builder (для связи ниоса и лан91) это и есть ip-core, я не прав?
именно об этом я и хотел получить информацию создавая тему.
стыковка МАК и Ниос мне не ясна...

для того чтобы связать проц(ниос) с лан91 нужно почитать про tristate avalona bridge в handbook-e
там всё ясно и просто написано...почти русским по белому smile.gif
вообщем лан91 будет для ниоса как memory mapped устройства вот и все дела

з.ы. доки почитайте smile3046.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
yura-w
сообщение Oct 18 2007, 17:40
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617



Цитата(iosifk @ Oct 16 2007, 09:30) *
...Описания на русском - у меня на сайте, в разделе "статьи"...

Очеть полезная информация. Спасибо!
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Oct 18 2007, 23:54
Сообщение #11


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(yura-w @ Oct 19 2007, 02:40) *
Очеть полезная информация. Спасибо!

ага полезная, особенно про мак адрес длиной 3 байта 07.gif
дело ваше конечно, но лучше на англ читать доки smile.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
J0hnNick
сообщение Apr 8 2008, 19:32
Сообщение #12





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



Чтоб не открывать новую тему пишу здесь.
В наличии CycloneII_PCI_Kit-v6.0.1. Необходимо реализовать на ней прием иформации по ethernet с помощью утановленного на ней
lan91c11(аппаратные MAC+PHY)
Что я делаю
1 - создал проект в квартусе.
2 - в SOPC Builder создаю систему с следующими компонентами - cpu_0, pio_0, pio_1, onchip_memory, tri_state_bridge_0, lan91c111_0
3 - Сгенерировал систему, открываю NIOS II IDE
4 - Выбираю простенький проект hello_led_0, успешно компилирую.
Теперь вопрос - как добавить сюда прием из ethernet ???
в квартусе есть HAL драйвера altera_avalon_lan91c111 как их испеользовать?.
NIOS II handbook читал, пока не помогло(((
Срочно нужно это дело запустить и в режиме эмуляции посмотреть работу. Помогите, пожалуйста.
Go to the top of the page
 
+Quote Post
torik
сообщение Apr 9 2008, 04:47
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Если хочется быстро запустить и поглядеть - надо из примеров запускать. Но опять же "если", если в примерах это быть.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Волощенко
сообщение Apr 9 2008, 05:34
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377



Цитата(J0hnNick @ Apr 8 2008, 22:32) *
Чтоб не открывать новую тему пишу здесь.
В наличии CycloneII_PCI_Kit-v6.0.1. Необходимо реализовать на ней прием иформации по ethernet с помощью утановленного на ней
lan91c11(аппаратные MAC+PHY)
Что я делаю
1 - создал проект в квартусе.
2 - в SOPC Builder создаю систему с следующими компонентами - cpu_0, pio_0, pio_1, onchip_memory, tri_state_bridge_0, lan91c111_0
3 - Сгенерировал систему, открываю NIOS II IDE
4 - Выбираю простенький проект hello_led_0, успешно компилирую.
Теперь вопрос - как добавить сюда прием из ethernet ???
в квартусе есть HAL драйвера altera_avalon_lan91c111 как их испеользовать?.
NIOS II handbook читал, пока не помогло(((
Срочно нужно это дело запустить и в режиме эмуляции посмотреть работу. Помогите, пожалуйста.

1. Не знаю как на Вашем ките, но у меня на DK-NIOS-2S60N было два примера "Simple Sockek Server", а также "Web Server". С них надо начать изучение Ethernet-100, а после переходить к своим вещам и кодам.
2. Есть несколько готовых разработок, которые могут помочь, что в altera component->NiosII Software Packeges, это:
- altera_iniche
- altera lwip
для последнего light weight IP (lwip) сбрасываю инфу в приложении. Получил ее от одного хорошего человека из Финляндии, по имени Matti Malmstedt.
3. Можно попытаться написать драйвера для lan91c111 самому, кстати, я так и поступил, что так же имеет свои преимущества. Пока скорость 31Мбит/с для UDP.
Удачи.

К модераторам: Похоже, что тему эту целесообразно перенести в раздел для SOPC
Прикрепленные файлы
Прикрепленный файл  web_versio.zip ( 614.22 килобайт ) Кол-во скачиваний: 2312
 
Go to the top of the page
 
+Quote Post
J0hnNick
сообщение Apr 9 2008, 19:05
Сообщение #15





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



Цитата(Волощенко @ Apr 9 2008, 08:34) *
1. Не знаю как на Вашем ките, но у меня на DK-NIOS-2S60N было два примера "Simple Sockek Server", а также "Web Server". С них надо начать изучение Ethernet-100, а после переходить к своим вещам и кодам.
2. Есть несколько готовых разработок, которые могут помочь, что в altera component->NiosII Software Packeges, это:
- altera_iniche
- altera lwip
для последнего light weight IP (lwip) сбрасываю инфу в приложении. Получил ее от одного хорошего человека из Финляндии, по имени Matti Malmstedt.
3. Можно попытаться написать драйвера для lan91c111 самому, кстати, я так и поступил, что так же имеет свои преимущества. Пока скорость 31Мбит/с для UDP.
Удачи.

К модераторам: Похоже, что тему эту целесообразно перенести в раздел для SOPC


Спасибо, полезный файл) попробовал по инструкции запустить, на файле С:\altera\quartus60\sopc_builder\components\altera_avalon_lan91c111\HAL\src\altera_avalon_lan91c11\.c выдается ошибка use of cast expressions as lvalues is depricated
не пойму в чем дело?
Go to the top of the page
 
+Quote Post
dim99
сообщение Sep 10 2009, 06:43
Сообщение #16


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Время течет, а вопросы возникают одни и те же )

Пытаюсь поднять ethernet на cyclone II с помощью Lan91C111.
После прочтения различных руководств решил собрать в Sopc Builder пример для Nios Simple Socket Server.
Как и написано в руководстве здесь делаю конфигурацию:
* cpu - full
* on-chip - 40960 byte
* jtag-uart
* LAN91C111 MAC/PHY (lan91c111 in SOPC Builder)
* PIO 8-bit output (led_pio in SOPC Builder)
* PIO, 16-bit output (seven_seg_pio in SOPC Builder)
* STDOUT device [UART or Joint Test Action Group (JTAG) UART]
* tristate-bridge для lan91C111

Генерится в Sopc Builder нормально.
Открываю Nios и делаю как написано в tt_nios2_tcpip.pdf: выбираю SSS, прохожу по всем свойствам RTOS и Software Components.
После компиляции выдает следующие сообщения об ошибке:

make: *** [system_description/../obj/system.h-t] Error 1 simple_socket_server_syslib line 0
make: *** [system_project] Error 2 simple_socket_server line 0

Пробовал на различных машинах - результат одинаковый.

Если кто-то сталкивался с этой проблемой, подскажите, как ее решить?
спасибо за помощь.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Sep 10 2009, 10:44
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(dim99 @ Sep 10 2009, 09:43) *
Время течет, а вопросы возникают одни и те же )

У Вас своя плата или кит от Альтеры? Если второе, то там готовый работающий пример должен быть.
Если все свое, то попробуйте своей программой от NiosII записывать в регистры Lan91C111 и считывать, т.е. получить отклик. Получилось?
Потом нужно программно для Lan91C111 инициализировать PHY и пытаться выдавить что-то, а результат смотреть снифером.

Сообщение отредактировал Serhiy_UA - Sep 10 2009, 10:49
Go to the top of the page
 
+Quote Post
dim99
сообщение Sep 10 2009, 13:36
Сообщение #18


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(Serhiy_UA @ Sep 10 2009, 14:44) *
У Вас своя плата или кит от Альтеры? Если второе, то там готовый работающий пример должен быть.


Плата от Альтеры Cyclone II EP2C35F672C6.
Как раз и беру пример из Nios - Simple Socket Server.
Пример собранной конфигурации в Sopc
Прикрепленное изображение

и ошибка в Nios IDE:

причем вылазит при генерации system.h

Creating system.h...
10.09.2009 17:06:14 - (SEVERE) generate: java.lang.IllegalStateException: java.lang.IllegalStateException: java.lang.NumberFormatException: empty String
make[1]: *** [system_description/../obj/system.h-t] Error 1


Странно, почему из всего этого:
* One of the following networking interfaces
o LAN91C111 MAC/PHY (lan91c111 in SOPC Builder)
o Altera® Triple Speed Ethernet MAC (tse_mac in SOPC Builder)
* Programmable I/O (PIO), 8-bit output (led_pio in SOPC Builder)
* PIO, 16-bit output (seven_seg_pio in SOPC Builder)
* STDOUT device [UART or Joint Test Action Group (JTAG) UART]
* (Optional) LCD display (lcd_display in SOPC Builder)
отсюда

они забыли упомянуть про Timer, без которого естественного ничего не запускалось.
спасибо всем, кто помогал.

решение оказалось на поверхности - RTOS без таймера видимо не работает.
Go to the top of the page
 
+Quote Post
sysel
сообщение Sep 10 2009, 13:52
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



А кто-нибудь делал Ethernet 100Мбит так:

PHY - внешняя микросхема
MAC - реализация в ПЛИС (на основе IP core)
Отсальное на NIOS (lwip например)

?
Go to the top of the page
 
+Quote Post
dim99
сообщение Sep 14 2009, 09:46
Сообщение #20


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



К сожалению, пока так и не удалось скомпилить в Nios IDE Simple Socket Server на Cyclone II без ошибок.
Теперь в alt_error_handler.c
undefined reference to `perror' simple_socket_server_0 alt_error_handler.c line 180



Кто-нибудь сумел собрать в Sopc Builder'e такую конфигурацию, чтобы она успешно откомпилилась в Nios IDE 8.0 SP1.
Собирается StratixII_2S60_ROHS из примера, но нужен cyclone II.

Может у кого-нибудь есть рабочий пример, буду безмерно благодарен.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 14 2009, 11:08
Сообщение #21


Гуру
******

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



Цитата(sysel @ Sep 10 2009, 20:52) *
А кто-нибудь делал Ethernet 100Мбит так:

PHY - внешняя микросхема
MAC - реализация в ПЛИС (на основе IP core)
Отсальное на NIOS (lwip например)

?

да, а в чем вопрос?
Go to the top of the page
 
+Quote Post
sysel
сообщение Sep 14 2009, 11:52
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(vadimuzzz @ Sep 14 2009, 15:08) *
да, а в чем вопрос?

Вопрос в том, имеет ли смысл применять MAC уровень в виде IP core или же лучше купить микросхему внешнего МАСа.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Sep 14 2009, 13:01
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(dim99 @ Sep 14 2009, 12:46) *
К сожалению, пока так и не удалось скомпилить в Nios IDE Simple Socket Server на Cyclone II без ошибок.
Может у кого-нибудь есть рабочий пример, буду безмерно благодарен.

У меня DK-NIOS-2S60N. Я скомпилировал в Q7.2 пример SSS на standart и full_featured. Оба раза компиляция прошла нормально.
Сообщения об этом в приложении. Я пробовал sss еще пару лет назад, все получалось. Потом сам писал драйвера для 91c111, как бы усеченный IP-стек, все работает.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 15 2009, 11:29
Сообщение #24


Гуру
******

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



Цитата(sysel @ Sep 14 2009, 18:52) *
Вопрос в том, имеет ли смысл применять MAC уровень в виде IP core или же лучше купить микросхему внешнего МАСа.

зависит от задачи. если есть ПЛИС, есть ресурсы, то почему бы и нет. думается по производительности этот вариант получше будет.
к тому же внешний MAC подороже PHY, а opencore - бесплатно.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 15 2009, 11:48
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



А пробовал ли кто OpenCores 10/100 Ethernet MAC with Avalon Interface от Jakob Jones (есчё называется eth_ocm вроде). Вроде по описаниям с буржуйских сайтов довольно неплохая штука: берём DP83848 + эта корка + ниос + сорцы на си и вроде всё фунциклирует (правда как обычно чувствую что где то здесь есть подвох unsure.gif )
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 15 2009, 12:56
Сообщение #26


Гуру
******

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



Цитата(Kuzmi4 @ Sep 15 2009, 18:48) *
А пробовал ли кто OpenCores 10/100 Ethernet MAC with Avalon Interface от Jakob Jones (есчё называется eth_ocm вроде). Вроде по описаниям с буржуйских сайтов довольно неплохая штука: берём DP83848 + эта корка + ниос + сорцы на си и вроде всё фунциклирует (правда как обычно чувствую что где то здесь есть подвох unsure.gif )

тьфу-тьфу, юзаю уже больше года без нареканий.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 15 2009, 14:32
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 vadimuzzz - а можно чуть подетальнее - интересует доводка - пришлось ли допиливать что ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 15 2009, 23:06
Сообщение #28


Гуру
******

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



Цитата(Kuzmi4 @ Sep 15 2009, 21:32) *
2 vadimuzzz - а можно чуть подетальнее - интересует доводка - пришлось ли допиливать что ?

практически нет. код драйвера там почти один-в-один с альтеровским (я писал свой, урезанный вариант, поэтому в основном выбрасывал). сама корка мне больше чем альтеровская нравится, там DMA-контроллеры прямо в нее встроены. просто один модуль в SOPC добавлеяшь eth_ocm и все. в альтеровской же (не знаю как сейчас) надо 3 компонента добавлять - tse, и 2 sgdma. hdl-код я не трогал. да, регистров там поменьше конфигурационных. но это скорее плюс smile.gif
чуть не забыл, дока там в комплекте убогая, надо брать от опенкорковского контроллера (автор igor mohor), там все расписано.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 16 2009, 07:20
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 vadimuzzz - благодарствую laughing.gif
Go to the top of the page
 
+Quote Post
sysel
сообщение Sep 16 2009, 08:03
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(vadimuzzz @ Sep 16 2009, 03:06) *
просто один модуль в SOPC добавлеяшь eth_ocm и все.
чуть не забыл, дока там в комплекте убогая, надо брать от опенкорковского контроллера (автор igor mohor), там все расписано.

Не могли бы Вы выложить где-нибудь или отправить мне это ядро с документацией. Что-то на опенкорес не могу его найти.
Какой PHY используете?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 16 2009, 11:42
Сообщение #31


Гуру
******

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



Цитата(sysel @ Sep 16 2009, 15:03) *
Не могли бы Вы выложить где-нибудь или отправить мне это ядро с документацией. Что-то на опенкорес не могу его найти.
Какой PHY используете?

тут посмотрите (внизу).
PHY пробовал KSZ8041 и LAN8700
Go to the top of the page
 
+Quote Post
dim99
сообщение Sep 25 2009, 16:48
Сообщение #32


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Добрый вечер уважаемые гуру Alter'ы и Nios II.

Есть Cyclone III 3c120, после долгих мучений был найден пример для Ethernet с использованием Triple Speed Ethernet, успешно сгенерировал в Sopc Builder и скомпилировал проект SSS в Nios II IDE 9.0 SP1.

Имеется следующий вопрос:
Достаточно ли будет создать .bdf со сгенерированным Nios и распиновкой ножек на соответствующие входы\выходы, чтобы запустить пример на плате?
Или к элементам типа ddr2_sdram придется городить еще что-то для их работы?

Просто все кажется слишком простым при использовании примера, чтобы запустить ethernet на плате.
А какого-нибудь user guide или мануала для запуска ethernet на CIII нет =(
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 26 2009, 11:31
Сообщение #33


Гуру
******

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



Цитата(dim99 @ Sep 25 2009, 23:48) *
Имеется следующий вопрос:
Достаточно ли будет создать .bdf со сгенерированным Nios и распиновкой ножек на соответствующие входы\выходы, чтобы запустить пример на плате?
Или к элементам типа ddr2_sdram придется городить еще что-то для их работы?

этого достаточно, если все влезает в on-chip. но лучше повозиться, добавить контроллер DDR, чтобы не париться насчет объема памяти. а плата стандартная? если кит, то можно взять готовый пример, там уже все собрано.

Цитата
Просто все кажется слишком простым при использовании примера, чтобы запустить ethernet на плате.
А какого-нибудь user guide или мануала для запуска ethernet на CIII нет =(

а какого рода мануал нужен?
Go to the top of the page
 
+Quote Post
dim99
сообщение Sep 26 2009, 14:32
Сообщение #34


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Sep 26 2009, 15:31) *
этого достаточно, если все влезает в on-chip. но лучше повозиться, добавить контроллер DDR, чтобы не париться насчет объема памяти. а плата стандартная? если кит, то можно взять готовый пример, там уже все собрано.

а какого рода мануал нужен?


К сожалению, еще не совсем понимаю, что такое kit, может это кастрированный вариант самой платы?

Сама плата Cyclone III 3с120F780C7.
В примере Sopc Builder есть контроллер DDR, в котором весь софт содержится. Просто для Cyclone II есть примеры в examples и tt_nios2_tcpip.pdf, а для CIII пришлось долго искать хоть что-нибудь(с примером веселее дело идет).

Надеюсь, из pdf для CII можно будет взять ход действий для проверки работоспособности.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 27 2009, 04:43
Сообщение #35


Гуру
******

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



Цитата(dim99 @ Sep 26 2009, 21:32) *
К сожалению, еще не совсем понимаю, что такое kit, может это кастрированный вариант самой платы?

Сама плата Cyclone III 3с120F780C7.
В примере Sopc Builder есть контроллер DDR, в котором весь софт содержится. Просто для Cyclone II есть примеры в examples и tt_nios2_tcpip.pdf, а для CIII пришлось долго искать хоть что-нибудь(с примером веселее дело идет).

Надеюсь, из pdf для CII можно будет взять ход действий для проверки работоспособности.

вот этот кит :
http://www.altera.com/products/devkits/altera/kit-cyc3.html
?
примеры тут

если нужен полноценный TCP/IP имеет смысл посмотреть в сторону готовых ОСей, например
http://nioswiki.com/index.php?title=Linux&...highlight=linux
Go to the top of the page
 
+Quote Post
dim99
сообщение Sep 27 2009, 06:26
Сообщение #36


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Sep 27 2009, 08:43) *
вот этот кит :
http://www.altera.com/products/devkits/altera/kit-cyc3.html
?
примеры тут

если нужен полноценный TCP/IP имеет смысл посмотреть в сторону готовых ОСей, например
http://nioswiki.com/index.php?title=Linux&...highlight=linux


Все теперь понял, что такое kit ) именно так и выглядит.

За примеры тоже огромное спасибо, пытался открыть этот ftp через total, но почему-то папка outgoing была пуста.
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 3 2009, 17:58
Сообщение #37


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Интересует 2 вопроса:

1. Компонент Lan91C111 в Sopc Builder симулирует эту же микросхему(сам отрабатывает на физическом и mac уровне) или является интерфейсом(набором pio) для микросхемы, которая сама все делает и только передает данные в Nios?

2. Flash память на dev kit Cyclone III работает сама или через max II?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 4 2009, 09:35
Сообщение #38


Гуру
******

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



Цитата(dim99 @ Oct 4 2009, 00:58) *
Интересует 2 вопроса:

1. Компонент Lan91C111 в Sopc Builder симулирует эту же микросхему(сам отрабатывает на физическом и mac уровне) или является интерфейсом(набором pio) для микросхемы, которая сама все делает и только передает данные в Nios?

2. Flash память на dev kit Cyclone III работает сама или через max II?

1. это Avalon-MM интерфейс к внешнему MAC+PHY. что-то типа Tristate Bridge`а
2. сама, на MAX II сделан USB-Blaster
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Oct 8 2009, 07:08
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Тут вопросик появился (начал потихоньку ковырять ) по eth_ocm_80_3. А в частности есть значит в портах MII такое объявление:
Цитата
//MII TX
input mtx_clk_pad_i,
output [3:0] mtxd_pad_o,
output mtxen_pad_o,
output mtxerr_pad_o,

В описании к корке сказано, что проверено с
Цитата
3.The National Semiconductor DP83848C 10/100 PHY (used on the Cyclone III embedded development kit).
однако на физике DP83848 в упор нету лапы mtxerr - там только клок/данные и энабл (в KSZ8041 - аналогично)... Её просто не трогать или как ? smile3046.gif
с MII RX частью - все лапы сходятся с теми что есть в наличии в физике blink.gif
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 8 2009, 13:21
Сообщение #40


Гуру
******

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



Цитата(Kuzmi4 @ Oct 8 2009, 14:08) *
Тут вопросик появился (начал потихоньку ковырять ) по eth_ocm_80_3. А в частности есть значит в портах MII такое объявление:

В описании к корке сказано, что проверено с однако на физике DP83848 в упор нету лапы mtxerr - там только клок/данные и энабл (в KSZ8041 - аналогично)... Её просто не трогать или как ? smile3046.gif
с MII RX частью - все лапы сходятся с теми что есть в наличии в физике blink.gif



biggrin.gif "скрипач не нужен" (ц). эта нога только для тестов может понадобиться. на lan8700 в одном из режимов она есть.
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 21 2009, 05:57
Сообщение #41


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Sep 16 2009, 03:06) *
практически нет. код драйвера там почти один-в-один с альтеровским (я писал свой, урезанный вариант, поэтому в основном выбрасывал). сама корка мне больше чем альтеровская нравится, там DMA-контроллеры прямо в нее встроены. просто один модуль в SOPC добавлеяшь eth_ocm и все. в альтеровской же (не знаю как сейчас) надо 3 компонента добавлять - tse, и 2 sgdma. hdl-код я не трогал. да, регистров там поменьше конфигурационных. но это скорее плюс smile.gif
чуть не забыл, дока там в комплекте убогая, надо брать от опенкорковского контроллера (автор igor mohor), там все расписано.


Начал мучать Ethernet y cyclone III dev kit, оказалось, что память DDR2 не подключена еще.
Попробовал TSE, оказался очень прожорлив и не влез по памяти.

Хочу попробовать OpenCores 10/100 Ethernet MAC with Avalon Interface от Jakob Jones (eth_ocm)

Хотелось бы узнать, куда именно прописывать Is_Ethernet_Mac = “1” to the WIZARD_SCRIPT_ARGUMENTS в ptf файле.

И еще: DDR2 у меня не подключена, поэтому использую on-chip. Сколько памяти минимально нужно отвести под eth_ocm?(для буфера видимо)

Можно ссылку на опенкорковского контроллера (автор igor mohor)?
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 26 2009, 17:13
Сообщение #42


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Нашел решение проблемы, почему не компилился пример из kit:
QII 8.0 не поддерживает пример tse для QII 8.1 и QII 9.0 SP1 ведет себя неадекватно на vista.

Успешно скомпилил проект с tse, правда есть вопрос:
Прикрепленное изображение


для работы в 100 mbps необходимо завести 25 Мгц на tx и rx, но в sopc builder clk для всех один - 100 Мгц, с pll завести можно на rx\tx 25 Mhz, но как это отразить в sopc builder?
И куда сигналы ena_10, eth_mode заводить?

был бы рад услышать все предложения.
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 26 2009, 19:38
Сообщение #43


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(dim99 @ Oct 26 2009, 20:13) *
И куда сигналы ena_10, eth_mode заводить?


Что-то поспешно все делаю, дочитал до ena_10 и eth_mode - сигналы задают режим работы ethernet - 10, 100 или gigabit.
Все описание есть в ug на triple speed.

Не нашел как отредактировать сообщение. надеюсь объединят, дабы не флудить.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 27 2009, 13:13
Сообщение #44


Гуру
******

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



Цитата(dim99 @ Oct 21 2009, 11:57) *
Начал мучать Ethernet y cyclone III dev kit, оказалось, что память DDR2 не подключена еще.
Попробовал TSE, оказался очень прожорлив и не влез по памяти.

Хочу попробовать OpenCores 10/100 Ethernet MAC with Avalon Interface от Jakob Jones (eth_ocm)
И еще: DDR2 у меня не подключена, поэтому использую on-chip. Сколько памяти минимально нужно отвести под eth_ocm?(для буфера видимо)

Можно ссылку на опенкорковского контроллера (автор igor mohor)?

ссылка вот http://www.opencores.org/project,ethmac
по памяти они, ЕМНИП, примерно одинаково занимают, в опенкорковском просто буферы уже в модуль завернуты. я делал по 1кБайт(1 блок в циклоне3). если планируется большая нагрузка, то приемный буфер можно увеличить.

Цитата(dim99 @ Oct 26 2009, 23:13) *
Нашел решение проблемы, почему не компилился пример из kit:
QII 8.0 не поддерживает пример tse для QII 8.1 и QII 9.0 SP1 ведет себя неадекватно на vista.

Успешно скомпилил проект с tse, правда есть вопрос:

для работы в 100 mbps необходимо завести 25 Мгц на tx и rx, но в sopc builder clk для всех один - 100 Мгц, с pll завести можно на rx\tx 25 Mhz, но как это отразить в sopc builder?
И куда сигналы ena_10, eth_mode заводить?

был бы рад услышать все предложения.

txc и rxc заводятся с PHY.
сигналы ena_10, eth_mode опциональны
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 27 2009, 13:42
Сообщение #45


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Надо ли через pll пропускать для задания фазы(clock phase shift)?

И получается надо ставить делитель, если нужна частота отличная от 25mhz для работы в режиме 10mbit(2.5) или gigabit(125)?
или он сам каким-то неведомым способом подбирает частоту в зависимости от установленного соединения?

Сообщение отредактировал dim99 - Oct 27 2009, 14:26
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 27 2009, 14:37
Сообщение #46


Гуру
******

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



Цитата(dim99 @ Oct 27 2009, 19:42) *
Надо ли через pll пропускать для задания фазы(clock phase shift)?

И получается надо ставить делитель, если нужна частота отличная от 25mhz для работы в режиме 10mbit(2.5) или gigabit(125)?
или он сам каким-то неведомым способом подбирает частоту в зависимости от установленного соединения?

делитель не надо. PHY сам все частоты сгенерит, в зависимости от линка. у него внутри PLL есть. фазу тоже не надо двигать.
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 27 2009, 15:04
Сообщение #47


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Oct 27 2009, 17:37) *
делитель не надо. PHY сам все частоты сгенерит, в зависимости от линка. у него внутри PLL есть. фазу тоже не надо двигать.


то есть с enet_rx_clk(генератор) нужно будет завести на pinout, привявзанный к железу и потом еще и на nios?
Прикрепленное изображение


По-другому пока не могу представить, чтоб и на nios связь была и привязать к pin.

Или добавить clk в sopc builder'e для mac, a pin завести как обычно?

Сообщение отредактировал dim99 - Oct 27 2009, 15:20
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 27 2009, 15:19
Сообщение #48


Гуру
******

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



Цитата(dim99 @ Oct 27 2009, 21:04) *
то есть с enet_rx_clk(генератор) нужно будет завести на pinout, привявзанный к железу и потом еще и на nios

По-другому пока не могу представить, чтоб и на nios связь была и привязать к pin.

надо схематик на плату посмотреть. на PHY должен заводиться опорный клок(с циклона или с генератора, посмотрите на плате). а с PHY на циклон идут txc и rxc.
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 27 2009, 15:26
Сообщение #49


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



не понимаю )
что есть PHY - это физический уровень чего?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 27 2009, 15:35
Сообщение #50


Гуру
******

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



Цитата(dim99 @ Oct 27 2009, 21:26) *
не понимаю )
что есть PHY - это физический уровень чего?

"ну вы блин даете" (ц) ethernet, конечно. MAC синтезируется внутри циклона, а PHY - внешний на плате (какая микруха, кстати?)
или это я переработал? wacko.gif
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 27 2009, 15:48
Сообщение #51


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Oct 27 2009, 18:35) *
"ну вы блин даете" (ц) ethernet, конечно. MAC синтезируется внутри циклона, а PHY - внешний на плате (какая микруха, кстати?)
или это я переработал? wacko.gif


Вот я точно также и думал, вы не переработали, это я глупые вопросы иногда задаю )

использую marvell 88e1111.
Подсмотрел на альтерафорум :
PLL with two clocks at 125 MHz with 180º of delay: one is connect to 'tx_clk' input of TSE block and the other to pin T8

manual reference говорит следующее:
25 MHz (reference clock); enet_rx_clk Input U5 Cyclone III device pin B14

ENET_GTX_CLK T8 - Clock Outputs

по схематику:
Прикрепленное изображение


Сообщение отредактировал dim99 - Oct 27 2009, 15:51
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 27 2009, 16:40
Сообщение #52


Гуру
******

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



Цитата(dim99 @ Oct 27 2009, 21:48) *
использую marvell 88e1111.
Подсмотрел на альтерафорум :
PLL with two clocks at 125 MHz with 180º of delay: one is connect to 'tx_clk' input of TSE block and the other to pin T8

manual reference говорит следующее:
25 MHz (reference clock); enet_rx_clk Input U5 Cyclone III device pin B14

ENET_GTX_CLK T8 - Clock Outputs

я упустил из виду, что у вас Triple Speed. если я правильно понял, то 25МГц - опора для внутренней PLL в циклоне, умножаем на 5 и сдвигаем на 180º. один из выходов PLL на порт TSE, второй - на внешний пин (опора для PHY?), а rxclk - с PHY. в SOPCе, видимо соединить не получится, придется на схематике соединять. хотя PLL можно в SOPC запихать.
Go to the top of the page
 
+Quote Post
dim99
сообщение Oct 29 2009, 14:40
Сообщение #53


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



С возвращением интернета назрел вопрос:

Как определить является ли pin - in или out?
Мануал молчит - просто даны сигналы без указания их направления.

Как определить, какими являются эти пины:
ENET_RX_D[3..0]
ENET_TX_D[3..0]
ENET_TX_EN
ENET_RX_DV

Есть мнение, что output:
ENET_TX_D[3..0]
ENET_TX_EN

input:
ENET_RX_DV
ENET_RX_D[3..0]

enet_rx_clk Input U5 Cyclone III device pin B14 - видимо это все-таки input
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 29 2009, 16:41
Сообщение #54


Гуру
******

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



все правильно
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 3 2009, 13:23
Сообщение #55


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Начал "отладку" на плате (cyclone III dev kit).

Удалось запихнуть всю конфигурацию в on-chip(на время для обеспечения работоспособности,потом все пойдет во flash\..) в итоге получилась конфигурация такая:
Прикрепленное изображение


на топ-левеле в квартусе следующее:
Прикрепленное изображение


Во время компиляции вылез warning, что будет time-limited sof - нет лицензии на TSE(у кого есть поделитесь smile.gif ).
После прошивки появилось вот такое окошко:
Прикрепленное изображение


Зашел в nios ide - запустил на выполнение => run и он выдал ошибку:
panic: stack alloc
dtrap - needs breakpoint


Понятно что проблема со стэком, может ему его мало?
под stack,heap и read\write data memory выделено 52 Кбайта onchip_mem.

Собственно вопрос в чем: как исправить эту ошибку и где найти лицензию на tse(понятно что не за $)

Сообщение отредактировал dim99 - Nov 3 2009, 13:29
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 3 2009, 13:34
Сообщение #56


Гуру
******

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



Цитата(dim99 @ Nov 3 2009, 19:23) *
Зашел в nios ide - запустил на выполнение => run и он выдал ошибку:
panic: stack alloc
dtrap - needs breakpoint


Понятно что проблема со стэком, может ему его мало?
под stack,heap и read\write data memory выделено 52 Кбайта onchip_mem.

а проект-то собрался? логи билдера покажите.
да, еще настройки линкера.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 3 2009, 15:23
Сообщение #57


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 3 2009, 16:34) *
а проект-то собрался? логи билдера покажите.
да, еще настройки линкера.


Проект собрался.
Логи sopc builder:
CODE
Info: onchip_mem: Manually-created SOF and simulation initialization files are required for memory onchip_mem.
Info: ext_flash: Flash memory capacity: 64,0 MBytes (67108864 bytes).
Info: prog_mem: Manually-created SOF and simulation initialization files are required for memory prog_mem.
Info: Wrote C:/study/q9/cycloneIII_3c120_fl_eth/niosciii.sopcinfo
Info: tse_mac: HDL generated
Info: tse_mac: Variation name : tse_mac
Info: tse_mac: Variation language : Verilog HDL
Info: tse_mac: Output directory : C:\study\q9\cycloneIII_3c120_fl_eth
Info: tse_mac: Generating HDL...
Info: tse_mac: Generating MegaCore function top-level...
Info: tse_mac: Adding design files to Quartus II project ...
Info: tse_mac: Updating user's project directory...
Info: tse_mac: Generation successful.
Info: tse_mac: HDL generated
Info: niosciii: Generating QIP file.
Info: Info: *******************************************************************
Info: Info: Running Quartus II Shell
Info: Info: Version 8.1 Build 163 10/28/2008 SJ Full Version
Info: Info: Copyright © 1991-2008 Altera Corporation. All rights reserved.
Info: Info: Your use of Altera Corporation's design tools, logic functions
Info: Info: and other software and tools, and its AMPP partner logic
Info: Info: functions, and any output files from any of the foregoing
Info: Info: (including device programming or simulation files), and any
Info: Info: associated documentation or information are expressly subject
Info: Info: to the terms and conditions of the Altera Program License
Info: Info: Subscription Agreement, Altera MegaCore Function License
Info: Info: Agreement, or other applicable license agreement, including,
Info: Info: without limitation, that your use is for the sole purpose of
Info: Info: programming logic devices manufactured by Altera and sold by
Info: Info: Altera or its authorized distributors. Please refer to the
Info: Info: applicable agreement for further details.
Info: Info: Processing started: Tue Nov 03 18:14:42 2009
Info: Info: Command: quartus_sh -t sopc_add_qip_file.tcl
Info: Info: Evaluation of Tcl script sopc_add_qip_file.tcl was successful
Info: Info: Quartus II Shell was successful. 0 errors, 0 warnings
Info: Info: Peak virtual memory: 47 megabytes
Info: Info: Processing ended: Tue Nov 03 18:14:42 2009
Info: Info: Elapsed time: 00:00:00
Info: Info: Total CPU time (on all processors): 00:00:00
Info: Starting PTF file elaboration.
... здесь слишком много написано что включено в проект
Info: Finished elaborating PTF file.
Executing: C:/altera/81/quartus//sopc_builder/bin/sopc_builder --classic --generate C:/study/q9/cycloneIII_3c120_fl_eth/niosciii.ptf
Info: Starting generation...
...
Altera SOPC Builder Version 8.10 Build 163
Copyright © 1999-2008 Altera Corporation. All rights reserved.
# 2009.11.03 18:16:14 (*) mk_custom_sdk starting
# 2009.11.03 18:16:14 (*) Reading project C:/study/q9/cycloneIII_3c120_fl_eth/niosciii.ptf.
# 2009.11.03 18:16:14 (*) Finding all CPUs
# 2009.11.03 18:16:14 (*) Finding all available components
# 2009.11.03 18:16:14 (*) Reading C:/study/q9/cycloneIII_3c120_fl_eth/.sopc_builder/install.ptf
# 2009.11.03 18:16:14 (*) Found 67 components
# 2009.11.03 18:16:15 (*) Finding all peripherals
# 2009.11.03 18:16:16 (*) Finding software components
# 2009.11.03 18:16:16 (*) (Legacy SDK Generation Skipped)
# 2009.11.03 18:16:16 (*) (All TCL Script Generation Skipped)
# 2009.11.03 18:16:16 (*) (No Libraries Built)
# 2009.11.03 18:16:16 (*) (Contents Generation Skipped)
# 2009.11.03 18:16:16 (*) mk_custom_sdk finishing
# 2009.11.03 18:16:16 (*) Starting generation for system: niosciii.
....................
# 2009.11.03 18:16:18 (*) Running Generator Program for cpu
# 2009.11.03 18:16:23 (*) Checking for plaintext license.
# 2009.11.03 18:16:34 (*) Plaintext license not found.
# 2009.11.03 18:16:34 (*) Checking for encrypted license (non-evaluation).
# 2009.11.03 18:16:37 (*) Encrypted license found. SOF will not be time-limited.
# 2009.11.03 18:16:48 (*) Creating encrypted HDL
# 2009.11.03 18:16:51 (*) Running Generator Program for onchip_mem
# 2009.11.03 18:16:55 (*) Running Generator Program for pioInCntrl1
# 2009.11.03 18:16:57 (*) Running Generator Program for pioInCntrl2
# 2009.11.03 18:17:00 (*) Running Generator Program for pioInData
# 2009.11.03 18:17:02 (*) Running Generator Program for pioOutStatus
# 2009.11.03 18:17:04 (*) Running Generator Program for pioOutData
# 2009.11.03 18:17:06 (*) Running Generator Program for sysid
# 2009.11.03 18:17:07 (*) Running Generator Program for ext_flash
# 2009.11.03 18:17:09 (*) Running Generator Program for descriptor_memory
# 2009.11.03 18:17:11 (*) Running Generator Program for sgdma_tx
# 2009.11.03 18:17:14 (*) Running Generator Program for sgdma_rx
# 2009.11.03 18:17:17 (*) Running Generator Program for sys_clk_timer
# 2009.11.03 18:17:18 (*) Running Generator Program for high_res_timer
# 2009.11.03 18:17:20 (*) Running Generator Program for performance_counter
# 2009.11.03 18:17:22 (*) Running Generator Program for button_pio
# 2009.11.03 18:17:24 (*) Running Generator Program for led_pio
# 2009.11.03 18:17:26 (*) Running Generator Program for jtag_uart
# 2009.11.03 18:17:28 (*) Running Generator Program for tse_mem
# 2009.11.03 18:17:30 (*) Running Generator Program for prog_mem
# 2009.11.03 18:17:34 (*) Making arbitration and system (top) modules.
# 2009.11.03 18:17:50 (*) Generating Quartus symbol for top level: niosciii
# 2009.11.03 18:17:50 (*) Symbol C:/study/q9/cycloneIII_3c120_fl_eth/niosciii.bsf already exists, no need to regenerate
# 2009.11.03 18:17:50 (*) Creating command-line system-generation script: C:/study/q9/cycloneIII_3c120_fl_eth/niosciii_generation_script
# 2009.11.03 18:17:50 (*) Running setup for HDL simulator: modelsim
# 2009.11.03 18:17:50 (*) Setting up Quartus with niosciii_setup_quartus.tcl
c:/altera/81/quartus/bin/quartus_sh -t niosciii_setup_quartus.tcl
Info: *******************************************************************
Info: Running Quartus II Shell
Info: Version 8.1 Build 163 10/28/2008 SJ Full Version
Info: Copyright © 1991-2008 Altera Corporation. All rights reserved.
Info: Your use of Altera Corporation's design tools, logic functions
Info: and other software and tools, and its AMPP partner logic
Info: functions, and any output files from any of the foregoing
Info: (including device programming or simulation files), and any
Info: associated documentation or information are expressly subject
Info: to the terms and conditions of the Altera Program License
Info: Subscription Agreement, Altera MegaCore Function License
Info: Agreement, or other applicable license agreement, including,
Info: without limitation, that your use is for the sole purpose of
Info: programming logic devices manufactured by Altera and sold by
Info: Altera or its authorized distributors. Please refer to the
Info: applicable agreement for further details.
Info: Processing started: Tue Nov 03 18:17:54 2009
Info: Command: quartus_sh -t niosciii_setup_quartus.tcl
Info: Evaluation of Tcl script niosciii_setup_quartus.tcl was successful
Info: Quartus II Shell was successful. 0 errors, 0 warnings
Info: Peak virtual memory: 47 megabytes
Info: Processing ended: Tue Nov 03 18:17:59 2009
Info: Elapsed time: 00:00:05
Info: Total CPU time (on all processors): 00:00:00
# 2009.11.03 18:18:00 (*) Completed generation for system: niosciii.
# 2009.11.03 18:18:00 (*) THE FOLLOWING SYSTEM ITEMS HAVE BEEN GENERATED:
SOPC Builder database : C:/study/q9/cycloneIII_3c120_fl_eth/niosciii.ptf
System HDL Model : C:/study/q9/cycloneIII_3c120_fl_eth/niosciii.v
System Generation Script : C:/study/q9/cycloneIII_3c120_fl_eth/niosciii_generation_script
# 2009.11.03 18:18:00 (*) SUCCESS: SYSTEM GENERATION COMPLETED.


Настройки линкера в nios ide?
Посмотрел в preferences nios ide, но что-то не увидел там похожего на свойтсва линковщика ( пока не знаю, где их искать.

Сообщение отредактировал Omen_13 - Nov 6 2009, 16:51
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 3 2009, 15:30
Сообщение #58


Гуру
******

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



Цитата(dim99 @ Nov 3 2009, 21:23) *
Проект собрался.
Настройки линкера в nios ide?
Посмотрел в preferences nios ide, но что-то не увидел там похожего на свойтсва линковщика ( пока не знаю, где их искать.

нет,имелись в виду логи NIOS-IDE при сборке проекта. свойства линкера в Project/Properties (или ПКМ на проекте). какие настройки у System Library
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 3 2009, 15:50
Сообщение #59


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Так, выкладываю, что есть - свойства system library:

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


логи nios ide:
**** Build of configuration Debug for project simple_socket_server_0 ****

make -s all includes
Compiling alt_error_handler.c...
Compiling iniche_init.c...
Compiling led.c...
../led.c: In function `LED7SegLightshowTask':
../led.c:97: warning: unused variable `led_7_seg_val'
Compiling network_utilities.c...
Compiling simple_socket_server.c...
Linking simple_socket_server_0.elf...
Info: (simple_socket_server_0.elf) 326 KBytes program size (code + initialized data).
Info: 1040 Bytes free for stack + heap.
Post-processing to create onchip_mem.hex
Post-processing to create tse_mem.hex
Post-processing to create prog_mem.hex
Hardware simulation is not enabled for the target SOPC Builder system. Skipping creation of hardware simulation model contents and simulation symbol files. (Note: This does not affect the instruction set simulator.)
Post-processing to create ext_flash.flash
============== Software License Reminder ===============

uC/OS-II is provided in source form for FREE evaluation,
for educational use, or for peaceful research. If you
plan on using uC/OS-II in a commercial product you need
to contact Micrium to properly license its use in your
product. Micrium provides ALL the source code on the
Altera distribution for your convenience and to help you
experience uC/OS-II. The fact that the source is provided
does NOT mean that you can use it without paying a
licensing fee. Please help us continue to provide the
Embedded community with the finest software available.
Your honesty is greatly appreciated.

Please contact:

M I C R I U M
949 Crestview Circle
Weston, FL 33327-1848
U.S.A.

Phone : +1 954 217 2036
FAX : +1 954 217 2037
WEB : www.micrium.com
E-mail: Sales@Micrium.com

========================================================
Build completed in 21.719 seconds
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 3 2009, 16:00
Сообщение #60


Гуру
******

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



Цитата(dim99 @ Nov 3 2009, 21:50) *
Так, выкладываю, что есть - свойства system library:

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


логи nios ide:

Info: (simple_socket_server_0.elf) 326 KBytes program size (code + initialized data).
Info: 1040 Bytes free for stack + heap.

не уверен, но похоже памяти "маловато будет" (ц). ось наверно еще динамически навыделяет и стек переполнится. а ось вообще нужна? какая задача - пакет туда-сюда кинуть или tcp/ip нужен? если второй вариант, то добавьте внешнюю память, без нее никак.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 3 2009, 17:50
Сообщение #61


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 3 2009, 19:00) *
не уверен, но похоже памяти "маловато будет" (ц). ось наверно еще динамически навыделяет и стек переполнится. а ось вообще нужна? какая задача - пакет туда-сюда кинуть или tcp/ip нужен? если второй вариант, то добавьте внешнюю память, без нее никак.


Поставили задачу:
- установка соединения по интерфейсу Ethernet
- прием/передача командных пакетов между PC и платой
- прием/передача информационных пакетов

Мне тоже кажется, что мало памяти, фиттер показал, что используется 80% памяти on-chip, думаю докинуть 10% к stack'y и посмотреть как себя вести будет.
Ось выбрал потому что это единственный проект(вариант), который нашел и смог откомпилировать и запустить.

Если есть возможность использовать без rtos, то расскажите как или где посмотреть?
Если сейчас полезу добавлять ddr, думаю не разгребу до января )

Так есть способ оставить tse и убрать rtos?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 4 2009, 03:17
Сообщение #62


Гуру
******

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



т.е. протокол свой? тогда ось точно ни к чему. вообще для приема/передачи пакета достаточно проинициализировать PHY. для приема пакета с помощью TSE нужно выделить под него буфер, сделать дескриптор для rxdma и настроить прерывание. передача аналогично: записать пакет в массив, сделать дескриптор, который на него указывает и передать tx_dma. такой вариант килобайт в 10 упихать можно. но это не самый удобный способ, т.к. доступ будет на самом низком уровне, по MAC-адресам и потребует прав на создание raw_ethernet_socket`ов, что в нормальных осях может делать только админ. поэтому стоит реализовать огрызок tcp/ip: ARP - для преобразования IP-адресов в MAC, ICMP - ping для диагностики и разборку UDP - заголовков. все это еще килобайт 10 займет. в принципе вики достаточно почитать по этим стандартам. детали - в соответствующих RFC, в сети есть переводы на русский. пригодится и снифер, напимер, wireshark. память все-таки стоит поднять, много памяти - это хорошо smile.gif. проидитесь по форуму, это уже обсуждалось.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 6 2009, 17:13
Сообщение #63


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 4 2009, 06:17) *
поэтому стоит реализовать огрызок tcp/ip


Пока нет возможности написать свой tcp\ip (есть еще учеба), поэтому пытаюсь добить пример SSS.

Нашел новую "фичу" с flash - если установить загрузку nios cpu с ext_flash и взять простой пример hello world, то при debug'e в nios ide ответа от flash не будет.
По крайней мере пробовал несколько раз один и тот же проект.
Если загрузку с on-chip, то есть доступ к flash.

У меня ощущение, что доступ какой-то односторонний к flash - либо из nios ide с загрузкой из on-chip, либо идет загрузка software и обрубается доступ из nios ide к flash.

Теперь при debug'e(загрузка программы из flash) на плате выскакивает такая ошибка:
prep_tse_mac 0
Could not locate flash sector with MAC address.
prepped 1 interface, initializing...
Netinit: calloc failed getting buffer 21
inet startup error: unable to initialize net
panic: IP
dtrap - needs breakpoint
ip_exit: calling func 0x6115784

из network_utilities.c:
Код
error_t get_board_mac_addr(unsigned char mac_addr[6])
{
  error_t error = 0;
  alt_u32 signature;

  /* Get the flash sector with the MAC address. */
  error = FindLastFlashSectorOffset(&last_flash_sector_offset);


Так как программа считывается с ext_flash и (по моей теории) доступа из nios ide к flash нет, то естественно, что считать данные из последнего сектора нельзя.
Вот думаю в рабочей программе, где есть доступ к flash прочитать содержимое flash и затем исправить немного код в network_utilities.c, чтобы подсунуть нужный mac без обращения к flash.
Только вот сомнения есть, что дальше не будет обращений к flash за какими-нибудь параметрами ethernet.
Либо каким-то образом уменьшить код SSS, чтобы влез в on-chip и не ругался на нехватку памяти в стеке там вроде бы обращение к flash проходят нормально.

Еще хочу посмотреть в сторону superloop вроде там обрезали rtos и занимает он меньше.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 7 2009, 08:59
Сообщение #64


Гуру
******

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



можно еще с флагами оптимизации поиграться: выставить для System Library конфигурацию Release, для проекта оставить Debug. а лучше DDR поднять, там работы - на час.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 7 2009, 10:58
Сообщение #65


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 7 2009, 11:59) *
можно еще с флагами оптимизации поиграться: выставить для System Library конфигурацию Release, для проекта оставить Debug. а лучше DDR поднять, там работы - на час.


Наверноe, придется поднять ddr, а то все больше времени уходит на проверку влезет\не влезет проект в on-chip.
Спасибо за совет.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 12 2009, 13:15
Сообщение #66


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



В общем добавил к проекту Sram - все пишет\читает.

хочу загружаться с него, чтобы не трогать flash и была возможность считать с него информацию из-под nios ide.
Единственное, когда установил reset vector и exception vector на Sram проект не запустился, а при попытке отладить получил ошибку верификации проекта - оно и понятно, что в sram проекта никакого не было, а только мусор.
Попробовал запустить проект с on-chip а heap, stack, rd\wr поместить в sram - но опять ничего не завелось, хотя led active sram горит.

Полистал an458 Alternative Nios II Boot Methods, но пока еще не понял как проинициализировать sram.

собственно вопрос:
1. как проинициализировать sram
2. почему может неадекватно работать stack в system library размещенный в sram
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 12 2009, 13:53
Сообщение #67


Гуру
******

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



Цитата
хочу загружаться с него, чтобы не трогать flash и была возможность считать с него информацию из-под nios ide.

загружаться с нее не получится, только код исполнять. лучше всего так:
-reset нацелить на flash
-exception на SRAM
-в настройках System Library - все на SRAM
тогда при подаче питания код будет считываться из flash в SRAM, а потом ему будет передаваться управление. flash будет доступна на запись/чтение. это по пункту 1. по второму - что значит неадекватно?
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 12 2009, 15:14
Сообщение #68


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 12 2009, 16:53) *
загружаться с нее не получится, только код исполнять. лучше всего так:
-reset нацелить на flash
-exception на SRAM
-в настройках System Library - все на SRAM
тогда при подаче питания код будет считываться из flash в SRAM, а потом ему будет передаваться управление. flash будет доступна на запись/чтение. это по пункту 1. по второму - что значит неадекватно?


для проверки работоспособности sram использую рабочий проект(почему-то не доверяю простой записи\чтению в nios ide smile.gif ), который выводит изображение на экран tft-монитора.
Когда загрузка идет с on-chip все в порядке выводится именно то, что необходимо.
при задании sram в свойствах system library - экран становится серым (хотя причины могут быть и другими).

Раз нельзя so sram грузиться значит не судьба.

В общем сделаю, как вы посоветовали с system library и буду ковырять network_utilities.c, чтоб подсунуть ip и mac.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 12 2009, 15:26
Сообщение #69


Гуру
******

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



Цитата(dim99 @ Nov 12 2009, 21:14) *
Когда загрузка идет с on-chip все в порядке выводится именно то, что необходимо.
...
Раз нельзя so sram грузиться значит не судьба.
...

видимо, тут путаница возникла. on-chip и off-chip ничем не отличаются
Цитата
при задании sram в свойствах system library - экран становится серым (хотя причины могут быть и другими).

наверняка другие. вообще это моветон, подсовывать полуработающее железо в большую программу. отладьте железо на простых тестах.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 13 2009, 17:09
Сообщение #70


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 12 2009, 18:26) *
видимо, тут путаница возникла. on-chip и off-chip ничем не отличаются


Что вы имели в виду, чем они не отличаются друг от друга?

Попробовал sram в свойствах system library, а под код оставил on-chip, к сожалению, запустить пример simple socket server не удалось - в консоль вывел 5 символов в какой-то кодировке квадратиками.
Может неправильно подключил sram?
Или 100Mhz для него много, хотя в manual'e 104 предел.

вот такая память: 32 MB (2 M × 16) итого 4Mбайта.
в sopc builder взял компонент IDT71V16 - memory size - 4096 Kb.
использую вместе с flash, поэтому в tristate bridge объединил адреса.

В hello world пишет и читает.
При загрузке проекта с sram в system library светится SRAM LED ACTIVE - то есть max II его видит.
Как его протестировать на правильность работы в sytem library?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 14 2009, 14:01
Сообщение #71


Гуру
******

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



Цитата(dim99 @ Nov 13 2009, 23:09) *
Что вы имели в виду, чем они не отличаются друг от друга?

с точки зрения ниоса - один фиг. ну может у внешнего ОЗУ латентность повыше.
Цитата
Попробовал sram в свойствах system library, а под код оставил on-chip,

это как? настройки system library в студию. на фига теперь он-чип, внешней ведь хватает?

Цитата
В hello world пишет и читает.
При загрузке проекта с sram в system library светится SRAM LED ACTIVE - то есть max II его видит.
Как его протестировать на правильность работы в sytem library?

пишет и читает память?

давайте еще раз: оставить только флеш и внешнее ОЗУ - так работает?(все секции программы запихать в ОЗУ, ресет на флеш)
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 14 2009, 17:01
Сообщение #72


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 14 2009, 17:01) *
это как? настройки system library в студию. на фига теперь он-чип, внешней ведь хватает?


пишет и читает память?

давайте еще раз: оставить только флеш и внешнее ОЗУ - так работает?(все секции программы запихать в ОЗУ, ресет на флеш)


Внешняя память - подключенная sram 4мбайта.

1.Оставил flash и sram.
Reset на flash, exception на sram.
Свойства system library все на sram указывают.
Прошиваю flash кодом сформированным - cfi_flash.flash.
Запускаю run hardware - загорается led active sram, в консоль выводится непонятной кодировки 5 символов - квадратиков и все на том завершается.

2.Потом решил проверить sram.
reset и exception на on-chip.
В свойствах system library только stack указывает на sram, все остальное на on-chip - в итоге при запуске run - те же символы в консоле.

вот поэтому думаю, что что-то с sram не то.


в hello world читает и пишет исправно в sram.

Сообщение отредактировал dim99 - Nov 14 2009, 17:02
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 15 2009, 05:15
Сообщение #73


Гуру
******

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



Цитата(dim99 @ Nov 14 2009, 23:01) *
Reset на flash, exception на sram.
Свойства system library все на sram указывают.
Прошиваю flash кодом сформированным - cfi_flash.flash.
Запускаю run hardware - загорается led active sram, в консоль выводится непонятной кодировки 5 символов - квадратиков и все на том завершается.

придется отладчик запускать пошаговый
Цитата
2.Потом решил проверить sram.
reset и exception на on-chip.
В свойствах system library только stack указывает на sram, все остальное на on-chip - в итоге при запуске run - те же символы в консоле.
вот поэтому думаю, что что-то с sram не то.

вряд ли
Цитата
в hello world читает и пишет исправно в sram.

подтверждает сказанное выше. т.е. порядок байт не меняет, пишет/читает везде? hello world, если разместить в off-chip пашет? значит надо этот сервер ковырять отладчиком
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 15 2009, 08:35
Сообщение #74


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 15 2009, 08:15) *
hello world, если разместить в off-chip пашет?


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

Сообщение отредактировал dim99 - Nov 15 2009, 08:36
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 16 2009, 14:55
Сообщение #75


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



В общем на время решил отказаться от SSS.

Уважаемый vadimuzzz можно чуть попродробнее про
Цитата
вообще для приема/передачи пакета достаточно проинициализировать PHY. для приема пакета с помощью TSE нужно выделить под него буфер, сделать дескриптор для rxdma и настроить прерывание
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 16 2009, 16:17
Сообщение #76


Гуру
******

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



код можно посмотреть в драйвере, что идет в комплекте с ниос-иде. там есть функции передачи пакета, что-то вроде raw_eth_send и обработчик прерываний на прием. прерывания на передачу не особо нужны. я брал код оттуда и выбрасывал все лишнее. все, что нужно есть в описании на контроллер sgdma в 5 томе квартус-хендбука. ну и на PHY почитать описание, какие там регистры, дефолтные установки. для начала - проинициализировать PHY. функция инициализации, что идет с драйвером поддерживает несколько микросхем, если там нет вашей, то сделать по аналогии. по памяти не скажу какие точно файлы надо ковырять, надо поискать папки типа triple_speed_ethernet, завтра на работе уточню.
upd:
нашел сорцы, правда не свежие, нет реализации tse_mac_raw_send. исходники родного драйвера лежат в ip/triple_speed_ethernet/lib
Прикрепленные файлы
Прикрепленный файл  _____.zip ( 2.76 килобайт ) Кол-во скачиваний: 157
 
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 17 2009, 14:59
Сообщение #77


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 16 2009, 19:17) *
проинициализировать PHY. функция инициализации, что идет с драйвером поддерживает несколько микросхем, если там нет вашей, то сделать по аналогии.


Хотел уточнить насчет PHY. использую marvell 88E1111, она идет по дефолту в tse. документации по ней нет у меня.
вот с ее инициализацией парюсь.
если сделать вот так, то по идее она должна проинициализироваться (все выдрал из triple_speed_ethernet.c)?:
Цитата
int PhyDevInit(){
alt_tse_phy_profile MV88E1111 = {"Marvell 88E1111", /* Marvell 88E1111 */
MV88E1111_OUI, /* OUI */
MV88E1111_MODEL, /* Vender Model Number */
MV88E1111_REV, /* Model Revision Number */
0x11, /* Location of Status Register */
14, /* Location of Speed Status */
13, /* Location of Duplex Status */
10, /* Location of Link Status */
&marvell_phy_cfg, /* Function pointer to configure Marvell PHY */
};
alt_tse_phy_add_profile(&MV88E1111);
return 0;//success
}

int marvell_phy_cfg(np_tse_mac *pmac) {

alt_u16 dat;

/* If there is no link yet, we enable auto crossover and reset the PHY */
if((IORD(&pmac->mdio1.STATUS, 0) & PCS_ST_an_done) == 0) {
//tse_dprintf(5, "MARVELL : Enabling auto crossover\n");
IOWR(&pmac->mdio1.CONTROL, 16, 0x0078);
//tse_dprintf(5, "MARVELL : PHY reset\n");
dat = IORD(&pmac->mdio1.CONTROL, 0);
IOWR(&pmac->mdio1.CONTROL, 0, dat | (1<<15));
}

return 0;
}

int alt_tse_phy_add_profile(alt_tse_phy_profile *phy){
alt_32 i;

/* search PHY profile for same ID */
for(i = 0; i < phy_profile_count; i++)
{
if(pphy_profiles[i]->oui == phy->oui && pphy_profiles[i]->model_number == phy->model_number)
{
//tse_dprintf(4, "WARNING : PHY OUI 0x%06x, PHY Model Number 0x%02x already exist in PHY profile\n", (int) phy->oui, phy->model_number);
//tse_dprintf(4, "In case of same PHY OUI and PHY Model Number in profile, first added PHY setting will be used\n");
}
}

/* Allocate memory space to store the profile */
pphy_profiles[phy_profile_count] = (alt_tse_phy_profile *) malloc(sizeof(alt_tse_phy_profile));
if(!pphy_profiles[phy_profile_count]) {
//tse_dprintf(1, "ERROR : Unable to allocate memory for pphy_profile[%d]\n", phy_profile_count);
return -1;
}

/* Store PHY information */
*pphy_profiles[phy_profile_count] = *phy;
strcpy(pphy_profiles[phy_profile_count]->name, phy->name);

phy_profile_count++;

return phy_profile_count - 1;
}
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 18 2009, 12:46
Сообщение #78


Гуру
******

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



а, марвел. гадкая конторка, даташиты под NDA... скорее всего должны пройти дефолтные настройки, фактически там надо только пару контрольных регистров зашить. включить там автоопределение всего (линк, скорость, полярность) и сбросить трансивер. вроде это и делается. потом нужно воткнуть кабель и почитать статусные регистры. ну еще имеет смысл начать с регистра, где лежит кодовый номер микросхемы (ее тип, ревизия). основные регистры (их всего штук 6) у всех PHY одинаковые, это стандарт. посмотрите в даташите на какой-нибудь аналог, м.б. микреловский, они даташиты дают. вот с vendor specific регистрами - беда, но основные фичи должны быть доступны и без них. вот уж не знаю на кой икс альтера ставит такие микросхемы. да, всякие там структуры, тоже не нужны, я константы тупо забил.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 18 2009, 13:10
Сообщение #79


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 18 2009, 15:46) *
а, марвел. гадкая конторка, даташиты под NDA... скорее всего должны пройти дефолтные настройки, фактически там надо только пару контрольных регистров зашить. включить там автоопределение всего (линк, скорость, полярность) и сбросить трансивер. вроде это и делается. потом нужно воткнуть кабель и почитать статусные регистры. ну еще имеет смысл начать с регистра, где лежит кодовый номер микросхемы (ее тип, ревизия). основные регистры (их всего штук 6) у всех PHY одинаковые, это стандарт. посмотрите в даташите на какой-нибудь аналог, м.б. микреловский, они даташиты дают. вот с vendor specific регистрами - беда, но основные фичи должны быть доступны и без них. вот уж не знаю на кой икс альтера ставит такие микросхемы. да, всякие там структуры, тоже не нужны, я константы тупо забил.


То есть для инициализации нужно воспользоваться MDIO?
Если так, то manual по cIII дает распиновку только на
ENET_MDC
ENET_MDIO
и ENET_MDIO как вход для nios'a. как тогда что-либо записать в PHY или он типа bidir?

Из sources получается доступ можно организовать таким образом:

IORD_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,PHY,0x01)
где PHY - это адрес MDIO или как пишет manual cIII (The MDIO address of the PHY device is configured to the value 18 (0x12))?

а регистры расписаны вроде в ug_ethernet:
Control
Status
PHY_ID1
PHY ID2
Adv
RemAdv

А вообще внешне как-нибудь проявляется инициализация PHY, может led загорится или необязательно?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 18 2009, 15:36
Сообщение #80


Гуру
******

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



ENET_MDIO - двунаправленная, там только к ниосу буфер прикрутить надо внешний(у самого ниоса будут mdio_input,mdio_output и mdio_oen), в мануале есть картинка. PHY в IORD_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,PHY,0x01) это адрес трансивера, их м.б. несколько на шине. можно тупо в цикле прогнать от 0 до 31 и читать регистр PHY_ID1. если не 0 - значит адрес тот. те регистры, что вы написали - это и есть стандартные, про которые я выше говорил, они есть у любого PHY. кроме них еще есть фирменные "фичи", но в случае марвела это, видимо, страшная тайна smile.gif
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 18 2009, 16:52
Сообщение #81


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 18 2009, 18:36) *
ENET_MDIO - двунаправленная, там только к ниосу буфер прикрутить надо внешний(у самого ниоса будут mdio_input,mdio_output и mdio_oen), в мануале есть картинка. PHY в IORD_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,PHY,0x01) это адрес трансивера, их м.б. несколько на шине. можно тупо в цикле прогнать от 0 до 31 и читать регистр PHY_ID1. если не 0 - значит адрес тот. те регистры, что вы написали - это и есть стандартные, про которые я выше говорил, они есть у любого PHY. кроме них еще есть фирменные "фичи", но в случае марвела это, видимо, страшная тайна smile.gif


Извините меня за наскальные рисунки, но так я быстрей разберусь.
Что за элементы в виде треугольников - это alt_buf(его можно использовать?) и правильная ли задумка внешнего буффера или это отдельный элемент, не совсем пойму?
Прикрепленное изображение


и еще вопрос. что такое timing constraints и нужны ли они в проекте, а то начитаюсь про них на alteraforum.com вот и думаю...

Сообщение отредактировал dim99 - Nov 18 2009, 17:32
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 18 2009, 23:55
Сообщение #82


Гуру
******

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



Цитата(dim99 @ Nov 18 2009, 22:52) *
Извините меня за наскальные рисунки, но так я быстрей разберусь.
Что за элементы в виде треугольников - это alt_buf(его можно использовать?) и правильная ли задумка внешнего буффера или это отдельный элемент, не совсем пойму?

tri-state буфер. megafunctions/gates/bus_tri
Цитата
и еще вопрос. что такое timing constraints и нужны ли они в проекте, а то начитаюсь про них на alteraforum.com вот и думаю...

временные ограничения, в которые фиттер должен вписать проект. как минимум надо задать ограничения по частоте для всех клоков.
частоты для 3-го циклона здесь невелики, но если кристалл почти заполнен, возникнут проблемы.
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Nov 21 2009, 19:34
Сообщение #83


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 1-01-06
Из: Волгоград
Пользователь №: 12 763



Доброго дня!

Есть измерительные платы с ПЛИС, работающие в термостате в диапазоне от +50 до +100 градусов цельсия.
Пока все сделано на "рассыпухе" - измеритель на ПЛИС, МК extended диапазона, CAN интерфейс наружу, внешняя коробочка с Ethernet к компу.

Есть желание все эти функции запихнуть внутрь ПЛИС, запустив там NIOS и добавив Ethernet PHY.

Поискав немного компоненты extended диапазона понял что это непросто...
Имеющие опыт реализации подобного, поскажите пожалуйста SRAM (или другой RAM для NIOS) и Ethernet PHY extended диапазона температур.. (трансформаторы эзернета вроде при 100 живут нормально)..

требования к скорости обмена отсутствуют.
Ethernet хочется из-за развязки, длины и удобства адресации (IP).
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 22 2009, 07:59
Сообщение #84


Гуру
******

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



Цитата(Reanimator++ @ Nov 22 2009, 01:34) *
Поискав немного компоненты extended диапазона понял что это непросто...

непросто, но не невозможно smile.gif

ethernet PHY: http://www.national.com/pf/DP/DP83848VYB.html#Overview

SRAM: http://www.issi.com/products-extended-temperature-sdram.htm

FPGA: http://www.altera.com/products/devices/cyc...-mkts-auto.html
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 22 2009, 16:35
Сообщение #85


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Появились первые интересные результаты работы с ethernet.

В общем после hard reset PHY начинает в режиме auto-negotiation обмениваться пакетами с PC.
точнее сказать, PHY принимает пакеты от PC.

Для обеспечения работы с PHY в свойствах PC lan adapter выставил full duplex и 100 mbit.
После автоопределения PHY начинает моргать показывая. что работает именно в этом режиме - 100 duplex, как раз то, что поддерживает на данный проект мой fpga проект.

инициализацию PHY проводить не могу, потому xj не знаю по каким регистрам чего находится, вот хочу сегодня посмотреть lgngibn на какую-нибудь Gigabbit микросхему.
смотрел lan91c1111 - но она 100 mbit и номера битов в контрольном регистре для выставления скорости явно отличаются от marvell PHY.

В общем подправил код для отправки с tse_mac driver и пытаюсь отправить пакет через tse_mac_raw_send.
смотрю в wireshark - приходят пакеты с правильным количеством байтов, но заполненные нулями и определенными как FC (failed)

естественно, что надо бы еще
1. определить регистры PHY (пока не знаю какие) - доступ через MDIO настроен.
2. Проверить TSE_MAC надо, вдруг где недосмотрел
3. mem_to_stream от sgdma_tx вроде правильно формирует дескриптор, адрес для данных правильно выставлен.

Какие могут варианты неправильно формирования или подключения чего, что так пакеты передаются?
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Nov 22 2009, 19:48
Сообщение #86


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 1-01-06
Из: Волгоград
Пользователь №: 12 763



Цитата(vadimuzzz @ Nov 22 2009, 10:59) *
непросто, но не невозможно smile.gif


Спасибо, эти компоненты я тоже находил, есть проблемы в цене и доставабельности у National.
я создал отдельную тему по своему вопросу - http://electronix.ru/forum/index.php?showtopic=69863
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 22 2009, 23:56
Сообщение #87


Гуру
******

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



Цитата(dim99 @ Nov 22 2009, 22:35) *
В общем подправил код для отправки с tse_mac driver и пытаюсь отправить пакет через tse_mac_raw_send.
смотрю в wireshark - приходят пакеты с правильным количеством байтов, но заполненные нулями и определенными как FC (failed)

естественно, что надо бы еще
1. определить регистры PHY (пока не знаю какие) - доступ через MDIO настроен.
2. Проверить TSE_MAC надо, вдруг где недосмотрел
3. mem_to_stream от sgdma_tx вроде правильно формирует дескриптор, адрес для данных правильно выставлен.

Какие могут варианты неправильно формирования или подключения чего, что так пакеты передаются?

начать лучше с према пакета, увидите какую структуру имеет правильный пакет. а так навсуидку 2 варианта. PHY может считать/не считать CRC; может добивать/не добивать пакет нулями до нужной длины. выкладывайте дамп, посмотрим. да, wireshark тип ошибки указывает.

Цитата(Reanimator++ @ Nov 23 2009, 01:48) *
Спасибо, эти компоненты я тоже находил, есть проблемы в цене и доставабельности у National.
я создал отдельную тему по своему вопросу - http://electronix.ru/forum/index.php?showtopic=69863

еще
http://www.micrel.com/applications/auto/Et..._Automotive.pdf

http://www.smsc-ais.com/AIS/content/view/843/810

hint: ищите по automotive ethernet
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 23 2009, 10:51
Сообщение #88


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Где бы найти описание регистров Marvell 88e1111, посмотрел другие гигабитные микросхемы - совсем другие адреса регистров по сравнению с тем lan91c111 и intel 82575.

или какую другую микросхему посмотреть, у которой будет схожее расположение адресов регистров для контрольного и статусного особенно.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 23 2009, 13:04
Сообщение #89


Гуру
******

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



гляньте в аттаче. судя по коду, регистры такие же как у 88e1000
Прикрепленные файлы
Прикрепленный файл  e1000_defines.h.zip ( 8.43 килобайт ) Кол-во скачиваний: 125
 
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 23 2009, 15:24
Сообщение #90


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Все равно пока не пойму толком.
Доступ у меня только из-под MDIO осуществляется и через них надо настроить PHY.
Нашел PHYWORX 10/100/1000 Ethernet PHY Daughter Board Reference Guide и если ему верить, то
Цитата
MDIO Registers
The PHY provides 32 internal management registers that can be accessed using the Management
Interface (MDIO). The Management Device Address of the PHY is configured to the value 18
(0x12).

Table 5: MDIO Registers Description
Register Name Description (Bits) Type
Reset
Value
0 Control
15: 1=PHY Reset, 0=normal operation. (SC)
14: Loopback. 1=enable loopback, 0=normal operation
13: Speed Selection (together with Bit 6):
6:13 = "11": reserved
= "10": 1000
= "01": 100
= "00": 10
12: Enable Auto-Negotiation (only enables the control state
machine, does not trigger the auto negotiation). If
disabled (0), bits 6,8,13 define the operation.
11: Power down (1) or normal operation (0)
10: Isolate PHY from GMII/MII (if 1)
9: Restart Autonegotiation. If set (1) will restart the
autonegotiation process.
8: set full duplex mode (1) or half-duplex (0)
7: Enable collision test signal (1)
6: Speed Selection (see Bit 13 above).
5:0 reserved. Write 0, ignore on read


т.е. обратившись к 0 регистру через IORD_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,0/*mdio_addr0*/,0x0); я могу достучаться до контрольного регистра и настроить вышеприведенные параметры.
Это успешно работает, потому что считал PHY_id =0x0141 как и про reference guide выше совпадает.

Смотрю в E1000_defines.h:
Цитата
/* PHY 1000 MII Register/Bit Definitions */
/* PHY Registers defined by IEEE */
#define PHY_CONTROL 0x00 /* Control Register */
#define PHY_STATUS 0x01 /* Status Register */
#define PHY_ID1 0x02 /* Phy Id Reg (word 1) */
#define PHY_ID2 0x03 /* Phy Id Reg (word 2) */
#define PHY_AUTONEG_ADV 0x04 /* Autoneg Advertisement */
#define PHY_LP_ABILITY 0x05 /* Link Partner Ability (Base Page) */
#define PHY_1000T_CTRL 0x09 /* 1000Base-T Control Reg */
#define PHY_1000T_STATUS 0x0A /* 1000Base-T Status Reg */


Все то же самое.
Цитата
включить там автоопределение всего (линк, скорость, полярность) и сбросить трансивер

а где взять полярность или ее настройка не критична?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 23 2009, 15:53
Сообщение #91


Гуру
******

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



Цитата(dim99 @ Nov 23 2009, 21:24) *
а где взять полярность или ее настройка не критична?

в том файле, что выше, есть и про полярность, как раз marvel-specific. но если Auto Negotiate проходит, то все автоматом выставляется (как линк/дуплекс). полярность нужна, если какой-нибудь олух кабель неправильно обожмет.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 24 2009, 12:36
Сообщение #92


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Сегодня попробовал забить ему жестко без всякого auto-neg параметры для 100 mbit.
Сначала делаю hard reset для PHY - 10 ms(с альтерафорум там висит скрин из даташита на микросхему).
загораются led и он начинает принимать пакеты от сети в режиме auto-neg, потом забиваю параметры для 100 mbit выключаю auto-neg и он тухнет.
не знаю. может ему soft reset после этой операции нужен.

в общем остался на auto-neg на 100 mbit full duplex.

wireshark принимает вот такой пакет:
Цитата
8 Frame 69 (126 bytes on wire, 126 bytes captured) Arrival Time: Nov 24, 2009 13:50:20.538005000
[Time delta from previous captured frame: 0.000003000 seconds]
[Time delta from previous displayed frame: 0.000003000 seconds]
[Time since reference or first frame: 1638.742094000 seconds]
Frame Number: 69 Frame Length: 126 bytes capture Length: 126 bytes
[Frame is marked: False]
[Protocols in frame: eth:mdshdr:fc] 0
Ethernet II, src: 00:07:ab:f0:Od:ba (00:07:ab:f0:Od:ba),
Dst: 00:00:00_00:00:00 (00:00:00:00:00:00) S
Destination: 00:00:00_00:00:00 (00:00:00:00:00:00)
Address: 00:00:00_00:00:00 (00:00:00:00:00:00)
0 = IG bit: individual address (unicast)
0 = LG bit: Globally unique address (factory default)
Ј[source: 00:07:ab:f0:Od:ba (00:07:ab:f0:Od:ba)
Address: 00:07:ab:f0:Od:ba (00:07:ab:f0:Od:ba)
0 = IG bit: individual address (unicast)
0 = LG bit: Globally unique address (factory default)
Type: unknown (0x0000)
Trai1er: 000000000000000000000000000000000000000000000000...
Frame check sequence: 0x00000000 [incorrect, should be 0xd762142d] В
mds Header(unknown(0)/unknown(0)) В
mds Header
...0 0000 0000 0000 = Packet Len: 0
0000 0000 00.. = Dst index: 0x0000
00 0000 0000 = src index: 0x0000
0000 0000 0000 = VSAN: 0
В mds Trailer
eof: unknown (0) CRC: 0x00000000

количество байтов принимается правильное и даже сегодня получил mac адрес, но сам пакет отнюдь не нулевой должен быть.
подозрение, что неправильно формируется дескриптор для sgdma из-за чего и не может нормально пакет передать.

где бы посмотреть как правильно настроить sgdma и создать дескриптор для передачи данных?

Сообщение отредактировал dim99 - Nov 24 2009, 12:52
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 24 2009, 16:23
Сообщение #93


Гуру
******

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



смотреть в драйвере, м.б. тут фокусы с кэшем. смущает еще нулевая CRC, по идее PHY должен ее сам считать при правильных настройках. ну и ман по sgdma почитать. 5-й том квартус-хендбука. а инициализация точно нормально прошла? обнародуйте статусные регистры. а то я помню 2 недели вдоль и поперек TSE изучал, даже на опенкорес ушел, а дело было в хреновом кабеле.
Go to the top of the page
 
+Quote Post
maior
сообщение Nov 24 2009, 19:28
Сообщение #94


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

Группа: Свой
Сообщений: 177
Регистрация: 21-10-04
Пользователь №: 948



Я убил много времени пытаясь запустить этот марвел-аляску (88E1111), встроенный в упомянутый ЕДК 120К - и бросил это бесполезное занятие. Поставил DP83848 Ethernet адаптер (от MoreThanIP) через HSMC-СантаКруз переходник - и сразу все заработало как надо, включая Simple Socket Server (Iniche+MicroC/OS, etc). Интересно, есть такие гении, которым удалось таки разморозить эту аляску?
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 24 2009, 19:40
Сообщение #95


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Цитата(vadimuzzz @ Nov 24 2009, 19:23) *
смотреть в драйвере, м.б. тут фокусы с кэшем. смущает еще нулевая CRC, по идее PHY должен ее сам считать при правильных настройках. ну и ман по sgdma почитать. 5-й том квартус-хендбука. а инициализация точно нормально прошла? обнародуйте статусные регистры. а то я помню 2 недели вдоль и поперек TSE изучал, даже на опенкорес ушел, а дело было в хреновом кабеле.


Есть ли смысл подключить signaltap и посмотреть передаются ли данные к PHY?
инициализацию и прочее постараюсь завтра выложить.

Цитата(maior @ Nov 24 2009, 22:28) *
Я убил много времени пытаясь запустить этот марвел-аляску (88E1111), встроенный в упомянутый ЕДК 120К - и бросил это бесполезное занятие. Поставил DP83848 Ethernet адаптер (от MoreThanIP) через HSMC-СантаКруз переходник - и сразу все заработало как надо, включая Simple Socket Server (Iniche+MicroC/OS, etc). Интересно, есть такие гении, которым удалось таки разморозить эту аляску?


Без паники ) я уже плююсь пакетами, осталось разобраться почему нулевыми.
Go to the top of the page
 
+Quote Post
maior
сообщение Nov 24 2009, 19:47
Сообщение #96


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

Группа: Свой
Сообщений: 177
Регистрация: 21-10-04
Пользователь №: 948



Цитата(dim99 @ Nov 24 2009, 22:40) *
Без паники ) я уже плююсь пакетами, осталось разобраться почему нулевыми.


Да у меня он тоже дышал - но на ладан. Simple Socket Server так и не заработал.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 24 2009, 23:42
Сообщение #97


Гуру
******

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



Цитата(dim99 @ Nov 25 2009, 01:40) *
Есть ли смысл подключить signaltap и посмотреть передаются ли данные к PHY?

конечно, правда имена у сигналов там того, ну хотя бы на участке sgdma - mac поглядеть.
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 25 2009, 13:37
Сообщение #98


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Что-то с разбега не получилось за signal tap засесть, завтра попробую это сделать.

Предложение по поводу принять пакет - хорошее. только вот как и чем из-под винды его отправить?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Nov 25 2009, 15:53
Сообщение #99


Гуру
******

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



Цитата(dim99 @ Nov 25 2009, 19:37) *
Что-то с разбега не получилось за signal tap засесть, завтра попробую это сделать.

Предложение по поводу принять пакет - хорошее. только вот как и чем из-под винды его отправить?

попинговать какой-нибудь левый адрес, которого в сети нет. пойдут ARP-пакеты с MAC-ом сетевухи в Src и broadcast(FF:FF:FF:FF:FF:FF) в Dst полях. см. http://ru.wikipedia.org/wiki/ARP
Go to the top of the page
 
+Quote Post
dim99
сообщение Nov 25 2009, 18:30
Сообщение #100


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



ну не может же быть, что ему не нравится память, отведенная для хранения принятых данных on-chip вместо ddr как в примере.
вот думаю выложить sopc, вдруг что-то напутал:
Прикрепленное изображение


Кстати, после отправки пакета проверяю некоторые регистры о том, как отправился пакет:
frame_transmited = IORD_16DIRECT(TSE_MAC_BASE,0x068);//frame trans 2
frame_transmited = IORD_16DIRECT(TSE_MAC_BASE,0x0F0);//octets trans 0
frame_transmited = IORD_16DIRECT(TSE_MAC_BASE,0x08C);//ifOutErrors 0
frame_transmited = IORD_16DIRECT(TSE_MAC_BASE,0x088);//ifInErrors 0

количество переданных пакетов - 2 все правильно - при формировании descriptor выставляю свойство start пакета.
расстраивает, что количество переданных октетов - 0

вот и получается, что передано 2 пакета удачно, но без полезной нагрузки и без ошибок. как так может быть.

Сообщение отредактировал dim99 - Nov 25 2009, 18:51
Go to the top of the page
 
+Quote Post

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

 


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


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