RapidIO概述
RapidIO的一种高性能、低引脚数、 基于数据包交换的互连体系结构,可与最流行的兼容集成通信处理器、主机处理器和网络数字信号处理器是一种高性能的分组交换互连技术。串行RapidIO针对高性能嵌入式系统芯片间和板间互连而设计,它将是未来十几年中嵌入式系统互连的最佳选择。表1总结比较了的三种带宽能达到10Gbps的互连技术:以太网,PCI Express和串行RapidIO,从中可以看出串行RapidIO是最适合高性能嵌入式系统互连的技术。
表1 10G互连技术比较
| 软件实现TCP/IP 协议栈的以太网 | 4x PCI Express | 4x SRIO | 备注 |
软件开销 | 高 | 中 | 低 | SRIO 协议栈简单,一般都由硬件实现,软件开销很小 |
硬件纠错重传 | 不支持 | 支持 | 支持 | |
传输模式 | 消息 | DMA | DMA,消息 | |
拓扑结构 | 任意 | PCI树 | 任意 | SRIO支持直接点对点或通过交换器件实现的各种拓扑结构 |
直接点对点对等互连 | 支持 | 不支持 | 支持 | SRIO互连双方可对等的发起传输。 |
传输距离 | 长 | 中 | 中 | SRIO针对嵌入式设备内部互连,传输距离一般小于1米 |
数据包最大有效载荷长度 | 1500字节 | 4096字节 | 256字节 | 嵌入式通信系统对实时性要求高,SRIO小包传输可减少传输时延 |
打包效率 (以传输256字节数据为例) | 79% (TCP包) | 82% | 92~94% | 打包效率是有效载荷长度与总包长的比率。SRIO支持多种高效包格式。 |
介绍RapidIO协议架构,包格式,互连拓扑结构以及串行RapidIO物理层规范。介绍串行RapidIO在无线基础设施方面的应用。RapidIO协议是三层定义:逻辑层、传输层和物理层。
逻辑层
逻辑层定义了总体协议和包格式。这是必要的信息。启动和完成事务的终结点,逻辑层定义了操作协议。RapidIO支持的逻辑层业务主要是:直接IO/DMA (Direct IO/Direct Memory Access)和消息传递(MessagePassing)。
直接IO/DMA模式是最简单实用的传输方式,其前提是主设备知道被访问端的存储器映射。在这种模式下,主设备可以直接读写从设备的存储器。直接IO/DMA在被访问端的功能往往完全由硬件实现,所以被访问的器件不会有任何软件负担。对上层应用来说,发起直接IO/DMA传输主要需提供以下参数:目地器件ID、数据长度、数据在目地器件存储器中的地址。
直接IO/DMA模式又可进一步分为以下几种传输格式:
1. NWRITE:写操作,不要求接收端响应。
2. NWRITE_R:带响应的NWRITE(NWRITE with Response),要求接收端响应。
3. SWRITE:流写(Stream Write),数据长度必须是8字节的整数倍,不要求接收端响应。
4. NREAD:读操作。
SWRITE是最高效的传输格式;带响应的写操作或读操作效率则较低,一般只能达到不带响应的传输的效率的一半。消息传递(Message Passing)模式则类似于以太网的传输方式,它不要求主设备知道被访问设备的存储器状况。数据在被访问设备中的位置则由邮箱号(类似于以太网协议中的端口号)确定。从设备根据接收到的包的邮箱号把数据保存到对应的缓冲区,这一过程往往无法完全由硬件实现,而需要软件协助,所以会带来一些软件负担。对上层应用来说,发起消息传递主要需提供以下参数:目地器件ID、数据长度、邮箱号。
传输层
传输层提供路由。数据包从端点移动到端点所必需的信息,传输层定义了包交换、路由和寻址机制。
RapidIO网络主要由两种器件,终端器件(End Point)和交换器件(Switch)组成。终端器件是数据包的源或目的地,不同的终端器件以器件ID来区分。RapidIO支持8 bits 或 16bits器件ID,因此一个RapidIO网络最多可容纳256或65536个终端器件。与以太网类似,RapidIO也支持广播或组播,每个终端器件除了独有的器件ID外,还可配置广播或组播ID。交换器件根据包的目地器件ID进行包的转发,交换器件本身没有器件ID。
RapidIO的互连拓扑结构非常灵活,除了通过交换器件外,两个终端器件也可直接互连。
物理层
物理层描述设备级接口细节,物理层定义了电气特性、链路控制和纠错重传等。这个分区提供了在逻辑规范中添加新事务类型的灵活性。需要对传输层或物理层规范进行修改。串行RapidIO基于现在已广泛用于背板互连的SerDes(Serialize Deserialize)技术,它采用差分交流耦合信号。差分交流耦合信号具有抗干扰强、速率高、传输距离较远等优点。差分交流耦合信号的质量不是由传统的时序参数来衡量,而是通过眼图来衡量,眼图中的“眼睛”张得越开则信号质量越好。下图是一个典型的串行RapidIO信号的眼图。
差分信号的强弱由一对信号线的电压差值表示,串行RapidIO协议规定信号峰-峰值的范围是200mV-2000mV。信号幅度越大,则传输距离越远,RapidIO协议按信号传输距离定义两种传输指标:
1.短距离传输(Short Run),<=50厘米,主要用于板内互连,推荐的发送端信号峰-峰值为500mV-1000mV
2.长距离传输(Long Run),>50厘米,主要用于板间或背板互连,推荐的发送端信号峰-峰值为800mV-1600mV
图 1x/4x 串行RapidIO接口框图