千兆光纤以太网

2024-05-29

千兆光纤以太网(共7篇)

千兆光纤以太网 篇1

摘要:本文中利用FPGA控制88E1111芯片实现千兆光纤以太网数据传输。此款PHY芯片具有以太网口与光纤两种物理接口,对于MAC接口具有多种模式的选择,应用FPGA来实现千兆光纤接口的数据传输,控制方式选择了GMII模式,同时此物理芯片还具回环模式,能够方便的测试诊断千兆光纤以太网;芯片的封装也具有三种形式,具有不同的引脚,可根据实际环境选择任一种封装。

关键词:千兆光纤以太网,FPGA,88E1111芯片

1 引言

随着近几年互联网+ 的提出与推广, 网络技术应用范围越广泛, 而在计算机网络的发展技术当中, 在不同应用领域存在着激烈的竞争, 在以太网技术以稳定性、通用性、开放性、高速性和廉价性, 很多领域得到广泛应用。同样100Mb Ps带宽下工作的FDDI与快速以太网相比具有许多的优点, 最主要表现在快速以太网技术支持3、4、5 类双绞线以及光纤的连接, 能充分的利用现有的设备而获得更高的带宽和速度。但快速以太网的技术没有改变,当网络数据量大时, 会造成数据吞吐量降低。

千兆光纤以太网技术不但继承了传统以太网技术价格便宜的优点, 而且还填补了802.3 以太网/ 快速以太网标准的不足。千兆光纤以太网利与原来以太网标准所有规定全部相同, 完全兼容以太网和快速以太网, 因此可以实现在原有低速以太网基础上平滑、连续性的网络升级。

以太网发展至今也具有一定的优势, 从办公、生活网络应用, 走向了工业控制领域, 发展到国防军工、航空航天等可靠性、高速性的领域。现在通过通信技术的提高, 通信速率得到了提高, 从以前的10M、100M发展到现在的1000M、1G, 网络速度的加快使得整个网络中的负担降低, 同时传输延时时间也大大减小; 也采用了全双工的模式, 网络上数据的收发同时进行, 全双工的模式也避免了因碰撞引起的通信响应不确定, 将以太网用于军工、航空航天等领域, 使得具有应用广泛、成本低廉、通信速率高、软硬件资源丰富、可持续发展能力强、易于实现管控一体化几个优势[1]。

基于FPGA的千兆光纤以太网的数据传输, 使得有效传输数据的吞吐量最大化。千兆光纤网作为新一代的以太网技术, 不仅保持原来的10M、100M以太网已有的CSMA/CD协议, 而且还保持帧格式和长度不变,同样支持全双工与半双工模式, 也最大的继承了传统以太网的技术优点。利用原有的以太网标准基础之上制定了千兆以太网,完全兼容了已经普遍应用的快速以太网,根据原有网络基础上更新设备就可方便的将普通的网络升级到千兆以太网。千兆以太网向下兼容, 并支持多种模式, 可以利用现今市场上广泛存在的非屏蔽双绞线进行数据的传输。千兆以太网与普通网络一致具有良好的可扩展性。千兆以太网可以做到低廉的价格及优异的性能, 用户在已搭建的网络基础上就可以升级。

2 FPGA实现以太网控制

2.1 以太网数据层

目前最为广泛的参考模型为OSI(Open System Interconnection, 开放系统互连), 应用FPGA实现的以太网也遵循这个模型, 该模型由ISO( 国际标准化组织) 提出了一种在现有网络的基础上不基于设备和系统的体系结构。该模型成为OSI 7 层协议, 从底层开始,依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层[2]。如图1 IEEE 802.3z中千兆光纤技术OSI 7 层模型。介于物理层和网络层之间为数据链路层(Data Link Layer), 其主要功能包括: 将数据拼接成数据帧结构, 控制数据帧在物理信道上的传输, 为实体网络间提供建立连接、维持和释放的服务, 由接收方的数据流的大小要求调节数据发送速率以使其相匹配。同时完成帧结构框架的构建、错误的查找及纠正以及信道上数据流量的控制, 有效实现点对点或多点间数据的可靠传输[3]。

2.2 以太网帧结构

以太网帧是网络通信信号的基本单元, 以太网多组数据进行封装, 封装成帧的形式进行发送。以太网的帧分为数据帧和管理帧, 其中数据帧分为标准帧和VLAN扩展帧。图2 和图3 分别显示了以太网标准帧和VLAN采用的扩展帧的机构, 传输是数据从左面开始传输[4]。在两种帧结构下的区别在源地址与数据长度间是否有4 个字节的标志位来区别, 两种形式下的以太网帧都包含帧前导(Preamble)、帧起始符(SFD)、MAC地址、数据类型/ 长度(Length/Type)、数据字段、帧检验字段(FCS),其中帧前导由7 个字节0x55 构成, 帧起始由7 个字节0xd5 构成, 帧检验字段是为从MAC地址开始通过CRC校验生成4 个字节的校验和[5]; 对于选择无论什么样的帧格式, 都必须要由7 个字节帧前导、1 个字节帧起始、4 个字节帧校验字段FCS, 这三个字段在本文中选择的芯片上必须要满足, 否则是数据不能穿透PHY进行传输。

3 实现以太网传输PHY芯片的硬件设计

3.1 PHY芯片接口

通过FPGA实现千兆光纤以太网数据传输选择了88E1111 物理接口芯片, 如图4,88E1111 芯片功能结构图, 对于此款芯片包含两种网络接口, 一种就是以太网线接口, 另一种就是本文中要实现的光纤接口, 其中对于光口的连接通过串行总线接口与PHY连接, 然后PHY芯片连接MAC通过GMII或RGMII接口连接;串行总线接口包含S_IN+/-,S_OUT+/- 和SD+/- 几个引脚。

通过光纤接口数据信号传输是典型的直街连接到MAC, 并且对PHY芯片是没有输入信号检测, 在默认模式下信号检测总是连接状态;如果想要应用光口传输数据检测信号作为88E1111芯片的输入,那么将要通过信号检测输入状态,可以通过寄存器配置来设定完成。

对于MAC段接口, 如表1 PHY芯片MAC引脚, 可以通过配置引脚来配置成不同的MAC接口模式,GMII/MII、RGMII/Modified MII,SGMII, 串行接口等连接模式, 而这些接口都可配置成10M、100M、1000M的网络接口。

3.2 光纤接口模式的连接

图5 MAC接口到光口的连接可以通过模式配置寄存器HWCFG_MODE[3:0] 配置, 共有两种模式, 一种是GMII到光纤传输, 配置值为0111; 另外一种是RGMII到光纤传输配, 设置值为0011。通过HWCFG_MODE[3:0] 配置的GMII模式时, 只有一种1000M数据传输; 数据发送与接受时, 通过串行接口完成数据的接受与发送, 同时此种模式也支持1000BASE-X自动协商, 同样对于RGMII模式时, 使用的也是1000Mbps自动协商功能。

3.3 88E1111 光纤接口硬件电路设计

本文中实现千兆光纤通讯是应用FPGA与MAC口相接完成数据传输,PHY芯片与光纤接口如图6 所示,应用上述的串口接口模式, 配置方式通过HWCFG_MODE[3:0] 值0111 为GMII模式, 通过图示的PCB接线就可通过FPGA实现千兆光纤数据的传输。

4 千兆光纤以太网的软件设计

4.1 88E1111 的程序设计

本文中只介绍利用Verilog HDL语言实现无协议数据的收发, 根据以上的硬件介绍及参考手册, 做好PCB电路板, 完成电源、时钟、复位灯各路信号的测试, 接着可按以下的步骤操作;

1) 了解传输: 在不需要懂以上所说的任何网络协议模型, 先通过硬件做个实验, 通过PC机利用以太网测试软件或测试程序向88E1111 实验板发送一组数据, 例如01 02 03……, 主要是发送一组已知数据, 最好能发无任何协议的数据, 例如要是带UDP协议的需要区分出是后面哪一段才是自己定义的数据;

2) 读信号: 通过Quartus II软件中Signal Tap抓波形, 那么需要抓那些信号呢, 下面就来看硬件了, 翻开手册查找根读数据有相关的信号有RX_CLK、RX_ER、RX_DV、RXD[7:0], 看下这些信号的特点, 都是作为输出不需要控制, 即只读就可以了, 看下说明4 个标志依次代表读时钟、读数据错误、读数据有效、读数据,直到现在应该知道通过Signal Tap抓那些信号了;

3) 抓取数据:PC向板子发送的数据都为预先设定好的, 即为已知数据, 如果数据要是少系统后面会自动补数据8’h00, 多发送几次变化的数据, 看看抓到什么时序, 查找一下共同特点, 此时将会都会出现前面8’h558’h55 8’h55 8’h55 8’h55 8’h55 8’h55 8’hd5+数据+4 字节变化的数, 对这种结构就是88E1111 的格式; 如果通过PC用抓包软件只能看到‘数据+4 字节变化的数’做下对比吧!在此把88E1111 发送的数据流比喻成针线,8’h55 8’h55 8’h55 8’h55 8’h55 8’h558’h55 8’hd5 这就是针, 数据就是线,4 字节变化的数这个是啥呢, 如果针带着线一直穿是不行的, 因为停不下来需要打个结, 这样就会停下来了, 那么这‘4 字节变化的数’就是代表着数据的结束;

4) 数据结构: 上面说了那么多就是为了理解, 简单从网络传输理解就是发送的数据前面要有帧前导与帧起始符, 后面要有校验和, 帧前导与帧起始符都是固定的数据了, 只要是这组数据就行, 那么校验是怎么做的呢,也是比较简单的, 就是通过CRC校验和完成的, 至于用查表还是16 位数相加求反码根据自己的习惯选择一下, 注意帧前导不计算在校验和内;

5) 写信号: 知道数据读取咋回事了吧, 至于说不加协议怎么用, 那接下来就是应用的事了, 下面接着了解发送数据, 有了读数据, 写数据就是一个反过程, 从硬件角度讲, 所有有关读引脚变写引脚, 那也就意味着都是输入脚了, 需要应用FPGA控制输出时序状态, 其实也是很容易的, 看看有那些引脚GTX_CLK、TX_ER、TX_EN、TXD[7:0], 不用多说手册明确说明依次为写时钟、写数据错误、写使能、写数据, 为了能发出数据一定保证数据的正确性, 所以只要用到GTX_CLK、TX_EN、TXD[7:0] 这三个就可以了, 时钟为125MHz,TX_EN信号置1 后TXD[7:0] 就为有效数据了, 一个时钟一个字节数据;

6) 发送数据: 在TX_EN有效后, 对应读数据结构应该知道发送什么数据吧, 那个‘针’, 有帧前导与帧起始符才可以畅通无阻的, 连续的一个时钟一个时钟的发8’h55 8’h55 8’h55 8’h55 8’h55 8’h55 8’h558’hd5 这一串数吧, 发完了接着来发送自己的数据, 注意需要要做校验和, 数据发送完毕, 接着快把校验和发出去, 校验和发送完毕, 一个数据包就发出去了, 通过PC机用抓包软件看看数据能不能抓到、数据对不对;

7) 提示: 帧前导、帧起始符根校验和有一个错误,数据都是发送不出去的, 就是没有‘针’‘结’网络传输是不识别的, 这个其实还根硬件电路板布局布线有关系的, 但要简单几十个数一般可以忽略这个问题。

4.2 顶层控制模块实现实现

根据Verilog HDL语法规则[6], 实现千兆网光纤数据通讯顶层文件的代码, 主要分成几个部分: 主机端,即供数据发送接受的主时钟、配置寄存器的时钟及复位;MAC接口端, 即直街与FPGA通讯读取数据的接口, 分别为PHY芯片的复位接口, 读写的时钟、使能、数据端口, 模式寄存器配置接口; 内部数据通讯接口端,即通过FPGA内部完成与其它设备数据的通信端, 本文中试验是采集的摄像头的数据分别做了, 数据读写请求、同步、数据端等, 同样根与MAC接口端一样也要具有时钟、读写使能、数据等。下面是通过Verilog HDL语言完成千兆以太网光纤接口传输的顶层代码:

5 结束语

本文中选取了多种接口模式的一款网络芯片实现千兆光纤以太网数据传输,通过与PC机网络助手软件的配合,完成数据发送接收的测试, 选择的网络芯片是MARVELL公司的88E1111 PHY芯片, 支持的多种MAC接口模式,可以灵活的操作; 由于FPGA的自身特点, 利用FPGA控制这款芯片十分方便, 即不需要复杂的电路设计, 也不需要特殊的代码编写, 只需要按照手册上的设置、时序完成指定的功能代码就可实现千兆光纤以太网的数据传输;同时此文介绍千兆光纤以太网不包含任何协议, 针对网络协议只需在此基础上增加即可完成。

参考文献

[1]王平,谢昊飞,肖琼,向敏,陈敏那.工业以太网技术[M].重庆:科学出版社,2005.

[2]史旭明.面向企业网的微机电火花加工数控系统的研究[D].哈尔滨:哈尔滨工业大学,2010.

[3]区益善.计算机网络工程手册[M].北京:电子工业出版社,1994.

[4]Xilinx Inc.Virtex-5 FPGA Embedded Tri-mode Ethernet MAC User Guide Version 1.10[2011-02][EB/OL].http://www.xilinx.com.

[5]王景忠.基于MPC8280的以太网接口板设计与实现[D].西安电子科技大学,2011.

[6]夏宇闻,Verilog数字系统设计教程[M].北京航空航天大学出版社,2003,7.

基于FPGA的千兆以太网设计 篇2

随着电子技术的发展,系统设备正向小型化、集成化、网络化发展。FPGA具有逻辑丰富、管脚充沛等特点,广泛应用于高速数据处理和通信的嵌入式系统。在其内部加入处理器系统,不仅能够实现一般的逻辑功能设计,同时能够实现一般单片机功能,通过FPGA内部逻辑功能连接可以使整体获得优异的性能,并大大减少PCB设计工作。

当今,互联网技术的迅速发展,采用以太网实现数据采集和控制方面的应用,成为了电子系统设计的热点。以太网具有价格低廉、稳定可靠、传输速度快、传输距离远等特点,以太网技术发展成熟,具有很高的性价比。采用以太网技术的设备,可以通过TCP/IP协议进行数据的传输,不需要进行传输协议转换,使用和维护设备简单。

结合FPGA和以太网的优点,本文设计一个以FP-GA为核心的嵌入式千兆以太网设备。在本设计使用Altera公司的高端FPGA:EP3SL150F780C3,在其内部构建实现NiosⅡ32位的嵌入式软核处理器,工作频率能够达到185 MHz,其内部丰富的RAM资源,能够为处理器系统提供高速的数据和代码存储。围绕NiosⅡ处理器,加入MAC功能的IP核,可以很快实现以太网的开发。

1 PHY芯片

物理层(PHY层)是属于网络OSI参考模型的最底层,直接面向实际承担数据传输的物理媒介,并且为数据链路层提供一个传输原始比特数据流的物理连接[1]。虽然,物理层处于最底层,但却是整个网络系统的基础。物理层的核心就是PHY芯片,它的性能直接决定着网络的传输性能。

本设计的PHY芯片为Alaska Ultra 88E1111千兆网络物理层设备[2]。该芯片具有的功能:能够支持10 Mb/s/100 Mb/s/1 000 Mb/s的以太网传输,支持GMII/MII,RGMII/MII等多种接口;支持1000BASE-T,100BASE-TX,和10BASE-T的应用,拥有发送和接收标准5类非屏蔽双绞线的功能;能够探测和报告潜在电缆故障,同时能够探测到电缆的脱落、短路和其他阻抗不匹配的情况;提供IEEE 802.3u标准下的自动协商机制(Auto-Negotiation),也就是能够实现两个网络接口间对通信速度的自动协商;提供标准的TWSI和MDC/MDIO接口,控制和查看网络芯片的状态。

2 硬件设计

在本设计中FPGA与PHY芯片的连接方式为GMII/MII,使用PHY的控制接口方式为MDC/MDIO,使用RJ45接口实现电缆与PHY芯片之间的数据传递。系统的硬件的连接如图1所示。

管脚功能描述如下:

MDIO:MAC控制PHY芯片的接口;

MDC:控制MDIO方向;

TXD[7:0]:MAC发送到网络上的数据接口,接口格式为MII时,使用其中的低4位,接口格式为GMII时,使用全部的8位;

TX_EN:使能发送数据的信号,当信号有效时,PHY芯片从TXD接口读入数据;

TX_ER:发送的数据出错。当该信号有效时,PHY芯片将丢弃未发送完的帧数据;

RXD[7:0]:MAC接收网络上的数据接口,接口格式为MII时,使用其中的低4位,接口格式为GMII时,使用全部的8位;

RX_EN:使能接收数据信号,当该信号有效时,MAC从RXD接口读入数据;

RXD_ER:接收的数据出错。当该信号有效时,MAC将丢弃未接收玩的网络帧数据;

TX_CLK:MAC数据发送的时钟;

RX_CLK:MAC数据接收的时钟;

GTX_CLK:在GMII模式下时,PHY芯片需要的外部提供125 MHz输入时钟,在这里通过FPGA内部的PLL来实现;

MDI[3:0]:PHY芯片与RJ45连接的接口。在GMII模式时,需要全部MDI[3:0];在MII模式时,仅需要低位MDI[1:0]工作。

3 NiosⅡ系统的设计

在FPGA上实现NiosⅡ系统,对以太网数据的传送与接收。NiosⅡ系统由NiosⅡ处理器、DMA控制器、三速以太网MAC和RAM构成。NiosⅡ系统的结构如图2所示。

NiosⅡ处理器是Altera公司针对Altera FPGA和HardCopy SIC而开发的32位嵌入式软核处理器[3]。本设计使用快速型的NiosⅡ处理器内核,工作频率最快能够达到185 MHz。在其基础上,植入TCP/IP协议,实现对以太网的数据传输和控制。

MAC(介质访问控制层)主要负责控制与链接物理层的物理介质。本设计中的MAC通过调用三速以太网控制器IP核在FPGA中来实现[4]。三速以太网IP核的MAC,提供了一个标准的Avalon-ST接口,用户可以通过此接口对MAC内的接收FIFO和发送FIFO读写操作;MAC提供MII/GMII接口与PHY芯片实现无缝的连接,同时能够提供MDIO/MDC接口,管理PHY芯片;MAC根据发送的数据自动生成CRC校验码和对接收的数据进行CRC校验;MAC根据内部FIFO的状态或者由处理器的控制来产生停止帧。

RAM包括数据存储器和描述符存储器。数据存储器主要对MAC的数据暂存,包括DMA从MAC接收FIFO中读取的数据和DMA发送给MAC的发送FIFO的数据。描述符存储器,存储NiosⅡ处理器设置的对SGDMA的控制描述符命令。NiosⅡ处理器控制SGDMA读取描述符命令,做相应的数据传输操作,并将SGDMA对应的状态反馈回描述符。

DMA控制器使用Altera公司的Scatter-Gather DMA IP核,能够根据描述符命令,从FIFO中读取指定长度的零散的数据写入到指定地址的存储器中,或者从指定地址的存储器读取指定长度的数据并写入到FIFO中。TX_SGDMA是从数据存储器中读取数据,将数据写入到MAC的发送FIFO中;RX_SGDMA是从MAC的接收FIFO中读取出数据,并将数据写入到数据存储器中。在硬件逻辑设计上,NiosⅡ系统对MAC的数据操作分成接收和发送两个过程:

接收的过程,MAC从MII/GMII接口读入数据,TSE MAC将数据写到模块内的接收FIFO上,处理器根据MAC的状态向描述符存储器内写入描述符命令,RX_SGDMA根据读入的描述符,从MAC的RX FIFO中读入数据,并将数据写入到数据存储器中相应的位置。发送的过程,处理器向描述符存储器写入描述符命令,TX_SGDMA根据读入的描述符,从数据存储器中读入相应的数据,再将数据写入到MAC的TX_FIFO中,MAC将数据装入数据帧内发送到MII/GMII接口。

4 软件设计

4.1 软件架构

对于NiosⅡ系统的软件开发,使用的是NiosⅡEDS开发工具。NiosⅡEDS根据NiosⅡ系统的架构信息,生成BSP文件,包含对应的HAL应用程序接口和硬件驱动,并能够根据工程的应用选择添加Micro C/OS-Ⅱ系统和移植NicheStack TCP/IP协议栈。

Micro C/OS-Ⅱ,是一个开放式的可剥夺的实时操作系统,是一种专门为嵌入式系统设计的内核[4]。MicroC/OS-Ⅱ是一个轻便的,可固化的,可升级的,有优先级的,实时的,多任务内核。

NicheStack,是Interniche公司开发的针对嵌入式系统的通信协议。NicheStack使用较少的内存资源,实现TCP/IP协议。在NiosⅡ系统的软件设计中,NicheStack协议运行在MicroC/OS-Ⅱ系统的基础上,由Micro C/OS-Ⅱ对其提供多任务、消息传递、时间管理等服务。在本设计中,根据NiosⅡ系统的架构,在其基础上实现TCP/IP协议栈,实现对以太网的控制和数据传输,在BSP文件生成的时候,加入Micro C/OS-Ⅱ系统和NicheStack。Nios系统的软件框架结构如图3所示。

4.2 程序设计

在软件架构的基础上,需要实现以太网数据的程序设计。系统与远程设备通信时,以太网数据在程序中的流向为PHY监测任务、套接字任务、用户应用程序,如图4所示。

在创建任务前,在程序中需要向NicheStack堆栈描述MAC设备,也就是将MAC设备注册。在MAC设备的数组tse_mac_device中,定义一个描述符存储器和数据存储器不是一个地址的MAC设备,需要将MAC设备的MAC设备名、收发的DMA设备名和描述符地址加入到该数组中。MAC设备向NicheStack堆栈注册的代码如下:

套接字,是以太网通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。套接字任务,主要分为有套接字服务器任务和套接字客户端任务。

创建一个流套接字服务器程序代码:

创建流套接字客户端程序的代码:

在套接字服务中的发送数据函数代码:

send(SOCKET fd,char*buf,int length,int flag);

从套接字fd发送长度为length,指针为buf的字符串数据。flag为发送数据的格式。与硬件结构对应,字符串buf所在的存储器需要与TX_SGDMA的读数据端口相连,也就是在数据存储器中。

在套接字的服务中接收数据函数代码:

int rev(SOCKET fd,char*buf,int length,int flags);

从套接字fd读入长度为length字符串,并将其写入到buf指向的字符串地址中。flag为接收数据的格式。与硬件结构对应,字符串buf所在的存储器需要与RX_SGDMA的写数据端口相连,也就是在数据存储器中。

用户应用程序与套接字任务的数据交互,可以使用MicroC/OS-Ⅱ系统提供的信号量、队列、邮箱等来实现,并能够方便任务间的协调控制。

5 结语

在FPGA上实现千兆以太网设计,不仅能够实现系统间的高速数据传输,而且MAC在FPGA上实现,有效减少PCB设计工作和成本投入,充分利用FPGA的资源,在整体上,增加了系统的可靠性和集成性,有利于FPGA的功能扩展。

摘要:千兆以太网拥有传输速度快、传输距离远、稳定可靠等优点,是当前嵌入式系统的应用热点。FPGA拥有丰富的逻辑和管脚资源,常用于高速数据处理和通信的嵌入式系统。本文描述一个基于FPGA的千兆以太网系统的设计,本设计在硬件上主要使用千兆以太网PHY芯片88E1111和Altera公司的StratixⅢ系列的FPGA,在FPGA的逻辑上实现NiosⅡ嵌入式系统和以太网的MAC控制器,在NiosⅡ系统的软件上移植入MicroC/OS-Ⅱ实时多任务操作系统和NicheStackTCP/IP协议堆栈。在FPGA上实现千兆以太网设计,有效提高了系统的可靠性和集成性,充分扩展FPGA的功能。

关键词:千兆以太网,FPGA,PHY,TCP/IP

参考文献

[1]任泰明.TCP/IP协议与网络编程[M].西安:西安电子科技大学出版社,2004.

[2]Marvell Corporation.88E1111datasheet integrated 10/100/1000ultra gigabit Ethernet transceiver[R].US:MarvellCorporation,2004.

[3]蔡伟纲.Nios2软件架构解析[M].西安:西安电子科技大学出版社,2007.

[4]Altera Corporation.Triple-speed Ethernet MegaCore func-tion user guide[R].US:Altera Corporation,2010.

[5]LABROSSE Jean.μC/OS-Ⅱ:the real-time kernel[M].[S.l.]:[s.n.],2002.

千兆光纤以太网 篇3

千兆以太网兼容目前所有以太网,遵循以太网原有的标准和规则,其中包括CSMA/CD协议、以太网帧、全双工、流量控制以及IEEE802. 3 标准中所定义的管理对象。

TCP / IP协议是一种网络通信协议,其规范了网络上的所有通信设备,尤其是两台主机之间的数据传输格式及方式。

在电子设备网络化的各类实现方案中,共同之处在于如何通过网络技术将设备接入到网络中从而实现远程控制与管理。FPGA作为专用集成电路( ASIC) 领域中一种半定制电路的出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,在嵌入式系统开发中得到越来越多的应用。因此,如何在FPGA中实现TCP/IP协议与千兆以太网的高速接入具有较大的现实意义。

1 OSI参考模型

开放式系统互联( Open System Interconnection,OSI) 是国际标准化组织( ISO) 制定的网络通信7 层参考模型。这些层本质上是相互独立的。上面3 层与应用相关,而下面4 层则与网络层通过物理媒质进行数据通信。数据链路层控制物理媒质的接入,而物理层建立链路所需的机械、电气、功能和规模特性。千兆以太网接口则在这两层中实现。

并不是所有网络配置均具有OSI 7 层模型,这是因为众多网络不提供为其上层所定义的服务。例如,单独的以太网仅实现最低的数据链路层和物理层。从一个以太网LAN访问因特网需要增加网络层和传输层,以实现因特网协议集的TCP/IP协议。

2 数据传输方案

2. 1 硬件设计

千兆以太网传输电路中最关键的是数据链路层( MAC) 和物理层( PHY) 芯片以及这两者的连接接口。本文使用Altera公司提供的三速以太网IP核作为MAC层控制器,从而减少系统成本和芯片的数量,而PHY芯片使用88E1111 以太网芯片。图2 给出了千兆以太网的基本设计框图。

本文将三速以太网接口配置成1 000 Mbit·s- 1模式,通过GMII或RGMII接口与PHY芯片88E1111 连接,使用MDIO/MDC配置接口对88E1111 进行配置。三速以太网IP核内有32 个寄存器,而PHY芯片内部同样拥有32 个寄存器,两者相互匹配,只需通过配置IP核内部的寄存器便可完成对PHY的配置工作,减少了工作流程,简化了工作方式。PHY芯片连接以太网接头RJ45,完成了底层硬件环境的搭建。

如图2 所示,三速以太网IP核通过Avalon总线与Nios II软核处理器相连接,实现了对传输数据的收发控制。本文使用SOPC Builder构建一个基于Nios II的可编程片上系统,具有灵活的设计方式,可裁剪、扩充、升级。Nios软核处理器主要工作分为3 个部分: 应用程序、TCP/IP协议和驱动程序。应用程序由用户调用协议栈接口程序来实现以太网数据传输,而以太网驱动程序为上层协议与三速以太网IP核架起了桥梁。

2. 2 软件设计

千兆以太网传输系统的软件部分由C /C ++ 语言编程实现。在Nios II软件开发环境下,实现Nios II软核处理器的相关操作。

2. 2. 1 软件设计流程

如图3 所示具体工作如下: ( 1) 启动Nios II软核处理器; ( 2) 服务器建立等待连接; ( 3) 若连接失败继续等待; 若成功连接,则发送指令; ( 4) 若未接收到发送指令,则继续等待; 若接收到发送指令,则开始发送数据; ( 5) 在发送数据过程中,若未收到停止发送指令,继续发送数据; 若收到停止发送指令,则暂停发送数据; ( 6) 暂停后,若收到断开连接指令,则Nios II停止工作,网络断开; 若未收到断开指令,则返回步骤( 4) 。

2. 2. 2 UDP协议

UDP协议数据报的封装在运输层进行,打包好的UDP数据将送往网络层进行IP协议的打包。UDP要完成进程到进程的通信,将报文交付给正确的进程。当进程有报文要通过UDP发送时,其就将这一报文连同一对套接字地址以及数据的长度传递给UDP。UDP收到数据后加上UDP首部,然后UDP就将这用户数据报传递给IP。图4 给出了UDP封装格式[2]。

本文主要使用UDP通信,实现ARP协议和IP协议。UDP与TCP一样均属于传输层协议,位于应用层与网络层之间。UDP相对于TCP来说较为简单,编写代码量较少,正因如此其所占程序和内存空间更少,运行速度更快。ARP为IP地址与对应的硬件地址之间提供动态映射,发送以太网数据到主机上时,根据48 bit以太网硬件地址来确定目的接口。 IP协议是TCP / IP协议族中最为核心的协议,所有TCP、UDP、ICMP及IGMP数据均以IP数据报格式传输。

3 千兆以太网传输测试

测试所需的实验条件和开发工具: 高性能PC机一台,Quartus软件开发环境,Cyclone IV FPGA系列开发套件和cat - 5 网线一根。

FPGA与PC进行以太网数据传输,采用UDP协议,用cat - 5 网线将开发版与PC相连接。FPGA内部产生递增数据,足够一个数据包后,通过网络将数据传输到PC,PC也可通过网络给FPGA发送数据,而FPGA则通过中断接收数据在Nios II IDE中显示。

3. 1 发送数据检测

使用Wireshark抓包工具采集包内数据进行分析。如图5 所示,该以太网帧结构中物理目的地址为( 00: 0f: ea: fd: 9f: 96) ,物理源地址为( 01: 60: 6e: 11:02: 0f) ,类型( 0x0080) 为IP。

如图6 所示,该以太网帧结构中总长度为1 480 Byte( 图中05c8) ,生存时间( 128) 即0x80,协议类型UDP( 17)即0x11。

如图7 所示,有效载荷长度为1 438 Byte,从0x00开始递增,达到一个数据包长度后发出。

3. 2 接收数据检测

一次完整的网络连接和断开,可从Nios II IDE窗口中得到接收信息,如图8 所示。

接收包的长度为1 480 Byte,由目的地址、源地址、数据类型和有效载荷等组成。

将Nios II IDE窗口接收到的数据与抓包采集的数据进行对比发现,收发数据一致,实现了千兆以太网数据的正确传输。

4 结束语

使用FPGA开发平台实现千兆以太网数据传输设计,满足了系统间的数据高速传输,提高系统集成度和网络处理能力,有效减少成本投入。对所设计千兆以太网传输方案进行测试,结果表明所传输数据能正确收发,但由于采用了Nios II软核处理器实现TCP/IP协议,其传输速度相对于硬件较慢,因此如何使用硬件实现TCP/IP协议来提高传输速率需要进一步研究。

摘要:为解决现代化设备如何使用千兆以太网高速接入的问题,使用Altera公司cyclone Ⅳ系列FPGA作为嵌入式开发平台,采用Nios Ⅱ软核处理器实现TCP/IP协议。对所设计传输方案进行测试,结果表明所传输数据能正确收发,并具有较高的传输效率。

关键词:千兆以太网,现场可编程门阵列,传输控制协议/网际协议,嵌入式开发

参考文献

[1]李航.基于FPGA和千兆以太网(Gig E)的图像处理系统设计[D].南京:南京理工大学,2014.

[2]郭晓宇.基于IEEE802.3标准的以太网数据帧格式的封装实现[D].北京:北京交通大学,2008.

[3]韦宏,付友涛,孔凡鹏,等.基于FPGA的千兆以太网设计[J].现代电子技术,2012,35(18):56-59.

[4]杨威.基于FPGA的以太网和串口数据传输系统设计与实现[D].哈尔滨:哈尔滨工程大学,2013.

[5]詹俊鹏,李鹏.基于Altera FPGA的千兆以太网实现方案[J].电子设计工程,2009,17(2):50-52.

[6]李文芝,刘天华.基于FPGA的10/100/1 000 Mbit·s-1三态以太网卡设计[J].沈阳师范大学学报:自然科学版,2010,28(1):52-55.

[7]赵国峰,邱作雨,张毅.基于单片机的嵌入式TCP/IP协议栈的设计与实现[J].计算机技术与发展,2009,19(3):137-140.

[8]马俊,尉广军.基于SOPC的以太网远程数据采集系统设计[J].电子设计工程,2012,20(4):69-72.

[9]张博,张棍基于FPGA的以太网MAC控制器的设计[J].科技情报开发与经济,2009,19(27):97-99.

千兆光纤以太网 篇4

VLAN是一种将局域网内设备逻辑地划分成独立网段来实现虚拟工作组的新兴技术。IEEE于1999年颁布了用以标准化虚拟局域网实现方案的802.1Q协议标准草案,即Virtual Bridged Local Area Networks协议[1],规定了VLAN的国际标准实现,从而使不同厂商之间的VLAN互通成为可能。

MAC是以太网IEEE 802.3[2]协议规定的数据链路层的一部分,是连接以太网物理层和网络层的中间协议层,MAC协议是数据帧收发的基础,负责上层数据和物理层比特流的封装和解封、流量控制以及差错校验等一系列功能[3]。在实际应用中,要求网络接口能对不同的数据帧进行区分,VLAN技术正能满足设计要求。下面从VLAN的基本内容介绍出发,讨论使用Altera公司FPGA来完成千兆以太网MAC及VLAN的设计与实现。

1 VLAN基本原理

1.1 802.1Q的以太网帧结构

802.1Q协议主要规定了VLAN的实现。与标准的以太网帧头相比,VLAN报文格式在源地址后增加了一个4字节的VLAN标签。VLAN帧结构[4]如图1所示。

各个字段的详细含义如下:

① Preamble:前导码,此部分为7 byte交替出现的0和1;

② SFD(Start Frame Delimiter):帧起始符,此段用1 byte(11010101)作为帧开始的信号;

③ MAC Dest(MAC Destination Address):以太网帧的目的地址,包含6 byte;

④ MAC Source(MAC Source Address):以太网帧的源地址,包含6 byte;

⑤ Type/Length:类型或者长度字段,占用2 byte;

⑥ Info:MAC帧中的有效数据字段;

⑦ FCS(Frame Check Sequence):帧校验序列字段,占用4 byte;

⑧ TPID(Tag Protocol Identifier):标签协议标志,包含了一个固定的值0x8100;

⑨ TCI(Tag Protocol Identifier):标签控制信息,占用2 byte,此字段中定义了此帧的优先级PCP,占用3 bit,规范格式指示CFI,占用1 bit,以及12 bit的VLAN ID。

1.2 VLAN划分的策略

划分VLAN的基本策略通常有:基于端口的VLAN划分;基于MAC地址的VLAN划分;基于网络层的VLAN划分;基于策略的VLAN划分[5,6]等。

本文中的千兆以太网MAC采用带有标记的帧结构是为了区分控制帧和业务帧,对控制帧和业务帧赋予不同的VLAN ID,对不同类型帧进行相应的处理,控制帧在MAC中解析后放入接收FIFO中,CPU对控制帧进行解析处理,业务帧则在去掉MAC头后放入接收数据FIFO中。

2 系统设计

千兆以太网MAC的结构框图如图2所示,主要由MAC发送模块、MAC接收模块和收发FIFO组成。

FPGA采用Altera公司的CycloneⅡ系列的EP2C70F672芯片,千兆PHY芯片选用MARVEL公司的88E1111,外接RJ45网络接口,该器件可工作于10/100/1 000M 模式,双工/半双工模式可选,用于实现千兆以太网物理层协议。

2.1 MAC接收模块

MAC接收模块数据从PHY芯片经GMII接口到MAC接收模块,MAC接收模块完成功能如下:

① 移除帧的前导码和帧起始符;

② 过滤无效MAC地址的接收帧;

③ 判断VLAN ID,区分业务帧和控制帧,并删除VLAN;

④ 把接收帧写到对应接收FIFO;

⑤ 接收业务帧、控制帧计数。

以太网接收部分MAC内部状态转移图如图3所示。

MAC接收模块复位后,模块处于IDLE状态并监听总线的状态。此状态下,当RX-DV信号变为高电平表明接收数据有效,此时如果检测到以太网帧的前导码0x55,则自动进入RX Premble状态,如果再接收到以太网数据帧的帧定界符0xD5,则MAC接收模块进入MAC Dest Check状态,通过与配置好的目的地址比对后,判断是否与本站地址匹配,如果不匹配,则丢弃并返回IDLE状态,否则,进入VLAN Check状态,通过与预先配置好的VLAN ID对比,判断接收数据为业务帧还是控制帧,如为数据帧,则进入RX Data状态开始接收数据,否则,进入RX Protocol状态开始接收控制字段。数据接收完毕后,则将接收到的数据存贮到对应的接收FIFO。

2.2 MAC发送模块

MAC发送模块完成功能如下:

① 判断发送为业务字段或控制字段,赋予对应的VLAN ID;

② 帧传输以前生成相应的前导码和帧起始符;

③ 帧填充,使Info达到最小长度46 byte;

④ 计算并添加FCS到传输帧;

⑤ 以正确的间隔发送帧。

⑥ 发送业务帧、控制帧计数。

以太网发送部分MAC内部状态转移图如图4所示。

MAC发送模块复位后,进入IDLE状态。此状态下,如果发送FIFO不为空,模块转入Data TYPE Check 状态,如为业务帧,则VLAN ID配置成业务帧对应值,否则,配置成控制帧对应值。接着进入TX Premble发送状态,先发送7 byte前导码(0x55),再发送1 byte的帧起始符(0xD5),然后转入TX VLAN状态,插入VLAN TAG,先发送2 byte的TPID(0x8100),再发送对应的TCI,再转入TX Data/ Protocol状态,先发送6 byte的目的地址,然后发送6 byte的源地址,接着发送2 byte的数据/类型字段,接着发送有效数据,如果发送有效数据小于46 byte,则转入PAD状态,填充数据字段到46 byte,否则直接转入TX FCS状态,填充数据发送后,也进入TX FCS状态,FCS发送完后,转入IPG状态,等待12 byte数据传输时间后,返回IDLE状态,准备下一帧数据发送。

3 系统验证

设计采用Altera Cyclone II系列FPGA芯片EP2C70F672,整个设计采用VHDL硬件描述语言来实现,在Altera Quartus II 9.1开发平台上完成整个模块的设计、综合及布局布线,利用InterWatch M7性能测试与协议分析仪构建以太网数据包,并使用Altera Quartus II 9.1自带的SignalTap II内嵌逻辑分析仪在PC机上对千兆以太网MAC进行数据包的捕获分析。测试框图如图5所示。

测试步骤如下:

① 通过以太网线,将电路板RJ45接口与测试仪InterWatch M7的以太网板卡正确连接;

② 设置测试仪对应以太网接口为自适应模式;

③ 配置测试数据的链路层协议参数、IP地址、FCS和包长等;

④ 设置测试仪端口带宽,启动InterWatch M7;

⑤ 启动SignalTap II内嵌逻辑分析仪捕获千兆以太网接口数据。

SignalTap II逻辑分析仪接收的以太网帧数据为流数据,具体为7个55,D5,00,45,45,45,01,00,00,45,45,45,02,00,81,00,00,21,08,00,45,00,00,2E,00,00,00,00,40,00,7C,CE,7F,00,00,01,7F,00,00,01,00,01,02~18,00,C6,7C,45,B3。其中,目的MAC地址为00-45-45-45-01-00,源MAC地址为00-45-45-45-02-00,TPID为0x8100,VLAN ID为0x21,数据类型为0x0800,MAC帧中的有效数据字段为0x2E个,即46个,最后4个字节是FCS序列32’hC67C45B3。

4 结束语

介绍了VLAN的基本原理以及基于FPGA的千兆全双工以太网MAC中VLAN的实现。上述设计可用于实现1 000 Mbps的全双工以太网通信,完成千兆以太网数据的收发,VLAN的添加与移除,业务帧、控制帧的区分,MAC地址过滤,包填充功能,并提供了收发统计计数等功能,通过了FPGA验证。 

摘要:在分析IEEE 802.1Q协议的基础上,研究了千兆以太网媒体接入控制器(Media Access Control,MAC)中虚拟局域网(Virtual Local Area Network,VLAN)的实现方法,详细介绍了系统接收数据包与发送数据包的详细工作流程。结合各种VLAN划分策略的特点,分析了采用VLAN技术解决实际应用中需要区分不同帧格式的特殊需求。基于Altera FPGA设计了一种千兆全双工以太网MAC,实现了千兆以太网VLAN数据帧的收发,并对不同类型的帧进行了区分。通过现场可编程门阵列(FieldProgrammable Gate Array,FPGA)验证表明,设计能够完成千兆以太网VLAN数据帧的收发、区分功能,满足设计要求。

关键词:VLAN,千兆以太网,MAC,FPGA

参考文献

[1]IEEE Std 802.1Q.Virtual Bridged Local Area Networks[S],2005.

[2]IEEE Std 802.3.Telecommunications and InformationExchange between Systems Local and Etropolitan AreaNetworks Specific Requirements.Part 3:Carrier SenseMultiple Access with Collision Detection(CSMA/CD)AccessMethod and Physical Layer Specifications[S],2008.

[3]谢希仁.计算机网络(第4版)[M].北京:电子工业出版社,2003.

[4]周仁邦,毛国华.VLAN干线传输协议[J].现代电子技术,2006(8):93-97.

[5]孙广波,谢俊,张琛.3G网络VLAN划分方案[J].现代电子技术,2010(15):96-98.

千兆光纤以太网 篇5

计算机技术的不断发展引入了新兴的应用,例如大型的分布式数据库和高速的视频图像传输。这类应用对带宽的需求已经不能为传统的快速以太网(100M)所满足,速度为1000M的以太网,即所谓千兆以太网(Gigabit Ethernet)应运而生。千兆以太网不止应用于计算机互联,高速网络设备互联以及城域网用户接入也越来越广泛的采用千兆以太网技术,也就是说,从骨干网到接入网、从计算机网到工业应用,都无处不见千兆以太网技术的应用。然而随着千兆以太网应用规模的不断扩大,其网络互联设备的核心地位愈加明显。网络互联设备性能的好坏直接影响网络规模、网络稳定性以及可靠性。

本文所依据项目设计实现了手持式千兆以太网测试仪,主要描述基于WinCE平台的测试仪软件开发。

1测试指标

测试仪采用的测试指标是在RFC 2544中描述的。作为评测网络互联设备性能的国际标准,RFC 2544是由IETF(Internet Engineering Task Force,Internet工程任务组)制定的,它对RFC 1242中定义的性能测试指标提出了具体的测试方法,并对测试报告的格式作了详细的规定。主要性能指标包括Throughput(吞吐量)、Latency(时延)、Frame Loss Rate(帧丢失率)、Back-to-Back Frame(背靠背帧)。

测试配置方式包括两种,如图1所示。图1中左图采用的是两台测试仪在这种配置下,要么必须采用某台计算机远程控制两台测试仪,要么必须由其中一台测试来进行同步控制,而这两种方法都过于复杂而不推荐采用。最理想的测试配置为图1中右图所示的配置,即由一台同时具备收发功能的测试仪对DUT(待测设备)进行测试。本项目设计的测试仪就是基于这种单测试仪的配置。

2设计软件

2.1应用开发环境、流程

测试仪的软件开发是在Windows CE环境下进行的。

Windows CE是一个具有强占式多进程功能,并具有强大通信能力的嵌入式操作系统。Windows CE是微软专门为通信设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而全新设计的策略性操作系统产品。Windows CE的设计目标及特点:模块化操作系统、多硬件平台支持、有线和无线的网络支持、稳健的实时性支持、多媒体和多语言支持和强大的开发工具链,主要包括平台定制工具Platform Builder(PB)和应用程序开发工具Embedded Visual C++(EVC)。

微软针对Windows CE的模块化特点,推出了Platform Builder集成开发环境,开发人员利用Platform Builder对Windows CE操作系统进行定制、构建、下载、调试及发布。

测试仪的软件开发是在EVC中进行的。它是类似于Visual C++的应用开发环境。

图2描述了利用上述工具开发Windows CE应用的流程。

2.2测试仪模块、功能描述

图3描述了软件的功能模块结构。

2.3设计要素

2.3.1 软件架构

测试仪软件采用模块化设计,如图3所示,即功能模块化。在设计过程中要求对功能实现方法进行封装,并为主控程序提供调用说明和接口。通过对功能实现采用模块化封装设计,软件可以方便的添加和删除模块,并且各模块内部的实现细节的改动不影响其他模块的正常运作,只要模块之间有一定的明确的接口。

2.3.2 软硬件交互

测试仪驱动采用标准的流式(Steam)驱动结构。应用程序通过文件API对设备进行访问。文件API被操作系统转发到系统的文件管理进程中(系统启动的时候加载的),然后由文件管理进程将执行交给设备管理器,设备管理器调用不同的流式接口驱动程序的接口,与硬件交互。标准的接口包括CreatFile,ReadFile,WriteFile和DeviceIoControl等。

2.3.3 多线程

响应用户的操作的主控制部分与测试实现部分采用多线程技术设计。例如测试仪启动后即开始对测试仪的端口利用率进行实时测试,并在用户操作界面中实时更新显示利用率测试结果。此时需要响应用户的其他操作,因此基于这样的特点,软件设计过程中必须采用多线程技术。

2.3.4 数据管理

数据内容包括用户的测试配置信息和测试结果数据。因为大量的数据包分析和统计过程由FPGA完成,并将相对而言小数据量的分析统计结果交给软件。对于这种小数据量的数据可以采用XML文件格式进行保存。XML文件解析处理的库包括目前比较流行的CMarkup类以及微软的MSXML。

下面是利用XML文件形式保存用户基准测试配置的示例,

192.168.3.105

0

1024

9

64

2

64

2

2.3.5 数据图表

桌面PC上Visual C++环境下的软件开发拥有大量的第三方软件支持,其中包括第三方提供的强大的图表生成和处理库,例如Teechart。但是Windows CE上eVC环境下的的软件开发缺乏这样的第三方软件支持,因此需要自己开发图形化处理模块。本项目自行修改和设计了一个简单的图形处理库,主要完成折线和柱状图的绘制。图形化处理过程往往需要占用大量的资源(数据占用内存资源,绘图操作占用其他的描述设备环境的资源,等),所以在设计图形化处理模块时,应尽量优化实现方法,减少资源占用。

图4示意了Latency测试结果的图表效果。

3结束语

在所描述的整体架构背景下,本文介绍了测试仪的软件开发。在模拟数据输入的条件下对软件进行测试,结果显示测试仪软件能够稳定运行,并能正确准确且实时的显示测试数据结果。

摘要:千兆以太网技术应用规模在不断扩大,其网络互联设备的核心地位愈加明显,因为网络互联设备性能的好坏直接影响网络规模、网络稳定性以及可靠性。首先简单介绍了网络互联设备性能测试规范。接着详细讲述了Windows CE中软件开发的流程、工具和本测试仪的软件设计。

关键词:RFC2544测试规范,微处理器,模块化,多线程

参考文献

[1]Bradner S,McQuaid J.RFC2544,BenchmarkingMethodology for Network Interconnect Devices,1999.

[2]章淼,吴建平,盛立杰,等.网络互联设备的性能测试[J].原理和实践.

千兆光纤以太网 篇6

关键词:千兆以太网,交换机,网络整合

1 引言

随着视频网络技术应用的日趋成熟, 诸如硬盘播出系统、媒体资产存储管理系统、电视节目制作系统等等综合应用越来越多, 使得电视新闻宣传的制作手段更加丰富多彩, 节目制作水平得到提高, 推动了电视台的事业建设不断向前发展。

近年来, 地方电视台在数字化、网络化的发展进程中, 由于不同时期资金投入的不同, 技术发展参差不齐, 台内网络建设各不相同, 主要有光纤网 (指光纤网+以太网双网模式) 和以太网 (指纯以太网模式) 两种网络形式。光纤网网络带宽宽, 资金投入大, 主要适用于规模较大的电视台网络。另一种是千兆以太网模式, 网络技术成熟, 资金投入小, 在中小电视台应用比较广泛。

目前, 在这些独立的网络系统之间大多不能实现互联互通, 电视节目资源不能共享应用, 节目制作效率和综合信息应用管理水平低下, 无法应对当今新媒体和多媒体竞争发展的需要。因此, 整合全台网络, 建立一个高效和综合应用的全台网, 提高电视台的核心竞争力, 是各级电视台应积极面对和努力实现的。本文就千兆以太网架构的全台网络整合思路及应用作重点探讨。

2 千兆以太网架构的特点与优势

千兆以太网是建立在标准以太网基础之上的一种带宽扩容解决方案, 它和标准以太网以及快速以太网技术一样, 都使用以太网所定义的技术规范, 比如:CSMA/CD协议、以太网帧、全双工、流量控制以及IEEE802.3标准中所定义的管理对象等。是一种以交换机为核心架构的网络交换技术, 其网络带宽从10M、100M到1GM, 正在向10GM发展。在计算机网络技术应用中, 千兆以太网既IEEE802.3协议标准, 所描述的网络参考模型只对应OSI参考模型的数据链路层与物理层, 它将数据链路层划分为逻辑链路控制 (LLC, Logical Link Control) 子层与介质访问控制 (MAC, Media Access Control) 子层。包括支持光纤传输的IEEE802.3z和支持铜缆传输的IEEE802.3ab两大部分。如图1所示。

IEEE 802.3ab标准, 即1000Base-T物理层标准, 采用4对5类UTP双绞线, 传输距离为100m, 传输速率为1Gbps, 主要用于结构化布线中的通信, 也可用于网络主干传输。在IEEE 802.3z标准中, 既1000Base-SX物理层标准, 采用光收发器连接的多模光纤, 传输距离为550m, 传输速率为1Gbps, 多用于网络主干传输。

2.1 千兆以太网的主要技术特点

(1) 传输介质:千兆以太网标准主要针对三种类型的传输介质:单模光纤;多模光纤;5类、超5类、6类UTP双绞线。

(2) 传输距离:单模光纤支持最大距离为70km, 多模光纤最大距离为550m, UTP双绞线最大距离为100m。

(3) 千兆以太网兼容10Base T和100Base T。它们都使用5类UTP介质, 从中心设备到结点的最大距离都是100m, 这使得千兆以太网可以应用于桌面系统。

(4) 千兆以太网支持流量控制技术, 保证了在以太网上的服务质量。这些技术包括IEEE802.1P第二层优先级、第三层优先级的QoS编码位、特别服务和资源预留协议 (RSVP) 。

(5) 千兆以太网还利用IEEE802.1QVLAN协议, 支持OSI模型的第四层过滤和第三层交换。这样, 使用支持VLAN的智能交换机, 非常有利于网络的IP管理。

2.2 千兆以太网的应用优势

(1) 千兆以太网与光纤网相比, 网络架构简单。主要由千兆交换机、千兆网卡、综合布线系统等构成。保持了传统以太网的技术原理, 安装实施方便, 管理维护简单。

(2) 以太网技术成熟, 应用广泛。如办公网和电视节目制作网等, 我们的技术人员对技术管理比较熟悉, 有较好的应用经验。

(3) 与光纤网相比网络成本低, 包括设备成本、管理成本、维护成本及故障排除成本。

(4) 网络可靠且扩展性好。采用交换机的星形结构和结构化布线方法, 可以确保千兆以太网的可靠性。星型拓扑可以通过级联的方式很方便的将网络扩展到很大的规模, 连网方便。

以太网的不足之处是在视频传输应用中, 网络带宽不如光纤网, 但随着计算机网络技术的发展和新的数字压缩格式的应用, 可以完全满足广播电视节目制作和播出的技术标准要求。

3 建立面向播出和媒资的双核心网络整合思路

目前, 电视台全台网络架构的主流方式是面向媒体资产信息管理系统 (以下简称媒资) 的网络整合, 广电总局2007白皮书已做详细规范和指导。即以媒资系统为核心, 通过媒资管理数据平台, 可以很好地将不同时期、不同厂家生产的网络数据格式进行转码、存储和调用, 实现数据共享和播出。面向媒资管理的全台网, 网络核心是媒资, 这样对媒资系统无论是系统功能还是技术安全, 设计要求都很高, 投资和建设难度大, 网络维护复杂, 多为大型电视台网络所青睐。

中小电视台如何整合全台网络, 各电视台也都有自己的做法。开封电视台经过几年的调研和积极探索, 借鉴白皮书的指导建议, 在实践中总结出了自己的一套全台网整合思路, 其基本做法是:建立面向播出和媒资的全台整合方式, 在网络拓扑结构中呈现为播出和媒资的双核心独立网络架构, 就是将独立的硬盘播出网络系统和媒体资产存储管理系统有机结合, 分步分期实施建设, 最终实现全台制作、播出和存储一体的综合信息网络系统。实施方法如下:

(1) 建立面向播出的硬盘播出网络系统。就是以播出为核心, 将各个子网与播出网络连接, 首先实现电视节目的网络制作播出一体化。

核心建设:

(1) 硬盘播出网络化:既建立一个网络上载、网络编单审核和网络播控的工作站集群网络, 实现电视节目的网络上载、传输和播出的全新工作流程。

(2) 播出安全设计:主要针对每个频道硬盘播出服务器主备份, 播出数据库主备份, 全部频道应急切换播出等等, 从播出通道环节上做出安全设计。

(3) 系统安全设计:要求播出网络与相连子网络应采用松偶合, 可采用FTP方式传输, 以减小网络之间的相互影响, 提高网络运行安全。

(4) 播出数据格式选择:联网初期可以首先考虑多格式播出, 待网络整合后逐步规范为统一播出格式。

硬盘播出网络系统是制播一体化的核心, 是电视台安全播出的重要环节, 从技术管理和维护角度讲, 最简单的也是最安全的。因此, 建设好核心网络, 选择千兆以太网架构组网, 在技术上也是最安全可靠的。通过面向播出为核心的网络建设, 将电视台现有的节目制作网络系统与之连网, 实现制作和播出网络一体化, 是全台网络建设很重要的一步。同时强化岗位职责培训, 让员工逐步适应网络化操作和流程要求, 才能稳步推行网络建设。

(2) 建立面向媒体资产管理的网络系统。既以媒资为核心, 在制播一体化的基础上, 实现全台节目存储和素材的资源共享。

核心建设:

(1) 系统基本功能:可根据实际需求设定功能, 如节目存储、节目搜索查询、节目调用和下载。满足存储调用转玛和在线编辑时的素材查询和下载。

(2) 存储方式及容量:可采用在线、近线和离线三级存储。存储容量根据需求配置, 逐步扩展应用。

(3) 存储应用格式选择:可根据节目再编辑和播出要求选择压缩格式, 如自办节目和素材高于播出标准, 外购影视剧高于和等于播出标准。

(4) 编目:目前国内尚无统一标准, 可参照广电总局“广播电视音像资料编目规范 (电视资料部分) 标准”, 按照栏目、片段、场景和镜头逐级编目。

(5) 媒资共享实现方式:一种是C/S (客户端/服务器) 方式, 即在生产网的非线编辑终端上安装客户软件, 登陆进入媒资数据库可下载节目和素材。另一种是B/S (浏览器/服务器) 方式, 通过办公网络的电脑终端浏览器可以直接登陆媒资, 查询浏览媒资数据库中的节目资料。

把媒资作为网络架构的核心就是要发挥它的转码存储功能, 通过与系统网络连接实现节目与素材的共享。媒资系统与制作网、办公网主要通过路由器的方式实施连接。此外, 媒资系统可以通过数据转换很好的与各种硬盘播出系统连接, 能够适用于不同的网络设备情况, 为不同厂家不同设备的网络整合带来方便。

(3) 面向播出和媒资双核心架构的特点:

(1) 易操作。可根据各台网络设备状况, 选择从硬盘播出系统入手或者从媒资系统入手都可以, 使全台网络整合建设变得十分方便。

(2) 适用性好。可用于不同厂家不同时期生产的网络连接, 都可通过相应的转码实现数据传输。

(3) 低成本。千兆以太网硬件产品应用广泛, 价格低, 网络技术维护方便。

(4) 带宽利用好。播出和媒资分别为两个相对独立的系统, 其干线传输压力主要来自影视剧的入库 (播出数据库和媒资存储数据库) , 如果在上传工作站上安装双网卡连网, 分别面向播出和媒资数据库, 建立两个数据干线传输通道, 这样可以分解主干传输带宽的压力, 有效解决了千兆以太网传输带宽不足的矛盾。

(5) 网络运行安全。播出和媒资两个核心网络相对独立, 媒资存储系统出现故障只能影响存储与共享, 不会影响网络播出。子网与播出系统也是互为独立, 因此最大限度保证电视节目的安全播出。

4 典型应用

开封电视台从2007年开始实施全台网络整合, 目标是建设一个制作、播出、存储为一体的综合信息网络系统。之前建设有DV数字新闻制作网和综合节目制作网。节目制作完成后, 录制成BETACAM SP磁带, 通过自动播出系统完成播出。很显然, 影响节目制作播出技术质量的瓶径在播出环节。因此, 在制定全台网络整合规划中, 我们把硬盘播出网络系统建设确定为全台网络建设的切入点, 通过技术组网实践, 把节目制作系统与硬盘播出系统联结起来, 实现数字化和网络化制播要求, 提高了节目制作效率, 提高了播出质量。通过分步分期建设, 使用千兆以太网技术标准组网, 创新思路, 解决了带宽难题, 逐步形成了以播出和媒资为核心的技术架构。如图2所示。

在全台网络整合实施步伐中, 既第一步, 如图2实线所示, 建立面向播出的系统网络资源整合, 完成节目制作和播出的数字化和网络化, 使电视节目制作和播出质量全面提高。第二步, 如图2虚线所示, 建立面向媒体资产管理系统的节目存储应用管理, 对节目进行数字化存储和调用, 全面提高节目素材资源的共享应用。

通过以上两步建设, 我们将新闻制作、综合节目制作、广告制作和台办公网纳入双核心网络架构, 实现了预期目标。全台网络整合后, 根据新闻宣传发展需要, 我台又招标建设了15个站点的E-NET3新闻制作网络系统, 替代了原有制作网。并在媒资平台上又建设了全台设备信息管理系统。后期两个系统的加入, 通过FTP和路由器方式, 解决了与全台网络系统实现连接, 进一步验证了双核心网络架构的适用性和扩展性。设备信息管理系统的入网, 验证了在全台网这个平台上, 可以实现更多的信息管理和综合应用。全台网络的建成使用, 使开封电视台在数字化、网络化和信息化发展的道路上迈出了新的步伐, 通过设备更新、技术更新, 彻底改变了制播环境, 使开封电视台在事业建设上实现了跨越发展。

5 系统联网应注意的几个问题

(1) 千兆网交换机的设置应尽量减少级连, 因为交换机是存储转发模式, 级联过多会影响传输效率。另外, 交换机端口数要留有余量, 便于日后扩展。

(2) 远距离联网可采用多模光纤, 收发器距离不要超过500m, 短距离可用5类标准以上双绞线连接, 其距离不要超过100m。主干网线铺设应留有备份, 安全可靠。

(3) IP划分:各个网络IP应在不同网段, 作好规划, 不得冲突, 最好使用支持VLAN的智能交换机, 可以对全台网进行虚拟网络管理。

(4) 内外网连接要谨慎, 要使用硬件防火墙和安全策略等多种技术安全措施进行防范。

6 结束语

千兆光纤以太网 篇7

关键词:以太网,SDH,GFP,EOS

0 引 言

随着人们对数据业务需求的不断增长,以太网作为全世界应用最为广泛的网络通信技术之一,在全世界得到了大规模的普及。SDH是电信部门常用的通信传输设备,具有高可靠性和高安全性的特点。EOS(Ethernet over SDH)技术即借现有的SDH传输设备实现以太网业务的传输,具有非常重要的现实意义。

基于以太网的七层架构,在第二层数据链路层传输的是以太网的MAC帧。由于以太网和SDH系统的传输速率不匹配,需要通过封装进行速率调整后才能映射到SDH的虚容器中。目前来讲,常用的是GFP(Generic Framing Procedure)封装。GE(千兆以太网)信号在SDH系统中的映射可以分为相邻级联和虚级联两种模式。相邻级联是在整个传输过程中保持连续带宽,各个级联的VC是相邻的,在SDH网络系统中需要有能够进行相邻级联处理的中间设备,而虚级联的应用方式比较灵活,将连续带宽分解到多个VCs上传输,不一定相邻,在传输的终端再将多个VCs重新组合成连续带宽。因此,虚级联方式有效地节省了带宽,在系统中只需能够进行处理的终端设备即可。在实际使用中,这种方式的应用比较广泛。

1 FPGA收发模块设计

本文实现的传输方式是在STM-16中传输1路GE信号,需要对以太网MAC帧进行GFP封装。GFP帧分为GFP-F和GFP-T两种模式,本设计采用的是GFP-F封装模式。STM-16的传输速率是2.488 32 Gb/s。STM-16一共包括16路STM-1信号,STM-1的传输速率是155.52 Mb/s。STM-1信号采用虚级联方式,利用VC-4-XV(X=1~7)最多采用7路STM-1信号即可传输1路GE信号。剩余STM-1通道的信号用来传输其他数据业务。

以太网数据在SDH设备中传输过程如下:在SDH发送部分中,以太网通过接口处理芯片产生MAC数据帧,通过GMII接口传送给FPGA。FPGA将MAC帧进行GFP协议的封装,然后映射到SDH的虚容器VC当中,再通过添加复用段和再生段开销,生成STM-16数据帧,发送给光模块再上到光网络;在SDH接收部分中,光接收模块从光网络将STM-16数据帧接收下来发送给FPGA,FPGA在内部处理相关的开销,再将GFP数据帧从VC虚容器中提取出来,通过解帧处理,将以太网的MAC帧还原出来,经过处理后发送给以太网。

FPGA的内部设计可以分成发送模块和接收模块两部分。其中,发送模块可以分为以太网数据接收预处理模块、GFP成帧模块、SDH成帧模块;接收模块可以分为 SDH解帧模块、GFP解帧模块、以太网数据发送处理模块。发送和接收模块示意图分别如图1和图2所示。

发送部分的三个模块的功能分别如下:以太网数据接收处理模块利用FIFO缓存模块存储每一个有效MAC数据帧的数据和长度。同时实现数据从以太网时钟域到SDH时钟域的转换;GFP成帧模块对以太网MAC帧进行GFP封装,通过调整GFP数据帧和GFP空闲帧的插入,将以太网MAC帧映射到SDH的高阶VC-4虚容器中;SDH成帧模块对虚容器进一步处理,添加开销字段,生成STM-16数据帧,再利用FPGA内部的GTP接口将16位155.52 MHz的并行数据转化为一路2 488.32 MHz高速LVDS差分信号发送出去。

接收部分实现的过程是发送部分的逆过程。

GFP成帧模块分为GFP数据帧产生模块、空闲帧产生模块、插入帧选择模块、GFP扰码模块;GFP解帧模块分为GFP帧同步模块、GFP解扰模块、GFP接收帧处理模块。

GFP数据帧产生模块在去掉MAC帧8 B前导码后,将剩余部分的数据封装为GFP数据帧。按照GFP协议添加4 B的核心头部和4 B的净负荷域头部,将非定长的以太网MAC帧添加到净负荷信息字段,在帧尾添加4 B的净负荷帧校验序列(FCS)。

空闲帧实际上属于GFP用户管理帧的一种,没有净负荷域,只包含一个GFP核心帧头,是4 B的全0比特与序列“B6AB31E0”异或所得。

插入帧选择模块根据流量情况调整数据帧和空闲帧的插入,在没有数据帧要发送时,插入空闲帧,以保证GFP数据流的连续性。

在整个FPGA设计中,接收端的帧同步模块是比较重要的,它主要进行GFP帧的帧头搜索和同步保持处理。同步状态转移图如图3所示。

用一个状态机表示三种状态,即搜索态、预同步态和同步态。在预同步状态和同步状态时都只取1帧进行状态跳转判断。状态机在FPGA初始化时默认处于搜索状态,然后在连续的GFP数据流中进行帧头的搜索判断,将连续的数据流在每个时钟周期按字节存入缓存器中,在每个时钟周期进行4 B的扰码判断,即连续的4个字节与扰码序列“B6AB31E0”进行异或,得到的4 B数据中前2个字节根据扰码多项式G(x)= X16+X12+X5+1生成2个字节的校验值,然后与后2个字节进行比较,如果一致则表示找到了帧头,进入到预同步态。在预同步态继续在一帧帧头的相应时刻进行帧头的判断,如果正确则跳转到同步态,否则重新跳转到搜索态,继续寻找帧头。如果进入到同步态,和预同步态一样,也在一帧帧头的相应时刻进行判断,如果正确则继续保持在同步态,否则跳转到搜索态,重新在数据流中进行帧头的搜索。只有在处于同步状态时才能继续对数据进行后续处理。

在SDH和GFP协议的成帧解帧里都要进行扰码和解扰处理。SDH的扰码多项式为G(x)=X7+X6+1,GFP对核心头部PLI的扰码多项式为G(x)= X16+X12+X5+1,GFP净负荷域的扰码多项式为G(x)=X43+1。这些扰码器都为串行扰码器,对于GE这种速率的数据如果也采用串行处理方式的话,FPGA内部是无法实现的。经过转换处理,可以将串行扰码器变为并行扰码器再进行扰码,即可降低处理速度,满足时序要求。

2 仿真综合及实现

本设计采用VHDL硬件描述语言,使用的是XILINX公司带有高速SERDES接口的SPARTAN-6芯片,利用ISE 12.1和仿真软件进行了综合和仿真。由于FPGA的内部资源较为丰富,本身自带的IP核具有可靠性、方便性和灵活性的特点。时钟部分使用了XILINX芯片内部的DCM时钟管理模块,双端口RAM以及FIFO缓存器都使用了FPGA的内部IP核资源。高速数据接口部分使用的是芯片内部的GTP模块,去掉了外部高速接口转换芯片,简化了电路板的设计,不但提高了设计效率,也提高了系统设计的稳定性。

图4和图5表示的是对EOS数据进行VC-4-7V虚级联后的部分时序仿真图。

图4中,data_frm_state信号表示的是帧同步状态机。在数据流中,状态机一开始处于hunt状态,一旦找到帧头,则进入到presync状态;如果帧头检测没有错误,则继续跳转到sync状态;如果帧头判断正确,那么状态机就一直保持在sync状态。

图5中,s_datain信号表示的是解码前的数据,s_dataout信号表示的是根据扰码多项式G(x)=X43+1解扰后的数据。

3 结 语

综上所述,利用FPGA可以实现千兆以太网MAC帧在SDH数据帧中的封装和映射,配合外围接口电路的使用,可以实现GE在STM-16中的传输。EOS技术既增强了以太网传输的覆盖范围,也丰富了SDH设备的传输接口,极大地方便了用户的使用。同时,利用FPGA进行设计,大大缩短了开发的周期,也便于以后的升级和维护。

参考文献

[1]肖萍萍,吴健学.SDH原理与应用[M].北京:人民邮电出版社,2008.

[2]杨庚,章韵,成卫青,等.计算机通信与网络[M].北京:清华大学出版社,2009.

[3]田耕,徐文波,胡彬.XILINX ISE Design Suite10.x FPGA开发指南[M].北京:人民邮电出版社,2008.

[4]Xilinx.Spartan-6family overview[M].[S.l.]:Xilinx,2010.

[5]杜凯.基于FPGA的GFP成帧协议实现[J].世界电子元器件,2004(11):46-49.

[6]刘方楠,孙力军,白瑶晨.EOS的原理及其关键技术[J].通信技术,2007(7):19-21.

[7]李玲,李惠君,史晓飞,等.EOS中高阶虚级联的设计与实现[J].光通信技术,2008(10):42-45.

上一篇:数控加工实训课程下一篇:中国经济发展基本规律