《通信技术 - 以太网》详解以太网

Posted Bruceoxl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《通信技术 - 以太网》详解以太网相关的知识,希望对你有一定的参考价值。

1 以太网的由来

以太网不是单一协议,而是不同标准的完整集合。这些标准来自 IEEE,它们的名字都以 802.3 开头。

以太网技术起源于施乐帕洛阿尔托研究中心的先锋技术项目。人们通常认为以太网发明于1973年,当年鲍勃.梅特卡夫(Bob Metcalfe)给他PARC的老板写了一篇有关以太网潜力的备忘录。但是梅特卡夫本人认为以太网是之后几年才出现的。在1976年,梅特卡夫和他的助手David Boggs发表了一篇名为《以太网:区域计算机网络的分布式数据包交换技术》的文章。

1979年,梅特卡夫为了开发个人电脑和局域网离开了施乐(Xerox),成立了3Com公司。3Com对DEC、英特尔和施乐进行游说,希望与他们一起将以太网标准化、规范化。这个通用的以太网标准于1980年9月30日提出。当时业界有两个流行的非公用网络标准令牌环网和ARCNET,在以太网浪潮的冲击下他们很快萎缩并被取代。而在此过程中,3Com也成了一个国际化的大公司。梅特卡夫曾经开玩笑说,Jerry Saltzer为3Com的成功作出了贡献。

Saltzer在一篇[哪个/哪些?]与他人合著的很有影响力的论文中指出,在理论上令牌环网要比以太网优越。受到此结论的影响,很多电脑厂商或犹豫不决或决定不把以太网接口做为机器的标准配置,这样3Com才有机会从销售以太网网卡大赚。这种情况也导致了另一种说法“以太网不适合在理论中研究,只适合在实际中应用”。也许只是句玩笑话,但这说明了这样一个技术观点:通常情况下,网络中实际的数据流特性与人们在局域网普及之前的估计不同,而正是因为以太网简单的结构才使局域网得以普及。梅特卡夫和Saltzer曾经在麻省理工学院MAC项目(Project MAC)的同一层楼工作,当时他正在做自己的哈佛大学毕业论文,在此期间奠定了以太网技术的理论基础。

1985 年,美国电气和电子工程师协会 (IEEE) 制定了一系列局域网 (LAN)标准,称为 IEEE 802 标准。这些已被广泛接受,现在构成了大多数 LAN 的核心。IEEE 802 标准之一,IEEE 802.3,是一种称为“以太网”的标准。这是当今世界上使用最广泛的 LAN 技术。尽管IEEE 802.3与原始标准(“蓝皮书”)有些不同。它非常相似,两组标准都可以用于同一个局域网。

如今,以太网采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection,载波监听多路存取和冲突检测)介质访问控制方式的局域网技术,最初由Xerox公司于1975年研制成功,1979年7月~1982年间,由DEC、Intel和Xerox三家公司制定了以太网的技术规范DIX,以此为基础形成的IEEE802.3以太网标准在1989年正式成为国际标准。在20多年中以太网技术不断发展,成为迄今最广泛应用的局域网技术,产生了多种技术标准。

2 以太网概述

以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问控制的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网标准如令牌环、FDDI和ARCNET。

以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T、1000BASE-T标准)为了减少冲突,将能提高的网络速度和使用效率最大化,使用交换机(Switch hub)来进行网络连接和组织。如此一来,以太网的拓扑结构就成了星型;但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的总线技术。

以太网 (Ethernet) 在组网技术中占的比例最高,很多人直接把以太网理解为互联网。因此这里有必要详细说明以太网和互联网的区别和联系。

互联网即INTERNET,它是一个全球性互联网络。它是由从地方到全球范围内几百万个私人的,政府的,学术界的,企业的和政府的网络所构成,通过电子,无线和光纤网络技术等等一系列广泛的技术联系在一起。它以TCP/IP协议簇作为通信方式,体系结构分为4层:应用层,传输层,网络层,网络接口层。

以太网是最通用的通信协议标准。以太网络使用CSMA/CD技术,(载波监听多路访问及冲突检测)并以10M/s的速率(或100M/s 、1000M/s等速率)运行在多种类型的电缆上。它规定了包括物理层的连线、电子信号和介质访问层协议的内容。简单来说,以太网(Ethernet),是让局域网连接的一种技术,取代了其他局域网标准如令牌环、FDDI和ARCNET。

以太网是指遵守 IEEE 802.3 标准组成的局域网,由 IEEE 802.3 标准规定的主要是位于参考模型的物理层 (PHY) 和数据链路层中的介质访问控制子层 (MAC)。在家庭、企业和学校所组建的 PC局域网形式一般也是以太网,其标志是使用水晶头网线来连接 (当然还有其它形式)。 IEEE 还有其它局域网标准,如 IEEE 802.11 是无线局域网,俗称 Wi-Fi。 IEEE802.15 是个人域网,即蓝牙技术,其中的 802.15.4 标准则是 ZigBee 技术。

以太网只是组成互联网的一个子集,以太网是现在主流的局域网标准,而互联网是指将大量的局域网连接起来,进行资源的分享。另外,互联网与以太网是两个不同的概念,前者是范围概念,后者是技术概念。互联网(Internet)、广域网(WAN)、局域网(LAN)可以算作一类,它们都是按照区域和范围来分类的。而以太网(Ethernet)、ATM网和FDDI网可以算作一类,它们是按照传输技术分类的。

以太网描述了物理(PHY)层和数据链路(Data Link)层,如下图所示。

在这里插入图片描述

在物理层,有不同的电缆选项和不同的速度。然而,以太网的优点之一是它使用相同的数据链路层标准。你可以在网络中混合使用不同的以太网标准。下面是一个例子:

在这里插入图片描述

上面我们看到三台主机连接到使用不同以太网标准的两台交换机。交换机之间的连接是 10 Gbps 光纤连接。即使我们混合了不同的标准,该网络也将能够转发以太网帧。



3 以太网帧格式

以太网的一大优点是,虽然有不同的标准,但都使用通用的以太网帧。自 70 年代的原始以太网标准以来,此框架没有太大变化。这是以太网帧的样子:

在这里插入图片描述

前导码:这是一个 7 字节的 1 和 0 模式,用于同步。

SFD:“起始帧定界符”标记前导码的结尾,并告诉接收器接下来的字段将是实际的以太网帧,从目标字段开始。

目的地址:这是接收方的目的地 MAC 地址。

源地址:发送帧的设备的源MAC地址。

类型:这告诉我们以太网帧内携带的内容。IPv4 数据包、IPv6 数据包或其他内容。

数据:它携带我们尝试传输的实际数据,例如 IPv4 数据包。

FCS:帧校验序列帮助接收器确定帧是正确还是损坏。

绿色标记的字段就是我们所说的以太网头。

TCP/IP 协议栈中的每层协议报文的封装与拆装如下:

在这里插入图片描述

当用户发送数据时,将数据向下交给传输层,这是处于应用层的操作,应用层可以通过调用传输层的接口来编写特定的应用程序。而 TCP/IP 协议一般也会包含一些简单的应用程序如 Telnet 远程登录、 FTP 文件传输、 SMTP 邮件传输协议等。传输层会在数据前面加上传输层首部(此处以TCP 协议为例,传输层首部为 TCP 首部,也可以是 UDP 首部),然后向下交给网络层。同样地,网络层会在数据前面加上网络层首部(IP 首部),然后将数据向下交给链路层,链路层会对数据进行最后一次封装,即在数据前面加上链路层首部(此处使用以太网接口为例),然后将数据交给网卡。最后,网卡将数据转换成物理链路上的电平信号,数据就这样被发送到了网络中。

当设备的网卡接收到某个数据包后,它会将其放置在网卡的接收缓存中,并告知 TCP/IP 内核。然后 TCP/IP 内核就开始工作了,它会将数据包从接收缓存中取出,并逐层解析数据包中的协议首部信息,并最终将数据交给某个应用程序。数据的接收过程与发送过程正好相反,

常用的以太网MAC帧格式有两种标准 :DIX Ethernet II标准,IEEE 的 802.3 标准

在这里插入图片描述

Ethernet V2可以装载的最大数据长度是1500字节,而IEEE802.3可以装载的最大数据是1492字节(SNAP)或是1497字节; Ethernet V2不提供MAC层的数据填充功能,而IEEE802.3不仅提供该功能,还具备服务访问点(SAP)和SNAP层,能够提供更有效的数据链路层控制和更好的传输保证。那么我们可以得出这样的结论:Ethernet V2比IEEE802.3更适合于传输大量的数据,但EthernetV2缺乏数据链路层的控制,不利于传输需要严格传输控制的数据,这也正是IEEE802.3的优势所在,越需要严格传输控制的应用,越需要用IEEE802.3或SNAP来封装,但IEEE802.3也不可避免的带来数据装载量的损失,因此该格式的封装往往用在较少数据量承载但又需要严格控制传输的应用中。

在实际应用中,我们会发现,大多数应用的以太网数据包是EthernetV2的帧(如HTTP、FTP、SMTP、POP3等应用),而交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3的帧,VLANTrunk协议如802.1Q和Cisco的CDP(思科发现协议)等则是采用IEEE802.3SNAP的帧。大家有兴趣的话,可以利用Sniffer等协议分析工具去捕捉数据包,然后解码查看是不是这样的。

4 物理层

在物理层,由 IEEE 802.3 标准规定了以太网使用的传输介质、传输速度、数据编码方式和冲突检测机制,物理层一般是通过一个 PHY 芯片实现其功能的。

4.1传输介质

传输介质包括同轴电缆、双绞线 (Unshielded Twisted Pair, UTP)、光纤。根据不同的传输速度和距离要求,基于这三类介质的信号线又衍生出很多不同的种类。最常用的是“五类线”适用于 100BASE-T和 10BASE-T 的网络,它们的网络速率分别为 100Mbps 和 10Mbps。

以太网有许多不同的标准,速度从 10 Mbps(兆比特每秒)到 100 Gbps(千兆比特每秒)。以下是一些流行的以太网标准的概述:

在这里插入图片描述

不同的标准是由不同的名字组合而成:

  • 10/100/1000: 数字100用单位MHz (Megahertz)表示网线设计的频率。即100 MHz。MHz的值越大,网线所支持的速度就越快。如果你尝试将这种类型的网线用于更高的频率(和速度)中,那么它将不工作或者变得极为不可靠。100 MHz以每秒100Mbit的速度传输,这在理论上指的就是12 Mbps。然而,在实际中,可能还无法获得超过4 Mbps。

  • BASE: BASE是英文baseband的缩写,指的就是基带。表示没有使用频分复用或者其它频率转换技术,每一个信号在一个单一频率上完全控制线缆。

  • 数字T/F/C等: 一般数组表示传输长度;T代表承载信号的物理介质是双绞线缆(分为UTP(Unshielded Twisted Pair,非屏蔽双绞线)和STP(Shielded Twicted Pair,屏蔽双绞线)),在这里每一对传送信号的双绞线互相缠绕以(FEXT和NEXT之间)减少电磁干扰和串扰;F表示光纤

  • 最后的字母或数字(4/X等): 在同一种传送速率下有多种不同的标准,它们之间以一个字母或数字跟随T/F/C之后的方式来区隔(例如TX)。它显示了网线的结构并指出包含的绞线对的数量。某些高速标准使用同轴电缆,则分配代号为CX。

下面以不同类型的传输介质进行介绍。

1.同轴电缆
同轴电缆的主要代表是10BASE5和10BASE2

10BASE5(又称粗缆(Thick Ethernet)或黄色电缆)──最早实现10 Mbit/s以太网。

在这里插入图片描述

早期IEEE标准,使用单根RG-11同轴电缆,最大距离为500米,并最多可以连接100台电脑的收发器,而缆线两端必须接上50欧姆的终端电阻。接收端通过所谓的“插入式分接头”插入电缆的内芯和屏蔽层。在电缆终结处使用N型连接器。

在这里插入图片描述

尽管由于早期的大量布设,到现在还有一些系统在使用,这一标准实际上被10BASE2取代。
利用基带的10M传输速率,采用曼彻斯特编码传输数据。 该系统在安装和维护上难度较大。
在IEEE Std 802.3™的Clause 8有详细的介绍。

在这里插入图片描述

Physical Layer partitioning, relationship to the ISO/IEC Open Systems Interconnection (OSI) reference model


10BASE2(又称细缆(Thin Ethernet)或模拟网络)── 10BASE5后的产品,使用RG-58同轴电缆,最长转输距离约200米(实际为185米),仅能连接30台计算机,计算机使用T型适配器连接到带有BNC连接器的网卡,而线路两头需要50欧姆的终结器。

在这里插入图片描述

在这里插入图片描述

利用基带的10M传输速率,采用曼彻斯特编码传输数据。虽然在能力、规格上不及10BASE5,但是因为其线材较细、布线方便、成本也便宜,所以得到更广泛的使用,淘汰了10BASE5。由于双绞线的普及,它也被各式的双绞线网络取代。

在IEEE Std 802.3™的Clause 10有详细的介绍。

在这里插入图片描述

Physical Layer partitioning, relationship to the ISO/IEC Open Systems Interconnection (OSI) reference model

【注】自2011年9月以来,该标准不再考虑维护变更。



2.双绞线
StarLAN是第一个双绞线上实现的以太网络标准10 Mbit/s。后发展成10BASE-T,以及100BASE-TX和1000BASE-T

10BASE-T使用两对非屏蔽双绞线,一对线发送数据,另一对线接收数据,用RJ-45模块作为端接器,星形拓扑结构,信号频率为20MHz,必须使用3类或更好的UTP电缆;布线按照EIA568标准,站点中继器和中继器中继器的最大距离为100m。保持了10base5的4中继器/5网段的设计能力,使10base-T局域网的最大直径为500m。

10Base-T的集线器和网卡每16秒就发出“滴答”(Hear-beat)脉冲,集线器和网卡都要监听此脉冲,收到“滴答” 信号表示物理连接已建立,10base-T设备通过LED向网络管理员指示链路是否正常。

在这里插入图片描述

如下图所示,UTP 电缆有 4 对线对,每对 2 根线。每对线都有两种匹配的颜色。例如,蓝色和蓝白色。在 UTP 电缆的末端,我们使用 RJ45 连接器。

在这里插入图片描述

RJ45 连接器有 8 个可以插入电线的位置,称为“引脚”。我们从左到右数针数,查看 RJ45 连接器的底部。

在这里插入图片描述

10base-T因为价格便宜、配置灵活和易于管理而流行起来,现在占整个以太网销售量的90%以上。

在IEEE Std 802.3™的Clause 14有详细的介绍。

在这里插入图片描述

10BASE-T relationship to the ISO/IEC Open Systems Interconnection (OSI) reference model and the IEEE 802.3 CSMA/CD LAN model


100base-T称Fast Ethernet(快速以太网),是许多以标称速率100 Mbit/s(较早的以太网速度为10 Mbit / s)传输流量的以太网标准的统称。在快速以太网标准中,100BASE-TX是最常见的。

名称中的“100”是指100Mbit/s的传输速度;而“BASE”是指基带信令; 破折号后面的字母(“T”或“F”)是指承载信号的物理介质(分别为双绞线或光纤);而最后一个字符(“X”,“4”等)指的是使用的行代码方法。 快速以太网有时被称为100BASE-X,其中“X”是FX和TX变体的占位符。

1995年5月正式通过了快速以太网/100Base-T规范,即IEEE 802.3u标准,是对IEEE802.3的补充。与10base-T一样采用星形拓扑结构,但100Base-T包含4个不同的物理层规范,并且包含了网络拓扑方面的许多新规则。可以说是10Base-T的升级版。

在IEEE Std 802.3™的Clause 21有详细的介绍。

在这里插入图片描述

Architectural positioning of 100BASE-T


1000BASE-T采用四对五类平衡电缆的1000 Mb/s 物理层规格。与10Base-T、100Base-T完全兼容。

前面两种标准有两根线对,一根用于传输,另一根用于接收。然而,1000BASE-T使用所有 4 对线。它不是使用不同的线对进行传输/接收,而是能够在每个线对上同时发送和接收。

在这里插入图片描述

RJ45 连接器中的引脚布局相同,但我们使用了额外的电线:

在IEEE Std 802.3™的Clause 40有详细的介绍。

在这里插入图片描述

Type 1000BASE-T PHY relationship to the ISO Open Systems Interconnection (OSI) Reference Model and the IEEE 802.3 CSMA/CD LAN Model


3.光纤
目前传输速度最快传播距离最长的就是光纤,主要有1000BASE-LX(long wavelength laser)、1000BASE-SX (Short Wavelength Laser)、1000BASE-T。

IEEE802.3z定义了基于光纤和短距离铜缆的1000Base-X,采用8B/10B编码技术,信道传输速度为1.25Gbit/s,去耦后实现1000Mbit/s传输速度。

1000BASE-X 采用单模或多模长波激光器的规格。采用直径为62.5um或50um的多模光纤时,工作波长范围为1270-1355nm,传输距离为550m;采用直径为9um或10um的单模光纤,工作波长范围为1270-1355nm,传输距离为5km左右。

在这里插入图片描述

在IEEE Std 802.3™的Clause 38有详细的介绍。

在这里插入图片描述

Relationship of 1000BASE-X and the PMDs


4.2编码

为了让接收方在没有外部时钟参考的情况也能确定每一位的起始、结束和中间位置,在传输信号时不直接采用二进制编码。在 10BASE-T 的传输方式中采用曼彻斯特编码,在 100BASE-T 中则采用 4B/5B 编码。

曼彻斯特编码把每一个二进制位的周期分为两个间隔,在表示“1”时,以前半个周期为高电平,后半个周期为低电平。表示“0”时则相反,具体见下图。

在这里插入图片描述

采用曼彻斯特码在每个位周期都有电压变化,便于同步。但这样的编码方式效率太低,只有 50%。在 100BASE-T 采用的 4B/5B 编码是把待发送数据位流的每 4 位分为一组,以特定的 5 位编码来表示,这些特定的 5 位编码能使数据流有足够多的跳变,达到同步的目的,而且效率也从曼彻斯特编码的 50% 提高到了 80%。

4.3 CSMA/CD冲突检测

早期的以太网大多是多个节点连接到同一条网络总线上 (总线型网络),存在信道竞争问题,因而每个连接到以太网上的节点都必须具备冲突检测功能。

在这里插入图片描述

上面我们看到 H1 和 H2 都在发送以太网帧。集线器在连接到 H3 的端口上重复这些帧。当这同时发生时,我们会发生碰撞并且两帧都丢失了。

为了解决这个问题,我们必须使用半双工

半双工意味着我们不能同时发送和接收。当一台计算机正在传输时,其他所有人都必须等待。当没有人传输时,我们可以拍摄并传输一帧。

然而,这并不意味着我们完全没有碰撞。当两台计算机决定“线路空闲”并开始传输时,我们仍然会发生碰撞。为了解决这个问题,我们有一个叫做 CSMA/CD 的协议。

CSMA/CD全称是Carrier Sense Multiple Access with Collision Detection,载波侦听多路访问/冲突检测协议),已广泛应用于以太网中。

所谓载波侦听(Carrier Sense),意思是网络上各个工作站在发送数据前都要确认总线上有没有数据传输。若有数据传输(称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。

所谓多路访问(Multiple Access),意思是网络上所有工作站收发数据共同使用同一条总线,且发送数据是广播式的。

所谓冲突(Collision),意思是若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合,这样哪个工作站都辨别不出真正的数据是什么。这种情况称为数据冲突,又称为碰撞。

CSMA/CD 冲突检测机制大致如下:如果多个节点同时利用同一条总线发送数据,则会产生冲突,总线上的节点可通过接收到的信号与原始发送的信号的比较检测是否存在冲突,若存在冲突则停止发送数据,随机等待一段时间再重传。如果再次碰撞,发射节点再次等待,等待时间几乎是前一个的两倍:这就是所谓的退避(即“下降”)指数。除非它已经达到了最大值。

在这里插入图片描述

现在大多数局域网组建的时候很少采用总线型网络,大多是一个设备接入到一个独立的路由或交换机接口,组成星型网络,不会产生冲突。但为了兼容,新出的产品还是带有冲突检测机制。
CSMA/CD 的整个方案如下图所示:

在这里插入图片描述

CSMA/CD的帧格式
IEEE 802.3 标准规定的帧格式包含以下字段。

在这里插入图片描述

1.前导码:提供位同步的七个字节(56 位)。它由交替的 Os 和 1s 组成。目的是提供警报和定时脉冲。
2.起始帧定界符(SFD):它是一个字节字段,具有独特的模式:10 10 1011。它标志着帧的开始。
3.目标地址(DA):它是包含数据包目标物理地址的六字节字段。
4.源地址(SA):它也是一个六字节字段,包含源或最后一个转发数据包的设备(最近的路由器到接收器)的物理地址。
5.长度:这两个字节字段指定数据字段中的长度或字节数。
6.数据:它可以是 46 到 1500 字节,取决于帧的类型和信息字段的长度。
7.帧校验序列(FCS):这对于字节字段包含用于错误检测的 CRC。

CSMA/CD流程

在这里插入图片描述

第一步:载波监听,当一个站点想要发送数据的时候,它检测网络查看是否有其他站点正在传输,即侦听信道是否空闲,要确保没有其他节点信道,所以该节点首先要监听信道上的动静,也就是先听后说。如果信道在一定时段内寂静无声(称为帧间缝隙IFG),则该节点就开始传输,也就是无声则说。

第二步:冲突检测,如果信道一直很忙碌,就一直监视信道,直到出现最小的IFG时段时,该节点才开始发送它的数据,也就是有空就说。如果两个节点或更多的节点都在监听和等待发送,然后在信道空时同时决定立即(几乎同时)开始发送数据,此时就发生碰撞。这一事件会导致冲突,并使双方信息包都受到损坏。以太网在传输过程中不断地监听信道,以检测碰撞冲突,也就是边听边说。

第三步:如果一个节点在传输期间检测出碰撞冲突,则立即停止该次传输,并向信道发出一个“拥挤”信号,以确保其他所有节点也发现该冲突,从而摒弃可能一直在接收的受损的信息包也就是冲突停止,即一次只能一人讲。

第四步:多路存取,在等待一段时间(称为后退)后,想发送的节点试图进行新的发送。 这时采用一种叫二进制指数退避策略(Binary Exponential Back off Policy)的算法来决定不同的节点在试图再次发送数据前要等待一段时间,也就是随机延迟。当延时一段时间后,总线为空闲时,再重新发送未发完的数据。

总结:先听后说,无声则说;有空就说,边听边说;一旦冲突,立即停说,随机延迟,等待再说。

CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。

4.4 PHY 层芯片:LAN8742A

接下来介绍一款常用于嵌入式的PHY芯片,其他芯片也是类似的原理。

LAN8742A是 SMSC 公司 (已被 Microchip 公司收购) 设计的一个体积小、功耗低、全能型10/100Mbps 的以太网PHY 层收发器,I/O 引脚电压符合 IEEE802.3-2005 标准。它是针对消费类电子和企业应用而设计的。 LAN8742A 总共只有 24Pin,仅支持 RMII 接口。LAN8742A可以通过自协商的方式与目的主机最佳的连接方式(速度和双工模式),支持 HP Auto-MDIX 自动翻转功能,无需更换网线即可将连接更改为直连或交叉连接。

LAN8742A的主要特点如下:

  • 高性能的 10/100M 以太网传输模块

  • 支持 RMII 接口以减少引脚数

  • 支持全双工和半双工模式

  • 两个状态 LED 输出

  • 可以使用 25M 晶振以降低成本

  • 支持自协商模式

  • 支持 HP Auto-MDIX 自动翻转功能

  • 支持 SMI 串行管理接口

  • 支持 MAC 接口

  • 支持WOL网络唤醒功能

LAN8742A组成的网络结构见下图。

在这里插入图片描述

LAN8742A通过 RMII 与 MAC 连接。 RJ45 是网络插座,在与 LAN8742A连接之间还需要一个变压器,所以一般使用带电压转换和 LED 指示灯的 HY911105A 型号的插座。一般来说,必须为使用 RMII 接口的 PHY 提供 50MHz 的时钟源输入到 REF_CLK 引脚,不过 LAN8742A内部集成PLL,可以将 25MHz 的时钟源陪频到 50MHz 并在指定引脚输出该时钟,所以我们可以直接使其与 REF_CLK 连接达到提供 50MHz 时钟效果。

LAN8742A内部系统结构见下图。

在这里插入图片描述

LAN8742A有各个不同功能模块组成,最重要的要数接收控制器和发送控制器,其它的基本上都是与外部引脚挂钩,实现信号传输。部分引脚是具有双重功能的,比如 PHYAD0 与 RXER 引脚是共用的,在系统上电后 LAN8742A会马上读取这部分共用引脚的电平,以确定系统的状态并保存在相关寄存器内,之后则自动转入作为另一功能引脚。

PHYAD[0]引脚用于配置 SMI 通信的 LAN8742A地址,在芯片内部该引脚已经自带下拉电阻,默认认为 0(即使外部悬空不接),在系统上电时会检测该引脚获取得到 LAN8742A的地址为 0 或者1,并保存在特殊模式寄存器 (R18) 的 PHYAD 位中,该寄存器的 PHYAD 有 5 个位,在需要超过2 个 LAN8742A时可以通过软件设置不同 SMI 通信地址。 PHYAD[0] 是与 RXER 引脚共用。

MODE[2:0]引脚用于选择 LAN8742A网络通信速率和工作模式,可选 10Mbps 或 100Mbps 通信速度,半双工或全双工工作模式,另外 LAN8742A支持 HP Auto-MDIX 自动翻转功能,即可自动识别直连或交叉网线并自适应。一般将 MODE 引脚都设置为 1,可以让 LAN8742A启动自适应功能,它会自动寻找最优工作方式。 MODE[0] 与 RXD0 引脚共用、 MODE[1] 与 RXD1 引脚共用、MODE[2] 与 CRS_DV 引脚共用。

nINT/REFCLKO引脚用于 RMII 接口中 REF_CLK 信号线,当 nINTSEL 引脚为低电平时,也就是REF_CLK Out 模式,nINT/REFCLKO 作为 REF_CLK 时钟源。它也可以被设置成 50MHz 时钟输出,这样可以直接与 STM32F746 的 REF_CLK 引脚连接为其提供50MHz 时钟源,这种模式要求为 XTAL1 与 XTAL2 之间或为 TAL1/CLKIN 提供 25MHz 时钟,由LAN8742A内部 PLL 电路陪频得到 50MHz 时钟,此时 nIN/REFCLKO 引脚的中断功能不可用,用于 50MHz 时钟输出。

在这里插入图片描述

当 nINTSEL 引脚为高电平时,也就是REF_CLK In 模式,nINT/REFCLKO 作为中断引脚。LAN8742A被设置为时钟输入,即外部时钟源直接提供 50MHz 时钟接入 STM32F46的REF_CLK 引脚和 LAN8742A的 XTAL1/CLKIN 引脚,此时 INT/REFCLKO 可用于中断功能。 nINTSEL 与 LED2 引脚共用,一般使用下拉。

在这里插入图片描述

REGOFF 引脚用于配置内部 +1.2V 电压源, LAN8742A内部需要 +1.2V 电压,可以通过 VDDCR引脚输入 +1.2V 电压提供,也可以直接利用 LAN8742A内部 +1.2V 稳压器提供。当 REGOFF 引脚为低电平时选择内部 +1.2V 稳压器。 REGOFF 与 LED1 引脚共用。

参考文献
[1] IEEE Standard for information technology-Telecommunications and information exchange between systems-Local and metropolitan area networks-Specific requirements-Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications: Amend[C]// IEEE Std 80211i. IEEE, 2004.





欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书


欢迎订阅我的微信公众号

在这里插入图片描述

以上是关于《通信技术 - 以太网》详解以太网的主要内容,如果未能解决你的问题,请参考以下文章

[转帖]技术盛宴 | 关于PoE以太网供电技术详解

《通信技术 - 以太网》详解以太网

《通信技术 - 以太网》详解以太网

合并在即:详解以太坊最新技术路线

链路层以太网详解

TCP/IP详解——链路层