38939

[i] Подключение MCU к шине MDIO на демонстрационной плате


Подскажите, пожалуйста, зачем на микроконтроллер, входящий в состав демонстрационной платы, заведены цепи MDC и MDIO?

Микросхема К1923КХ02x на демонстрационной плате подключается к хост-процессору по интерфейсу PCIe. Для взаимодействия хост-процессора с MCU было реализовано подключение К1923КХ02x к MCU по интерфейсу MDIO. К1923КХ02x выступает на шине MDIO ведущим устройством, а MCU - ведомым. Реализация интерфейса MDIO в MCU выполнена программным путём. Таким образом хост-процессор с помощью К1923КХ02x может в любой момент обращаться к MCU. Например, драйвер Linux посылает запрос - считывание данных температуры по интерфейсу MDIO (файл hif/fp_mac_ops.c, функция fp_mac_events_handler() ), MCU в свою очередь в обработчике прерывания SSP2_IRQHandler() формирует ответ.

Данное взаимодействие использовалось только в старых версиях ПО для MCU. В актуальной версии драйвера Linux данный функционал используется только для поддержки старых версий ПО MCU.

В настоящее время взаимодействие хост-процессора с MCU осуществляется по интерфейсу SPI с помощью подпрограмм, определённых в файлах "hif/fp_drv_mcu_ops.c" и "hif/fp_dr_mcu_tasks.c". MCU выступает ведущим, а К1923КХ02x - ведомым устройством. Обмен команд и данных происходит через регистры микросхемы К1923КХ02x, которые в данном режиме работы не используются: FP_CMD_REG, FP_STATUS_REG, FP_DATA1_REG, FP_DATA2_REG, файл "include/fp_macros.h". Хост-процессор записывает в регистр FP_CMD_REG команду, MCU по интерфейсу SPI периодически опрашивает регистр FP_CMD_REG, и, в зависимости от считанной команды, выполняет определённые действия, например, считывает данные с микросхемы датчика температуры TMP421 или считывает данные с SFP- модулей, после чего записывает полученные данные в регистр FP_DATA1_REG и устанавливает в регистре FP_STATUS_REG статус готовности данных. Используя данные регистры, можно реализовать свой протокол получения данных от MCU.

Особенности доступа к микросхеме К1923КХ02x по интерфейсу SPI в режиме 0000 описаны в спецификации, пункт "11.10 Доступ на шину AXI в режиме MODE=0".

Теги

Был ли ответ полезным?