S17 1 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба On 5/11/2023 at 10:02 PM, makc said: Разберёмся. Благодарю! Хотелось бы, чтоб файл был восстановлен! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 195 17 мая, 2023 Опубликовано 17 мая, 2023 · Жалоба 10 часов назад, S17 сказал: Благодарю! Хотелось бы, чтоб файл был восстановлен! /pub/DOC/Datasheets/Motorcomm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
S17 1 18 мая, 2023 Опубликовано 18 мая, 2023 · Жалоба On 5/17/2023 at 8:21 AM, makc said: /pub/DOC/Datasheets/Motorcomm Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Рашид 0 15 июня, 2023 Опубликовано 15 июня, 2023 · Жалоба В 22.03.2023 в 17:47, Hevmal сказал: Запустил устройство на данном чипе. Контроллер STM32F407. Базовый проект - эхо чипа DP83848. Есть несколько доработок относительно проекта на DP83848. 1. Регистры PHY_MICR и PHY_MISR имеют другие адреса //#define PHY_MICR ((uint16_t)0x11U) /*!< MII Interrupt Control Register */ //#define PHY_MISR ((uint16_t)0x12U) /*!< MII Interrupt Status and Misc. Control Register */ #define PHY_MICR ((uint16_t)0x10U) /*!< MII Interrupt Control Register */ #define PHY_MISR ((uint16_t)0x11U) /*!< MII Interrupt Status and Misc. Control Register */ 2. В файле xxx_hal_eth.c необходимо изменить проверку статуса скорости /* Configure the MAC with the speed fixed by the auto-negotiation process */ if((phyreg & PHY_SPEED_STATUS) == PHY_SPEED_STATUS) { /* Set Ethernet speed to 10M following the auto-negotiation */ //(heth->Init).Speed = ETH_SPEED_10M; (heth->Init).Speed = ETH_SPEED_100M; } else { /* Set Ethernet speed to 100M following the auto-negotiation */ //(heth->Init).Speed = ETH_SPEED_100M; (heth->Init).Speed = ETH_SPEED_10M; } HAL_Delay(PHY_RESET_DELAY); 3. Нужно учесть что адрес чипа YT8512H определяется подтягиванием входов LED0 и LED1. Чтобы адрес был как у DP83848 (1ый) необходимо LED1 через светодиод на землю садить (светодиод будет светиться когда выход высокий), а LED0 к питанию (светодиод будет светиться когда выход низкий). Либо адрес чипа в проекте поменять относительно заданного светодиодами. Работает Auto-MDIX ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorAVR2 1 24 сентября, 2023 Опубликовано 24 сентября, 2023 · Жалоба Я ещё не щупал, в процессе. Но зато нашёл более дешёвые аналоги: https://mt-system.ru/company/news/byudzhetnye_mikroskhemy_phy_ot_kompanii_wch/ По ногам совместимы вроде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mitya1698 18 24 сентября, 2023 Опубликовано 24 сентября, 2023 · Жалоба Этим еще токозадающий резистор не нужен и кондеры к кварцу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorAVR2 1 24 сентября, 2023 Опубликовано 24 сентября, 2023 · Жалоба 3 hours ago, mitya1698 said: Этим еще токозадающий резистор не нужен и кондеры к кварцу Да, хитрый резистор не нужен. Но место я бы оставил и под него и под кондёры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReZIStoR 0 27 сентября, 2023 Опубликовано 27 сентября, 2023 · Жалоба В 15.06.2023 в 20:51, Рашид сказал: Работает Auto-MDIX ? Собрал плату на YT8512H, проект сгенерирован через CubeMX, подправил определение скорости как написано выше, пинг работает. Auto-MDIX работает. Для подключения используется RMII интерфейс. Не работает скорость 10 Мбит, как я понимаю в данном физическом уровне не совсем стандартно реализован этот режим. Цитата из даташита: Цитата For 100M application, REF_CLK is 50MHz; for 10M application, REF_CLK is still 50MHz, data will be duplicated for 10 times in 20ns cycles. YT8512 supports two types of connection method; Надо что-то свое городить если нужны 10 МБит. p/s И кстати если использовать новую версию библиотек в CubeMX, то там все по-другому уже реализовано. 10 минут назад, ReZIStoR сказал: Собрал плату на YT8512H, проект сгенерирован через CubeMX, подправил определение скорости как написано выше, пинг работает. Auto-MDIX работает. Для подключения используется RMII интерфейс. Не работает скорость 10 Мбит, как я понимаю в данном физическом уровне не совсем стандартно реализован этот режим. Цитата из даташита: Надо что-то свое городить если нужны 10 МБит. p/s И кстати если использовать новую версию библиотек в CubeMX, то там все по-другому уже реализовано. Кажется разобрался )) у меня проект под LAN8742A, а там режим 10 МБит по другому, а у DP83848 все как надо судя по даташиту.)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReZIStoR 0 29 сентября, 2023 Опубликовано 29 сентября, 2023 (изменено) · Жалоба В общем чтобы все работало во всех режимах (без использования прерываний от PHY), требуется минимум три регистра: #define PHY_BCR ((uint16_t)0x00U) /*!< Transceiver Basic Control Register */ #define PHY_BSR ((uint16_t)0x01U) /*!< Transceiver Basic Status Register */ #define PHY_SR ((uint16_t)0x11U) /*!< PHY status register Offset */ Эти битовые маски остаются без изменений: #define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */ #define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */ #define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */ #define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */ #define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */ #define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */ #define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */ #define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */ #define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */ #define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */ #define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */ #define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */ #define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */ А эти надо подправить: #define PHY_SPEED_STATUS ((uint16_t)0x4000U) /*!< PHY Speed mask */ #define PHY_DUPLEX_STATUS ((uint16_t)0x2000U) /*!< PHY Duplex mask */ Все остальное можно закоментить. Определение скорости (10Мбит и 100 Мбит) надо поменять местами не только в файле stm32fxx_hal_eth.c, но и в ethernetif.c, иначе после переподключения кабеля не будет связи. Изменено 29 сентября, 2023 пользователем ReZIStoR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BALDA 0 2 ноября, 2023 Опубликовано 2 ноября, 2023 · Жалоба Ребят подскажите, если я подключаю PHY YT8512 без инициализации со стороны STM32( фактически нет прошивки) линк должен подниматься? Именно линк? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться