网站后台发布图片upload failed,网站建设流程精英,电子电路自学网站,厦门网站代理一、以太网介绍
以太网是一种产生较早#xff0c;使用相当广泛的局域网技术#xff0c;局域网就是一个区域的网络互联#xff0c;可以使办公室也可以是学校等等#xff0c;大小规模不一。
目前以太网根据速度等级分类大概分为#xff1a;标准以太网#xff08;10Mbit/s…一、以太网介绍
以太网是一种产生较早使用相当广泛的局域网技术局域网就是一个区域的网络互联可以使办公室也可以是学校等等大小规模不一。
目前以太网根据速度等级分类大概分为标准以太网10Mbit/s快速以太网100Mbit/s千兆以太网1000Mbit/s以及更快的万兆以太网10Gbit/s。但在平常使用中快速以太网和千兆以太网已经足够了。
以太网通信是以数据包的形式传输 其单包数据量达到几十 甚至成百上千个字节。
以太网接口类型有RJ45接口RJ11接口电话线接口SC光纤接口。其中RJ45接口使我们最常用的以太网接口电脑接口。
RJ45接口也称为水晶头由插头和插座组成 可以看到RJ45接口和HDMI等接口一样也是采用差分数据传输这种传输有抗干扰能力强的特性这在高速数据传输中很重要。
RH45接口对应的网线分为4芯网线和8芯网线。 4芯包含两个差分对(Tx、Tx-\Rx、Rx-)1、2芯用于发送数据3、6芯用于接受数据4、5、7、8线为备用线没有使用(起抗电磁干扰的作用)通常应用于百兆网络传输8芯包含四个差分对1、2、3、4芯用于发送数据5、6、7、8芯用于接受数据1对32对63对14对75对86对27对48对5通常应用于千兆及以上网络传输。
4芯网线为直通网线时连接方式如下 Hub/Switch Host 1 ------------1 2 ------------2 3 ------------3 6 ------------6
4芯网线为交叉网线时连接方式如下 Hub/Switch Hub/Switch 1 ------------3 2 ------------6 3 ------------1 6 ------------2
这里补充下主机串口的线序(一般也用RJ45接口)它的线序是全反网线做法就是一端的顺序是18另一端则是81 的顺序 Host Router/Switch 1 ------------8 2 ------------7 3 ------------6 4 ------------5 5 ------------4 6 ------------3 7 ------------2 8 ------------1
二、以太网数据包格式 可以看到我们一帧能发送的真正的数据内容为18-1472 Byte然后将用户数据添加UDP首部形成UDP层再加上IP首部形成IP层最后加上前导码、SFD帧起始界定符、以太网帧头、以及FCS帧检验序列构成了MAC层物理层包括源MAC地址和目的MAC地址也就是最终需要在通信线路上传输的数据。
在设计物理层时只需要计算得到各个首部、前导码、起始界定符、以及校验就可以得到物理层然后进行传输。
三、TCP/IP协议簇
TCP 传输控制协议 /IP网际协议协议簇虽然看上去TCP/IP协议簇只有两个协议其实TCP/IP协议簇包含了上百种协议最常用的有TCP、IP、UDP等。其中TCP协议和UDP协议应用最广泛。
1、IP协议
IP协议是TCP/IP协议簇中的核心协议所有的TCP、 UDP及ICMP数据都以IP数据报格式传输。 从以太网数据包格式中可以看出IP数据报 包括IP首部和数据段。 IP数据报内容 版本4位版本号IPv40100IPv60110目前在以太网使用IPv4多但是在计算机系统中IPv6也已经流行起来因为IPv4仅用32个bit来表示地址IPv4 地址的总数为 4294967296到现在已经快用光了而IPv6使用128bit来表示地址理论来说根本用不完。
首部长度4位表示IP首部一共有多少个32位4Byte假设无可选字段一般来说没有IP首部有20个Byte则首部长度为5最大为15即60个Byte。
服务类型8位普通服务的话设置为0。可以参考IP首部中的服务类型TOS
总长度16位包括IP首部和IP数据部分以字节为单位。我们利用IP首部长度和IP数据报总长度就可以计算出IP数据报中数据内容的起始位置和长度。
标识16位通常每发一份报文就加1。
标志3位用来表示分片还是不分片第一位最高位保留第二位1-不分片0-允许分片第三位为1即表示后面“还有分片”的数据报。为0表示这已是若干数据报片中的最后一个。
叶偏移13位在接收方进行数据报重组时用来标识分片的顺序。
生存时间8位防止丢失的数据包在无休止的传播一般被设置为64或者128。IPv6 地址有两个生存期首选生存期和有效生存期而首选的生存期总是小于等于有效的生存期。具体可以参考官方文档。
协议8位表示此数据报所携带上层数据使用的协议类型TCP为6 UDP为17。可以参考IP协议号 IP首部中有8位协议号用于指明IP的上层协议
首部校验和这部分需要自己计算用来校验IP数据报头部是否被破坏、篡改和丢失等不校验数据。
源MAC地址目的MAC地址就是发送和接收IP地址。
可选字段是数据报中的一个可变长度的可选信息选项字段以32bit为界不足时插入值为0的填充字节保证IP首部始终是32bit的整数倍。
2、UDP协议
在以太网数据包中我们可以看到TCP协议IP层比UDP层复杂更为可靠但是UDP运用场景也非常多。 那为什么不所有传输都用更可靠的TCP协议呢这就像卖手机不可能都上最好的配置毕竟有人不需要这么好的配置我只需要打电话一个骁龙835就够了如果你叫我多花2000块买一个865那我没必要。所以这就是需求不同所以UDP也常用。
TCP与UDP的区别TCP为可靠传输协议而UDP为不可靠传输协议TCP协议可以保证数据的完整和有序而UDP不能保证UDP由于不需要连接故传输速度比TCP快且占用资源比TCP少
应用场景TCP适用于对数据完整性要求很高的场合比如文件传输而UDP适用于对数据完整性要求不高的场合比如说视频直播毕竟直播的时候少传输几个像素点影响也不大而且视频直播要求数据传输很快。而文件数据要是少一个byte或者更多可能会造成很大的问题。
UDP格式数据 四、以太网电路
一般一个嵌入式终端系统的以太网部分如下图 主要有MAC控制器、PHY芯片、网络变压器和RJ45接头组成有的系统会有DMA控制。一般的系统中CPU和MAC以及DMA控制器都是集成在一块芯片上的为了节省空间简化设计很多时候网口的变压器和RJ45的接头集成在一起。
1、MAC
MAC即Media Access Control即媒体访问控制子层协议。该协议位于OSI七层协议中数据链路层的下半部分主要负责控制与连接物理层的物理介质。在发送数据的时候MAC协议可以事先判断是否可以发送数据如果可以发送将给数据加上一些控制信息最终将数据以及控制信息以规定的格式发送到物理层在接收数据的时候MAC协议首先判断输入的信息并是否发生传输错误如果没有错误,则去掉控制信息发送至LLC(逻辑链路控制)层。该层协议是以太网MAC由IEEE-802.3以太网标准定义最新的MAC同时支持10Mbps和100Mbps两种。
2、PHY
PHY是物理接口收发器它实现物理层。IEEE-802.3标准定义了以太网PHY。包括MII/GMII(介质独立接口)子层PCS(物理编码子层)PMA(物理介质附加)子层PMD(物理介质相关)子层MDI子层。它符合IEEE-802.3k中用于10BaseT(第14条)和100BaseTX(第24条和第25条)的规范。
PHY在发送数据的时候收到MAC过来的数据(对PHY来说没有帧的概念对它来说都是数据)把并行数据转化为串行流数据再按照物理层的编码规则把数据编码为模拟信号送出去。收数据时的流程反之。
3、示例图片 网卡部件 ①RJ-45接口 ②Transformer(隔离变压器) ③PHY芯片 ④MAC芯片 ⑤EEPROM ⑥BOOTROM插槽 ⑦WOL接头 ⑧晶振 ⑨电压转换芯片 ⑩LED指示灯
4、网络变压器
网络变压器作用是
耦合差分信号抗干扰能力更强 变压器隔离网线端不同设备的不同电平隔离直流信号 网络变压器一般是由差模线圈变压器以及中心抽头组成。如下示意 其中初级中心抽头的接法需要根据PHY芯片来决定电流驱动的就要接电源电压驱动直接接个电容到地即可是具体还要参看芯片的datasheet和参考设计了。 还需要注意的是有的变压器中间抽头是独立的有的是收发合并在一起的设计的时候需要注意为了防止初版硬件设计错误可以兼容设计如下所示 变压器次级中心抽头使用Bob Smith电路来抑制共模噪音利用75Ω和电容接地吸收共模能量如上图原理图所示。
5、Bob Smith电路的作用
1浪涌防护
2降低EMC测试辐射
可以参考链接: 网口浪涌防护电路-Bob Smith电路
五、以太网设计布局布线
1、优先绘制Rx±、Tx±差分对尽量保持差分对平行、等长、短距避免过孔、交叉。由于管脚分布、过孔、以及走线空间等因素存在使得差分线长易不匹配时序会发生偏移还会引入共模干扰降低信号质量。所以相应的要对差分对不匹配的情况作出补偿使其线长匹配长度差通常控制在5mil以内补偿原则是哪里出现长度差补偿哪里
2、当速度要求高时需对Rx±、Tx±差分对进行阻抗控制通常阻抗控制在100Ω±10%
3、差分信号端接电阻49.9Ω有的PHY层芯片可能没有必须靠近PHY层芯片的Rx±、Tx±管脚放置这样能更好的消除通信电缆中的信号反射
4、差分线对上的滤波电容必须对称放置否则差模可能转成共模带来共模噪声且其走线时不能有stub 这样才能对高频噪声有良好的抑制能力。 5、RJ45未集成变压器的布局布线 上图是变压器没有集成在网口连接器的电路PCB布局、布线参考需要注意以下几点
a)RJ45和变压器之间的距离尽可能的短晶振远离接口、PCB边缘和其他的高频设备、走线或磁性元件周围PHY层芯片和变压器之间的距离尽可能短但有时为了顾全整体布局这一点可能比较难满足但他们之间的距离最大约10~12cm器件布局的原则是通常按照信号流向放置切不可绕来绕去
b)PHY层芯片的电源滤波按照要芯片要求设计通常每个电源端都需放置一个退耦电容他们可以为信号提供一个低阻抗通路减小电源和地平面间的谐振为了让电容起到去耦和旁路的作用故要保证退耦和旁路电容由电容、走线、过孔、焊盘组成的环路面积尽量小保证引线电感尽量小
c)网口变压器PHY层芯片侧中心抽头对地的滤波电容要尽量靠近变压器管脚保证引线最短分布电感最小
d)网口变压器接口侧的共模电阻和高压电容靠近中心抽头放置走线短而粗≥15mil
e)变压器的两边需要割地即RJ45连接座和变压器的次级线圈用单独的隔离地隔离区域100mil以上且在这个隔离区域下没有电源和地层存在。这样做分割处理就是为了达到初、次级的隔离控制源端的干扰通过参考平面耦合到次级
f)指示灯的电源线和驱动信号线相邻走线尽量减小环路面积。指示灯和差分线要进行必要的隔离两者要保证足够的距离如有空间可用GND隔开
g)用于连接GND和PGND的电阻及电容需放置地分割区域。
6、RJ45集成变压器的布局布线
变压器集成在连接器的以太网电路的PCB布局、布线较不集成的相对简单很多下图 3是采用一体化连接器的网口电路的PCB布局、布线参考图 六、参考链接 1、以太网芯片MAC和PHY的关系 2、网口设计时布局布线 3、以太网Ethernet学习一协议 4、以太网PHY自学笔记