Ethernet的接口实质是MAC通过MII总线控制PHY的过程

  • 当soc不包括mac的时候

soc  - mdio接口/spi接口/gpio接口-- mac ---RGMII/RMII---phy -----差分信号-----RJ45接口网线

  • 当soc集成mac的时候
soc   -- RGMII/RMII ----phy -----差分信号-----RJ45接口网线
 |________MDIO/MDCK_____|

// MDIO/MDCK 被称作 MI(Management Interface) 接口 , MI接口用于MAC层与PHY层之间的管理和控制,主要负责PHY层的配置和状态监控
// RGMII/RMII 被称作 MII(Media Independent Interface)接口 , MII是IEEE 802.3标准定义的接口,位于MAC层和PHY层之间,主要用于数据传输
  • 注意:
//MDIO是用来传输控制命令的,控制芯片
//RGMII接口是用来传输网络数据的,用来传输从网络或者从芯片来的数据

PHY是 IEEE802.3 中定义的一个标准模块。

1.
soc(带mac和phy) -----差分信号-----RJ45接口网线
2.
soc(带mac,不带phy)   -- RGMII/RMII ----phy -----差分信号-----RJ45接口网线
3.  
soc(不带mac,不带phy)  - mdio接口/spi接口/gpio接口-- mac(带phy) -----差分信号-----RJ45接口网线
 		|________MDIO/MDCK_________________________|
4.
soc(不带mac,不带phy)  - mdio接口/spi接口/gpio接口-- mac(不带phy) ---RGMII/RMII---phy -----差分信号-----RJ45接口网线
		 |________MDIO/MDCK________________________|
    
// soc 自带mac和phy 也可以用外置的
//stm32 103不带以太网模块,105和107带
//MDIO是用来传输控制命令的,控制芯片
//RGMII接口是用来传输网络数据的,用来传输从网络或者从芯片来的数据
  • ENC28J60
ENC28J60集成了MAC控制器和PHY收发器,属于 模型 3,接口为spi,四线两line
除了这个网络芯片,还有 并口形式的RTL8019S,CS8900A等.
需要提供的ops有三个
ENC28J60_Init
ENC28J60_Packet_Receive
ENC28J60_Packet_Send

ENC28J60_Init // 还需要用 ENC28J60_PHY_Write 来初始化灯
	1. 初始化spi
	2. rset enc
	3. 设置 enc
	4. 判断是否初始化enc 成功
ENC28J60_Packet_Receive
	1.读是否接到包
	2.读包的状态(长度)
    3.复制包到内存
    4.判断是否已经读到包(读硬件)
ENC28J60_Packet_Send
	1.复制包到硬件
	2.判断是否复制完成
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐