上次寫了TC3XX MCAL CAN模塊的配置(回送門:簡析英飛凌TC3XX MCAL CAN模塊),今天來梳理一下ETH模塊的配置。 首先簡要的說明一下ETH模塊的特性: 1.支持10/100/1000M以太網(wǎng); 2.支持MII/RMII/RGMII接口; 3.支持全/半雙工工作模式; 4.以太網(wǎng)幀最大的長度為1522bytes; 5.MCAL中僅使用了Tx DMA0和Rx DMA0。 ETH的硬件硬件結(jié)構(gòu)圖如下圖所示。 ![]() MCAL中關(guān)鍵的API接口: Eth_17_GEthMac_Init,用于使能、復(fù)位Eth模塊以及MIDO接口初始化; Eth_17_GEthMac_ProvideTxBuffer,用于建立指定發(fā)送的buffer,輸入?yún)?shù)包括Controller,BufferID,Buffer內(nèi)容,以及長度。 Eth_17_GEthMac_SetControllerMode,設(shè)置以太網(wǎng)控制器的模式。 Eth_17_GEthMac_GetControllerMode,獲取以太網(wǎng)控制器的模式。 Eth_17_GEthMac_SetPhysAddr,設(shè)置控制器的MAC地址。 Eth_17_GEthMac_GetPhysAddr,獲取控制器的MAC地址。 Eth_17_GEthMac_WriteMii,設(shè)置PHY寄存器內(nèi)容。 Eth_17_GEthMac_ReadMii,讀取PHY寄存器內(nèi)容。 Eth_17_GEthMac_Transmit,以太網(wǎng)數(shù)據(jù)發(fā)送。 Eth_17_GEthMac_Receive,以太網(wǎng)數(shù)據(jù)接收。 Eth_17_GEthMac_TxConfirmation,以太網(wǎng)數(shù)據(jù)發(fā)送的回調(diào)函數(shù)。 MCA配置: 第一步是配置時鐘參考,如下圖所示。 ![]() 第二步就是控制器的配置,包括速度、工作模式、MCA地址、buffer程度、MDIO等,如下圖所示。 ![]() 第三步,配置發(fā)送和接口的接口,以及使能RGMII的讀寫操作,配置數(shù)據(jù)接收的形式。 ![]() 第四步,配置port硬件為復(fù)位類型,所有用于Eth驅(qū)動的輸入引腳必須配置為PORT_PIN_RGMII_DRIVER,PORT_RGMII_INPUT,如下圖所示。 ![]() 第五步,使能發(fā)送和接收的DMA中斷。 ![]() |
|