首页|傲世皇朝注册|平台
首页|傲世皇朝注册|平台
全站搜索
 
 
新闻详情
 
当前位置
首页、(优游注册)、首页
作者:管理员    发布于:2024-01-06 20:51    文字:【】【】【
       

  首页、(优游注册)、首页以太网是一种通信技术,主要由介质访问层(PHY L1)协议、电子信号连接组成。

  MAC层主要有交换芯片实现,物理层由PHY芯片实现,电信号连接主要定义电信号的接口规范。

  本文以成熟的以太网的技术实现为案例,解读数字通信的部分基本原理,澄清数字通信中一些核心的概念 :时钟、4B/5B编码、曼切斯特编码、NRZI编码、符号、波特率、比特率、CRC、扰码。

  信源信息发送-》离散数据-》信源编码-》应用层数据处理-》网络层编码-》物理层信道编码-》电气信号符号编码-》电信号发送=》

  电信号接收=》电气信号符号解码-》物理层信道解码-》网络层编码-》应用层数据处理-》信源解码-》信宿信息感知

  以太网串行通信与Uart串口通信、I2C串行通信、SPI串行通信等串行通信,有两个显著的差别:

  (1)需要传输的物理层帧中的二进制数据与物理线路上传送的信号电平之间是不再是1对1的映射关系。

  (2)不需要专门的时钟信号线在两个通信的节点之间传递时钟,而是通过特定的物理层的编码技术,实现在传输数据的同时,也同时能够传递同步时钟。

  ———————————————————————————————————————

  以太网通信是一种使用同轴电缆或光纤作为传输信道,采用载波多路访问和冲突检测机制的通信方式。

  应用层数据编码=》HTTP层数据编码=》TCP层数据编码=》IP层数据编码=》MAC层数据编码=》物理层数据编码=》物理层电信号发送=》美女接受的数据,拆封(解码)过程如下:

  物理层电信号接收=》物理层数据解码=》MAC层数据解码=》IP层数据解码=》TCP层数据解码=》HTTP层数据解码=》应用层数据解码。至于MAC层以上(IP以及IP之上)的编码和解码过程,不在本文的讨论范围。本文重点放在MAC+PHY+线路接口层,特别是物理层的编解码过程。

  3、网络层编码IP以及IP之上,不在本章的讨论范围,本章讨论MAC以及MAC层之下的协议规。

  物理层:并行数据称为包(package)物理层:串行数据称为流(stream)

  :也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM(一种闪存芯片,通常可以通过程序擦写)。MAC地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-EA-AE-3C-40就是一个MAC地址,其中前6位16进制数00-16-EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后6位16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在世界是惟一的。形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性。

  数据的发送方(信源)的MAC地址。帧定界符SFD:1个字节(8个bits:0x1010 1011),MAC层的帧同步。

  由于在传输一个字节时最低位最先传输(LSB),因此其相应的16进制表示为:0xD5,这里有一个同样的问题,以太网帧的净荷正巧也有该数据怎么办呢?同步前导码preamble:7个字节(56个bits:0x1010 1010 ......),MAC层的比特时钟同步。

  由于在传输一个字节时最低位最先传输(LSB),因此其相应的16进制表示为:0x55 0x55 0x55 0x55 0x55 0x55 0x55,这个连续的56个二进制比特流,用于接收方与发送方的二进制比特时钟同步。

  在数据传输过程中,无论传输系统的设计再怎么完美,差错总会存在,这种差错可能会导致在链路上传输的一个或者多个帧被破坏(出现比特差错,0变为1,或者1变为0),从而接受方接收到错误的数据。为尽量提高接受方收到数据的正确率,在接收方接收数据之前需要对数据进行差错检测,当且仅当检测的结果为正确时接收方才真正收下数据。检测的方式有多种,常见的有奇偶校验、和循环冗余校验等。

  循环冗余校验(Cyclic Redundancy Check, CRC):是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。

  简单的说,物理层编码是确保原始的MAC层数据可在多种物理媒体上、安全、可靠的传输。

  Medium Dependent Interface (MDI): 介质相关接口。到传输介质的接口,如100M电口和1000M电口或1000M光口等。这是数字物理层与物理信号媒介的接口(光、电信号)。

  不同以太网速率,其物理层的协议规范是不一样的。不同厂家的芯片,在实现以太网物理层协议规范时,也是有差别。

  PCS子层的功能是物理层的编码/解码。包括三部分:(1)与MAC层的接口

  TXD0、RXD0:是串行数据接口, 10M速率时,物理层芯片无需要进行串并转换,串并转换是MAC完成的。TXC和RXC: 接收和发送时钟。

  CRS(O): 载波检测,用于PHY向MAC指示,链路上是否有数据正在发送。

  在10M通信的情况下,物理层芯片并没有对物理层进行某种物理层编码,比如4B/5B编码或8B/10B编码。4.1.2 PMA子层:物理介质连接子层

  PMA使用数字锁相环PLL,在发送端根据标准时钟接口发送bit流,在接收端PLL同步串行数据流并从中提取时钟。

  是信号电平在一个码元之内都要不恢复到零的编码方式。在不归零码中,高电平代表1, 0电平本身就表示0,因此不能归0.

  归零码 :是信号电平在一个码元之内都要恢复到零的编码方式。在归零码中,高电平和低电平不表示任何数值,而是利用信号的上升沿或下降沿表示0或1,因此可以归零。在SPI和I2C通信中,通过CMOS或TTL高低电平传送1和0。高电平代表1,低电平代表0,

  在UART通信中,与SPI和I2C相同。在RS232通信中,采用了反逻辑以及15V电压。+15V电信号表示0, -15V电信号表示1.

  不归零0码,单极性指只有正(+)电平。RS232串口通信的编码方式称为双极性不归0码。双极性是指正(+)电平与负(-)电平。

  相对于前面提到的几种电信号编码方式,在10M以太网中,采用了一种新的物理层

  其变化规则很简单:这里也有两种码元,但每个码元不是用简单的高电平或低电平,每个码元symbol(

  个不同相位的电平信号(高电平+低电平)表示。实际上,每个码元是一个完整的方波信号(有高电平,也有低电平),这里就有两种方式来定义方波信号。

  0度相位的方波(类似正弦波)表示“1”,180相位的方波(类似余弦波)表示“0”.

  0度相位的方波(类似正弦波)表示“0”,180相位的方波(类似余弦波)表示“1”.

  如下是用两种不同的曼彻斯特编码表示的一连串的二进制码1010 0111 001的示意图:

  在两种曼彻斯特编码中,每个比特位的中间都有一次跳变。差别在于上升沿和下降沿表示的数字正好相反。

  在差分曼彻斯特编码中,每个比特位的中间也有一跳变。但中间的跳变不表示要传输的二进制数据,中间的跳变仅仅作为时钟信号。

  差分曼彻斯特编码的特别之处在于,它不是用固定的波形标识0或1,而是使用了相邻的两个波形符号的变化来标识0或1。

  如果后一个波形符号symbol和前一个的波形符号symbol相同,则表示0,如下图所示,这样标识“0”的波形符号(symbol)就不是唯一的。

  如果后一个波形符号(symbol)和前一个的波形符号(symbol)不同,则表示1,如下图所示,这样标识“1”的波形符号(symbol)就不是唯一的。

  上述三种曼切斯特编码方式,每个时钟位都必然有一次变化,所以这三种编码的效率仅可达到

  结论:按照无论是数据0还是数据1,都是通过一个完整周期的正弦或余弦信号(当然,也可以说是方波)承载的。

  如上描述的,在发送端,在时钟的驱动下,按照曼切斯特编码的数据,本身就内含的发送端的

  从上图可以看出,时钟信号是一个方波信号,在数据0或1的电平期间,包含了一个完整的时钟方波信号,一个方波信号是一个高电平,一个低电平的组合。时钟信号的周期正好于承载数据0或数据1的类正弦与类余弦的方波信号的周期是一样的,即频率是一样的。

  >

  接收端通过数字锁相环,从链路中恢复发送端发送二进制比特的时钟信号的频率与相位,且能够完全同步。至此10M数据速率的通信方式下,二进制比特就可以通过物理信号进行发送了。

  从上图,可看出, MII接口,物理层与MAC层之间是4比特的并行数据,而不是串行数据。

  RX_DV:有效数据开始RXD3:0:MAC层的帧,包括前导码、帧同步码、数据净荷和CRC.

  >

  相对于10M速率的物理链路,100M的速率,二进制数据的速率整整提升了10倍,导致每个通信节点之间的干扰也会增加、受到线路噪音的干扰的影响也急剧的增加,因此需要一定的数据编码,用来进行链路控制、检错、纠错和差错后的重传。

  从上图中,可以看出,相对于10M速率,增加了4B/5B编码/解码、扰码/解扰

  4B/5B编码方案是把4比特的二进制数据转换成5比特二进制数据的编码方案。

  这种编码的特点是将欲发送的数据流每4比特作为一个组,然后按照4B/5B编码规则将其转换成相应5比特的编码。5比特的码共有32种组合:

  其他的16种组合用作链路控制码或保留使用,如表示帧的开始和结束、物理线路的状态(静止、空闲、暂停)等。

  4比特的0000被编码成了5比特的11110;4比特的1111被编码成了5比特的11101;

  4B/5B编码,还有一个重要的特性:即使原始的4比特的数据有4个全0或有3个0,编码后的5B特的数据中,0的个数最多也就是2个。如:

  11111: 用于物理层数据流之间的填充字符,表示空闲状态,无有效数据,主要用于维持链路时钟同步。11000/10001:物理层

  的结束标志。没有MAC层帧的相应比特域与之对应,与TX_EN和RX_DV对应。发送数据时,MAC层与PHY层之间的电信号TX_EN由高电平变成低电平,则自动转换成物理层

  的结束标志,自动把MAC层与PHY层之间的电信号RX_DV由高电平变成低电平,通知MAC层数据传送完成。

  额外增加的5比特的控制码,用于通信双方,在物理层PCS子层实体之间,进行物理链路的监控和控制。

  SSD(11000/10001):物理层使用该5B控制码,替换MAC层帧的前导码preamble的第一个字节。

  加扰是数字信号的加工处理方法,就是用二进制扰码与原始二进制数据相乘,从而得到新的二进制数据。与原始二进制相比,新的二进制在时间上被打散。一般来说,数字通信系统的设计及其性能都与所传输的数字信号的统计特性有关。

  通过加扰技术,在不增加新的数据比特的情况下,扰乱原有数据的比特顺序,改变数字信号统计特性,使其近似于白噪声统计特性。这种技术的基础是建立在反馈移存器序列(一种伪随机序列)的理论基础之上。

  这个没有什么可以多说的,就是5比特的并行数据,转换成1bit的串行数据,用于线)物理层信号编码

  在10M速率的情况系,采用的是曼切斯特编码,即用一个完整的正弦波或余弦表示的方波信号表示0或1,这种编码方案的优点是,在传输数据的同时,也能够传递数据比特的时钟周期,不需要专门的时钟信号在收发双方传输时钟信号。

  但缺点也是很明显的,编码后信号的频率是编码前的数据频率的2倍,即编码效率只有50%。

  有没有一种编码方法,既能够传送时钟信号,也能够传送数据,且信号的编码效率100%呢?很显然目前没有找到。

  采用归零码NRZ编码的I2C、SPI串行通信,信号的周期与二进制数据的周期是完全对应的,编码效率达到100%,然而,串行通信的两端,需要专门的时钟信号线传递时钟。

  那么,有没有一种编码方式,既能够传送时钟信号,也能够传送数据,且信号的编码效率在50%~100%之间呢?

  以太网100M速率的情况下,采用的4B/5B+NRZI混合编码的方式,就能够得到此效果。

  NRZI编码效率为100%,且能够确保在传输数据“1”的情况下,同时能够传递时钟信息。但在传递数据“0”的情况下,无法传递时钟信息。

  4B/5B编码能够确保(1)编码效率达到80%;(2)即使用户数据中包含连续的0比特,该编码可以避免连续的传输数据0比特。

  NRZI + 4B/5B的组合编码,得到这样的效果:既能够传送时钟信号,也能够传送数据,且信号的编码效率在80%。

  不归零码NRZ、曼切斯特编码、差分曼切斯特编码、4B/5B编码在前面已经讨论过了,在这里,探讨一下NRZI 。

  首先,NRZI的基础是不归零码NRZ,因此电信号的符号是高电平与低电平,周期与二进制数据的周期是一样的。

  但为了传递时钟信息,该编码并没有直接使用高电平或低电平表示0或1数据,而是借助了差分曼切斯特编码的思想,即用

  如果前后两个电平保持不变时(连续的低电平或连续的高电平),表示数据“0”;

  如果前后两个电平发生变化时(一个高电平+一个低电平或者一个低电平+一个高电平),表示数据“1”。

  全1的二进制比特的NRZI编码,就是一个与数据比特率等速率的方波周期信号。

  好在4B/5B编码,弥补了此缺陷,4B/5B编码后,规避了全0的情况,任意4比特的数据,都会被编码成至少包含3个1的5比特数据。

  并且5比特的11111被编码成了idle控制码,用于在没有数据传送时,用此编码传递时钟同步信号:

  ———————————————————————————————————————

  PMD子层位于整个网络的最底层, 且只适用于=100M速率的情形,主要完成

  从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的。在非差分信号系统里,系统地被用作电压基准点。当地当作电压测量基准时,这种信号被称之为单端电压。当两个导体上被同时加入的一个幅度相等、相位相反的电压,也就是所谓共模信号,信号值是两个导体间的电压差。

  是,线路中传输的信号自包含了“基准信号”,因此能够很容易地识别小信号。在一个“地”做基准的单端信号方案的系统里,测量信号的精确值依赖系统内地的一致性。信号源和信号接收器距离越远,他们局部地的电压值之间有差异的可能性就越大,因此被传输信号的幅度就不能太低。差分信号恢复的信号值在很大程度上与双方的系统地信号的精确值无关,只与传输的信号的幅度差有关。

  是,它对外部电磁干扰EMIElectromagnetic Interference)是高度免疫的。一个干扰源几乎相同程度地影响差分信号对的每一端。既然电压差异决定信号值,这样将忽视在两个导体上出现的任何同样干扰。除了对干扰不大灵敏外,差分信号比单端信号生成的 EMI 还要少。

  差分信号提供的第三个好处是,在一个单电源系统,能够从容精确地处理双极(正负)信号。为了处理单端,单电源系统的双极信号,我们必须在地和电源干线之间某任意电压处(通常是中点)建立一个虚地。用高于虚地的电压来表示正极信号,低于虚地的电压来表示负极信号。接下来,必须把虚地正确地分布到整个系统里。而对于差分信号,不需要这样一个虚地,这就使我们处理和传播双极信号有一个高真度,而无须依赖虚地的稳定性。

  (2)网络变压器在物理层芯片输出与RJ45线路信号输出之前还有一个网络变压器,进行电信号的隔离。

  再就是设备接地方法不同,电网环境不同会导致双方的0V电平不一致,这样信号从A传到B,由于A设备的0V电平和B点的0V电平不一样,这样可能会导致很大的电流从电势高的设备流向电势低的设备。网络变压器把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端。这样不但使网线和PHY之间没有物理上的连接而换传递了信号,隔断了信号中的直流分量,还可以在不同0V电平的设备中传送数据。

  从这个层面上看,网络变压器有点像“天线”:设备上的电信号,通过变压器“耦合”到RJ45的线路中,就像天线把电信号耦合成成电磁波信号,发送到空间中一样。

  在双绞线中的每一对信号(如Tx+,Tx-)导线是以双螺旋形结构相互缠绕着。流过每根导线的电信幅度相同、相位差180度,因此其所产生的磁场受螺旋形的制约、抵消,防止了信号自传输过程中能量的散发损耗。

  即对差模信号而言,它在每一根导线上的电流是以相反方向(幅度相等的一对正负信号)在一对导线上传送。如果这一对导线是均匀的缠绕,这些相反的电流就会产生大小相等,反向极化的磁场,使它的输出互相抵消。

  在这一点上,正好与天线相反:天线中的电流在两根导线上以相同方向流动,并经过寄生电容CP到地返回。在这种情况下,电流产生大小相等极性相同的磁场,它们的输出不能相互抵消。共模电流在对绞线的表面产生一个电磁场, 电信号就通过电磁场散发到空间中。

  PMD是由电/光收发器SFP完成的,SFP光模块是光通信的核心器件,是通过光电转换来实现设备间信息传输的接口模块,由接收部分和发射部分组成。其中发送端把电信号转换成光信号,通过光纤传送后,接收端再把光信号转换成电信号,传输媒质为光纤。

  一定码率的光信号输入模块后由光探测二极管转换为电信号,经前置放大器后输出相应码率的电信号。同时在输入光功率小于一定值后会输出一个告警信号。

  光信号在光纤中传输时会有一定的损耗和色散,这是光模块的传输距离受到限制的主要原因。

  中心波长指光信号传输所使用的光波段,单位纳米(nm), 目前主要有850nm波段、1310nm 波段以及 1550nm 波段。

  如果是100M光口,这里主要是SFP光电转换器对光信号的接收,并转换成电信号。

  (5)数据:经过CRC检查和MAC帧解码,得到“I Love You”对应的二进制ASCII编码的数据。

  美女B是一个程序员,通过二进制,直接翻译成“I Love You”,感受到了帅哥A的浓浓爱意。至此,整个以太网通信案例介绍完毕。

相关推荐
  • 首页-万向娱乐(万向平台注册)
  • 首页、(优游注册)、首页
  • 恩博娱乐平台-首选主管
  • 多玩娱乐-测速
  • 首页,恒悦注册平台
  • 首页。【星邦注册】。首页
  • 德信天下APP
  • 首页、优游注册*首页
  • 首页【焦点注册】首页
  • 主页-【博天下注册】丨主页
  • 脚注信息
    友情链接: