StGhost 0 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба Всем трудящимся добрый день. Есть у кого опыт работы с 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба А MDIO подключен? Стандартные регистры читаются? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StGhost 0 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба 33 minutes ago, gosha-z said: А MDIO подключен? Стандартные регистры читаются? Да, подключен. Читаю, пишу регистры коммутатора. Линии MDIO и MDC это интерфейс SMI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба Контрольные вопросы: 1. PHY addr какой? 2. Покажите содержимое первых пяти регистров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StGhost 0 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба 5 minutes ago, gosha-z said: Контрольные вопросы: 1. PHY addr какой? 2. Покажите содержимое первых пяти регистров. 1. Адресс 0 установлен. 2. По этому вопросу какие именно регистры и с какого порта? У 88E6097 есть регистры PHY и регистры коммутатора каждого порта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба 2. При подключении 88E6097 что для STMа является PHY? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StGhost 0 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба 2 minutes ago, gosha-z said: 2. При подключении 88E6097 что для STMа является PHY? 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба Т.е. вы пины MDIO STMа завели на SMI марвела? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StGhost 0 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба 1 minute ago, gosha-z said: Т.е. вы пины MDIO STMа завели на SMI марвела? Да. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба Ну если там не стандартый PHY, а что-то свое - то это неправильно. Надо STMу объяснить, что у него нет PHY, или сделать "пионерскую" затычку (которая будет говорить MAC-уровню "всегда готов"), а этот SMI переключить на обычный I2C. Или написать свой драйвер PHY. Для конкретики надо документацию на этот 88E6097 читать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prig 0 11 ноября, 2019 Опубликовано 11 ноября, 2019 · Жалоба 5 hours ago, StGhost said: 1. Адресс 0 установлен. - Адрес должен соответствовать номеру порта. Если подключаетесь к P10, то и адрес 0xA. - Подключаемый к процессору порт MII должен использоваться в режиме "MII PHY Mode". - Ну и иногда без марвеловского софта не обойтись, хотя для этого свитчика не д.б. критично. Да и как бы всё. Проходил у нас когда-то проект с 88E6096 (чуть урезанный 97-й), MII к процессору запустился без скрипов. Но какой-то марвеловский софт для него точно использовался. Что именно, сейчас навскидку не вспомню. 2 hours ago, gosha-z said: Ну если там не стандартый PHY, а что-то свое - то это неправильно Вообще-то, должен откликаться как стандартный PHY. Если режим соответствующий,ессно. А оный задаётся конфигурационными пинами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StGhost 0 12 ноября, 2019 Опубликовано 12 ноября, 2019 · Жалоба 17 hours ago, prig said: - Адрес должен соответствовать номеру порта. Если подключаетесь к P10, то и адрес 0xA. - Подключаемый к процессору порт MII должен использоваться в режиме "MII PHY Mode". - Ну и иногда без марвеловского софта не обойтись, хотя для этого свитчика не д.б. критично. Да и как бы всё. Проходил у нас когда-то проект с 88E6096 (чуть урезанный 97-й), MII к процессору запустился без скрипов. Но какой-то марвеловский софт для него точно использовался. Что именно, сейчас навскидку не вспомню. Вообще-то, должен откликаться как стандартный PHY. Если режим соответствующий,ессно. А оный задаётся конфигурационными пинами. Спасибо за наводку, чуть позже попробую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StGhost 0 13 ноября, 2019 Опубликовано 13 ноября, 2019 · Жалоба On 11/11/2019 at 7:33 PM, prig said: - Адрес должен соответствовать номеру порта. Если подключаетесь к P10, то и адрес 0xA. - Подключаемый к процессору порт MII должен использоваться в режиме "MII PHY Mode". - Ну и иногда без марвеловского софта не обойтись, хотя для этого свитчика не д.б. критично. Да и как бы всё. Проходил у нас когда-то проект с 88E6096 (чуть урезанный 97-й), MII к процессору запустился без скрипов. Но какой-то марвеловский софт для него точно использовался. Что именно, сейчас навскидку не вспомню. Вообще-то, должен откликаться как стандартный PHY. Если режим соответствующий,ессно. А оный задаётся конфигурационными пинами. Добрый день. Что то вообще не выходит, помогут любые напутствия. Что я сейчас имею. Физически 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StGhost 0 14 ноября, 2019 Опубликовано 14 ноября, 2019 · Жалоба Спасибо всем кто не прошел мимо. Разобрался, проблема из-за невнимательности. Проверил осциллографом все пины MII интерфейса, оказалось нет сигнала на TXD3, проблема оказалась в конфигурировании МК, не переназначил порт. Cube MX изначально конфигурирует TXD3 на порт PE2, а у меня физически разводка на порт PB8. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться