如果使用CH32V307的外置phy的话,内置PHY就可以不管了是吧?
如果使用CH32V307的外置phy的话,内置PHY就可以不管了是吧?您好,是的,配置使用外置PHY驱动即可 在使用CH32V307时,若选择外置PHY芯片(如LAN8720A、KSZ8081等)替代内置PHY,内置PHY模块仍需在硬件设计和软件配置中合理处理,否则可能导致通信异常或功能受限。 CH32V307的内置PHY通常由内部LDO供电(如3.3V),若需完全禁用内置PHY,需通过芯片的PHY_RST或PHY_POWER_DOWN引脚(若有)强制关闭其电源,或通过软件寄存器配置PHY进入低功耗模式(需参考数据手册)。 其实CH32V307的MAC层通过RMII/MII接口与PHY通信。若使用外置PHY,需断开内置PHY与MAC的物理连接(如通过PCB走线设计或0Ω电阻跳线),确保MAC仅与外置PHY通信。 内置PHY可能依赖外部晶振或内部RC振荡器。若使用外置PHY,需确保外置PHY的时钟(如50MHz晶振)独立供应,避免与内置PHY的时钟信号冲突。 外置PHY的RMII/MII接口需与CH32V307的MAC引脚一一对应(如TXD0、TXD1、RXD0、RXD1、TX_EN、RX_DV等)。 外置PHY的地址通常通过硬件引脚(如ADDR0、ADDR1)配置,需确保与软件中的PHY地址设置一致(如0x01)。 在PHY与MAC之间添加磁珠、共模电感或TVS二极管,抑制电磁干扰(EMI)和静电放电(ESD)。 通过CH32V307的MAC控制寄存器(如MAC_CR、PHY_CR)禁用内置PHY的自动协商、链路检测等功能。例如,将PHY_CR中的PHY_ENABLE位清零。 若使用RTOS(如FreeRTOS)或轻量级协议栈(如LwIP),需在初始化代码中屏蔽内置PHY的检测逻辑,直接初始化外置PHY的驱动。 根据外置PHY的数据手册,编写初始化代码(如复位PHY、配置速率、双工模式等)。例如,通过MDIO接口(CH32V307的MDC和MDIO引脚)写入PHY寄存器
页:
[1]