StGhost
Участник-
Постов
8 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйПосетители профиля
404 просмотра профиля
-
Спасибо всем кто не прошел мимо. Разобрался, проблема из-за невнимательности. Проверил осциллографом все пины MII интерфейса, оказалось нет сигнала на TXD3, проблема оказалась в конфигурировании МК, не переназначил порт. Cube MX изначально конфигурирует TXD3 на порт PE2, а у меня физически разводка на порт PB8.
-
Добрый день. Что то вообще не выходит, помогут любые напутствия. Что я сейчас имею. Физически 88E6097 сконфигурирован, пины: P10_TXD[0]/P10_MODE[0], P10_TXD[1]/P10_MODE[1], P10_TXD[2]/P10_MODE[2] - 010 (MII with P10_GTXCLK = 25 MHz (100BASE PHY Mode)); P10_TXD[3]/ADDR[0], P10_TXD[4]/ADDR[1], P10_TXD[5]/ADDR[2], P10_TXD[6]/ADDR[3], P10_TXD[7]/ADDR[4] - 0x0000, данный адрес я так понимаю влияет только при использовании нескольких 88E6097, т.е. сейчас настроен на одно устройство; P10_TXEN/P10_HALFDPX - 0 (Sets Port 10 in full-duplex operation); SW_MODE[1], SW_MODE[2] - 11 (EEPROM attached mode − EEPROM defined port states). Пробовал и 00 (CPU attached mode − ports come up disabled). STM32f407 конфигурирую в STM32CubeMX, PHY адресс 0x0A, настройки на скриншоте (регистры соответсвуют даташиту на 88E6097, возможно чего то не хватает). MAC и IP заданы. В программе просто кручусь в цикле с функциями ethernetif_input(&gnetif); sys_check_timeouts(); По идеи STM'ка должна пинговаться (с другим внешним PHY пингуется). На интерфейс SMI (MDIO) написаны свои функции через которые я пишу и читаю регистры 88E6097. Осцилографом вижу что в момент запуска CPU по MII (на пинах TX и RX обмен данными идет). Еще не могу понять настройка пинов P10_MODE соответсвует MII with P10_GTXCLK = 25 MHz, на CLK дожно быть 25МГц, но по факту имею 2,5МГц. При чтении регистра Port Status Register (0x00) порта 10 имею ответ 0x4A.
-
STM подключен к 10му порту коммутатора, прямого PHY на 10 порту нет, но есть на других 8ми портах, с которых поток как я понимаю перенаправляется на 10й порт, т.е. с любого порта можно постучаться к STM. Прочитал регистры коммутатора с порта 10: Регистр 0x00 данные 0x14A Регистр 0x01 данные 0x2C01 Регистр 0x02 данные 0x9F00 Регистр 0x03 данные 0x992 Регистр 0x04 данные 0x7F Регистров PHY у 10го порта нет. Прочитал регистры PHY куда подключен ПК по UTP: Регистр 0x00 данные 0x3000 Регистр 0x01 данные 0x78C9 Регистр 0x02 данные 0x141 Регистр 0x03 данные 0xC89 Регистр 0x04 данные 0x1E1
-
1. Адресс 0 установлен. 2. По этому вопросу какие именно регистры и с какого порта? У 88E6097 есть регистры PHY и регистры коммутатора каждого порта.
-
Всем трудящимся добрый день. Есть у кого опыт работы с Marvell 88E6097 совместно с STM32F4... или с другим МК по MII? Элементарно не могу пропинговать STM'ку. Вроде бы минимум настроил по SMI для работы с CPU, но чего то не работает. Настройки SW_MODE=11, Регистры: Порт 0x1A регистр 0x01: данные 0x0E01, регистр 0x04: данные 0x017F, Глобальные 0x1B: регистр 0x1C: данные 0x3000, остальные порты имеют дефолтные настройки. Что я проверил: 1. Пробовал по разному конфигурировать коммутатор. 2. Тактирование на MII, присутствует 25 Мгц. 3. Просто как свитч 88E6097 работает. 4. Успешно пишу и читаю регистры по SMI. 5. Пробовал подключить другой PHY (DP83848) к МК, все успешно работает. Сейчас хотелось бы элементарно получить пинг от STM.