Содержание

Введение

Микросхема 1923КХ028 представляет 16 – портовый коммутатор сетей протокола IEEE 802.3 Ethernet 10/100/1000 Мбит/с. Коммутатор предназначен для использования в устройствах локальной вычислительной сети для обеспечения коммутации оконечных устройств внутри сети на основе MAC адресов. Компания «Миландр» разработала демонстрационную плату «Evaluation Board for IC 1923KX028» для ознакомления с микросхемой 1923КХ028, а также исследования её работы. Основные начальные настройки для работы с платой представлены в документе «Quick Start 1923KX028». Мы же в данной статьей попробуем чуть расшить предоставленную документацию, а также соединить компьютеры в одну сеть с помощью данной платы и проверить соединение с помощью «Ping» запроса.

Режимы работы платы

Режимы работы на плате устанавливаются с помощью переключателя SA2, который в свою очередь задает логическое состояние («0» или «1») на выводах MODE в соответствии:

1) MODE [3:0] = 0000 Режим управляемого коммутатора (SWITCH). Доступ по интерфейсу SPI-slave к регистрам PCI-E, регистрам SGMII.

2) MODE [3:0] = 0001 Режим управляемого коммутатора (SWITCH). Конфигурация 1923КХ028 по интерфейсу SPI-master из внешней памяти микросхемы Flash-памяти.

3) MODE [3:0] = 0010 Управляемого коммутатора (SWITCH). Доступ по интерфейсу SPI-slave к регистрам PCI-E, регистрам SGMII, регистрам ядра коммутатора.

4) MODE [3:0] = 0110 Режим неуправляемого коммутатора (HUB).

Остальные комбинации на выводах MODE зарезервированы. Протестируем плату в 3-х режимах, игнорируя режим 0001, поскольку на плате, которая оказалась в нашем распоряжении, микросхема памяти отсутствовала.

Настройка ПК

Прежде чем приступить к работе с платой, выполним настройку сетевых карт компьютеров, которые будем подключать к плате. Присвоим статические IP адреса компьютерам, чтобы они находились в одной подсети. Например, приведу настройки, которые использовали мы:

Важно

Отсутствие коммутации пакетов при включенном режиме "энергосберегающего Ethernet (EEE)" исправлено в ПО для МК вер. 1.1

На данный момент для работы с отладочной платой для 1923КХ028 на всех подключаемых ПК должен быть выключен режим энергосберегающего Ethernet, который в ряде сетевых карт включен по умолчанию. Режим "Энергосберегающий Ethernet" может по-разному называться в зависимости от производителя сетевой карты, официальное название данного режима - Energy-Efficient Ethernet (EEE). Выключить данный режим можно в настройках сетевой карты:

Режим управляемого коммутатора (0000)

В таком режиме реализуется архитектура сложной системы на базе 1923КХ028. HOST-процессор осуществляет по PCI-E управление и выполняет настройку микросхемы. Соответственно, для управления работой платы предусмотрен драйвер, разработанный для ОС Linux. Здесь необходимо внимательно ознакомиться с документом «Quick Start 1923KX028», чтобы выполнить установку драйвера и подготовить плату к работе. После того, как мы подготовили плату к работе, о чём свидетельствуют моргающие диоды на портах коммутатора, подключим наши ПК к плате.

После подключения компьютеров к соответствующим портам платы коммутатора, их MAC-адреса автоматически заносятся в таблицу коммутации. Чтобы убедиться в этом, откроем файл show, расположенный в директории /proc/basis/hash_tables/mac (о взаимодействии платы с файловой системой Linux подробно указано в «Quick Start 1923KX028»), и убедимся в этом:

При желании, записи в таблицу можно добавить с помощью файла «add» вручную. А удалить - с помощью файла «delete». Теперь можно открыть командную строку на одном компьютере и «запинговать» другой:

Чтобы узнать MAC-адреса компьютеров, можно ввести в командной строке:

ipconfig –all

Эти адреса можно сравнить с теми, что записались в MAC-таблицу коммутатора, и посмотреть, к какому порту подключён тот или иной ПК.

Режим управляемого коммутатора (0010)

Настройку платы необходимо опять выполнить внимательно, следуя «Quick Start 1923KX028». Теперь у нас выставлен другой режим. В нём не требуется HOST-процессор, а инициализация и настройка микросхемы коммутатора осуществляются с помощью МК, установленного на плате. С помощью разъёма microUSB плата соединяется с компьютером, с которого будет отправлять команды для коммутатора. Эти команды отправляются на МК по UART, а тот в свою очередь осуществляет управление 1923КХ028 по SPI.

Подключаем несколько ПК по ethernet к плате. Для управления коммутатором подключаем один ПК к плате по microUSB и открываем любую терминальную программу (в данном случае использовалась программа Terminal v1.9b).

Настройки соединения и список команд для терминала приведён в «Quick Start 1923KX028». При использовании программы Putty команды можно вводить в явном виде, в Terminal – необходимо после команды добавить «$0A».

Например, команда справки:

help $0A

Добавим MAC-адреса подключенных к портам на плате ПК в таблицу коммутации. MAC – адреса можно узнать с помощью ipconfig –all, как было отмечено выше.

mac_table_add 1C:1B:0D:49:E2:09 1 0 7 0 $0A
mac_table_add 7C:D3:0A:32:3A:30 1 0 3 0 $0A

Затем проверим добавленные нами записи командой:

mac_table_show $0A

Теперь можно смело посылать ping с одного из компьютеров и наблюдать ожидаемый результат.

Режим неуправляемого коммутатора (0110)

Данный режим не описан в «Quick Start 1923KX028». Здесь всё просто. Единственное изменение, которое необходимо внести в конфигурацию платы – изменить переключать SA2 и выставить соответствующий режим (0110). Теперь включаем плату соединяем с компьютерами. Микросхема начинает работать как HUB, при этом скорость обмена задана 1 Гбит/c .

В неуправляемом режиме с помощью 1923КХ028 микроконтроллер настраивает Ethernet PHY трансиверы. Поскольку в этом режиме скорость строго должна быть равна 1 Гбит/с, то в настройках сетевых карт компьютеров необходимо убедиться, что выставлена именно эта скорость или режим Автосогласования.

Теперь можно «пинговать» компьютеры.