0101以太网简介STM32F20X和STM32F21的以太网外围设备可以根据IEE802.3-2002标准接收和发送数据。
以太网提供了一个完整而灵活的外围设备,可以满足不同的应用和要求。
它支持两个连接到外部(PHY)的标准工业接口:默认情况下使用IEEE802.3规范中定义的独立于介质的接口(MII)和不依赖于质量的精细接口(RMII)。
它可以用于大量需求,例如交换机(交换机),网络接口卡等。
以太网满足以下标准:●IEEE802.3-2002,用于以太网MAC。
●IEEE1588-2008标准,用于指定网络时钟同步的准确性。
●AMBA2.0,用于AHB主/从端口。
●RMII联盟的RMII规范。
02 STM32F207 ETH简介STM32F207支持MII接口和RMII接口。
STM32F207以太网外围设备包括MAC802.3(媒体访问控制)和DMA控制器。
默认情况下,它支持MII和RMII接口,并通过选择位(参见SYSCFG_PMC寄存器)进行切换。
DMA控制器通过AHB主从接口和内核连接到内存。
AHB主接口控制数据传输,而AHB从接口则用于访问控制和状态寄存器(CSR)空间。
在MAC内核发送数据之前,数据通过DMA发送到FIFO中的缓冲区。
同样,接收FIFO存储通过线路接收的以太网数据帧,直到这些数据帧通过DMA传输到系统存储器为止。
以太网外围设备还包括用于与外部PHY通信的SMI。
通过配置一组寄存器,用户可以选择MAC和DMA控制器的不同模式和功能。
使用以太网时,AHB时钟必须至少为25MHZ。
以下是关于AHB的连接信息的ETH框图:区域1:我们称其为SMI接口,用于配置外部PHY芯片。
区域2:数据交换接口,即我们上面提到的MII接口和RMII接口。
03SMI接口3.1。
站管理接口:SMI站管理接口允许任何PHY寄存器请求通过2线时钟和数据线传递。
该接口最多支持32个PHY。
应用程序可以从32个PHY中选择一个PHY,然后从任何PHY中包含的32个寄存器中选择一个寄存器来发送控制数据或接收状态信息。
在任何给定时间只能访问PHY中的一个寄存器。
MDC:周期时钟,在以2.5MHz的最大频率传输数据时提供参考定时。
MDC的最小高电平时间和最小低电平时间都必须为160ns。
MDC的最小周期必须为400ns。
在空闲状态下,SMI管理接口将MDC时钟信号驱动为低电平。
MDIO:数据输入/输出位流,用于通过MDC时钟信号向PHY设备同步发送状态信息。
3.2。
SMI帧结构下图显示了读取操作和写入操作的帧结构。
比特传输必须是从左到右。
前同步码(32位前同步码):每次传输(读或写)都必须以前同步码开头。
序言是32个连续的逻辑' 1' MDIO线上的信号和相应MDC线上的32个时钟信号。
信号的这一部分用于建立与PHY设备的同步。
起始(起始字符):帧的起始字符定义为' 01'即,MDIO行从逻辑' 1'中掉线。
到' 0'然后返回到' 1'标记传输。
开始。
操作:用于定义操作类型:读或写。
PADDR:PHY地址具有5位,可以区分32个PHY。
高位先发送和接收。
RADDR:寄存器的地址有5位,可寻址32个独立的寄存器。
高位先发送和接收。
TA:在RADDR和数据(DATA)之间插入2位转向符号,以避免在读取操作期间发生冲突。
在读取操作期间,MAC控制器在TA的两位时间期间保持MDIO线的高阻抗状态,而PHY器件首先保持1位高阻抗状态,并输出' 0'信号在第二位。
在写操作期间,在TA的2位时间内,MAC控制器驱动MDIO线输出' 10'。
PHY设置保持高阻状态DATA(数据):16位数据字段。
第一个发送和接收的是ETH_MIID寄存器的第15位。
空闲位:MDIO线保持高阻状态。
取消所有三态驱动器,并且PHY的上拉电阻器确保MDIO线处于逻辑“ 1”。
3.3。
SMI写入操作当应用程序将MII写入和繁忙位设置为1时