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

 
 
26 страниц V  « < 11 12 13 14 15 > »   
Reply to this topicStart new topic
> Ethernet + Cyclone + Nios
DASM
сообщение Apr 20 2010, 08:57
Сообщение #181


Гуру
******

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



"по 2) максимально быстро сумма считается компонентом с DMA (не sgdma, а именно компонент с Avalon-MM мастером). по идее, туда же можно прикрутить логику для работы с заголовками" - а нету ли примерчика как КС считать одновременно с передачей по DMA ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 20 2010, 09:38
Сообщение #182


Гуру
******

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



Цитата(wpost @ Apr 20 2010, 15:32) *
Вылетаем на приеме с rc = -22

похоже на то, что данные не выровнены. попробуйте так:
Код
    void* tx_data = (void*) ...; /* pointer to data to send */
    void* rx_buffer = (void*) ...; /* pointer to rx buffer */


Цитата(DASM @ Apr 20 2010, 16:12) *
а нету ли примерчика как КС считать одновременно с передачей по DMA ?

на альтере есть пример nios crc acceleration. не вижу проблем приделать к нему передачу по DMA
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 29 2010, 07:09
Сообщение #183


Гуру
******

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



наконец-то дошли руки до альтеровского TSE. накидал проект NIOS+Ethernet и к нему драйвер. код, который приводили в этой ветке читать было лень, написал с нуля + кастрировал по возможности. что нужно, чтобы собрать и запустить: проверить в system.h имена/адреса компонентов, убрать Init_SDR (это для железа на моей плате), закомментировать alt_printf`ы (если нет jtag_uart). в network.c есть огрызок ARP+ICMP, так что проц может отвечать на пинги. пропажи/размножения пакетов не замечено.
int MAC_init() - инициализация
int tse_sgdmaRx_isr(void * context, alt_u32 irqnum) - обработчик прерывания на прием
int tse_mac_raw_send(char * data, unsigned data_bytes) - отсылка пакета (синхронная транзакция)
Прикрепленные файлы
Прикрепленный файл  nios_eth.rar ( 9.17 килобайт ) Кол-во скачиваний: 515
 
Go to the top of the page
 
+Quote Post
wpost
сообщение Apr 29 2010, 15:56
Сообщение #184


Участник
*

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



vadimuzzz огромное спасибо! посмотрим внимательно!

Есть вопрос не совсем по TSE... с подобной проблемой ранее сталкивался dim99 - по шагам программа работает как надо, в "бегущем" режиме в памяти нули... но в моем случае проблемы уже с DMA... кеширование не использую, так что alt_dcache_flush не помогает... интересна природа явления...
ставлю контрольную точку за циклом передачи DMA после снятия сигнала bysy. и смотрю память - часть данных есть и где нужно, а часть данных нули (неизмененная)... через несколько шагов в низ по программе в памяти появляются пропавшие данные, но уже поздно... по шагам прохожу все данные оказываются на своих местах как нужно... в чем может быть фишка?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 29 2010, 16:42
Сообщение #185


Гуру
******

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



Цитата(wpost @ Apr 29 2010, 22:56) *
в чем может быть фишка?

трудно сказать, слишком неопределенно. если дело не в кэшах, то м.б. флаги оптимизации компилятора (наблюдал "интересные" вещи, если -Os включен). ну, а если проблема именно с DMA, то выбросить все лишнее и код смотреть. какой режим, память-память или с периферией?
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Jan 15 2011, 00:25
Сообщение #186


Местный
***

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



Теперь и у меня встал вопрос Ethernet-a.

Есть своя отладочная плата с циклоном 2 и SDRAM, к ней можно прицепить все что угодно. Есть Nios2.
Нужен TCP порядка 16-32 сессий одновременно, поток данных небольшой (1 Мбит максимум).

Собственно, какой наикратчайший путь получения результата?
Т.е. какую выбрать микросхему, какую корку к ниосу прицепить и какую ось ставить чтобы у нее были драйвера к этой корке?
Есть ли накатанное решение или все с нуля пишут?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 15 2011, 01:59
Сообщение #187


Гуру
******

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



Цитата(Reanimator++ @ Jan 15 2011, 09:25) *
Т.е. какую выбрать микросхему, какую корку к ниосу прицепить и какую ось ставить чтобы у нее были драйвера к этой корке?
Есть ли накатанное решение или все с нуля пишут?

если ориентироваться NicheStack TCP/IP, то список поддерживаемых PHY можно посмотреть в драйверах. добавить свою микросхему - пару десятков строчек, если это простенькие чипы, а не монстры а-ля марвел.

если же хочется ось, то посмотрите тут:
http://www.alterawiki.com/wiki/UCOSII
http://www.alterawiki.com/wiki/ECos
http://www.alterawiki.com/wiki/FreeRTOS
http://www.alterawiki.com/wiki/UClinux
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Jan 15 2011, 09:51
Сообщение #188


Местный
***

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



Почитал доки от альтеры, да все у них уже есть. Triple Speed Ethernet корка для работы с PHY (считай любым ибо стандартный интерфейс), для нее драйвера в BSP и NicheStack, завязанный на UCOS. Базовое решение есть, будем изучать.
Закажу DP83848C как первую микросхему из доки по TSE.
Очередной раз спасибо, ув. vadimuzz sm.gif
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Jan 16 2011, 18:00
Сообщение #189


Местный
***

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



Увы, TSE в мой дизайн уже не влезает (
С точки зрения стоимости выгоднее помещать MAC в плис (lan91c111 стоит почти тыщу, в то время как любой другой PHY порядка двух сотен).
С точки зрения простоты прицепляния по идее лучше внешний MAC. Есть ли альтернативы lan91c111 по цене? И если у PHY интерфейс стандартизирован, то как обстоит дело с внешним MAC?
У меня есть старый Ethernet модуль на основе Wiznet W5100 (там есть и PHY и MAC и TCP и даже PPPoE), можно ли к нему прицепить NicheStack? (просто надо больше чем 4 сокета визнетовских)

Или не морочать себе голову и развести плату с DP83848C и плисиной пожирнее?
Go to the top of the page
 
+Quote Post
avacs
сообщение Jan 17 2011, 18:54
Сообщение #190





Группа: Участник
Сообщений: 13
Регистрация: 10-12-10
Из: RND
Пользователь №: 61 523



Цитата(vadimuzzz @ Apr 29 2010, 10:09) *
наконец-то дошли руки до альтеровского TSE. накидал проект NIOS+Ethernet и к нему драйвер. код, который приводили в этой ветке читать было лень, написал с нуля + кастрировал по возможности. что нужно, чтобы собрать и запустить: проверить в system.h имена/адреса компонентов, убрать Init_SDR (это для железа на моей плате), закомментировать alt_printf`ы (если нет jtag_uart). в network.c есть огрызок ARP+ICMP, так что проц может отвечать на пинги. пропажи/размножения пакетов не замечено.
int MAC_init() - инициализация
int tse_sgdmaRx_isr(void * context, alt_u32 irqnum) - обработчик прерывания на прием
int tse_mac_raw_send(char * data, unsigned data_bytes) - отсылка пакета (синхронная транзакция)


Респект vadimuzzz за выложенный проект (я так понял это что то наподобие SDR приемника с Eth), очень помог в освении TSE.
Теперь вопрос ближе, ни кто не реализовывал Telnet server, без использования OS, на базе данного проекта. Я попытался... но чет не очень разобрался в протоколе Telnet... laughing.gif Для анализа TCP\IP использую Wireshark, но наложение протокола Telnet на IP-TCP не понял. может кто подскажет где искать или кто делал или делает? Собственно нужен упрощенный телнет, с авторизацией и настройкой 5-10 параметров. Спасибо всем кто откликнется.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 18 2011, 00:01
Сообщение #191


Гуру
******

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



Цитата(Reanimator++ @ Jan 17 2011, 00:00) *
Увы, TSE в мой дизайн уже не влезает

TSE - это слишком неоднозначно, какую версию его вы пробовали? еще есть опенкоровский MAC. Сколько ресурсов доступно?
Цитата
С точки зрения простоты прицепляния по идее лучше внешний MAC. Есть ли альтернативы lan91c111 по цене? И если у PHY интерфейс стандартизирован, то как обстоит дело с внешним MAC?
У меня есть старый Ethernet модуль на основе Wiznet W5100 (там есть и PHY и MAC и TCP и даже PPPoE), можно ли к нему прицепить NicheStack? (просто надо больше чем 4 сокета визнетовских)

я в свое время отказался от внешнего MAC именно из-за цены, ничего не нашел. даже сложилось мнение (личное), что внешние MAC`и в принципе непопулярны, потому и дороги. т.к. практически в любом семействе современных контроллеров/процессоров есть модификации с MAC на борту. ну и насчет простоты прицепляния поспорю - RMII - 6 проводов.

тут смотрели?
http://www.smsc.com/index.php?tid=145
http://www.smsc.com/index.php?tid=149

Цитата(avacs @ Jan 18 2011, 00:54) *
Теперь вопрос ближе, ни кто не реализовывал Telnet server, без использования OS, на базе данного проекта.

я видел, но не на базе этого проекта. поищите на alterawiki.com по superloop-что-то-там-сервер. смысл такой: в NicheStack есть возможность работать без оси (тот самый superloop). соответственно, для проекта будет достаточно собрать его с 2-мя либами: NicheStack и LibTSE. подозреваю, что это будет жрать довольно много памяти, как раз от этого я уходил, поэтому в том моем проекте код такой куцый.
Go to the top of the page
 
+Quote Post
avacs
сообщение Jan 18 2011, 06:49
Сообщение #192





Группа: Участник
Сообщений: 13
Регистрация: 10-12-10
Из: RND
Пользователь №: 61 523



А реализовать сервер Telnet, как у вас реализован был запрос ЭХО и АРП без использования NicheStack не пробовали (или может кто другой пробовал или сталкивался с подобной проблемой)? А то в принципе минималистически получилось бы... можно было бы написать свой клиент к своему своеобразному серверу... но хотелось бы сделать что-то ближе к стандартным вещам (типа стандартных протоколов)...
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Jan 18 2011, 22:56
Сообщение #193


Местный
***

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



TSE - это слишком неоднозначно, какую версию его вы пробовали?
Я пока остановился на чтении документации ) там вроде как даже самый минимальный вариант больше 1500 LE требует.
Сколько ресурсов доступно?
Код
; Device                            ; EP2C8Q208C8                                  ;
; Total logic elements              ; 6,484 / 8,256 ( 79 % )                       ;
;     Total combinational functions ; 5,844 / 8,256 ( 71 % )                       ;
;     Dedicated logic registers     ; 4,199 / 8,256 ( 51 % )                       ;
; Total registers                   ; 4267                                         ;
; Total pins                        ; 127 / 138 ( 92 % )                           ;
; Total memory bits                 ; 50,944 / 165,888 ( 31 % )                    ;
; Embedded Multiplier 9-bit elements; 4 / 36 ( 11 % )                              ;
; Total PLLs                        ; 1 / 2 ( 50 % )                               ;

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

отказался от внешнего MAC именно из-за цены
Ну кстати те же W5100 и DP83848 стоят одинаково (~200р), хотя в первом все хардварное, даже ТСР, а второй только PHY.
Выглядит нелогично. Хотя мне важнее софтовая поддержка и время разработки ибо устройства практически единичные.
Мысль насчет контроллеров понял, PHY из них выносят насколько понимаю из-за потребления.

Собственно как всегда на рынке есть десятки решений, и информация о них может быть представлена одинаково красиво, но одно из них мейнстрим, а другие тупик - потому и спрашиваю что лучше осваивать )

будет жрать довольно много памяти, как раз от этого я уходил, поэтому в том моем проекте код такой куцый
Для onchip_mem делали? А какая плис?

avacs
А реализовать сервер Telnet без использования NicheStack
Ну вам же все-равно TCP нужен, так что без стека (хотя бы зарезанного) не получится.
Я когда использовал микрочиповский стек без оси то все по большому счету сводилось к периодическому вызову StackTask(), причем время между вызовами практически любое (ну, естественно, ограничивается объемами ходящей информации).
Полагаю что здесь что-то похожее.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 18 2011, 23:49
Сообщение #194


Гуру
******

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



Цитата(Reanimator++ @ Jan 19 2011, 04:56) *
Ну впрочем заниматься уталкиванием до предела не хочется для первой пробы - я для этого проекта могу и обойтись интерфейсом попроще, просто хотелось уже на нем попробовать Ethernet.

есть еще вариант - свой MAC написать, огрызок. как-нибудь займусь.
Цитата
Ну кстати те же W5100 и DP83848 стоят одинаково (~200р), хотя в первом все хардварное, даже ТСР, а второй только PHY.

а w5100 может пакеты напрямую, минуя стек выдавать?
Цитата
Для onchip_mem делали? А какая плис?

да, тогда была только внутренняя память, 3c25. в новом варианте уже есть sdram
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Jan 19 2011, 07:21
Сообщение #195


Местный
***

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



свой MAC написать
Для меня пока проблемно счетчики с регистрами соединять в верилоге )

а w5100 может пакеты напрямую, минуя стек выдавать?
Да, может. MAC RAW mode.
Go to the top of the page
 
+Quote Post

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

 


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


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