开发大型网站的流程,做网站做什么公司好,湛江怎样建设自己的网站,主流大型网站开发语言调查前言
使用stm32和lwip进行网络通信开发时#xff0c;实现结构如下#xff1a; 而MII和RMII就是stm32与PHY芯片之间的通信接口#xff0c;类似于I2C、UART等。 stm32以太网模块有专用的DMA控制器#xff0c;通过AHB接口将以太网内核和存储器相连。 数据发送时#xff0c;…前言
使用stm32和lwip进行网络通信开发时实现结构如下 而MII和RMII就是stm32与PHY芯片之间的通信接口类似于I2C、UART等。 stm32以太网模块有专用的DMA控制器通过AHB接口将以太网内核和存储器相连。 数据发送时先将数据从存储器以DMA传输到TX FIFO中进行缓冲然后由MAC内核通过MII或RMII接口发送 数据接收时RX FIFO先通过MII或RMII接收以太网数据帧再由DMA传输至存储器。 ETH功能系统框图如下 MII和RMII用于连接stm32 MAC控制器和PHY芯片提供数据传输路径。RMII接口是MII接口的简化版本MII需要16跟通信线RMII需要7根。
MII接口
MII接口连接示意图如下 TX_CLK为数据发送提供时钟信号传输速率为10Mbit/s时该时钟为2.5MHz传输速率为100Mbit/s时该时钟为25MHz因为每次传4bit所以时钟信号与传输速率之间是4倍关系。 RX_CLK为数据接收提供时钟信号传输速率为10Mbit/s时该时钟为2.5MHz传输速率为100Mbit/s时该时钟为25MHz。 TX_EN数据发送使能信号在整个数据发送过程中保持有效电平。 TXD[3:0]数据发送数据线每次发4bit数据TXD[0]是数据最低位TXD[3]是最高位。 RXD[3:0]数据接收数据线每次接收4bit数据RXD[0]是数据最低位RXD[3]是最高位。在RX_DV禁止、RX_ER使能时PHY芯片会通过RXD[3:0]传输一组特殊数据来告诉一些特殊信息。 RX_DV接收数据有效信号功能类似于TX_EN,由PHY芯片负责驱动。 RX_ER接收错误信号线由 PHY 驱动向 MAC 控制器报告在帧某处检测到错误。
RMII接口
RMII接口示意图如下 与MII接口相比区别如下 1.接受数据线和发送数据线由4根变成了2根。 2.MII的CRS 和 RX_DV整合成RMII的CRS_DV 信号线。 3.没有了COL冲突检测信号。 4.没有了数据接收、发送时钟信号取而代之的是REP_CLK时钟源。
SMI接口
在MII和RMII接口连接示意图中都有MDC和MDIO两个信号线这两个信号线是SMI接口类似与IIC用于访问PHY芯片的寄存器。 SMI接口示意图如下 MDC是周期性时钟信号MDIO是数据输入输出线。 向PHY芯片寄存器写数据时序图如下 从PHY芯片寄存器读数据时序图如下