|
|
  |
Ethernet + Cyclone + Nios |
|
|
|
Apr 20 2010, 09:38
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Jan 15 2011, 09:51
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 1-01-06
Из: Волгоград
Пользователь №: 12 763

|
Почитал доки от альтеры, да все у них уже есть. Triple Speed Ethernet корка для работы с PHY (считай любым ибо стандартный интерфейс), для нее драйвера в BSP и NicheStack, завязанный на UCOS. Базовое решение есть, будем изучать. Закажу DP83848C как первую микросхему из доки по TSE. Очередной раз спасибо, ув. vadimuzz
|
|
|
|
|
Jan 17 2011, 18:54
|
Группа: Участник
Сообщений: 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...  Для анализа TCP\IP использую Wireshark, но наложение протокола Telnet на IP-TCP не понял. может кто подскажет где искать или кто делал или делает? Собственно нужен упрощенный телнет, с авторизацией и настройкой 5-10 параметров. Спасибо всем кто откликнется.
|
|
|
|
|
Jan 18 2011, 00:01
|

Гуру
     
Группа: Свой
Сообщений: 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=145http://www.smsc.com/index.php?tid=149Цитата(avacs @ Jan 18 2011, 00:54)  Теперь вопрос ближе, ни кто не реализовывал Telnet server, без использования OS, на базе данного проекта. я видел, но не на базе этого проекта. поищите на alterawiki.com по superloop-что-то-там-сервер. смысл такой: в NicheStack есть возможность работать без оси (тот самый superloop). соответственно, для проекта будет достаточно собрать его с 2-мя либами: NicheStack и LibTSE. подозреваю, что это будет жрать довольно много памяти, как раз от этого я уходил, поэтому в том моем проекте код такой куцый.
|
|
|
|
|
Jan 18 2011, 06:49
|
Группа: Участник
Сообщений: 13
Регистрация: 10-12-10
Из: RND
Пользователь №: 61 523

|
А реализовать сервер Telnet, как у вас реализован был запрос ЭХО и АРП без использования NicheStack не пробовали (или может кто другой пробовал или сталкивался с подобной проблемой)? А то в принципе минималистически получилось бы... можно было бы написать свой клиент к своему своеобразному серверу... но хотелось бы сделать что-то ближе к стандартным вещам (типа стандартных протоколов)...
|
|
|
|
|
Jan 18 2011, 22:56
|
Местный
  
Группа: Свой
Сообщений: 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(), причем время между вызовами практически любое (ну, естественно, ограничивается объемами ходящей информации). Полагаю что здесь что-то похожее.
|
|
|
|
|
Jan 18 2011, 23:49
|

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

|
Цитата(Reanimator++ @ Jan 19 2011, 04:56)  Ну впрочем заниматься уталкиванием до предела не хочется для первой пробы - я для этого проекта могу и обойтись интерфейсом попроще, просто хотелось уже на нем попробовать Ethernet. есть еще вариант - свой MAC написать, огрызок. как-нибудь займусь. Цитата Ну кстати те же W5100 и DP83848 стоят одинаково (~200р), хотя в первом все хардварное, даже ТСР, а второй только PHY. а w5100 может пакеты напрямую, минуя стек выдавать? Цитата Для onchip_mem делали? А какая плис? да, тогда была только внутренняя память, 3c25. в новом варианте уже есть sdram
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|