当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于RocketIO接口的高速互连应用研究与实现

摘要:在此立足于嵌入式应用的背景,在理解RapidIO协议和Fibre Channel协议的基础上,通过对嵌入在FPGA内的RocketIO高速串行收发器工作原理的研究,结合某信号处理接口模块的实际应用,在系统内实现RapidIO接口功能,在系统间实现Fibre Channle接口功能,总结出基于RocketIO接口的高速信号完整性设计的应用特点,并进行简单的链路传输特性的测试,为高速互连系统的设计与研究提供了可靠的技术支撑。
关键词:RocketIO;RapidI();Fibre Channel;嵌入式应用

0 引言
    近年来,多种新兴的高性能互连技术相继出现,如RapidIO,PCI Express,Fibre Channel和InfiniBand等,它们大都采用基于报文交换的点到点互连结构替代传统并行总线结构,提供了高带宽、低延迟、可扩展的I/O互连,很大程度上克服了传统并行总线结构的种种弊端。其中RapidIO属于系统内部互连技术,主要针对高性能嵌入式系统内部互连,它可以作为处理器总线、本地I/O总线,还可以跨越背板连接处理器、存储器和外部设备。RapidIO技术被定义为一种高性能,低引脚数,基于报文交换的互连体系结构,能广泛满足嵌入式系统应用的需求,支持芯片到芯片和板到板之间的互连技术。光纤通道(Fiber Channel,FC)是一种高速串行传输协议,具有高带宽、高实时性、高可靠性、扩展性好、传输速率高、抗干扰性强、拓扑结构和服务类型灵活、支持多种上层协议和底层传输介质等特性,且可以在一路传输线上实现高达2.5 Gb/s的速率,具有相对于万兆以太网,PCIe更高的传输速率。
    在嵌入式应用方面,主流的FPGA中都已对差分信号提供了硬件支持,并且在片上集成了固化的Rocket IO模块,以提供高超高速的串行通信支持。RocketIO位于数据传输协议的物理层,用以实现最基本的数据通信环境。
    本文从Xilinx的Virtex5系列FPGA的RocketIO高速串行收发器的工作原理入手,分别阐述了在一片FPGA上利用RapidIO协议和Fibre Chan nle协议实现高速信号传输的方法,并分析了RocketIO接口在硬件设计上需要注意的问题。

1 RocketIO介绍
    RocketIO为FPGA中内嵌的硬核资源,是一种高速串行收发器,采用两对差分线来进行数据的发送和接收,可以实现两个单工或一对全双工的数据传输,通信码率可以达到600 Mb/s~3.125 Gb/s。RocketIO收发器发送和接收串行差分信号,工作于2.5 V的直流电压下,采用CML(Current Mode Logic)模式,内部带有50 Ω或75 Ω的匹配电阻,采用串行数据收发,可以在高频条件下很好地避免数据间的串扰。


    RocketIO收发器结构如图1所示,主要包括PMA和PCS两个子层,PMA子层中集成了SERDES,发送和接收缓冲,时钟发生器及时钟恢复电路。SERDES是一个串并转换器,负责FPGA中本地的32位并行数据(也可以是16位或8位)与Rocket IO接口的串行数据之间的转换。时钟发生器及时钟恢复电路用于将时钟与数据绑定发送及将时钟从接收到的数据流中恢复出来,从而避免了在高速传输条件下时钟与数据分开传输所带来的时钟抖动等问题。PCS子层负责8 b/10 b编码解码和CRC校验,并集成了负责通道绑定和时钟修正的弹性缓冲。8 b/10 b编码可以避免数据流中出现连0连1的情况,便于时钟的恢复。通道绑定通过在发送数据流中加入字符来将几个RocketIO通道绑定成一个一致的并行通道,从而来提高数据的吞吐率。弹性缓冲可以解决恢复的时钟与本地时钟不一致的问题,并进行数据率的匹配,从而使得通道绑定成为可能。

2 RocketIO在高速信号互连中的应用
    以某信号处理模块FC接口板卡为例,该模块是一种高性能、具有高速串行接口、采用统一互连网络的通用信号处理接口模块,信号传输速率达到几千兆位每秒,这时就需要具有足够高传输速率的信号传输机制对信号进行转发。实现与主机板卡通信时,采用RapidIO传输协议;实现系统网络间通信时,则可使用FibreChannle光纤通信协议。而RocketIO对多种高速传输协议的支持,可以使得RapidIO协议、Fibre Chan nle协议在同一片FPGA内实现,提高了系统的集成度,并使得信号的处理机制更加灵活。在本文的设计中,以Xilinx的Virtex5系列FPGA为平台,采用了RapidIO传输协议来实现与主机板卡的通信,采用Fibre channle协议来实现系统网络间通信。本文涉及的接口模块架构如图2所示。

[!--empirenews.page--]
2.1 应用RapidIO协议买现板间互连
    RapidIO是一种基于高性能包交换的开放式互连技术,主要功能是完成系统内部芯片到芯片和板到板之间的高速传输数据,能够提供高带宽、低时延、软件独立和高容错性的数据传输解决方案。同时支持点对点或点对多点的通信、DMA操作、消息传递模式交换数据以及多种拓扑结构等功能。
    RapidIO采用3层分级体系结构,分别为物理层、传输层、逻辑层。物理层规范在整个分级结构的底部,包括器件级接口的细节,如包传输机制、流量控制、电气特性和低级错误管理。传输层规范在中间层,定义RapidIO地址空间和在端点器件间传输包所需的路由信息。逻辑层规范定义全部协议和包的格式,它们为端点器件发起和完成事物提供必要的信息。
    RapidIO串行物理层,通常称为串行RapidIO,是针对板上或通过背板的器件间的电气连接。串行物理层定义器件间的全双工串行链路,在每个方向上使用单向差分信号。RapidIO串行物理层实现链路训练、链路初始化,支持RapidIO器件间的包传送,包括包和控制符号的传送、流量控制、错误管理和其他器件到器件的功能。RapidIO物理层核与RocketIO收发器连接逻辑结构框图如图3所示。


    由于RapidIO逻辑层包被定义为一连串的比特,并且与物理层实现无关,所以RapidIO协议在串行与并行接口,铜线与光纤介质下都能正确工作。
    其RapidIO串行物理层有如下特征:
    (1)采用8 b/10 b编码方案将发送时钟嵌入到数据中。
    (2)在每个方向上支持一个串行差分对或支持4个并列的串行差分对。
    (3)使用专用的8 b/10 b码(称为K码)来管理链路,管理流量控制、包定界和错误报告。
    (4)支持每通道1.25 Gb/s,2.5 Gb/s和3.125 Gb/s波特率(数据速率分别为1.0 Gb/s,2.0 Gb/s和2.5 Gb/s)的传送速率。
2.2 应用Fibre Channel协议实现系统间互连
    光纤通道技术是综合计算机通道和数据网络概念提出的一个不同于传统的通道和网络结构的互连方案,采用通道技术控制信号传输,使用仲裁或交换方式处理共享冲突,并采用了基于信用的流量控制策略。
    Fibre Channel模型分为5层,分别为:FC-0,FC-1,FC-2,FC-3和FC-4。FC-0层定义了连接的物理端口特性,包括介质和连接器、驱动器、接收机、发射机等的物理特性、电器特性和光特性、传输速率以及其他的一些连接端口特性。在本设计中,FC-0层处理由光电收发器实现光信号与电信号转换;FC-1层是信号编码和解码层,FC-1层处理由FPGA的RocketIO完成串并/并串转换、8 b/10 b编解码、有序集及位同步等;FC-1层使用8 b/10 b编码方式,这意味着每传输10 b数据,实际得到8 b的有效数据,其他两位是冗余位。信号可以被编码成2种字符集:K字符集(特殊的控制信号和命令)和D字符集(普通数据)。FC-2层是帧协议层,是FC用来识别、解释和处理FC网络信息流的核心层。FC-2层规定信息单元的组成格式、原语序列协议、端口类型、服务类型、数据的分段与重组、流量控制、差错恢复策略、节点初始化、节点的注册和节点的注销等功能。FC-0,FC-1和FC-2层这3层共同组成了FC物理层。FC-3层是FC的公共服务层,定义了如带宽频率分片、搜索组和多播等通用服务。FC-4:该层是FC协议模型的最高层,在本系统的设计中,使用了匿名签署消息传输协议(FC-AE-ASM)来满足系统中数据的传输需要。
    在FC核的嵌入式应用中。使用一个或2个RocketIO收发器来提供1 Gb/s,2 Gb/s或4 Gb/s的接口速率,利用FPGA中的8 b/10 b编解码器、CRC产生和校验单元以及接收弹性缓冲进行设计。FC核内部提供了32 b宽的Client接口,FC帧数据采用32 b/s访问。FC核的时钟在配置时已固定,分别可采用53.125 MHz和106.25 MHz。


    FC核与RocketIO收发器连接逻辑结构框图如图4所示。[!--empirenews.page--]

3 RocketIO接口的信号完整性设计
    在实际应用中,参考时钟、电源供电以及高速传输线路的设计与布局是影响数据传输效果的最重要因素。为了保证Rocket IO能可靠工作,在RocketIO接口设计过程中需要注意以下的问题:
    (1)电源供电。该系列FPGA器件中每个RocketIO高速串行收发器包括5类电源引脚,分别为MGTAVCCPLL,MGTAVCC,MGTAVTTRX,MGTAVTT TX,MGTAVTTRXC,这些引脚对噪声的影响都非常敏感,为了保证高速电路能够可靠工作,RocketIO需要和周围的噪声源进行隔离。因此需要对RocketIO收发器进行专门的供电,且每个供电引脚必须有独立的LC滤波网络,其连接关系如图5所示。


    (2)高速信号。RocketIO高速串行收发器采用高速差分信号线,由于所传输的差分信号频率很高,高速差分对走线应当有最高的优先级,两根差分信号线必须在长度上尽量匹配,长度失配会产生共模噪声和辐射,严重的失配会产生时钟抖动和不可预知的时序问题,差分线必须尽量匹配,端接电阻50 Ω和75 Ω可选,50 Ω用于芯片和芯片之间互连,75 Ω用于芯片和电缆之间互连;高速差分线不要打孔,要布在电路板中同一层。
    (3)参考时钟。RocketIO不能使用经过数字时钟管理模块(DCM)倍频的参考时钟,因为DCM倍频会引入过大的时钟抖动,在RocketIO的高速数据传输条件下会引起不必要的错误。RocketIO的时钟由差分时钟输入后,只经过一级BUFG,将时钟引入FPGA的全局时钟树,然后直接连入到RocketIO的参考时钟引脚上。

4 测试验证
    在完成硬件设计后,可利用ChipScope Proh分析工具测试RocketIO的工作性能,通过内置在收发器内的误码率测试器,设置RocketIO为串行闭环方式,并运行软件进行测试即可得到实时的数据传输状态。如图6所示可观察到链路上的传输特性,并可得误码率可达到10-12,符合设计指标要求。



5 结语
    本文从Virtex5系列FPGA的RocketIO高速串行收发器入手,根据接口设计需要阐述了应用RapidIO协议和FC协议实现高速传输的设计思想及工作原理。并分析了高速传输在硬件设计过程需要注意的一些问题,为高速接口设计的研究奠定了基础,具有一定的科研价值和实践意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭