реклама на сайте
подробности

 
 
> STM32 + Ethernet PHY (MII/RMII)
k000858
сообщение Aug 15 2013, 11:23
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Всем привет.
Есть ли разница в общении (в программном смысле) с разными микросхемами физического уровня?

Объясню: есть отладочная плата с стм32 и дорогой физикой. Прошивка представляет из себя инициализацию eth mac в стм32, lwip + web (взято из примеров ST), есть задача сделать аналогичную макетку, но с другой микросхемой физического уровня ethernet. В исходниках программы надо будет что то править под другую микросхему или достаточно настроить MII/RMII интерфейс и вперед?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
k000858
сообщение Aug 16 2013, 02:36
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Конкретно интересует отличие DP83848CVV (стоит на плате STM3240G-EVAL) и KSZ8863RLL.
В прошивке (примере ST), касаемо железа нашел только следующие настройки:

Код
#define DP83848_PHY_ADDRESS       0x01 /* Relative to STM324xG-EVAL Board */

#define PHY_MICR                  0x11 /* MII Interrupt Control Register */
#define PHY_MICR_INT_EN           ((uint16_t)0x0002) /* PHY Enable interrupts */
#define PHY_MICR_INT_OE           ((uint16_t)0x0001) /* PHY Enable output interrupt events */
#define PHY_MISR                  0x12 /* MII Interrupt Status and Misc. Control Register */
#define PHY_MISR_LINK_INT_EN      ((uint16_t)0x0020) /* Enable Interrupt on change of link status */
#define PHY_LINK_STATUS           ((uint16_t)0x2000) /* PHY link status interrupt mask */


Код
/* PHY configuration section **************************************************/
/* PHY Reset delay */
#define PHY_RESET_DELAY    ((uint32_t)0x000FFFFF)
/* PHY Configuration delay */
#define PHY_CONFIG_DELAY   ((uint32_t)0x00FFFFFF)

/* The PHY status register value change from a PHY to another, so the user have
   to update this value depending on the used external PHY */
#define PHY_SR    ((uint16_t)16) /* Value for DP83848 PHY */

/* The Speed and Duplex mask values change from a PHY to another, so the user
   have to update this value depending on the used external PHY */
#define PHY_SPEED_STATUS            ((uint16_t)0x0002) /* Value for DP83848 PHY */
#define PHY_DUPLEX_STATUS           ((uint16_t)0x0004) /* Value for DP83848 PHY */
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 13:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.02215 секунд с 7
ELECTRONIX ©2004-2016