S32K3+lwip裸机(三)调用MDIO读取配置PHY寄存器

S32K3+lwip裸机(三)调用MDIO读取配置PHY寄存器

什么是MDIO
MDIO是单片机与以太网通讯的桥梁,通过MIDO总线可以读取PHY寄存器和写入PHY寄存器
MDIO分为时钟线(MDC)和数据线(MDI0),MDC的时钟线
MDIO两种通讯格式
MDIO分为Clause22和Clasuse45,寄存器比较多的千兆以太网选用Clasuse45的比较多,普通百兆一般选择Clause22通讯。
C
在这里插入图片描述在这里插入图片描述

	Clause22的格式如上图
	 PRE:帧前导码,为32个连续“1”比特。

ST:帧开始标志, Clause22 的开始标志为比特“01”。
OP:操作码,CL22中比特“10”表示此帧为一读操作帧,比特“01”表示此帧为一写操作帧。
PHYAD:MMD的物理地址,5个比特,每个MMD都把自己的地址与这5个比特进行比较,若匹配则响应后面的操作,若不匹配,则忽略掉后面的操作。
REGAD:用来选MMD的32个寄存器中的某个寄存器的地址。
TA:状态转换域,若为读操作,则第一比特时MDIO为高阻态,第二比特时由MMD使MDIO置“0”。若为写操作,则MDIO仍由STA控制,连续输出“10”两个比特。
DATA:帧的寄存器的数据域,16比特,若为读操作,则为MMD送到STA的数据,若为写操作,则为STA送到MMD数据。
IDLE:帧结束后的空闲状态,此时MDIO无源驱动,处高阻状态。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PRE:帧前导码,为32个连续“1”比特。
ST:帧开始标志, 为了区别CL22,Clause45 的开始标志为比特“00”。
OP:操作码,Clause45有4种操作码,比特“00”表示设置当前寄存器地址,比特“01”表示写当前寄存器。比特“10”表示读当前寄存器,比特“11”表示读当前寄存器读完后把当前寄存器的值加1,用于顺序读。
PRTAD:Port Address,端口地址, 也称物理地址。
DEVAD:器件地址,CL45新增概念,各值与器件对应如下。

REGAD:用来选MMD的65536个寄存器中的某个寄存器的地址。
TA:状态转换域,若为读操作,则第一比特时MDIO为高阻态,第二比特时由MMD使MDIO置“0”。若为写操作,则MDIO仍由STA控制,连续输出“10”两个比特。
DATA:帧的寄存器的数据域,16比特,若为读操作,则为MMD送到STA的数据,若为写操作,则为STA送到MMD数据。
IDLE:帧结束后的空闲状态,此时MDIO无源驱动,处高阻状态

MDIO的时钟来源为单片机的内核分频,在不接PHY的情况下仍可以输出

PHY的寄存器定义数量有限,后面厂家为更多的配置开启了扩展功能
register 0,其中有REST 和SPEED;
register 17,其中有link连接,模式;
register 23,其中有link_up状态,LOC_RCVR_STATUS , PHY_STATE

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
S32K3是一种汽车电子控制单元,可以通过配置来实现CAN(Controller Area Network)通信功能。 配置S32K3的CAN主要分为硬件配置和软件配置两个方面。 硬件配置方面,首先需要连接CAN通信总线,包括CANH和CANL两个引线。通常情况下,这两根引线需要连接到S32K3芯片的CAN模块上,以实现CAN总线的物理连接。接下来需要配置CAN总线的工作电压,电压的设置需要根据实际系统的需求进行配置。最后,还需要配置S32K3的GPIO引脚,以将CAN总线的收发引线与CAN模块相连。 软件配置方面,S32K3通常使用MCUXpresso IDE进行软件开发和调试。在软件设计过程中,需要配置CAN模块的工作模式,包括CAN控制器的时钟源和位速率。同时,需要配置CAN的基本参数,例如CAN的起始ID、过滤器设置以及中断使能等。此外,还需要编写相应的发送和接收消息的代码,通过CAN帧的格式进行数据的传输。 除了基本的CAN配置之外,还可以根据具体的应用需求进行更高级的配置,例如设置CAN节点的运行模式、异常处理和错误处理等。 总的来说,配置S32K3的CAN需要进行硬件和软件两方面的设置。硬件配置主要包括物理连接和引脚配置,而软件配置则涉及到工作模式、参数设置和消息传输等。通过合理的配置,可以实现S32K3的CAN通信功能,从而满足汽车电子系统在通信和控制方面的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值