首先简要的说明一下ETH模块的特性:
1.支持10/100/1000M以太网;
2.支持MII/RMII/RGMII接口;
3.支持全/半双工工作模式;
4.以太网帧最大的长度为1522bytes;
5.MCAL中仅使用了Tx DMA0和Rx DMA0。
ETH的硬件硬件结构图如下图所示。
MCAL中关键的API接口:
Eth_17_GEthMac_Init,用于使能、复位Eth模块以及MIDO接口初始化;
Eth_17_GEthMac_ProvideTxBuffer,用于建立指定发送的buffer,输入参数包括Controller,BufferID,Buffer内容,以及长度。
Eth_17_GEthMac_SetControllerMode,设置以太网控制器的模式。
Eth_17_GEthMac_GetControllerMode,获取以太网控制器的模式。
Eth_17_GEthMac_SetPhysAddr,设置控制器的MAC地址。
Eth_17_GEthMac_GetPhysAddr,获取控制器的MAC地址。
Eth_17_GEthMac_WriteMii,设置PHY寄存器内容。
Eth_17_GEthMac_ReadMii,读取PHY寄存器内容。
Eth_17_GEthMac_Transmit,以太网数据发送。
Eth_17_GEthMac_Receive,以太网数据接收。
Eth_17_GEthMac_TxConfirmation,以太网数据发送的回调函数。
MCA配置:
第一步是配置时钟参考,如下图所示。
第二步就是控制器的配置,包括速度、工作模式、MCA地址、buffer程度、MDIO等,如下图所示。
第三步,配置发送和接口的接口,以及使能RGMII的读写操作,配置数据接收的形式。
第四步,配置port硬件为复位类型,所有用于Eth驱动的输入引脚必须配置为PORT_PIN_RGMII_DRIVER,PORT_RGMII_INPUT,如下图所示。
第五步,使能发送和接收的DMA中断。
审核编辑:刘清
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:梳理一下TC3XX MCAL ETH模块的配置-tc1tc2tc3划分 https://www.yhzz.com.cn/a/3844.html