aurora协议.docx
《aurora协议.docx》由会员分享,可在线阅读,更多相关《aurora协议.docx(10页珍藏版)》请在冰豆网上搜索。
![aurora协议.docx](https://file1.bdocx.com/fileroot1/2023-2/1/d5a8b586-8ed6-4444-a5e1-40a0f8f55cfd/d5a8b586-8ed6-4444-a5e1-40a0f8f55cfd1.gif)
aurora协议
aurora协议
文献综述
摘要
本综述介绍了高速串行通信的现状,并简要介绍了Aurora通信协议的特点,发展和现状。
着重介绍了Aurora协议的原理,接口及应用等相关知识。
关键词:
Aurora;FPGA;高速串行通信
Abstract
Thisarticleintroducestheactualityofhigh-speedserialcommunicationsandthecharacters,developmentsandactualityoftheAuroraprotocol.Thisarticleespeciallyintroducesthetheories,interfaces,applicationsandsomeotherknowledges.
Keywords:
Aurora;FPGA;high-speedserialcommunication
来进行点到点的串行数据传输,具有实现高性能数据传输系统的高效率和简单易用的特点。
Aurora允许器件之间以下图所示的方式通过多个MGT通道绑定完成通信。
单个GTX通道可实现750Mbit/s-6.5Gbit/s的通信传输,多个GTX通道的组合可实现几十Gbit/s甚至上百Gbit/s的通信传输。
图1中,MGT到MGT之间的一个链接被称为“弄”
图1aurora协议应用举例[15]
Aurora通过为MGT提供透明的接口而将其分装缩小,允许以太网和tcp/ip等专利技术和标准协议的上层在其顶部运行并提供方便的访问。
Aurora核为用户提供了一个透明的物理层接口,它支持任何上层私有的或符合工业标准的协议,如TCP/IP、Ethern-et等。
此易用、预定义的协议只需很少时间即可与现有的用户设计集成[12]。
但也存在一些不完善的地方:
aurora不具备地址机制,不能支持切换功能,没有规定数据有效载荷内校正。
2.Aurora操作
Aurora协议将复杂的RocketIO控制结构转化为简单的用户接口,而用户接口使用尽可能少的信号连接到用户的应用设计中,并提供一套LocalLink兼容的输入输出信号来接收和发送用户数据,其接口信号如图2所示。
图2Aurora核的用户接口[9]
在数据传输过程中,用户通过控制信号控制协议引擎完成如下操作:
封装/解封装数据并使其在串行通道中传输;暂停数据传送(插入空闲状态)。
协议引擎中的发送帧将待传输的数据封装在通道协议数据单元(PDU)中。
对我们使用的Aurora协议引擎来说,一个串行通道就由1个“弄”组成。
这里,“弄”是设计中每个MGT的数据路径标识。
插入空闲状态的目的是为了填充“弄”来完成字边界对齐。
图2中的REM总线(dataremainderbus)用来表示在PDU传送最后一个数据期间有效的字节数。
实际的字节数等于REM总线的值加1。
用户可以根据设计需要改变通道PDU的长度,它反过来也影响数据传输的效率。
更长的PDU可以实现更高的传输效率,但同时也降低了传输的可靠性。
用户可通过控制TX_SOF_N和TX_EOF_N信号来调整PDU长度。
在传输过程中,用户可复位TX_SRC_RDY_N信号来产生数据停顿。
在停顿期间,发送器发送空闲序列。
重新置位TX_SRC_RDY_N,就可以恢复数据传输,用户可无限制地插入停顿。
接收帧的功能与发送帧相反,将数据从“弄”中提取出来。
在接收过程中,协议引擎自动完成以下功能:
检测和丢弃控制字节;置位PDU绑定信号;从“弄”中恢复数据;重新装配数据并送往RX_D[0:
31]总线。
3.Aurora的流控机制
Aurora支持可选的数据流量控制,以防止由于双方源端和宿端速率不同而造成的数据丢失。
Aurora支持两种流控机制:
故有流量控制(NativeFlowControl)和用户流量控制(UserFlowControl)。
固有的流量控制:
NFC操作有两个状态机控制:
tx和rx。
Rx状态机将空rxfifo的状态。
当有溢出危险时,它会生成NFCpdu,要求对方在特定的时间内暂停传输用户pdu。
Tx状态机通过在要求的时间内等待予以相应,从而使rxfifo从一处状态恢复。
发送NFC要求的同时,tx状态机营销出任何往返延迟。
理想状态下,NFC要求在接收fifo溢出前发出。
您可以将NFC暂停设置为0到256,最大暂停为无限。
NfC暂停止是非累积的,新的NFC会覆盖旧的值[12]。
用户流量控制:
用户无需等待数据的结束,即可发送UFC信息。
UFC信息与普通的数据共享数据通道,但有更高的优先级。
UFC消息由用户自定义和解析。
4.Aurora的核参数
5.表1.核参数
参数
描述
支持的值
弄
在通道中应用的GTP/GTX收发器的数量
Virtex-5设备
GTP/GTX:
1到16
Virtex-6设备
GTX:
1到16
Spartan-6设备
GTP:
1,2,4
表1核参数(续)
参数
描述
支持的值
弄宽度
Virtxe-5FPGAGTP收发器在核心中设置使用2字节构造数据。
Virtex-5/Virtex-6FPGAGTX收发器和Spartan-6
FPGAGTP收发器设置使用2字节和4字节SERDES
Virtex-5设备
GTP:
2字节
GTX:
2/4字节
Virtex-6设备
GTX:
2/4字节
Spartan-6设备
GTP:
2/4字节
方向
COREGenerator软件生成的通道的类型,可以是全双工的,单一的TX方向,单一的RX方向,或是在一个GTP/GTX收发器上设立两个单独的单一的模块(一个用于TX,一个用于RX)
Full-Duplex
Simplex-TX
Simplex-RX
Simplex-Both
后通道
核Aurora8B/10B心有两种单一的后通道:
·Siderbands:
通过对方发送的Siderbands设置单一TX状态转换
·Timer:
不同于Siderbands,在初始化时通过内置的计时器完成单一TX状态转换
Sidebands
Timer
表1核参数(续)
参数
描述
支持的值
流控制
流控制的使能。
有两种类型:
·自带流控制(NFC):
NFC使全双工接收器可以控制输入数据的速率。
完成模式,当帧完成时,NFC强制空值。
立即模式,一旦流控制信息到达,NFC强制为空值。
·用户流控制(UFC):
UFC使应用程序可以通过通道相互发送简短的高优先级的信息。
None
NFCImmediate
NFCCompletion
UFC
UFC和NFCImmediate
UFC和NFCCompletion
接口
用户可以指定一到两种接口:
·数据帧:
用户数据帧接口是本地连接适应的。
初始化后,数据帧可以通过Aurora通道发送。
用户数据帧接口倾向于更大,因为有广泛的包容字队列和无逻辑控制特征。
·数据流:
用户数据流接口使得用户可以开启一个单独的无界限的数据帧。
初始化完成后,用户通过一个简单的寄存器接口和一个空值信号向数据帧中输入数据。
Framing(本地连接)
Streaming
表1核参数(续)
参数
描述
支持的值
线速率
线速率规定了收发器工作时的速度。
该参数与Aurora8B/10B核心的性能有关。
好的性能会有更高的线速率。
详细介绍请参考LogiCOREIPAurora8B/10Bv5.1UserGuide
Virtex-5设备
GTP收发器:
500Mbps到3.75Gbps
GTX收发器:
50Mbps到6.5Gbps
Virtex-6LXT/SXT设备
GTX收发器:
750Mbps到6.5Gbps
Virtex-6CXT设备
GTX收发器:
750Mbps到3.75Gbps
Virtex-6LowerPower设备
GTX收发器:
750Mbps到5.0Gbps
Spartan-6设备
GTP收发器:
614Mbps到3.125Gbps
表1核参数(续)
参数
描述
支持的值
收发器参考时钟频率
COREGenerator软件根据参考参数值设置以下设备的参考时钟速率Virtex-5,Virtex-6,andSpartan-6FPGAs.
详细介绍请参考LogiCOREIPAurora8B/10Bv5.1UserGuide。
根据选择的线速率和下列设备可用的时钟乘法器设置合适的速率:
•Virtex-5FPGAGTP/GTX
收发器
•Virtex-6FPGAGTX
收发器
•Spartan-6FPGAGTP收发器
收发器参考时钟
可以根据种种专用和非专用的时钟网络赋予GTP/GTX收发器一个参考时钟。
如何为应用程序选择一个最佳的参考时钟网络,详细介绍请参考LogiCOREIPAurora8B/10Bv5.1UserGuide。
Virtex-5设备:
GTPD/GTXDclocks
Virtex-6设备:
GTXQclocks
Spartan-6设备:
GTPDclocks
表1核参数(续)
参数
描述
支持的值
收发器放置
COREGenerator软件提供了一个图形接口
使用户可以为特殊的GTP/GTX设计弄.请参考TheVirtex-5FPGARocketIOGTPTransceiverUserGuide,Virtex-5FPGARocketIOGTXTransceiverUserGuide,Virtex-6FPGAGTXTransceiversUserGuide,和Spartan-6FPGAGTPTransceiversUserGuide以及GTP/GTX收发器放置指导方针寻找最佳方式
任何GTP/GTX收发器的联合
5.Aurora的应用
Aurora是一种简单的可扩展的开放协议,支持各种各样的应用。
如下所示:
芯片间通信:
使用高速穿行总线代替芯片间的并行总线,可以大大减少pcb布线复杂程度和布线层数。
板间通信:
aurora使用标准的8b/10b编码,使得aurora可以与很多现有的标准兼容。
而且,aurora的数据传输率和通道个数都是可选的,使aurora更加方便用户。
简单的单向模式:
在有些应用中,并不需要双向的通信,只需要单向的高速通信。
Aurora协议提供了多种方式,只配置单相通路,以节省资源。
ASIC:
aurora不仅仅应用与FPGA设计,还可应用于ASIC设计中。
Aurora的简单性使得它在FPGA和ASIC中都可以只占用很少的资源。
三、结束语
简单易用的Aurora协议由于其可扩展性,可以被广泛应用在各个领域,为新一代通信及数据网络应用提供了一个可靠的解决方案,虽然不是最好的,但相信随着技术的发展,Aurora还会不断进步在更多的场合绽放出耀眼的光彩。
参考文献
[1]冯华亮,串行RapidIO:
高性能嵌入式互连技术[J];今日电子-2007年9期:
80
[2]王勇,林粤伟,吴冰冰等译,RapidIO嵌入式系统互连[M],电子工业出版社,2006:
20
[3]陈剑波,RapidIO总线技术的研究[J];计算机与网络-2005年9期:
48
[4]RapidIOTradeAssociation,ISO/IECDIS18372,RapidIO™InterconnectSpecificationRev.1.3[S],2005.6
[5]王欣,杨涛,RapidIO互连技术研究[J];数字通信世界-2008年5期:
70,73
[6]王帆,刘云,串行RapidIO在多DSP系统中的应用初探[J];计算机与数字工程,2008年,第八期:
206
[7]赵博龙,赵云忠,孔德岐,RapidlO互连技术研究及其模型验证[J];航空计算技术,2009年,第四期:
128-129
[8]邓焰,戎蒙恬,基于FPGA的3.125Gbit/s串行通道设计实验[J];电子工程师,2004年,第11期:
16-18
[9]宁元辉,朱光喜,苏钢等,一种2Gbps的多数据包透明传输机制[J];高技术通讯,2008年第9期:
881-887
[10]侯春雷,唐碧华,胡鹤飞等,基于Aurora的MAC层帧结构的设计与实现[J];中国科技论文在线,2010年第1期:
58-61
[11]杜旭,于洋,黄建,基于FPGA的高速串行传输接口的设计与实现[J];计算机工程与应用,
2007年第12期:
94-96
[14]Xilinx,LogiCORETMIPSerialRapidIOV5.1UserGuideUG503[S],September19,2008
[15]Xilinx,LogiCORETMIPAurora8B/10Bv5.1UserGuideUG353(v5.1)[S],December2,2009