Microchip
直播中

梅宁琛

8年用户 246经验值
私信 关注
[问答]

Harmony TCP/IP为其他物理设备实现驱动程序吗

我的问题的简短版本:当使用和谐时,如何实现我自己的以太网PHY驱动程序?长版本:在PIC32 MX上使用旧的TCP/IP协议栈(V5.41.02),我为MICRORKS8021RNL以太网PHY实现了自己的驱动程序。我所要做的就是实现一个文件ETHPIC32ExtPhyKS8021RNL.c,它实现了四个简单的函数:EthPhyConfigureMII()、EthPhyConfigureMdix()、EthPhyMIIMAddress()、EthPhyMIIMClock()。它有一个新的PIC32 MZ与麦克雷尔KSZ8081RNL。我正在走向和谐(V1.07)。我需要做些什么来实现这个新的和谐驱动?我要清楚的是:我已经知道如何与PHY芯片对话了。我问我把我的司机代码和/或我必须采取什么其他步骤,所以它工作与和谐。

回帖(6)

云达贞

2020-5-8 07:12:30
如果v5.41.02只需要添加适当的4个供应商函数,那么对于Harmony也是相同的。您必须提供实现4个函数的typeDRV_ETHPHY_OBJECT对象(参见C:ispgit.framework.ethphyethphy drv_ethphy.h::DRV_ETHPHY_OBJECT定义):-miiConfigure-mdixConfigure-smiClockGet-wolConfigure(当前没有使用该函数,您可以忽略它)。因此,生成PHY地址的函数消失了,因为该函数是由配置提供的。其他三个函数是相同的,但是它们是作为对象的一部分组织的(允许多个ter./PHYs在运行时共存)。为了实现这三个简单函数,以所提供的驱动程序之一为例(参见文件末尾的列表)。
举报

陈亮

2020-5-8 08:06:17
嗨,但是当将PIC32 MII I/F连接到另一个MII(在反向MII模式下)时,如何实现驱动程序呢?另一端没有可用的MIMI/F(MDIO+MDCK信号)可以连接。导致驱动器MIIM请求无效(MDIO和MDCK没有连接)。如何处理?当连接PIC32和一些PHY而不连接MDIO+MDCK(刚刚检查)时,也会出现同样的问题。如果您不需要链接状态,并且能够将PHY绑定到相同的速度/DUPLEX,则不需要任何MIIM通信。但是,TCPIP堆栈在没有成功初始化的PHY驱动程序的情况下不能运行,如我所见。配置:Windows 7、MPLAB-X v3.45、Harmony v2.01b、XC32 v1.42、PIC32MX795F512H<==MII==>PSB6972
举报

李蕊

2020-5-8 08:33:36
MII与MII连接是不允许的。你有一些硬件握手需要做。最简单的方法是开关或使用两个LAN820A PHYS的“背板”配置(无需磁性)。注意,LAN820A是电流开关,允许背板操作(上拉电阻,块帽)。KSZ808或KSZ8091使用电压开关,不允许背板操作。具有多个RMII/MII接口的开关。一个五端***换机,如KSZ8895,或者是一个FPGA来处理MII接口之间的握手。
举报

云达贞

2020-5-8 08:59:20
不清楚你为什么要弄乱MAC驱动程序,它应该是所有的物理,这就是你要改变的。请给出一些细节。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分