文章目录
前言
本章将为大家介绍 “Serial RapidIO Gen2 ”IP 的使用以及配置方法。“Serial RapidIO Gen2 ”IP 在进行数据传输时需要按照 Rapidio 协议进行数据传输。Rapidio 协议组成的基本要素是包和控制符号:包是基于各种协议的传输数据内容,控制符号则用于控制物理层数据交互的方式。本章实验的方案是产生一组累加的测试数据,测试数据在经过光模块后再对数据进行接收,将发送和接收的数据进行对比,从而测试我们的开发板是否支持“Serial RapidIO Gen2 ”IP 数据的收发。
提示:任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」 ;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人 。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」
一、SRIO IP 概述
RapidIO 是由 Motorola 和 Mercury 等公司率先倡导的一种高性能、 低引脚数,基于数据包交换的互连体系结构,是为满足高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO 最初是使用并行总线,但是并行总线需要较多的引脚数。现在使用较多的都是串行总线 RapidIO,即 SRIO。并行总线和串行总线它们之间只是物理接口不同,它们具有相同的编程模型,事务处理,
以及寻址机制。接下来我们主要介绍串行总线 RapidIO 即 SRIO。SRIO IP 被划分为三层:逻辑层(Logical Layer),缓冲层(Buffer)以及物理层(Physical Layer),如图所示。
下面我们来对逻辑层(Logical Layer),缓冲层(Buffer)以及物理层(Physical Layer)分别展开介绍。
1.1 逻辑层
逻辑层(Logical Layer)又被划分成几个模块来控制并且解析发送和接收数据包。逻辑层(Logical Layer)有三个接口:用户接口(User Interface),传输接口(Transport Interface)和配置接口(Configuration Fabric Interface)。用户接口(User Interface)能够接收和发送数据数据包,当生成 SRIO IP 核的时候可以配置端口的事务类型,同时还可以通过 AXI4_Lite 接口发起维护事务对本地或者远程的寄存器进行访问或者配置。传输接口(Transport Interface)包含发送和接收两个端口,它是用来连接中间的 Buffer,对于 SRIO 的顶层来说这两个端口并不可见;配置接口(Configuration Fabric Interface)也包含两个端口,其中配置主机端口(Configuration Master Port)用来读写本地配置空间,而逻辑配置寄存器端口(LOG Configuration Register Port)则是用来读写一部分逻辑层或者是传输层配置寄存器。而对于 SRIO IP 核来说,最需要关注的就是用户接口
(User Interface)。
下面将着重为大家介绍用户接口(User Interface),用户接口(User Interface)包含 I/O 端口和三个可选的端口,三个可选端口分别为消息端口( Messaging Port ), 维 护 端 口 ( Maintenance Port ) 以 及 用 户 自 定 义 端 口(User_Defined