china_54@tom.com第10章以太网物理层关键技术的VerilogHDL实现基于VerilogHDL的通信系统设计china_54@tom.com基于VerilogHDL的通信系统设计以太网作为一种局域网基本介质接入技术,近年来得到迅速的应用发展。以太网的应用范围广泛从公司、企业的局域网甚至到小区、大楼的网络都在采用以太网技术。所以关于以太网的研究和应用成为目前热点,多数公司都有各自在以太网领域开发的芯片。本章从以太网的基本概念入手,重点介绍了以太网物理层的基本功能,给出了扰码、CRC校验、帧同步以及8B/10B编码的原理及其VerilogHDL实现。china_54@tom.com基于VerilogHDL的通信系统设计10-1以太网概述以太网于1973年由“Xerox”提出并且实现了达到3Mbps的传输速率,之后在“Xerox”、“Digitial、Intel”的共同努力下于1980年推出了10MpbsDIX以太网标准。随后的以太网技术(802.3)、令牌总线(802.4)、令牌环(802.5)共同成为局域网领域的三大标准。接着全双工以太网、百兆以太网技术相继出现。1995年IEEE正式通过了802.3u快速以太网标准,而传输速率的提升又极大地促进了应用领域的发展,这极大地刺激了人们对网络容量的渴求,为此,20世纪90年代后百兆以太网的出现更增强了IT行业的影响力。china_54@tom.com基于VerilogHDL的通信系统设计10-2数据流扰码和解扰码器的VerilogHDL实现10-2-1串行扰码和解扰码器的设计在数字通信系统中,在发送端原始数据通过扰码模块加扰后数字信息的原有形式被“扰乱”,这一操作被称为“加扰”,但是这种扰乱是有规律可循的,因此也是可以解除的。扰码在数字信号处理中得到广泛的使用,通常在“0”和“1”码元交替点提取定时信息,若出现长“0”和长“1”的游程,将可能影响到同步的建立和保持。所以扰码的作用就是对输入信号进行随机化处理,以减少数据的连“0”连“1”数目,确保接收端的位同步提取,并同时扩展基带信号频率,起到加密效果。这种加扰的基础建立在伪随机序列理论的基础上,其工作原理就是在发送端用加扰来改变原来数字的统计特性,而在接收端用解扰器恢复原始的数字信号。china_54@tom.com基于VerilogHDL的通信系统设计10-2-28位并行扰码器和解扰器的设计1.8位并行加扰器设计在高速率的数据传输过程中,为了满足数据高速处理的需要,一般扰码器和解扰器通常采用并行的方式来实现。2.8位并行解扰器设计并行解扰电路的设计原理和并行加扰电路的设计原理相同。china_54@tom.com基于VerilogHDL的通信系统设计10-3CRC-16的VerilogHDL实现在数字通信中,可能会因为各种原因导致数据在传输过程中或接收时发生错误,为了保证数据传输的可靠性和数据校验的高效性,常常采用一些差错控制方法。循环冗余校验CRC(CyclicRedundancyCode)就是一种被广泛采用的差错控制方法和数据编码方法。它具有编码和译码方法简单,检错和纠错能力强等特点,能有效的对数据进行编码,并可以显著地提高系统的检错能力,从而保证数据传输的可靠性和正确性,因此在大多数的以太网协议中都采用了CRC校验来进行差错控制。china_54@tom.com基于VerilogHDL的通信系统设计10-3-1串行CRC-16校验的VerilogHDL实现CRC编码是根据CRC校验原理得出的一种编码方法,CRC校验的基本思想是。利用线性编码理论,在发送方向根据要传输的k位二进制序列,以一定的规则产生r位校验用的监督码(CRC码),并附在信息位之后,构成一个新的二进制代码序列共n=k+r位。在接收方,则根据信息码和CRC码之间的规则进行校验,以确定传输中是否出现错误。同样,CRC编码也是采用这种线性编码理论进行编码,编码和译码双方都使用同一个生成多项式()Gx,例如:CRC-CCITT、CRC16。对于一个数据进行编码,简单的说,就是原始数据通过某种算法,得到一个新的数据。而这个新的数据与原始数据有着固有的内在联系。通过把原始数据和新的数据组合在一起形成新的数据,因此这个数据具有自我校验能力。china_54@tom.com基于VerilogHDL的通信系统设计10-3-2并行CRC-16的VerilogHDL实现在利用CRC-16串行编码电路对输入数据进行编码时,它的输入数据是串行输入的,因此数据传输率较低,它的运算速度的提高完全依赖于系统时钟频率的提高,不能够满足现在的低功耗下的数据快速传输。如果将数据进行并行处理,就可以在较低的时钟频率下快速的处理数据。因此,并行的CRC-16在目前应用更加广泛。china_54@tom.com基于VerilogHDL的通信系统设计10-4SDH帧同步器的设计以太网按照只是一种局域网实现技术;按照实现的协议和标准划分可以有很多种的实现方法,每种实现方法都具有各自的数字信号帧格式、复用方式、传输速率和接口码型等特点。同步数字传输体制(SDH)就属于以太网的一种实现协议,这种传输协议主要应用于高速的数字系统中,它的主要特点是具有标准化的贯穿全网的运行、管理和维护(OAM)功能。SDH信号需要什么样的帧结构呢?不同的以太网实现方法都具备各自的数据帧格式,所以在数据接收端如何完成数据帧的提取,以实现同步传输的目的是非常重要的。所以本节将重点以SDH为例,介绍SDH数据的同步方法。在介绍帧同步原理之前首先需要清楚SDH的帧结构,一般一个STM-N的帧结构由3部分组成:段开销,包括再生段开销(RSOH)和复用段开销(MSOH)、管理单元指针(AU-PTR)和信息净负荷(PAYLOAD)。china_54@tom.com基于VerilogHDL的通信系统设计10-5千兆以太网中8B/10B编译码器设计8B/10B编码是由IBM公司开发,是把8bits数据字节转换成串行传输使用的10bits码。8B/10B编码的主要特点有:保证了1和0的相对平衡组合,简化了始终恢复。编码器提供了一些特殊字符,促进了无码检测。8B/10B编码采用了冗余方式,将8bits数据编成10bits数据,根据编码规则能够检测出传输过程中发生的错误。8B/10B编码对构建串行通信提供了一套可使用的基础数据和控制字符。并以这个公共字符集为基础来定义更高的协议层。china_54@tom.com基于VerilogHDL的通信系统设计10-5-18B/10B编码原理在介绍8B/10B编码方法前首先需要清楚3个基本概念,即:DC平衡码的不平衡度、完美平衡码、极性偏差参数。10-5-28B/10B编码器的设计由于8B/10B编码器用于高速串行发送器中,一般采用硬件电路实现,可以采用逻辑电路或查找表(LTU)实现。至于采用何种方法,要根据8B/10B的编码规则来确定,如果完全采用查表法,那么需要256个数据和12个特殊字符,共268个单元,每个单元20bits,分别对应10bits的RD-和10bits的RD+,即需要268×20的ROM表,占用的很大的存储空间。如果采用组合逻辑电路直接实现8bits到10bits编码,电路比较复杂,但是编码时间大大缩短。因此寻找一种高效的8bits到10bits编码方法是8B/10B编码器的关键。china_54@tom.com基于VerilogHDL的通信系统设计10-5-38B/10B译码器的设计在进行译码的时候,首先要从不平衡度的计算中判断出码组是否为许用,进而分析出解析逻辑。在RD-列,允许的码组不平衡度只可能为“0”或“-2”,其中不平衡度为“0”的共19组,除了D7.x外,其余码组则和RD+列中对应的码组值相同。相应在RD+列,允许的码组的不平衡度为“0”或“+2”,且不平衡度为“+2”的码组和RD-列中不平衡度为“-2”的码组按位取反,由此可得出当码组的不平衡度为0、1、5、6时,该码组属于禁用码组的结论。考虑到RD+列不平衡度为“+2”的码组和RD-列中不平衡度为“-2”的码组两者之间的对应关系,以及码组不平衡度为“0”时的解碼值,可以按照真值表的形式推导出译码输出值和译码输入值的组合逻辑关系。china_54@tom.com基于VerilogHDL的通信系统设计10-6本章小结本章主要针对以太网概念和发展做了简单描述,给出了物理层关键技术的VerilogHDL实现。首先介绍了以太网的发展历程以及以太网物理层的功能和关键技术。然后较为详细的介绍了串/并行扰码的原理及其VerilogHDL实现,串并行CRC-16校验的原理及其VerilogHDL实现,SDH的数据帧结构以及SDH解帧器的VerilogHDL实现,最后给出了8B/10B编、译码原理及其VerilogHDL实现。本章内容工程应用性强,希望细心体会。