网络硬件接口
在电脑领域的“原始社会”,网卡是独立的硬件,如果电脑要上网就得买个网卡插上去,类似现在的显卡一样但是大家现在观察自己的笔记本或者台式机主板会发现并没有类似显卡一样的网卡设备,原因是随着技术的不断发展,现在只需要一个芯片就可以实现有线网卡功能,因此网卡芯片都直接放到了主板上。嵌入式网络硬件分为两部分:MAC和PHY,大家都是通过看数据手册来判断一款SOC是否支持网络,如果一款芯片数据手册说自己支持网络,一般都是说的这款SOC内置MAC,MAC类似I2C控制器、SPI控制器一样的外设。但是光有MAC还不能直接驱动网络,还需要另外一个芯片:PHY,因此对于内置MAC的SOC,其外部必须搭配一个PHY芯片。但是有些SOC内部没有MAC,那也就没法搭配PHY芯片了嵌入式中的网络硬件方案:SOC内部没有网络MAC外设。那么可以找个外置的MAC芯片啊,不过一般这种外置的网络芯片都是MAC+PHY一体的。SOC内部集成网络MAC外设。好处:成本低、速度快、可选择性多等
MII/RMII接口
目的是与PYH传输网络数据内部MAC通过MII/RMII接口来与外部的PHY芯片连接成网络数据传输MII接口:MII接口用于以太网MAC连接PHY芯片,MII接口一共有16根信号线。TX_CLK:发送时钟,如果网速为100M的话时钟频率为25MHz,10M网速的话时钟频率为5MHz,此时钟由PHY产生并发送给MAC。TX_EN:发送使能信号。TX_ER:发送错误信号,高电平有效,表示TX_ER有效期内传输的数据无效。10Mpbs网速下TX_ER不起作用。TXD[3:0]:发送数据信号线,一共4根。RXD[3:0]:接收数据信号线,一共4根。RX_CLK:接收时钟信号,如果网速为100M的话时钟频率为25MHz,10M网速的话时钟频率为5MHz,RX_CLK也是由PHY产生的。RX_ER:接收错误信号,高电平有效,表示RX_ER有效期内传输的数据无效。10Mpbs网速下RX_ER不起作用。RX_DV:接收数据有效,作用类似TX_EN。CRS:载波侦听信号。COL:冲突检测信号。MII接口的缺点就是所需信号线太多,这还没有算MDIO和MDC这两根管理接口的数据线,因此MII接口使用已经越来越少了。RMII接口:MII接口的精简版本,RMII接口只需要7根数据线。TX_EN:发送使能信号。TXD[1:0]:发送数据信号线,一共2根。RXD[1:0]:接收数据信号线,一共2根。CRS_DV:相当于MII接口中的RX_DV和CRS这两个信号的混合。REF_CLK:参考时钟,由外部时钟源提供,频率为50MHz。这里与MII不同,MII的接收和发送时钟是独立分开的,而且都是由PHY芯片提供的。除了MII和RMII以外,还有其他接口,比如GMII、RGMII、SMII、SMII等,关于其他接口基本都是大同小异的,这里就不做讲解了。
MDIO接口
目的配置PHY的各个寄存器管理数据输入输出接口,是一个简单的两线串行接口,一根MDIO数据线,一根MDC时钟线。驱动程序可以通过MDIO和MDC这两根线访问PHY芯片的任意一个寄存器。MDIO接口支持多达32个PHY。同一时刻内只能对一个PHY进行操作。,MAC和外部PHY芯片进行连接的时候主要是MII/RMII和MDIO接口,另外可能还需要复位、中断等其他引脚
RJ45接口
RJ45我们呢都很熟悉,这里多不bb了,RJ45座子上一般有两个灯,一个黄色(橙色),一个绿色,绿色亮的话表示网络连接正常,黄色闪烁的话说明当前正在进行网络通信。RJ45座要与PHY芯片连接在一起,但是中间需要一个网络变压器,网络变压器用于隔离以及滤波等,网络变压器也是一个芯片,现在很多RJ45座子内部已经集成了网络变压器,内置网络变压器的RJ45座和不内置的引脚一样,但是一般不内置的RJ45座会短一点。
我们常常采用方案2
内置的MAC+外设PHY+硬件接口RJ45
文章为作者独立观点,不代表股票交易接口观点