1、aurora协议aurora协议文献综述摘 要 本综述介绍了高速串行通信的现状,并简要介绍了Aurora通信协议的特点,发展和现状。着重介绍了Aurora协议的原理,接口及应用等相关知识。 关键词:Aurora;FPGA;高速串行通信AbstractThis article introduces the actuality of high-speed serial communications and the characters ,developments and actuality of the Aurora protocol.This article especially introdu
2、ces the theories ,interfaces , applications and some other knowledges.Key words:Aurora;FPGA;high-speed serial communication来进行点到点的串行数据传输,具有实现高性能数据传输系统的高效率和简单易用的特点。Aurora允许器件之间以下图所示的方式通过多个MGT通道绑定完成通信。单个GTX通道可实现750Mbit/s-6.5Gbit/s的通信传输,多个GTX通道的组合可实现几十Gbit/s 甚至上百Gbit/s的通信传输。图1中,MGT到MGT之间的一个链接被称为“弄” 图1
3、aurora协议应用举例15Aurora通过为MGT提供透明的接口而将其分装缩小,允许以太网和tcp/ip等专利技术和标准协议的上层在其顶部运行并提供方便的访问。Aurora核为用户提供了一个透明的物理层接口,它支持任何上层私有的或符合工业标准的协议,如TCP/IP、Ethern- et等。此易用、预定义的协议只需很少时间即可与现有的用户设计集成12。但也存在一些不完善的地方:aurora不具备地址机制,不能支持切换功能,没有规定数据有效载荷内校正。2. Aurora操作Aurora协议将复杂的RocketIO控制结构转化为简单的用户接口,而用户接口使用尽可能少的信号连接到用户的应用设计中,并
4、提供一套LocalLink兼容的输入输出信号来接收和发送用户数据,其接口信号如图2所示。 图2 Aurora核的用户接口9在数据传输过程中,用户通过控制信号控制协议引擎完成如下操作:封装/解封装数据并使其在串行通道中传输;暂停数据传送(插入空闲状态)。协议引擎中的发送帧将待传输的数据封装在通道协议数据单元(PDU)中。对我们使用的Aurora协议引擎来说,一个串行通道就由1个“弄”组成。这里,“弄”是设计中每个MGT的数据路径标识。插入空闲状态的目的是为了填充“弄”来完成字边界对齐。图2中的REM总线(data remainder bus)用来表示在PDU传送最后一个数据期间有效的字节数。实际
5、的字节数等于REM总线的值加1。用户可以根据设计需要改变通道PDU的长度,它反过来也影响数据传输的效率。更长的PDU可以实现更高的传输效率,但同时也降低了传输的可靠性。用户可通过控制TX_ SOF_N和TX_EOF_N信号来调整PDU长度。在传输过程中,用户可复位TX_SRC_RDY_N信号来产生数据停顿。在停顿期间,发送器发送空闲序列。重新置位TX_SRC_RDY_N,就可以恢复数据传输,用户可无限制地插入停顿。 接收帧的功能与发送帧相反,将数据从“弄”中提取出来。在接收过程中,协议引擎自动完成以下功能:检测和丢弃控制字节;置位PDU绑定信号;从“弄”中恢复数据;重新装配数据并送往RX_D0
6、:31 总线。 3. Aurora的流控机制 Aurora支持可选的数据流量控制,以防止由于双方源端和宿端速率不同而造成的数据丢失。Aurora支持两种流控机制:故有流量控制(Native Flow Control)和用户流量控制(User Flow Control)。 固有的流量控制:NFC操作有两个状态机控制:tx和rx。Rx状态机将空rx fifo的状态。当有溢出危险时,它会生成NFC pdu,要求对方在特定的时间内暂停传输用户pdu。Tx状态机通过在要求的时间内等待予以相应,从而使rx fifo从一处状态恢复。发送NFC要求的同时,tx状态机营销出任何往返延迟。理想状态下,NFC要求在
7、接收fifo溢出前发出。您可以将NFC暂停设置为0到256,最大暂停为无限。NfC暂停止是非累积的,新的NFC会覆盖旧的值12。 用户流量控制:用户无需等待数据的结束,即可发送UFC信息。UFC信息与普通的数据共享数据通道,但有更高的优先级。UFC消息由用户自定义和解析。4. Aurora的核参数5. 表1.核参数参数描述支持的值弄在通道中应用的GTP/GTX收发器的数量Virtex-5 设备GTP/GTX: 1 到 16Virtex-6 设备GTX: 1 到 16Spartan-6 设备GTP: 1,2, 4表1 核参数(续)参数描述支持的值弄宽度Virtxe-5 FPGA GTP收发器在核
8、心中设置使用2字节构造数据。Virtex-5/Virtex-6 FPGA GTX 收发器和 Spartan-6 FPGA GTP 收发器设置使用2字节和4字节SERDESVirtex-5 设备GTP: 2字节GTX: 2/4字节Virtex-6 设备GTX: 2/4 字节Spartan-6 设备GTP: 2/4 字节方向CORE Generator软件生成的通道的类型,可以是全双工的,单一的TX方向,单一的RX方向,或是在一个GTP/GTX收发器上设立两个单独的单一的模块(一个用于TX,一个用于RX)Full-DuplexSimplex-TXSimplex-RXSimplex-Both后通道核
9、Aurora 8B/10B心有两种单一的后通道:Siderbands:通过对方发送的Siderbands设置单一TX状态转换Timer:不同于Siderbands,在初始化时通过内置的计时器完成单一TX状态转换SidebandsTimer表1核参数(续)参数描述支持的值流控制流控制的使能。有两种类型:自带流控制(NFC):NFC使全双工接收器可以控制输入数据的速率。完成模式,当帧完成时,NFC强制空值。立即模式,一旦流控制信息到达,NFC强制为空值。用户流控制(UFC):UFC使应用程序可以通过通道相互发送简短的高优先级的信息。NoneNFC ImmediateNFC CompletionUF
10、CUFC 和 NFC ImmediateUFC 和NFC Completion接口用户可以指定一到两种接口:数据帧:用户数据帧接口是本地连接适应的。初始化后,数据帧可以通过Aurora通道发送。用户数据帧接口倾向于更大,因为有广泛的包容字队列和无逻辑控制特征。数据流:用户数据流接口使得用户可以开启一个单独的无界限的数据帧。初始化完成后,用户通过一个简单的寄存器接口和一个空值信号向数据帧中输入数据。Framing (本地连接)Streaming表1核参数(续)参数描述支持的值线速率线速率规定了收发器工作时的速度。该参数与Aurora 8B/10B核心的性能有关。好的性能会有更高的线速率。详细介绍
11、请参考LogiCORE IP Aurora 8B/10B v5.1 User GuideVirtex-5设备GTP 收发器:500 Mbps 到 3.75 GbpsGTX 收发器:50 Mbps 到6.5 GbpsVirtex-6 LXT/SXT 设备GTX 收发器:750 Mbps 到 6.5 GbpsVirtex-6 CXT 设备GTX 收发器:750 Mbps 到 3.75 GbpsVirtex-6 Lower Power 设备GTX 收发器:750 Mbps 到 5.0 GbpsSpartan-6 设备GTP 收发器:614 Mbps 到 3.125 Gbps表1 核参数(续)参数描述
12、支持的值收发器参考时钟频率CORE Generator 软件根据参考参数值设置以下设备的参考时钟速率 Virtex-5, Virtex-6, and Spartan-6 FPGAs. 详细介绍请参考LogiCORE IP Aurora 8B/10B v5.1 User Guide。根据选择的线速率和下列设备可用的时钟乘法器设置合适的速率: Virtex-5 FPGA GTP/GTX 收发器 Virtex-6 FPGA GTX 收发器 Spartan-6 FPGA GTP收发器 收发器参考时钟可以根据种种专用和非专用的时钟网络赋予GTP/GTX收发器一个参考时钟。如何为应用程序选择一个最佳的参考
13、时钟网络,详细介绍请参考LogiCORE IP Aurora 8B/10B v5.1 User Guide 。 Virtex-5 设备:GTPD/GTXD clocksVirtex-6 设备:GTXQ clocksSpartan-6 设备:GTPD clocks表1 核参数(续)参数描述支持的值收发器放置CORE Generator软件提供了一个图形接口 使用户可以为特殊的 GTP/GTX 设计弄. 请参考The Virtex-5 FPGA RocketIO GTP Transceiver User Guide, Virtex-5 FPGA RocketIO GTX Transceiver U
14、ser Guide, Virtex-6 FPGA GTXTransceivers User Guide, 和 Spartan-6 FPGA GTP Transceivers User Guide 以及GTP/GTX收发器放置指导方针寻找最佳方式任何GTP/GTX收发器的联合5. Aurora的应用 Aurora 是一种简单的可扩展的开放协议,支持各种各样的应用。如下所示:芯片间通信:使用高速穿行总线代替芯片间的并行总线,可以大大减少pcb布线复杂程度和布线层数。 板间通信:aurora使用标准的8b/10b编码,使得aurora可以与很多现有的标准兼容。而且,aurora的数据传输率和通道个数
15、都是可选的,使aurora更加方便用户。简单的单向模式:在有些应用中,并不需要双向的通信,只需要单向的高速通信。Aurora协议提供了多种方式,只配置单相通路,以节省资源。 ASIC:aurora不仅仅应用与FPGA设计,还可应用于ASIC设计中。Aurora的简单性使得它在FPGA和ASIC中都可以只占用很少的资源。三、结束语 简单易用的Aurora协议由于其可扩展性,可以被广泛应用在各个领域,为新一代通信及数据网络应用提供了一个可靠的解决方案,虽然不是最好的,但相信随着技术的发展,Aurora还会不断进步在更多的场合绽放出耀眼的光彩。参 考 文 献1 冯华亮,串行RapidIO:高性能嵌入
16、式互连技术J;今日电子-2007年9期:802 王勇,林粤伟,吴冰冰等译,RapidIO嵌入式系统互连M,电子工业出版社,2006:203 陈剑波,RapidIO总线技术的研究J;计算机与网络-2005年9期:484 RapidIO Trade Association,ISO/IEC DIS 18372,RapidIO Interconnect Specification Rev. 1.3 S, 2005.65 王欣,杨涛,RapidIO互连技术研究J;数字通信世界-2008年5期:70,736 王帆,刘云,串行RapidIO在多DSP系统中的应用初探J;计算机与数字工程,2008年,第八期:
17、2067 赵博龙,赵云忠,孔德岐,RapidlO互连技术研究及其模型验证J;航空计算技术,2009年,第四期:128-1298邓焰,戎蒙恬,基于FPGA的3.125Gbit/s串行通道设计实验J;电子工程师,2004年,第11期:16-189宁元辉,朱光喜,苏钢等,一种2Gbps的多数据包透明传输机制J;高技术通讯,2008年第9期:881-88710侯春雷,唐碧华,胡鹤飞等,基于Aurora的MAC层帧结构的设计与实现J;中国科技论文在线,2010年第1期:58-6111杜旭,于洋,黄建,基于FPGA的高速串行传输接口的设计与实现J;计算机工程与应用,2007年第12期:94-9614Xilinx,LogiCORETM IP Serial RapidIO V5.1 User Guide UG503S, September 19, 200815Xilinx,LogiCORETM IP Aurora 8B/10B v5.1 User Guide UG353 (v5.1)S, December 2, 2009
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1