Aurora简介
Aurora 协议是一个用于在点对点串行链路间移动数据的轻量级链路层协议,并为物理层提供透明接口,让专有协议或业界标准协议上层能方便地使用高速收发器。
Aurora通信模型
在发送端,用户端应用程序可以通过AXI总线接口实现与Aurora协议的数据交互,传输用户自定义的协议数据PDU(Protocol Data Unit);接收端通过解析PDU数据,提取原始数据,通过AXI总线接口提供给用户应用程序。
Aurora的实现方式—基于Xilinx 8B/10B IP核
在FPGA上有两种实现方式 8b/10b,64b/10b
Aurora-8B/10B:将8bit数据编码成10bit数码进行传输,尽量平衡数据中“0”和“1”的个数以实现DC平衡,显然这个编码方式的开销是20%,也就是效率为80%
Aurora-64B/10B:将64bit数据编码成66bit块传输,66bit块的前两位表示同步头,主要由于接收端的数据对齐和接收数据位流的同步。同步头有“01”和“10”两种,“01“表示后面的64bit都是数据,“10”表示后面的64bit是数据信息。数据信息0和1不一定是平衡的,因此需要进行加扰,开销较小。
IP核的顶层结构示意图:
即Aurora 8B/10B是一个基于GT高速收发器(物理层)的全双工点到点协议,为了让上层协议更好地使用高速收发器。
Aurora的特点
- 高带宽,仅受限于收发器的数据速率
- 支持大量键合线路,实现较高的总带宽
- 支持全双工和单工通道
- 无限帧尺寸/灵活组帧
- 小型逻辑封装,采用标准的 AXI-ST 接口。
- 内置流程控制和热插拔支持
Aurora 广泛用于需要背板、电路板间和芯片间连接的应用。