Ethernet II или сырые Ethernet пакеты на Nios II Altera часть 1

Altera Nios II - сырые Ethernet пакеты Тема Ethernet уже не раз подымалась на нашем ресурсе, но пока только применительно к микроконтроллерам и только в виде протокольного варианта, в частности Ethernet протокола UDP. Но когда речь идет о проекте с Ethernet в котором не поседнюю роль, а может даже и первую, будет играть ПЛИС, то рациональнее в этом случае испоьзовать все ее возможности в том числе и в части построения на ней Ethernet.

Неплохой эффект такого выбора будет если, например, связать по Ethernet с персональным компьютером модуль содержащий многоканальный КИХ фильтр c многоканальным АЦП. Тоесть результаты работы такого модуля вполне возможно на огромной скорости передавать непосредственно в операционную систему компьтера. В чем фишка? Фишка состоит в том, что дальнейшую обработку принятых даных можно вести на стороне компа, благо современные компьютеры обладают для этого достаточными мощностями.

Если речь идет о выборках с элементов гидроакустической антенной решетки, то на стороне компа вполне возможно управлять характеристикой направленности антенны, выполнить множественные математические преобразования принятых данных, такие например как прямое или обратное преобразование Фурье и др. Далее параллельно с обработкой можно отображать принятые и обработанные данные в нужном виде в нужном интерфейсе.

В конечном итоге такой вариант освобождает разработчика от построения ФХН на ПЛИС, поскольку все переносится на компьютер, а если имеется необходимость то и от постоения БПФ. Кроме того в этом случае освобождаются приличные ресурсы логической матрицы, которые можно использовать для иных целей.

Итак поближе к делу. В данном посте речь пойдет о небольшом проекте на ПЛИС Altera Cyclon 3 Nios II, который формирует и посылает на комп Ethernet пакеты стандарта Ethernet DIX , называемые также кадрами Ethernet II со скоростью около 7000 Fps. Почему именно Ethernet II? Потому, что это простейший стандарт позволяющий без всего лишнего передавать на компьютер только саму полезную информацию, за исключением первых 14 байт, которые во фрейме объемом до 1500 байт незаметны.

Проект выполнен на базе отладочного комплекта от Terasic DE0 Board и платки Ethernet трансивера Sk-Ethernet Plug от Starterkit которые соединены между собой ленточным кабелем.

Ethernet II на De0 Board

Соединение DE0 и Ethernet трансивера

Поскольку Ethernet трансивер от Micrel ksz8721bl, входящий в состав платки Sk-Ethernet Plug, это только физический уровень Ethernet то для него понадобится MAC. MAC можно организовать на ПЛИС. Имелись 2 варианта: 1 - взять MAC из состава компонентов IDE Nios II; 2 - взять корку MAC из открытого источника корок eth_ocm. Выбор пал на последний вариант ввиду небольшого объема корки и ее полной законченной функцинальности.

Ну это только прелюдия. Продолжение следует...

Top.Mail.Ru