Jump to content

    

StGhost

Участник
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

0 Обычный

Recent Profile Visitors

174 profile views
  1. Спасибо всем кто не прошел мимо. Разобрался, проблема из-за невнимательности. Проверил осциллографом все пины MII интерфейса, оказалось нет сигнала на TXD3, проблема оказалась в конфигурировании МК, не переназначил порт. Cube MX изначально конфигурирует TXD3 на порт PE2, а у меня физически разводка на порт PB8.
  2. Добрый день. Что то вообще не выходит, помогут любые напутствия. Что я сейчас имею. Физически 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.
  3. Спасибо за наводку, чуть позже попробую.
  4. 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
  5. 1. Адресс 0 установлен. 2. По этому вопросу какие именно регистры и с какого порта? У 88E6097 есть регистры PHY и регистры коммутатора каждого порта.
  6. Да, подключен. Читаю, пишу регистры коммутатора. Линии MDIO и MDC это интерфейс SMI.
  7. Всем трудящимся добрый день. Есть у кого опыт работы с 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.