======Введение====== Микросхема 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 адреса компьютерам, чтобы они находились в одной подсети. Например, приведу настройки, которые использовали мы: {{doc:mk:1923kx028:demoboard:screen1.png}} {{doc:mk:1923kx028:demoboard:screen2.png}} {{doc:mk:1923kx028:demoboard:screen3.png}} ===Важно=== Отсутствие коммутации пакетов при включенном режиме "энергосберегающего Ethernet (EEE)" исправлено в ПО для МК вер. 1.1 На данный момент для работы с отладочной платой для 1923КХ028 на всех подключаемых ПК должен быть **выключен** **режим энергосберегающего Ethernet**, который в ряде сетевых карт включен по умолчанию. Режим "Энергосберегающий Ethernet" может по-разному называться в зависимости от производителя сетевой карты, официальное название данного режима - Energy-Efficient Ethernet (EEE). Выключить данный режим можно в настройках сетевой карты: {{supp:1923kx028:energy_efficient_eth.png}} =====Режим управляемого коммутатора (0000)===== В таком режиме реализуется архитектура сложной системы на базе 1923КХ028. HOST-процессор осуществляет по PCI-E управление и выполняет настройку микросхемы. Соответственно, для управления работой платы предусмотрен драйвер, разработанный для ОС Linux. Здесь необходимо внимательно ознакомиться с документом «Quick Start 1923KX028», чтобы выполнить установку драйвера и подготовить плату к работе. После того, как мы подготовили плату к работе, о чём свидетельствуют моргающие диоды на портах коммутатора, подключим наши ПК к плате. {{doc:mk:1923kx028:demoboard:host-pci.png}} После подключения компьютеров к соответствующим портам платы коммутатора, их MAC-адреса автоматически заносятся в таблицу коммутации. Чтобы убедиться в этом, откроем файл show, расположенный в директории /proc/basis/hash_tables/mac (о взаимодействии платы с файловой системой Linux подробно указано в «Quick Start 1923KX028»), и убедимся в этом: {{doc:mk:1923kx028:demoboard:mactable.png}} При желании, записи в таблицу можно добавить с помощью файла «add» вручную. А удалить - с помощью файла «delete». Теперь можно открыть командную строку на одном компьютере и «запинговать» другой: {{doc:mk:1923kx028:demoboard:screen4.png}} Чтобы узнать MAC-адреса компьютеров, можно ввести в командной строке: ipconfig –all Эти адреса можно сравнить с теми, что записались в MAC-таблицу коммутатора, и посмотреть, к какому порту подключён тот или иной ПК. =====Режим управляемого коммутатора (0010)===== Настройку платы необходимо опять выполнить внимательно, следуя «Quick Start 1923KX028». Теперь у нас выставлен другой режим. В нём не требуется HOST-процессор, а инициализация и настройка микросхемы коммутатора осуществляются с помощью МК, установленного на плате. С помощью разъёма microUSB плата соединяется с компьютером, с которого будет отправлять команды для коммутатора. Эти команды отправляются на МК по UART, а тот в свою очередь осуществляет управление 1923КХ028 по SPI. Подключаем несколько ПК по ethernet к плате. Для управления коммутатором подключаем один ПК к плате по microUSB и открываем любую терминальную программу (в данном случае использовалась программа Terminal v1.9b). {{doc:mk:1923kx028:demoboard:spi-usb-uart.png}} Настройки соединения и список команд для терминала приведён в «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 {{doc:mk:1923kx028:demoboard:table-spi.png}} Теперь можно смело посылать ping с одного из компьютеров и наблюдать ожидаемый результат. =====Режим неуправляемого коммутатора (0110)===== Данный режим не описан в «Quick Start 1923KX028». Здесь всё просто. Единственное изменение, которое необходимо внести в конфигурацию платы – изменить переключать SA2 и выставить соответствующий режим (0110). Теперь включаем плату соединяем с компьютерами. Микросхема начинает работать как HUB, при этом скорость обмена задана 1 Гбит/c . {{doc:mk:1923kx028:demoboard:hub.png}} В неуправляемом режиме с помощью 1923КХ028 микроконтроллер настраивает Ethernet PHY трансиверы. Поскольку в этом режиме скорость строго должна быть равна 1 Гбит/с, то в настройках сетевых карт компьютеров необходимо убедиться, что выставлена именно эта скорость или режим Автосогласования. {{doc:mk:1923kx028:demoboard:screen6.png}} {{doc:mk:1923kx028:demoboard:screen7.png}} Теперь можно «пинговать» компьютеры.