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

Сырые Ethernet пакеты на Nios IIВ этом посте о том как запустить на железе проект Ethernet трансивера и пронаблюдать все в действии. Для этой цели понадобятся по крайней мере две программы. Одна из них это Packet/Traffic Generator and Analyzer Ostinato, другая - общеизвестный анализатор траффика Wireshark. С помощью первой программы можно создать малоформатный пакет и посылать его из компа на Ethernet трансивер на Nios II, а с помощью второй можно анализировать принятые на комп 'сырые' пакеты формата Ethernet II объемом 1168 байт.

Программы нужно установить и настроить для работы с Ethernet трансивером на Nios II. Если Wireshark особо настраивать не надо, то Ostinato нужно немного подстроить. В частности в Ostinato нужно создать малоформатный пакет на передачу. На картинке показано содержимое пакета.

Малоформатный Ethernet пакет на Ostinato

MAC адрес назначения 0х010101010101 приема 0х020202020202 и формат пакета - 0х2321 Ethernet II. Это понадобится для того, чтобы послав на наш Ethernet модуль на Nios II данный пакет убедиться, что модуль примет пакет и правильно на него отреагирует.

Итак запускаем Ostinato, создаем stream под Ethernet карту компа, включаем питание Ethernet модуля на Nios II и выполняем последовательно несколько операций:

Создание stream на Ostinato

1 - запустить Quartus и в нем проект NiosEthOcm.qpf; 2 - запустить SOPS Builder в главном меню Quartus Tools/SOPS Builder; 3 - запустить через SOPS Builder Nios II в главном меню Altera SOPS Builder Tools/Nios II IDE; 4 - Если в Nios II не создано Workspace c программой Ethernet трансивера то создать его выполнив из IDE Nios II команду File->Switch Workspase... указав в качестве дирктории рабочего пространства папку с проектом NiosEthOcm_Quartus90; 5 - далее настраиваем IDE Nios II для работы через JTAG, запускаем проект из среды Nios II как показано на картинке.

Запуск проекта на Nios II

В результате появится панель программатора где нужно выбрать файл конфигурации NiosEthOcm.sof, тоесть процессор Nios II с примочками, и загрузить его в DE0 Board;

Загрузка конфигурации Nios II в ПЛИС

6 - Далее нужно запустить программу Wireshark в режиме захвата пакетов формата Ethernet II на карту компа куда подключен модуль на DE0, и в IDE Nios II еще раз выполнить команду Run.

В результате в sdram DE0 будет загружена программа и запущена на выполнение. Вначале все будет находиться в заторможенном состоянии до тех пор пока Ostinato не пошлет на DE0 малоформатный пакет путем нажатия на кнопку Start

Старт передачи из Ostinato

Приняв пакет программа Ethernet модуля на DE0 установит признак разрешения передачи и начнет передавать на комп пакеты объемом 1168 бай, что и будет фиксировать Wireshark.

Регистрация Ethernet пакетов формата Ethernet II

Ну вот собственно и все, что хотелось бы сообщить уважаемому сообществу программистов и электронщиков по поводу 'сырых' Ethernet пакетов формата Ethernet II на базе ПЛИС Altera + Nios II.

Наверняка проект окажется полезен тем кто планирует вести обработку данных на стороне персонального компьютера по выборкам многоканальной системы имеющей в своем составе например цифровые фильтры или БПФ. Кстати подобным образом, на базе Ethernet, ведется передача данных на персональный комп в различного рода звуковизорах, в частности в гидроакустических звуковизорах.

При создании проекта встречались различного рода проблемы, преодолевать которые помогали Вадим Котельников и Иосиф Каршенбойм. Комменты и замечания по теме проекта принесут ему только пользу.

комментариев: (5)

Перейти и растаять в своей любимой социалке