以太网接口和框图详细讲解
- 格式:pdf
- 大小:650.73 KB
- 文档页数:31
以太网PCB布布线————————————————————————————————作者:————————————————————————————————日期:以太网PCB布局布线我们现今使用的网络接口均为以太网接口,目前大部分处理器都支持以太网口。
目前以太网按照速率主要包括10M、10/100M、1000M 三种接口,10M应用已经很少,基本为10/100M所代替。
目前我司产品的以太网接口类型主要采用双绞线的RJ45接口,且基本应用于工控领域,因工控领域的特殊性,所以我们对以太网的器件选型以及PCB设计相当考究。
从硬件的角度看,以太网接口电路主要由MAC(Media Access Controlleroler)控制和物理层接口(Physical Layer,PHY)两大部分构成。
大部分处理器内部包含了以太网MAC控制,但并不提供物理层接口,故需外接一片物理芯片以提供以太网的接入通道。
面对如此复杂的接口电路,相信各位硬件工程师们都想知道该硬件电路如何在PCB上实现。
下图 1以太网的典型应用。
我们的PCB设计基本是按照这个框图来布局布线,下面我们就以这个框图详解以太网有关的布局布线要点。
图 1 以太网典型应用1. 图 2网口变压器没有集成在网口连接器里的参考电路PCB 布局、布线图,下面就以图 2介绍以太网电路的布局、布线需注意的要点。
图 2变压器没有集成在网口连接器的电路PCB布局、布线参考a) RJ45和变压器之间的距离尽可能的短,晶振远离接口、PCB 边缘和其他的高频设备、走线或磁性元件周围,PHY层芯片和变压器之间的距离尽可能短,但有时为了顾全整体布局,这一点可能比较难满足,但他们之间的距离最大约10~12cm,器件布局的原则是通常按照信号流向放置,切不可绕来绕去;b) PHY层芯片的电源滤波按照要芯片要求设计,通常每个电源端都需放置一个退耦电容,他们可以为信号提供一个低阻抗通路,减小电源和地平面间的谐振,为了让电容起到去耦和旁路的作用,故要保证退耦和旁路电容由电容、走线、过孔、焊盘组成的环路面积尽量小,保证引线电感尽量小;c) 网口变压器PHY层芯片侧中心抽头对地的滤波电容要尽量靠近变压器管脚,保证引线最短,分布电感最小;d) 网口变压器接口侧的共模电阻和高压电容靠近中心抽头放置,走线短而粗(≥15mil);e) 变压器的两边需要割地:即RJ45连接座和变压器的次级线圈用单独的隔离地,隔离区域100mil以上,且在这个隔离区域下没有电源和地层存在。
视频硬件培训方案-MII接口介绍蒋汉初1.MII接口名词解释MII (Media Independent Interface 介质无关接口) MII即媒体独立接口,它是IEEE-802.3定义的以太网行业标准。
MII接口一定会包含两部分,一个数据接口,以及一个MAC和PHY之间的管理接口。
数据接口包括分别用于发送器和接收器的两条独立信道。
每条信道都有自己的数据、时钟和控制信号。
MII数据接口总共需要16个信号。
管理接口是个双信号线接口:一个是时钟信号,另一个是数据信号。
通过管理接口,上层能监视和控制PHY。
MII 管理接口(Management interface)只有两条信号线,就是我们熟悉的MDC/MDIO接口。
2.MII接口种类MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XLAUI等。
我们在这里只讨论MII、RMII、SMII、GMII接口。
MII 支持10 兆和100 兆的操作,它要求是25 兆的总线时钟,一个接口由14 根线组成(没考虑收发时钟),它的支持还是比较灵活的,但是有一个缺点是因为它一个端口用的信号线太多,如果一个8 端口的交换机要用到112 根线,16 端口就要用到224 根线,到32 端口的话就要用到448 根线,一般按照这个接口做交换机,是不太现实的,所以现代的交换机的制作都会用到其它的一些从MII 简化出来的标准,比如RMII、SMII、GMII 等。
RMII 是简化的MII 接口,在数据的收发上它比MII 接口少了一倍的信号线,所以它一般要求是50 兆的总线时钟。
RMII 一般用在多端口的交换机,它不是每个端口安排收、发两个时钟,而是所有的数据端口公用一个时钟用于所有端口的收发,这里就节省了不少的端口数目。
RMII 的一个端口要求7 根数据线,比MII 少了一倍,所以交换机能够接入多一倍数据的端口。
以太网物理接口介绍一、以太网接口类型以太网接口常用有双绞线接口(俗称电口)和光纤接口(俗称光口)2种。
另外还有早期的同轴电缆接口。
下面是常用以太网接口的代号:10BASE2: 采用细同轴电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 10.)10BASE5: 采用粗同轴电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 8.)10BASE-F:采用光纤电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 15.)10BASE-T:采用电话双绞线的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 14.)100BASE-FX: 采用两个光纤的IEEE 802.3 100Mb/s 物理层规格 (参见 IEEE 802.3 Clauses 24 and 26.)100BASE-T2: 采用两对3类线或更好的平衡线缆的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 32.)100BASE-T4: 采用四对3、4、5类线非屏蔽双绞线的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 23.)100BASE-TX: 采用两对5类非屏蔽双绞线或屏蔽双绞线的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clauses 24 and 25.) 1000BASE-CX: 1000BASE-X 在特制的屏蔽电缆传输的接口规格(参见 IEEE 802.3 Clause 39.)1000BASE-LX: 1000BASE-X 采用单模或多模长波激光器的规格(参见 IEEE 802.3 Clause 38.)1000BASE-SX: 1000BASE-X 采用多模短波激光器的规格(参见 IEEE 802.3 Clause 38.)1000BASE-T: 采用四对五类平衡电缆的1000 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 40.)1.电口电口传输距离标准为100m,电口采用RJ-45接口。
千兆以太⽹(6):以太⽹接⼝详细介绍(转)原⽂作者:o倚楼听风⾬o------------------------------------------------------------------------------------------------- MII (Media Independent Interface(介质⽆关接⼝)或称为媒体独⽴接⼝,它是IEEE-802.3定义的以太⽹⾏业标准。
它包括⼀个数据接⼝和⼀个MAC和PHY之间的管理接⼝。
“媒体独⽴”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常⼯作。
MII接⼝的类型有很多,常⽤的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII,下⾯对它们进⾏⼀⼀介绍。
⼀、MII MII接⼝共有 16 根线,说明如下:⼆、RMII RMII 即 Reduced MII,是MII的简化板,连线数量由MII的16根减少为8根,说明如下: 在100Mbps速率时,TX/RX每个时钟周期采样⼀个数据;在10Mbps速率时,TX/RX每隔10个周期采样⼀个数据,因⽽TX/RX数据需要在数据线上保留10个周期,相当于⼀个数据发送10次。
当PHY层芯⽚收到有效的载波信号后,CRS_DV信号变为有效,此时如果FIFO中还没有数据,则它会发送出全0的数据给MAC,然后当FIFO中填⼊有效的数据帧,数据帧的开头是“101010—”交叉的前导码,当数据中出现“01”的⽐特时,代表正式数据传输开始,MAC芯⽚检测到这⼀变化,从⽽开始接收数据。
当外部载波信号消失后,CRS_DV会变为⽆效,但如果FIFO中还有数据要发送时,CRS_DV在下⼀周期⼜会变为有效,然后再⽆效再有效,直到FIFO中数据发送完为⽌。
在接收过程中如果出现⽆效的载波信号或者⽆效的数据编码,则RX_ER会变为有效,表⽰物理层芯⽚接收出错。
全面图解交换机接口及连接局域网交换机作为局域网的集中连接设备,它的接口类型是随着各种局域网和传输介质类型的发展而变化的,分析一下局域网的主要网络类型和传输介质发展过程,我们就不难发现各种交换机接口类型,下面我们就先来介绍目前仍存在的一些交换机接口,注意,因交换机的许多接口与路由器接口完全一样,所以在此仍以路由器上的相应接口进行介绍。
一、交换机接口类型1、双绞线RJ-45接口这是我们见的最多、应用最广的一种接口类型,它属于双绞线以太网接口类型。
它不仅在最基本的10Base-T以太网网络中使用,还在目前主流的100Base-TX快速以太网和1000Base-TX千兆以太网中使用。
虽然它们所使用的传输介质都是双绞线类型,但是它们却各自采用了不同版本的双绞线类型,如最初10Base-T使用的3类线到支持1000Base-TX千兆速率的6类线,中间的100Base-TX则中以使用所谓的五类、超五类线,当然也可以是六类线。
这些RJ-45接口的外观是完全一样的,如图1左图所示,像一个扁“T”字。
与之相连的是RJ-45水晶头,如图2中,右图分别为一个水晶头和做好水晶头连线的双绞网线。
如图2所示的就是一款24口RJ-45接口的以太网交换机,其中还有将在下文介绍的2个SC光纤接口和1个AUI接口。
图1图22、光纤接口对于光纤这种传输介质虽然早在100Base时代就已开始采用这种传输介质,当时这种百兆网络为了与普遍使用的百兆双绞线以太网100Base-TX区别,就称之为“100Base-FX”,其中的“F”就是光纤“Fiber”的第一个字母。
不过由于在当时的百兆速率下,与采用传统双绞线介质相比,优势并不明显,况且价格比双绞线贵许多,所以光纤在100Mbps时代产没有得到广泛应用,它主要是从1000Base技术正式实施以来才得以全面应用,因为在这种速率下,虽然也有双绞线介质方案,但性能远不如光纤好,且在连接距离等方面具有非常明显的优势,非常适合城域网和广域网使用。
深入理解网络接口类型在当今的信息时代,计算机网络已经成为我们日常生活和工作中不可或缺的一部分。
无论是企业内部的局域网,还是全球范围内的互联网,都需要依赖于各种各样的网络接口来实现数据的传输和交换。
而了解和掌握不同的网络接口类型,对于我们的工作和学习都具有重要的意义。
本文将对常见的网络接口类型进行详细的介绍。
一、以太网接口以太网接口是最常见的一种网络接口类型,它主要应用于局域网(LAN)中。
以太网接口的标准主要包括10BASE-T、100BASE-TX和1000BASE-T等,分别对应着10Mbps、100Mbps和1000Mbps的数据传输速率。
以太网接口通常使用RJ-45连接器,通过双绞线或光纤来实现数据的传输。
二、无线接口无线接口是一种不需要物理线路就能实现数据传输的网络接口。
常见的无线接口标准有802.11a/b/g/n/ac/ax等,它们分别对应着不同的数据传输速率和频率范围。
无线接口广泛应用于无线局域网(WLAN)和移动通信网络中。
三、令牌环接口令牌环接口是一种早期的网络接口类型,它主要用于IBM的令牌环网络中。
令牌环接口的数据传输速率为4Mbps或16Mbps,采用的是星形拓扑结构。
四、FDDI接口FDDI(Fiber Distributed Data Interface)接口是一种高速的光纤网络接口,它的数据传输速率达到100Mbps。
FDDI接口采用的是双环结构,具有很高的可靠性。
五、ATM接口ATM(Asynchronous Transfer Mode)接口是一种面向连接的分组交换技术,它可以提供高速的数据传输服务。
ATM接口的数据传输速率为155Mbps或622Mbps,适用于广域网(WAN)和城域网(MAN)。
六、串行接口串行接口是一种用于设备之间进行点对点通信的网络接口,如RS-232、RS-422和RS-485等。
串行接口的数据传输速率较低,但因其简单易用的特点,仍然在许多场合得到应用。
以太⽹接⼝PCB布局布线我们现今使⽤的⽹络接⼝均为以太⽹接⼝,⽬前⼤部分处理器都⽀持以太⽹⼝。
⽬前以太⽹按照速率主要包括10M、10/100M、1000M三种接⼝,10M应⽤已经很少,基本为10/100M所代替。
⽬前我司产品的以太⽹接⼝类型主要采⽤双绞线的RJ45接⼝,且基本应⽤于领域,因⼯控领域的特殊性,所以我们对以太⽹的器件选型以及PCB设计相当考究。
从硬件的⾓度看,以太⽹接⼝电路主要由MAC(Media Access Controlleroler)控制和物理层接⼝(Physical Layer,PHY)两⼤部分构成。
⼤部分处理器内部包含了以太⽹MAC控制,但并不提供物理层接⼝,故需外接⼀⽚物理芯⽚以提供以太⽹的接⼊通道。
⾯对如此复杂的接⼝电路,相信各位硬件⼯程师们都想知道该硬件电路如何在PCB上实现。
下图 1以太⽹的典型应⽤。
我们的PCB设计基本是按照这个框图来布局布线,下⾯我们就以这个框图详解以太⽹有关的布局布线要点。
图 1 以太⽹典型应⽤1. 图 2⽹⼝变压器没有集成在⽹⼝连接器⾥的参考电路PCB布局、布线图,下⾯就以图 2介绍以太⽹电路的布局、布线需注意的要点。
图 2变压器没有集成在⽹⼝连接器的电路PCB布局、布线参考 a) RJ45和变压器之间的距离尽可能的短,晶振远离接⼝、PCB边缘和其他的⾼频设备、⾛线或磁性元件周围,PHY层芯⽚和变压器之间的距离尽可能短,但有时为了顾全整体布局,这⼀点可能⽐较难满⾜,但他们之间的距离最⼤约10~12cm,器件布局的原则是通常按照信号流向放置,切不可绕来绕去; b) PHY层芯⽚的滤波按照要芯⽚要求设计,通常每个电源端都需放置⼀个退耦,他们可以为信号提供⼀个低阻抗通路,减⼩电源和地平⾯间的谐振,为了让电容起到去耦和旁路的作⽤,故要保证退耦和旁路电容由电容、⾛线、过孔、焊盘组成的环路⾯积尽量⼩,保证引线电感尽量⼩; c) ⽹⼝变压器PHY层芯⽚侧中⼼抽头对地的滤波电容要尽量靠近变压器管脚,保证引线最短,分布电感最⼩; d) ⽹⼝变压器接⼝侧的共模电阻和⾼压电容靠近中⼼抽头放置,⾛线短⽽粗(≥15mil); e) 变压器的两边需要割地:即RJ45连接座和变压器的次级线圈⽤单独的隔离地,隔离区域100mil以上,且在这个隔离区域下没有电源和地层存在。
⽹络通信实验(1)STM32F4以太⽹简介STM32F4 以太⽹简介STM32F407 芯⽚⾃带以太⽹模块,该模块包括带专⽤ DMA 控制器的 MAC 802.3(介质访问控制)控制器,⽀持介质独⽴接⼝ (MII) 和简化介质独⽴接⼝ (RMII),并⾃带了⼀个⽤于外部 PHY 通信的 SMI 接⼝,通过⼀组配置寄存器,⽤户可以为 MAC 控制器和 DMA 控制器选择所需模式和功能。
STM32F4 ⾃带以太⽹模块特点包括:⽀持外部 PHY 接⼝,实现 10M/100Mbit/s 的数据传输速率通过符合 IEEE802.3 的 MII/RMII 接⼝与外部以太⽹ PHY 进⾏通信⽀持全双⼯和半双⼯操作可编程帧长度,⽀持⾼达 16KB 巨型帧可编程帧间隔(40~96 位时间,以 8 为步长)⽀持多种灵活的地址过滤模式通过 SMI(MDIO)接⼝配置和管理 PHY 设备⽀持以太⽹时间戳(参见 IEEE1588-2008),提供 64 位时间戳提供接收和发送两组 FIFO。
⽀持 DMASTM32F4 以太⽹功能框图如图从上图可以看出, STM32F4 是必须外接 PHY 芯⽚,才可以完成以太⽹通信的,外部 PHY芯⽚可以通过 MII/RMII 接⼝与 STM32F4 内部 MAC 连接,并且⽀持 SMI(MDIO&MDC)接⼝配置外部以太⽹ PHY 芯⽚SMI 接⼝,即站管理接⼝,该接⼝允许应⽤程序通过 2 条线:时钟(MDC)和数据线(MDIO)访问任意 PHY 寄存器。
该接⼝⽀持访问多达 32 个 PHY,应⽤程序可以从 32 个 PHY 中选择⼀个 PHY,然后从任意 PHY 包含的 32 个寄存器中选择⼀个寄存器,发送控制数据或接收状态信息。
任意给定时间内只能对⼀个 PHY 中的⼀个寄存器进⾏寻址。
MII 接⼝,即介质独⽴接⼝,⽤于 MAC 层与 PHY 层进⾏数据传输。
STM32F407 通过 MII与 PHY 层芯⽚的连接如图MII_TX_CLK:连续时钟信号。
1 华为OptiX系列产品以太网组网应用关键字EPL EVPL EPLAN EVPLAN内容摘要随着Internet的高速发展,各种宽带接入和应用逐渐兴起,同时越来越多的新兴公司办公地点开始多元化,需要进行高速互连,而原有的窄带数据通信已经不能满足需求。
在这种情况下,MSTP(多业务传送平台)技术就应运而生了,它可以对多种类型的以太网业务在SDH平台进行处理和传送。
本部分主要了介绍了EPL、EVPL、EPLAN和EVPLAN以太网业务类型和组网应用的相关知识,并通过实际组网举例,主要帮助光网络维护人员更好的理解和掌握各种以太网业务的类型、组网应用以及各种组网间的差别,从而更好的维护MSTP网络。
1.1 概述华为公司的MSTP设备遵循ITU-T G.etnsrv的建议,可支持以下四种以太网业务类型:●以太网专线:EPL(Ethernet Private Line)●以太网虚拟专线:EVPL(Ethernet Virtual Private Line)●以太网私有局域网:EPLAN(Ethernet Private LAN)●以太网虚拟私有局域网:EVPLAN(Ethernet Virtual Private LAN)EPL(Ethernet Private Line)以太网私有专线:以太网透传业务,各个用户独占一个VCTRUNK带宽,业务延迟低,提供用户数据的安全性和私有性。
EVPL(Ethernet Virtual Private Line)以太网私有专线:又可称为VPN专线,其优点在于不同业务流可共享VC TRUNK通道,使得同一物理端口可提供多条点到点的业务连接,并在各个方向上的性能相同,接入带宽可调、可管理,业务可收敛实现汇聚,节省端口资源。
EPLAN( Ethernet Private LAN )以太网私有局域网:也称为二层(L2)交换业务,实现多点到多点的业务连接。
接入带宽可调,可管理,业务可收敛、汇聚。
007Ethernet(以太⽹)详解(⼆)⼀、以太⽹以太⽹是⼀种技术。
组织的标准制定了以太⽹的技术标准,它规定了包括的连线、电⼦信号和介质访问层的内容。
以太⽹有两类:第⼀类是经典以太⽹,第⼆类是,使⽤了⼀种称为的设备连接不同的计算机。
经典以太⽹是以太⽹的原始形式,运⾏速度从3~10 Mbps不等;⽽交换式以太⽹正是⼴泛应⽤的以太⽹,可运⾏在100、1000和10000Mbps那样的⾼速率,分别以、千兆以太⽹和万兆以太⽹的形式呈现。
以太⽹的标准结构为,但⽬前的快速以太⽹(、标准)为了减少冲突,将能提⾼的⽹络速度和使⽤效率最⼤化,使⽤交换机来进⾏⽹络连接和组织。
如此⼀来,以太⽹的拓扑结构就成了;但在逻辑上,以太⽹仍然使⽤总线型拓扑和(Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的总线技术。
⼆、硬件设计以太⽹接⼝硬件设计中,现在CPU集成度越来越⾼,都会集成MAC,⽽对于硬件设计来说,只需要外接PHY Transceiver IC即可实现以太⽹通信,⽽PHY芯⽚(以百兆为例)外围电路基本如下所⽰:RJ45连接器ESD保护芯⽚⽹络变压器PHY TransciverMAC Controller晶体电源状态指⽰灯1、RJ45连接器RJ是Registered Jack的缩写,意思是“注册的插座”。
在FCC(美国联邦通信委员会标准和规章)中RJ是描述公⽤电信⽹络的接⼝,计算机⽹络的RJ45是标准8位模块化接⼝的俗称。
连接器由插头(8P8C接头,⽔晶头)和插座组成。
如下图所⽰:关于接头引脚定义,⽬前存在两种标准:T568A和T568B(最通⽤)。
这两者的主要区别是橙⾊和绿⾊双绞线进⾏了交换,如下图所⽰:设计这两种标准只是在线缆颜⾊上有所区别,⽬的是在线缆侧实现交叉互连。
⽹络直通线常⽤于异种⽹络之间的互连(⽐如计算机交换机之间),交叉线常⽤于同种⽹络之间的互联(⽐如计算机与之间)。
实时嵌入式系统以太网接口及应用网络层次模型以太网层次模型以太网层次功能物理层:物理层:定义了数据传输与接收所需要的光与电信号光与电信号,,线路状态线路状态,,时钟基准时钟基准,,数据编码电路等编码电路等。
并向数据链路层设备提供标准接口准接口。
数据链路层数据链路层::提供寻址机制提供寻址机制,,数据帧的构建,数据差错检查数据差错检查,,传输控制传输控制。
向网络层提供标准的数据接口等功能提供标准的数据接口等功能。
IP 层IP 数据报以太网的MAC 帧格式在帧的前面插入的8 字节中的第一个字段共7 个字节,是前同步码,用来迅速实现MAC 帧的比特同步。
第二个字段是帧开始定界符,表示后面的信息就是MAC 帧。
MAC 帧物理层MAC 层以太网V2MAC 帧目的地址源地址类型数据FCS6624字节46 ~ 150010101010101010 10101010101010101011前同步码帧开始定界符7 字节1 字节…8 字节插入为了达到比特同步,在传输媒体上实际传送的要比MAC 帧还多8 个字节以太网接口的构成从硬件的角度看,从硬件的角度看,以太网接口电路主要由MAC MAC控制器和物理层接口控制器和物理层接口控制器和物理层接口((Physical Layer Physical Layer,,PHY PHY))两大部分构成两大部分构成。
嵌入式网络应用的两种方案处理器加以太网接口芯片处理器加以太网接口芯片。
芯片如芯片如RTL8019RTL8019RTL8019、、RTL8029RTL8029、、RTL8139RTL8139、、CS8900CS8900、、DM9000DM9000等等,其内部结构也主要包含这两部分部结构也主要包含这两部分。
自带自带MAC MAC MAC控制器的处理器加物理层接口芯片控制器的处理器加物理层接口芯片控制器的处理器加物理层接口芯片。
如DP83848DP83848、、BCM5221BCM5221、、ICS1893ICS1893等等。
物理层芯片DP83848系统框图LPC1768的以太网接口LPC1700LPC1700系列处理器的以太网模块包含一个全特系列处理器的以太网模块包含一个全特性的性的10Mbps 10Mbps 10Mbps或或100Mbps 100Mbps的以太网介质访问控制器的以太网介质访问控制器(MAC MAC),),),采用采用采用DMA DMA DMA硬件加速器可以提供最优化硬件加速器可以提供最优化的性能的性能。
在LPC1700LPC1700系列处理器的以太网模块中有系列处理器的以太网模块中有系列处理器的以太网模块中有16KB 16KB 16KB的的专用专用SRAM SRAM SRAM数据缓存数据缓存数据缓存。
用于保存收发的以太网数据帧据帧。
该缓冲区可由以太网该缓冲区可由以太网DMA DMA DMA控制器使用控制器使用控制器使用。
从而大大减轻了而大大减轻了CPU CPU CPU对数据收发的开销对数据收发的开销对数据收发的开销。
以太网模块与片外以太网物理层接口采用以太网模块与片外以太网物理层接口采用MII MII (介质独立接口介质独立接口))或RMII RMII((简化的简化的MII MII MII))协议协议,,和片上的和片上的MIIM MIIM MIIM((MII MII管理管理管理))串行总线串行总线。
LPC1768的以太网接口LPC1768的以太网RMII 引脚和MIIM 引脚引脚名称类型引脚描述ENET_TX_EN 输出发送数据使能ENET_TXD[1:0]输出发送数据,发送数据,2位ENET_RXD[1:0]输入接收数据,接收数据,2位ENET_RX_ER 输入接收错误ENET_CRS 输入载波侦听载波侦听//数据有效ENET_REF_CLK/ENET_RX_CLK 输入参考时钟引脚名称类型引脚描述ENET_MDC 输出MIIM MIIM时钟时钟ENET_MDIO输入输入//输出MI MI数据输入和输出数据输入和输出帧描述符与状态字以太网DMA 控制器将每个以太网帧用一对描述和状态字来表示描述和状态字来表示。
描述符中包含了对应帧的数据起始地址以及数据长度应帧的数据起始地址以及数据长度。
状态字则保存了DMA 控制器处理该帧后控制器处理该帧后((发送或接收或接收))的结果的结果。
针对发送和接收分别对应有不同描述符与状态字队列状态字队列。
所以DMA 控制器一共维护4个循环队列个循环队列。
发送描述符及状态字队列发送描述符及状态字队列,,接收描述符及状态字队列接收描述符及状态字队列。
接收描述符与状态字队列接收描述符控制字段作用接收状态字位段说明发送描述符与状态字队列描述符与状态字队列描述符队列是用户程序和以太网DMA 控制器间数据交换的桥梁器间数据交换的桥梁。
DMA 控制器将描述符及状态字队列维护为循环队列循环队列。
队列的状态分为三种队列的状态分为三种::满,半满,空。
循环队列的操作通过循环队列的操作通过““队头队头””和“队尾队尾””实现实现。
描述符与状态字队列以太网队列中的以太网队列中的““队头队头””称为生产者(producer),负责将数据装入队列负责将数据装入队列,,“队尾”称为消费者(consumer),负责将数据从队列取出从队列取出。
接收队列发送队列发送数据DMA 控制器用户程序PRODUCER接收数据DMA 控制器PRODUCER 用户程序CONSUMER循环队列工作原理为了实现循环队列的操作为了实现循环队列的操作,,以太网DMA 控制器提供了4个描述符及状态字索引寄存器个描述符及状态字索引寄存器。
由DMA 维护的TxConsumeIndex ,RxProduceIndex 和软件驱动维护的TxProduceIndex,RxConsumeIndex 。
复位值均为0。
每操作一个元素每操作一个元素,,索引加1。
发送队列发送数据DMA 控制器TxConsumeIndex用户程序TxProduceIndex接收队列接收数据DMA 控制器RxProduceIndex 用户程序RxConsumeIndex循环队列工作原理在以太网数据收发时在以太网数据收发时,,软件驱动程序通过ConsumeIndex 和ProduceIndex 的关系就可以判断循环队列的状态断循环队列的状态。
当ConsumeIndex= ProduceIndex 时,队列为空队列为空。
当(ProduceIndex+1)%队列长度= ConsumeIndex 时,队列满队列满。
循环队列索引的翻转(WRAP AROUND)问题问题::在两个索引加1后,超出了队列的范围时超出了队列的范围时,,索引应该从队头重新开始索引该从队头重新开始索引。
由DMA 硬件维护的两个索引由硬件解决翻转索引由硬件解决翻转,,由软件维护的两个索引需要软件解决翻转问题要软件解决翻转问题。
循环队列工作原理接收队列接收数据DMA 控制器RxProduceIndex用户程序RxConsumeIndex接收数据接收数据接收数据队列满队列空翻转接收数据以太网接收数据举例控制字PACKET PACKET0x7FE01409状态字描述符状态字队列1707状态字07状态字12F0,共8字节F1,共8字节RxDescriptorRxStatus 0x7FE01411PACKET0x7FE01419PACKET0x7FE01325描述符队列控制字17控制字17控制字17数据包缓冲区RxProduceIndex=RxConsumeIndex=RxDescriptorNumber=30123123状态字07F2,共3字节F0,共8字节0队列翻转LPC1700以太网接口寄存器LPC1700LPC1700系列处理器以太网模块的寄存器分系列处理器以太网模块的寄存器分为4,包括大类大类,包括MAC MAC MAC寄存器类寄存器类寄存器类171717个寄存器个寄存器个寄存器、、控制寄存器类控制寄存器类171717个寄存器个寄存器个寄存器、、接收滤波器类接收滤波器类55个寄存器个寄存器,,以及模块控制寄存器类以及模块控制寄存器类55个寄存器,共计共计444444个寄存器个寄存器个寄存器。
详见表详见表5.285.28应用举例本以太网接口实例实现LPC1700以太网接口的初始化口的初始化,,实现以太网接入及以太网数据收发据收发。
初始化内容初始化内容::DP83848芯片初始化芯片初始化,,以太网接口初始化网接口初始化,,以太网缓冲区初始化以太网缓冲区初始化。
以太网接口初始化流程1打开、使能以太网引脚使能以太网引脚,,打开EMAC EMAC EMAC控制器控制器2、利用利用MAC_MAC1 MAC_MAC1 MAC_MAC1 和和MAC_COMMAND MAC_COMMAND 寄存器复位以太网模寄存器复位以太网模式3、初始化初始化MAC MAC MAC控制寄存器控制寄存器控制寄存器,,设置MAC_MAC1 MAC_MAC1 、、MAC_MAC2 MAC_MAC2 、、MAC_MAXF MAC_MAXF 、、MAC_CLRT MAC_CLRT 、、MAC_IPGR MAC_IPGR等寄等寄存器4、使能使能RMII RMII RMII接口接口接口,,复位复位RMII RMII RMII逻辑逻辑5、利用利用write_PHY()write_PHY()write_PHY()和和read_PHY()read_PHY()函数操作函数操作函数操作DP83848DP83848DP83848::复位、检查芯片和链路状态检查芯片和链路状态、、6、利用利用MAC_IPGT MAC_IPGT MAC_IPGT和和MAC_SUPP MAC_SUPP寄存器配置速率和双工模式寄存器配置速率和双工模式7、利用利用MAC_SA MAC_SA MAC_SA寄存器设置寄存器设置寄存器设置MAC MAC MAC地址地址8、设置收发设置收发DMA DMA DMA描述符描述符9、利用利用MAC_RXFILTERCTRL MAC_RXFILTERCTRL MAC_RXFILTERCTRL寄存器设置接收滤波寄存器设置接收滤波1010、、利用利用MAC_INTENABLE MAC_INTENABLE MAC_INTENABLE和和MAC_INTCLEAR MAC_INTCLEAR寄存器使能寄存器使能寄存器使能EMAC EMAC 中断和清除中断标志 1111、、接收和发送使能以太网接口接收发送缓冲区分配 rx_descr_init()函数及tx_descr_init()函数用于接收与发送缓冲区的初始化。
代码如用于接收与发送缓冲区的初始化下。
以太网接口接收发送缓冲区分配4×8字节0x7FE0 00004×8字节3接收描述符接收状态字发送描述符×8字节3×4字节4×1500字节3×1500字节发送状态字接收缓冲区发送缓冲区用户程序的以太网帧表示以太网帧接收以太网帧发送LPC1768以太网驱动程序的层次结构硬件无关以太网功能以太网功能::ethernet_init, ethernet_poll, ethernet_send 帧操作帧操作::frame_send, frame_get, frame_process硬件相关帧与内存交换:帧与内存交换:CopyFromFrame_EMAC, CopyToFrame_EMAC帧操作:帧操作:Init_EMACInit_EMAC;;CheckFrameReceivedCheckFrameReceived,,StartReadFrameStartReadFrame,,ReadFrameBE_EMACReadFrameBE_EMAC,,EndReadFrameEndReadFrame;;RequestSendRequestSend,,WriteFrame_EMAC。