PCS子层有什么用?

说到PCS子层,这个话题涉及到以太网的帧格式。除了数据帧本身,每个数据帧之前有8个字节的前导码,两个数据帧之间还有最少96 比特时间的的帧间隔。

这样看起来似乎很清楚,链路空闲96 比特时间之后,一旦出现8个字节的前导码,后面就是数据帧,数据帧后面链路又变为空闲状态。但是,从百兆以太网开始,帧间隔期间链路并不是真正的空闲,而是需要一直传送IDLE信号。这样,链路上始终都有连续的信号(这里暂不考虑EEE功能)。这种情况下,要想分辨数据帧的起始和结束位置,就不太现实了。

百兆以太网的PCS子层,引入了4B/5B编码机制。按照4B/5B的编码规则,接收端可以很容易地解析数据帧。简单来讲,4B/5B编码把每4个比特转换成5个比特。5个比特位有32种组合,其中16种组合用来表示4比特对应的0到15这16个数值,剩余的16种组合就可以用作控制码。这样,数据码和控制码就可以区分开了。http://cafe007.blog.51cto.com/

下面看一下百兆以太网编码前后的对比,就很容易理解PCS子层所做的工作。通常所理解的数据帧格式如下:

经过4B/5B编码之后,变成了下面的码流:

上图中,出现了/I/,/J/,/K/,/T/,/R/这些符号。这些符号对应着4B/5B编码中的控制码,其中/J/和/K/码位于前导码的第一个字节的位置,而/T/和/R/码则占据了帧间隔的8比特时间。百兆以太网共有7种控制码,汇总如下:


控制码


编码


说明


/I/码


11111


对应Idle码流


/J/码


11000


用于标识数据帧的起始位置,和/K/码总是成对出现。


/K/码


10001


同上


/T/码


01101


用于标识数据帧的结束位置,和/R/码总是成对出现。

/T/和/R/码紧邻数据帧的FCS域,占用8个比特时间的帧间隔。


/R/码


00111


同上


/H/码


00100


Transmit Error; used to force signaling errors


/P/码


00000


SLEEP,用于EEE功能;其他情况下,为无效编码。

不同类型的以太网使用的PCS子层不尽相同,采用的编码机制也不同,例如:1000BASE-X以太网使用了8B/10B编码,10GBASE-R以太网使用了64B/66B编码。这些编码机制的具体实现方式,笔者无法在此一一分析,但是PCS编码的思想应该是类似的。

PCS子层有什么用?

时间: 2024-10-21 22:02:41

PCS子层有什么用?的相关文章

10GE---超长距离的万兆以太网

万兆以太网 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . 以太网标准是一个古老而又充满活力的标准.自从1982年以太网协议被IEEE采纳成为标准以后,已经历了20年的风风雨雨.在这20年中,以太网技术作为局域网链路层标准战胜了令牌总线.令牌环等技术,成为局域网事实标准.以太网技术当前在局域网范围市场占有率超过90%. 中文名 万兆以太网 太网标准 是一个古老而又充满活力的标准 太网技术 作为局域标准战胜了令牌总线 经历了20年 的风风雨雨 目录 1 简介 2 成立背景 3 

EPON 技术介绍

本文针对已看过内容的补充 1.PON技术发展 光纤接入从技术上分为:有源光网络(AON)和无源光网络(PON).目前基于PIN的使用技术主要有APON/BPON.GPON.EPON/GEPON等几种,主要差异在于采用了不同的二层技术. 1.2 EPON的基本原理 EPON采用点到多点结构,无源光纤传输方式,在以太网上提供多种业务.EPON在物理层使用100BASE的以太PHY,同时在PON的传输机制上,通过新增加的MAC控制命令来控制和优化各光网络单元(ONU)与光线路终端(OLT)之间突发数据

Xilinx FPGA高速串行收发器简介

1 Overview 与传统的并行实现方法相比,基于串行I/O的设计具有很多优势,包括:器件引脚数较少.降低了板空间要求.印刷电路板(PCB)层数较少.可以轻松实现PCB设计.连接器较小.电磁干扰降低并具有较好的抗噪能力. 2 高速串行通信中用到的技术 2.1多重相位 高速的秘密在于多重相位技术.所谓多重相位,就是在一个时钟的不同相位提取数据,例如,由锁相环产生多个不同相位的同源时钟,相位分别为 0°.90°.180°.270°,使用这几个时钟分别对串行数据流进行采样,再经零相位时钟同步,最后转

【设计经验】4、Serdes概述

一.SERDES介绍 随着大数据的兴起以及信息技术的快速发展,数据传输对总线带宽的要求越来越高,并行传输技术的发展受到了时序同步困难.信号偏移严重,抗干扰能力弱以及设计复杂度高等一系列问题的阻碍.与并行传输技术相比,串行传输技术的引脚数量少.扩展能力强.采用点对点的连接方式,而且能提供比并行传输更高带宽,因此现已广泛用于嵌入式高速传输领域. Xilinx公司的许多FPGA已经内置了一个或多个MGT(Multi-Gigabit Transceiver)收发器,也叫做SERDES(Multi-Gig

3.RapidIO串行物理层的包传输过程

转自https://www.cnblogs.com/liujinggang/p/10005431.html 一.引言 前几篇文章已经谈到RapidIO的协议,串行物理层与控制符号. RapidIO协议包括读事务(NREAD),写事务(NWRITE),流写事务(SWRITE),有响应的写事务(NWRITE_R),原子操作(ATOMIC),维护操作(MAINTENANCE),门铃事务(DOORBELL)和消息(MESSAGE)这几种. RapidIO的串行物理层是基于SERDES的,关于SERDES

SERDES关键技术总结

转自https://www.cnblogs.com/liujinggang/p/10125727.html 一.SERDES介绍 随着大数据的兴起以及信息技术的快速发展,数据传输对总线带宽的要求越来越高,并行传输技术的发展受到了时序同步困难.信号偏移严重,抗干扰能力弱以及设计复杂度高等一系列问题的阻碍.与并行传输技术相比,串行传输技术的引脚数量少.扩展能力强.采用点对点的连接方式,而且能提供比并行传输更高带宽,因此现已广泛用于嵌入式高速传输领域. Xilinx公司的许多FPGA已经内置了一个或多

测试-关于Unity获取子层级内容的几种接口(Transform FindChild, Component GetComponentInChildren,...)

测试常用的层级内组件查找接口,但一些需求还是需要扩展 比如按照名称批量查找节点,查找接口对象等 1.transform.Find(string name) 可以直接根据名称搜索到子层级节点和孙节点等,支持非激活的节点,但不能批量搜索 不支持搜索自身 var bTransform = transform.Find("a/b"); Debug.Log(bTransform); 2.FindChild(string name) 可以搜索到子节点,但不支持孙节点,曾孙节点等.支持非激活的节点

高可用pcs

一:基础 1.基础搭建 所有个节点都做 [1] name=1 baseurl=ftp://172.25.254.100/pub/media enabled=1 gpgcheck=0 [2] name=2 baseurl=ftp://172.25.254.100/pub/media/addons/HighAvailability enabled=1 gpgcheck=0 hostnamectl set-hostname node1     更改主机名 hostnamectl set-hostnam

corosync+pacemaker+nfs+pcs配置web服务的高可用

测试环境: OS:rhel6.4 web1: 192.168.1.121  httpd heartbeat pacemaker  crmsh pcs web2: 192.168.1.122  httpd heartbeat pacemaker web3: 192.168.1.125  httpd nfs VIP:192.168.1.160 PS:注意这里的测试环境是干净的,啥也没安装...go on !! 一.安装corosync和pacemaker之前的准备工作 1.节点名称(各个节点通过节点