|
(Nios II + Ethernet) на DK-NIOS-2S60N, Кто уже покорил LAN91C111 ? |
|
|
|
Jan 9 2008, 12:22
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
Всем привет! Задача, понятно, не новая. Нужно непрерывно передавать пакеты UDP напрямую из одной точки А в точку В через LAN91C111, который входит в DK-NIOS. У меня, конкретно, DK-NIOS-2S60N (точка А), а компьютер (точка В) на расстоянии не дальше 50 метров. Склоняюсь писать свой soft для LAN91C111 на основе hard-примера, из серии NiosII_standard, т.е. не применяя uC/OS-II и NicheStack. Отмечу только, что как пример веб-сервера, DK-NIOS работает нормально, но разобраться в пакете программ uC/OS-II и NicheStack и применить их под свою задачу не удалось. По этому стоя у начала этой дороги, хотел бы спросить, что ждет там впереди, у тех, кто уже по ней возвращается (оборот мною заимствован). То есть, хотел бы знать, как эти и подобные проблемы решали другие. Спасибо за ответы.
|
|
|
|
|
 |
Ответов
|
Jan 10 2008, 00:20
|

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

|
Цитата(Волощенко @ Jan 9 2008, 21:22)  Всем привет! Задача, понятно, не новая. Нужно непрерывно передавать пакеты UDP напрямую из одной точки А в точку В через LAN91C111, который входит в DK-NIOS. У меня, конкретно, DK-NIOS-2S60N (точка А), а компьютер (точка В) на расстоянии не дальше 50 метров. Склоняюсь писать свой soft для LAN91C111 на основе hard-примера, из серии NiosII_standard, т.е. не применяя uC/OS-II и NicheStack. Отмечу только, что как пример веб-сервера, DK-NIOS работает нормально, но разобраться в пакете программ uC/OS-II и NicheStack и применить их под свою задачу не удалось. По этому стоя у начала этой дороги, хотел бы спросить, что ждет там впереди, у тех, кто уже по ней возвращается (оборот мною заимствован). То есть, хотел бы знать, как эти и подобные проблемы решали другие. Спасибо за ответы. Ну если с uC/OS-II и NicheStack у вас всё плохо было, то значит и с ecos(rtos +tcp stack любой другой) тоже будет плохо Если же у вас точки А и В не будут менять "своё положение" - IP адреса, подсеть и т.д., то всё хорошо в этом случае стек думаю и не нужен будет. Но такое решение - "решение для одного дня"
--------------------
Cogito ergo sum
|
|
|
|
|
Jan 10 2008, 07:30
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
To Postoroniy_V Спасибо за ответ. Ethernet-100 нужен однонаправленный, непрерывный с максимальной скоростью, в обратном же направлении он используется, но редко. До этого была плата с PCI-интерфейсом, а теперь нужно вынести все аналоговые узлы из системного блока, уж очень много там помех: АЦП на 20МГц и 8 разрядов уже не хватает, требуется АЦП 40МГц на 14 разрядов. Да и аппаратной ЦОС хватит на долго. В проблеме Ethernet-100 смущает то, что, в тексте основного Verilog-модуля, в данном случае NiosII_stratixII_2s60_RoHS_standard.v, обнаруживается следующее. У контроллера LAN91C111 есть достаточно много входов управления (см. например, стр.2-13 в mnl_nios2_board_stratixII_2s60_rohs.pdf), но в списке входов-выходов основного модуля часть этих управляющих входов не значится, они как бы висят в воздухе, но управлять то ими все равно надо, если софт писать самому. В то же время готовые тестовые программы «Web-Server» и «Simple Socket Server» на данном DK-NIOS успешно проходят, но это при работе в uC/OS-II. Думаю, LAN91C111 применяется во многих DK-NIOS, да и аналогичная задача с точками А и В уже наверно встречалась. Как и каким способом ее решили? Только ли с помощью OS и стеков?
|
|
|
|
|
Jan 10 2008, 16:23
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Волощенко @ Jan 10 2008, 10:30)  To Postoroniy_V Спасибо за ответ. Ethernet-100 нужен однонаправленный, непрерывный с максимальной скоростью, в обратном же направлении он используется, но редко................. Думаю, LAN91C111 применяется во многих DK-NIOS, да и аналогичная задача с точками А и В уже наверно встречалась. Как и каким способом ее решили? Только ли с помощью OS и стеков? У меня схожая задача и я тоже реально присматривался к DK-NIOS в качестве отправной точки для проектирования. Результаты неутешительные. Если с OS, стеком, да и вообще с NIOS, то конструкция становится похожей на быстродействующий микропроцессор с внешним MAC и PHY. Как показали испытания таких микропроцессоров, реально в 100Mbps сети по UDP удается предавать не быстрее 30Mbps. Много времени сжирает софт. Поэтому пришел к решению вести передачу данных RAW пакетами, без IP протоколов, стеков и OS. Hо в этом случае, FPGA и LAN9111 для 100Мbps не требуется. Вполне достаточно кристалла на базе ARM9 со встроенным MAC. Hапример, STR912FA за $14 может отсылать данные со скоростью 80Mbps с использованием RAW пакетов. Если же в нем использовать IP стек, OS, короче стандартный вариант, то получите по UDP не более 30Mbps. Т.е. вполне реальная альтернатива FPGA c NIOS. Зачем тогда, спрашивается, городить огород на FPGA?
|
|
|
|
|
Jan 11 2008, 06:42
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
To Aprox. Спасибо за ответ и свои соображения. Мы тоже долго блуждали по поводу выбора архитектуры комплекса, в конце-концов остановились на упомянутом DK-NIOS, а он еще будет работать в связке с LM3S6965 Ethernet Evaluation Kits http://www.luminarymicro.com/products/kits.html Вместе они будут вести первичную обработку, а с противоположной стороны будет несколько компьютеров для вторичной обработки. Почему именно DK-NIOS, потому, что там, в FPGA нужно будет размещать еще много аппаратной ЦОС. А выбор в пользу покупки уже готовых плат связан со слабой конструкторской базой, да и время поджимает. Да, цены этих плат 1000 и 100 баксов, соответственно. По поводу RAW пакетов, это как я понимаю чистые Ethernet пакеты и работа на MAC-уровне с собственными программами? По поводу LAN91C111 дело сдвинулось, обнаружил, что внутри DK-NIOS этот контроллер включен по схеме ISA-Bus, и самое главное, что при обращении к нему, нужно к базовому адресу LAN91C111_BASE прибавлять смешение 0x0300 (основная особенность ISA). Жаль, потерял на это несколько дней.
|
|
|
|
Сообщений в этой теме
Волощенко (Nios II + Ethernet) на DK-NIOS-2S60N Jan 9 2008, 12:22   -=Vitaly=- Цитата(Aprox @ Jan 10 2008, 18:23) Зачем ... Jan 11 2008, 08:19  Postoroniy_V Цитата(Волощенко @ Jan 10 2008, 16:30) To... Jan 16 2008, 04:32   Волощенко Цитата(Postoroniy_V @ Jan 16 2008, 08:32)... Jan 16 2008, 06:48    Postoroniy_V Цитата(Волощенко @ Jan 16 2008, 15:48) Да... Jan 16 2008, 07:17     Волощенко Ситуация с непрерывной передачей UDP-пакетов с исп... Mar 21 2008, 11:12      Postoroniy_V Цитата(Волощенко @ Mar 21 2008, 20:12) Си... Mar 28 2008, 04:10       Волощенко Цитата(Postoroniy_V @ Mar 28 2008, 08:10)... Mar 28 2008, 08:23        Postoroniy_V Цитата(Волощенко @ Mar 28 2008, 17:23) Сп... Mar 30 2008, 23:48      Olegovich Цитата(Волощенко @ Mar 21 2008, 15:12) Си... Apr 2 2008, 08:02       Волощенко Цитата(Olegovich @ Apr 2 2008, 11:02) по ... Apr 2 2008, 10:16        Postoroniy_V Цитата(Волощенко @ Apr 2 2008, 19:16) ...... Apr 2 2008, 23:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|