Pridnya 0 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба Здравствуйте! Кто-нибудь может пояснить, каким образом STM32F407 может поддерживать до 32 микросхем Ethernet PHY (например, LAN8720A)? Насколько я понял, по SMI передается адрес PHY и адрес регистра в этом PHY, но здесь более менее понятно - это последовательный интерфейс (похож на I2C) и к нему можно подключить несколько микросхем. А вот как быть с MII/RMII - он же параллельный. Или предполагается, что микросхем PHY может быть до 32-х, но работать они будут по очереди (выбрал микросхему, что-то сделал, перешел на следующую). По этой теме вообще информации мало. MAC один, а PHY до 32-х. Может, кто хотя бы с двумя работал? Вот и текст из ST-шного драйвера * @brief Write to a PHY register * @param PHYAddress: PHY device address, is the index . * This parameter can be one of the following values: 0,..,31 * @param PHYReg: PHY register address, is the index of one of the 32 PHY register. * This parameter can be one of the following values: * @arg PHY_BCR : Transceiver Control Register * @arg More PHY register could be written depending on the used PHY * @param PHYValue: the value to write * @retval ETH_ERROR: in case of timeout * ETH_SUCCESS: for correct write */ uint32_t ETH_WritePHYRegister(uint16_t PHYAddress, uint16_t PHYReg, uint16_t PHYValue) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба Никак. Один MAC - один PHY. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pridnya 0 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба 1 hour ago, VladislavS said: Никак. Один MAC - один PHY. А почему тогда в драйвере есть функция, которая позволяет по SMI записывать данные аж в 32 PHY? И в Reference Manual есть описание SMI frame format как раз для функции из драйвера? Получается, что из RM0090 следует, что можно подключить до 32-х PHY? Гуглились реплики, что по MII можно подключить несколько PHY, а по RMII нельзя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба 14 minutes ago, Pridnya said: Гуглились реплики, что по MII можно подключить несколько PHY, а по RMII нельзя. Можно еще не такое нагуглить :) 15 minutes ago, Pridnya said: А почему тогда в драйвере есть функция, которая позволяет по SMI записывать данные аж в 32 PHY? Потому что единственный PHY может иметь произвольный адрес. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба Что вы от нас хотите? Чтобы мы разрешили подключить несколько PHY к одному MAC? Да я в принципе не против. Думаю, остальные тоже не будут сильно возражать. Подключайте. Результаты доложите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба 55 minutes ago, Pridnya said: А почему тогда в драйвере есть функция, которая позволяет по SMI записывать данные аж в 32 PHY? Потому что в теории возможно (а на практике часто применяется) использование одной шины MDIO на несколько MAC Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pridnya 0 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба 1 hour ago, VladislavS said: Что вы от нас хотите? Чтобы мы разрешили подключить несколько PHY к одному MAC? Да я в принципе не против. Думаю, остальные тоже не будут сильно возражать. Подключайте. Результаты доложите. Меня интересует, для чего может использоваться такой функционал в STM32? Адрес у PHY может быть в диапазоне от 0 до 31, он уникальный, этот же уникальный адрес используется в стеке LwIP. Жду ответа от того, кто знает больше, чем большинство. :) 1 hour ago, aaarrr said: Можно еще не такое нагуглить :) Потому что единственный PHY может иметь произвольный адрес. Вот на комьюнити человек спрашивал. https://community.st.com/s/question/0D50X00009XkgEDSAZ/stm32f4-how-to-support-two-network-interface Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба 1 минуту назад, Pridnya сказал: для чего может использоваться такой функционал в STM32? Интерфейс MDIO предусматривает адресацию и соответственно она реализована в STM32. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба 1 hour ago, Pridnya said: Меня интересует, для чего может использоваться такой функционал в STM32? Адрес у PHY может быть в диапазоне от 0 до 31, он уникальный, этот же уникальный адрес используется в стеке LwIP. например чтобы подключить что-нибудь вроде KSZ8895 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pridnya 0 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба 3 minutes ago, _pv said: например чтобы подключить что-нибудь вроде KSZ8895 Спасибо! Теперь понятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 26 марта, 2020 Опубликовано 26 марта, 2020 · Жалоба 4 часа назад, VladislavS сказал: Никак. Один MAC - один PHY. Верно! Просто дело в том, что свитч он жутко тупой. Пакет приходит и рассылается по всем направлениям. Если у конкретного порта в таблице адресов есть адрес назначения, указанный в пакете, то этот пакет проходит в порт и отправляется наружу. И более никакого "ума", ну так грубо. Конечно, там есть много еще чего, сделанного только для пересылки пакетов, но свитч не умеет управлять PHY. И вот для более гибкого управления PHY как раз и ставят внешний по отношению к свитчу процессор. И он один успевает обслуживать все PHY. Но можно даже больше сказать. Сам свитч - чисто цифровое устройство. А значит для него нужна технология, где на первом месте скорость пересылки данных. А на утечки между линиями передачи - наплевать. А вот PHY - совсем другое дело. В нем есть аналоговые схемы, а значит на первом месте - минимум утечек, иначе не сделать усилители. И, соответственно, в нем бОльшие расстояния между проводниками. Поэтому совсем другие проектные нормы и технологии... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться