zoukankan      html  css  js  c++  java
  • Aurora通信设计概述

    1 Aurora简介

    Aurora是一种可裁剪的、轻量级的、链路层点对点的针对FPGA间的高速数据传输的串行传输通信协议。目前支持的传输速度为0.5~13.1Gbps,还支持通道绑定实现更高的数据传输速度。

    Aurora总线协议分为物理层和链路层两层最初采用的是8B/10B编码方式,后续为了提高带宽利用率采用了64B/66B编码方式。为了区分两种编码方式,分别命名为Aurora 8B/10B和Aurora 64B/66B。Aurora相比于PCIE及SRIO总线具有明显的特征,它是为了解决FPGA之间的数据传输、支持任意速度、不支持交换结构。

    1.1 Aurora通信模型

    Aurora总线存在全双工模式及单工模式两种架构,其中一个典型的应用实例如下图所示。一个Aurora的传输链路(Channel)可包含一个或多个通道(Lanes),以组合方式(x2、x4)支持更高的传输速度,通信的双方成为Partners。

    在发送端,用户端应用程序可以通过AXI总线接口实现与Aurora协议的数据交互,传输用户自定义的协议数据PDU(Protocol Data Unit);接收端通过解析PDU数据,提取原始数据,通过AXI总线接口提供给用户应用程序。

    Aurora总线的物理层采用差分信号进行数据传输,该层主要规定Aurora总线协议的物理和电气特性,如直流均衡、差分摆幅等。

    Aurora总线的链路层主要根据用户自定义协议,形成符合Aurora包格式的数据,完成打包、组帧以及8B/10B编解码功能。

    1.2 Aurora数据帧结构

    Aurora协议支持任意偶数字节的包长度,没有包长的限制,如果数据长度为奇数个时对数据用0x9C进行填充至偶数个。填充后链路层进行打包、组帧操作,增加帧头、帧尾。Aurora协议采用的帧头SCP占2字节,即K28.2/K27.7(0x5CFB),2字节帧尾ECP为K29.7/K30.7(0xFDFE)。Aurora数据帧结构如下图所示。

    其他具体内容见官方的数据手册。

    2 参考文档

    【1】pg046-aurora-8b10b_v11.0

    【2】嵌入式高速串行总线技术--基于FPGA实现与应用.张峰

  • 相关阅读:
    Springboot注解@Scheduled定时任务的使用
    Springboot整合WebSocket和RabbitMQ实现服务器消息推送
    Springboot集成WebSocket实现消息推送功能
    RabbitMq: 主题交换机的使用(Topic Exchange)
    Rabbitmq: @RabbitListener 和 @RabbitHandler 搭配使用
    RabbitMQ开启 mqtt 协议
    @Import的简单使用
    idea快速生成对应数据库的实体类
    HttpClient封装工具类
    TypeScript基本概念
  • 原文地址:https://www.cnblogs.com/151009-on-the-way/p/15163741.html
Copyright © 2011-2022 走看看