|
О реализации Ethernet интерфейса |
|
|
|
Dec 11 2009, 19:24
|
Частый гость
 
Группа: Участник
Сообщений: 94
Регистрация: 9-04-07
Пользователь №: 26 893

|
Цитата(faa @ Dec 11 2009, 21:44)  Как бы у Андрея Филиппова всё уже сделано. Меня изначальный вопрос тоже интересует и пока я не вижу, чем (безусловно интересный) проект Филиппова может помочь ? Ответа на вопрос я там не нашел. Вижу выложены прошивки на Верилоге (но ПЛИС - Xlilinx, не Altera, которая в вопросе была изначально), вижу модули все используются открытые. Т.е. как вариант решения задачи - создание собственной цифровой видеокамеры - проект весьма интересны. Но исходный вопрос все-таки был другой, по крайней мере как я его понял - какие есть на данный момент доступные варианты реализации Ethernet интерфейса на плате с StratixII (NIOS II) и сетевым контроллером LAN91C111 ?
Одним из вариантов это использовать решения на базе ОС MicroC-OS - эти варианты мне тоже понятны. Можно еще использовать Nios Legacy SDK, но он уже устарел и Altera не рекомендует использовать его для новых проектов. А все последующие варианты (LWIP, NicheStack) требуют использования MicroC-OS.
|
|
|
|
|
Dec 11 2009, 19:59
|
Знающий
   
Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394

|
ИМХО, вопрос звучал: Цитата Планируется использовать ПЛИС (StratixII, LAN91C111, NiosII) для обработки видео с камеры (камера пока не выбрана, разрешение не определено) и передачи его в реальном времени по интерфейсу Ethernet. LAN91C11 - это, если склероз не изменяет, и логика (MAC) и физика (PHY) в одном флаконе. И шина у него вполне EBI. Может NIOS и не надо громоздить? ЗЫ: Насчет verilog-а - HDL, он и в африке HDL, - что для альтеры, что для хилых. Если не пользовать примитивов уж на совсем низком уровне.
|
|
|
|
|
Dec 11 2009, 20:16
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 16-09-09
Пользователь №: 52 416

|
Цитата Насчет verilog-а - HDL, он и в африке HDL, - что для альтеры, что для хилых. Если не пользовать примитивов уж на совсем низком уровне. Я думаю, это уже совсем "низко" для знакомства с работой Ethernet-контроллера. Есть ли какие-либо исходники и библиотеки для реализации Ethernet интерфейса без ОС под Nios ? P.S. Читая темы форума, я понял, что применение ОС дает существенное снижение скорости передачи. Или же это связано с характеристиками самого контроллера ?
Сообщение отредактировал Veg@ - Dec 11 2009, 20:34
|
|
|
|
|
Dec 12 2009, 03:05
|

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

|
Цитата(Veg@ @ Dec 12 2009, 02:16)  Читая темы форума, я понял, что применение ОС дает существенное снижение скорости передачи. Или же это связано с характеристиками самого контроллера ? само по себе применение ОС не ведет к снижению скорости передачи, можно лишь говорить о конкретной реализации. ниос сам по себе, да еще на стратиксе штука очень гибкая. во всяком случае загрузить 100-Мбит канал может легко. выбор в пользу ОС нужно делать по другим критериям: нужны ли в проекте другие функции, которые она предоставляет, например, многопоточное окружение? нужен ли полновесный tcp/ip? если нет - то можно написать свой драйвер и огрызок tcp/ip, благо все исходники есть в наличии. если нужна ОСь, то их под ниос есть несколько http://nioswiki.com/OperatingSystems. в пользу готовой ОСи выбор м.б. сделан, если захотите использовать готовую веб-камеру, для большинства из них есть готовые драйверы.
|
|
|
|
|
Dec 14 2009, 07:04
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(Veg@ @ Dec 11 2009, 23:16)  ...Есть ли какие-либо исходники и библиотеки для реализации Ethernet интерфейса без ОС под Nios ? Выполнил Ethernet-100 на Stratix-II и LAN91C111, что на DK-NIOS-2S60N. Использовал NiosII, драйвера писал свои на основе примеров, которых много. TCP/IP усеченный: ARP, RARP, ICMP (для ping), UDP. Была задача передавать без подтверждения на расстояние до 50 м. В итоге скорость до 80 Мбит/с, пока больше не надо. Вычисление контрольной суммы выполнил аппаратно, так как программно это занимало много времени. В целом система вышла аппаратная, а NiosII в ней небольшая часть, в основном для Ethernet-100 и управления, которое тоже построено на применении UDP. Думаю, использование ОС универсально, тем более, что есть примеры с уже готовым и полным TCP/IP, но там много разбираться в чужих кодах, а нужно было как можно быстрее получить результат для конкретной задачи.
|
|
|
|
|
Dec 14 2009, 14:19
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 16-09-09
Пользователь №: 52 416

|
Цитата драйвера писал свои на основе примеров, которых много. Все примеры, которые я нашел, выдают много ошибок при компиляции или требуют дополнительных библиотек. Приведите плз несколько ссылок на готовые работающие примеры, если вы ими располагаете.
Сообщение отредактировал Veg@ - Dec 14 2009, 14:20
|
|
|
|
|
Dec 15 2009, 06:36
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(Veg@ @ Dec 14 2009, 17:19)  Приведите плз несколько ссылок на готовые работающие примеры У Вас все уже есть, это superloop_1_1.zip, что был выложен Вами в следующем посте. Там в superloop_1_1.zip\superloop_1_1\altera_avalon_lan91c111\HAL\ все, что нужно. Основное - вот эти файлы, коды которых надо переделать "под себя", что я и сделал: HAL\src\iniche\smsc91x.c HAL\src\iniche\smsc_mem.c HAL\src\iniche\smsc_phy.cДругие примеры работают аналогично, но эти коды как бы проще.
|
|
|
|
|
Dec 15 2009, 17:35
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 16-09-09
Пользователь №: 52 416

|
Цитата Основное - вот эти файлы, коды которых надо переделать "под себя", что я и сделал: HAL\src\iniche\smsc91x.c HAL\src\iniche\smsc_mem.c HAL\src\iniche\smsc_phy.c Спасибо, буду пробовать.
|
|
|
|
|
Dec 18 2009, 17:38
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 16-09-09
Пользователь №: 52 416

|
Пропатчил необходимые директории (Nios II IDE 9.0) для использования SuperLoop и, в частности, вышеперечисленных трех файлов. При компиляции пустого проекта со включенным в него файлом altera_avalon_lan91c111.h Nios II IDE выдает среди прочих ошибку : Код /cygdrive/d/altera/90/ip/altera/sopc_builder_ip/altera_avalon_lan91c111/HAL/inc/iniche/altera_avalon_lan91c111_iniche.h alt_iniche_dev.h: No such file or directory Данный файл находится в папке ...\nios2eds\components\altera_iniche\HAL\inc\. Почему IDE его не находит ? Может быть нужно вручную указать путь к нему (напр., в свойствах проекта - хотя у меня не получилось) ? Можно вручную скопировать этот файл в требуемую папку, но он также включает файлы, которые тоже нужно копировать вручную, что неприемлемо.
Сообщение отредактировал Veg@ - Dec 18 2009, 17:41
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|