0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

串行 RapidIO: 高性能嵌入式互连技术

FPGA设计论坛 来源:未知 2023-02-02 14:15 次阅读



RapidIO 与传统嵌入互连方式的比较

随着高性能嵌入式系统的不断发展,芯片间及板间互连对带宽、成本、灵活性及可靠性的要求越来越高,传统的互连方式,如处理器总线、PCI总线和以太网,都难以满足新的需求 。

处理器总线主要用作外部存储器接口,如德州仪器(TI) C6000系列DSP的外部存储器接口,可支持外接同步SDRAM、SBSRAM及FIFO,也可支持异步SRAM、FLASH等。外部存储器接口也可用作与板内FPGAASIC芯片互连,这种情况下,FPGA或ASIC模拟一个DSP支持的存储器接口,DSP则把FPGA或ASIC当作存储器来访问。

这类同步接口带宽可达10Gbps,如德州仪器TMS320C6455 DSP的DDR2接口最大带宽为17.066Gbps,SBSRAM接口最大带宽为8.533Gbps。然而,这种接口也存在一些局限性:

  1. 接口管脚多,硬件设计困难。常见的DDR2接口有70~80个管脚;

  2. 只能用于板内互连,无法用于板间互连;

  3. 不是点对点的对等互连,DSP始终是主设备,其它器件只能做从设备。

PCI是广泛用于计算机内器件互连的技术。传统PCI技术也采样类似于上述存储器接口的并行总线方式,如TMS320C6455 DSP的PCI接口,有32bits数据总线,最高时钟速度为66MHz,共有42个管脚。

最新的串行PCI Express技术采用与串行RapidIO(SRIO, Serial RapidIO)类似的物理层传输技术,使得带宽达到10Gbps左右。

但由于其主要的应用仍是计算机,而且为了兼容传统PCI技术,使得它在嵌入式设备方面的应用具有一定的局限性,如不支持点对点对等通信等。

众所周知,以太网是使用最广泛的局域网互连技术,它也被扩展应用到嵌入式设备互连,但它的局限性也是显而易见的:

  1. 不支持硬件纠错,软件协议栈开销较大;

  2. 打包效率低,有效传输带宽因此而减小;

  3. 只支持消息传输模式,不支持对对端设备的直接存储器访问(DMA, Direct Memory Access)。

针对嵌入式系统的需求以及传统互连方式的局限性,RapidIO标准按如下目标被制定:

  1. 针对嵌入式系统机框内高速互连应用而设计。

  2. 简化协议及流控机制,限制软件复杂度,使得纠错重传机制乃至整个协议栈易于用硬件实现。

  3. 提高打包效率,减小传输时延。

  4. 减少管脚,降低成本。

  5. 简化交换芯片的实现,避免交换芯片中的包类型解析。

  6. 分层协议结构,支持多种传输模式,支持多种物理层技术,灵活且易于扩展。

图1展示了RapidIO互连在嵌入式系统中的应用。

图1 RapidIO在嵌入式系统中的应用
表1总结比较了的三种带宽能达到10Gbps的互连技术:以太网,PCI Express和串行RapidIO,从中可以看出串行RapidIO是最适合高性能嵌入式系统互连的技术。
表1 10G级互连技术比较

串行RapidIO协议

RapidIO行业协会成立于2000年,其宗旨是为嵌入式系统开发可靠的,高性能,基于包交换的互连技术。RapidIO协议的简要发展历史是:

  1. 2001年初,最初的标准被发布

  2. 2002年6月,1.2版标准发布

  3. 2005年6月,1.3版标注发布

串行RapidIO是物理层采用串行差分模拟信号传输的RapidIO标准。SRIO 1.x 标准支持的信号速度为1.25GHz、2.5GHz、3.125GHz;正在制定的RapidIO 2.0标准将支持5GHz、6.25GHz.

目前,几乎所有的嵌入式系统芯片及设备供应商都加入了RapidIO行业协会。德州仪器(TI) 2001年加入该组织,2003年成为领导委员会成员。2005年底,德州仪器(TI)推出第一个集成SRIO(Serial RapidIO)的DSP,后来又陆续推出共5款支持SRIO的DSP,这使得RapidIO的应用全面启动。

RapidIO协议结构及包格式

为了满足灵活性和可扩展性的要求,RapidIO协议分为三层:逻辑层、传输层和物理层。图2说明了RapidIO协议的分层结构。

图2 RapidIO协议分层结构

逻辑层定义了操作协议;传输层定义了包交换、路由和寻址机制;物理层定义了电气特性、链路控制和纠错重传等。

象以太网一样,RapidIO也是基于包交换的互连技术。如图3所示,RapidIO包由包头、可选的载荷数据和16bits CRC校验组成。包头的长度因为包类型不同可能是十几到二十几个字节。每包的载荷数据长度不超过256字节,这有利于减少传输时延,简化硬件实现。

图3 RapidIO包格式

上述包格式定义兼顾了包效率及组包/解包的简单性。RapidIO交换器件仅需解析前后16bits,以及源/目地器件ID,这简化了交换器件的实现。

逻辑层协议

逻辑层定义了操作协议和相应的包格式。RapidIO支持的逻辑层业务主要是:直接IO/DMA (Direct IO/Direct Memory Access)和消息传递(Message Passing)。

直接IO/DMA模式是最简单实用的传输方式,其前提是主设备知道被访问端的存储器映射。在这种模式下,主设备可以直接读写从设备的存储器。直接IO/DMA在被访问端的功能往往完全由硬件实现,所以被访问的器件不会有任何软件负担。从功能上讲,这一特点和德州仪器DSP的传统的主机接口(HPI, Host Port Interface)类似。但和HPI口相比,SRIO(Serial RapidIO)带宽大,管脚少,传输方式更灵活。

对上层应用来说,发起直接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、数据长度、邮箱号。表2比较了直接IO/DMA和消息传递模式。

表2 直接IO/DMA和消息传递的对比

传输层协议

RapidIO是基于包交换的互连技术,传输层定义了包交换的路由和寻址机制。

RapidIO网络主要由两种器件,终端器件(End Point)和交换器件(Switch)组成。

终端器件是数据包的源或目的地,不同的终端器件以器件ID来区分。RapidIO支持8 bits 或 16 bits器件ID,因此一个RapidIO网络最多可容纳256或65536个终端器件。与以太网类似,RapidIO也支持广播或组播,每个终端器件除了独有的器件ID外,还可配置广播或组播ID。

交换器件根据包的目地器件ID进行包的转发,交换器件本身没有器件ID。

RapidIO的互连拓扑结构非常灵活,除了通过交换器件外,两个终端器件也可直接互连。以德州仪器(TI)的TMS320C6455 DSP为例,它有4个3.125G的SRIO口,它可支持的拓扑结构如图4所示

图4 RapidIO支持灵活多样的拓扑结构

物理层协议

RapidIO 1.x 协议定义了以下两种物理层接口标准:

  1. 8/16 并行LVDS协议

  2. 1x/4x 串行协议 (SRIO)

并行RapidIO由于信号线较多(40~76)难以得到广泛的应用,而1x/4x串行RapidIO仅4或16个信号线,逐渐成为主流,所以本文仅介绍串行RapidIO。

串行RapidIO基于现在已广泛用于背板互连的SerDes(Serialize Deserialize)技术,它采用差分交流耦合信号。差分交流耦合信号具有抗干扰强、速率高、传输距离较远等优点。差分交流耦合信号的质量不是由传统的时序参数来衡量,而是通过眼图来衡量,眼图中的“眼睛”张得越开则信号质量越好。图5是一个典型的串行RapidIO信号的眼图。

图5 串行RapidIO信号眼图

差分信号的强弱由一对信号线的电压差值表示,串行RapidIO协议规定信号峰-峰值的范围是200mV-2000mV。信号幅度越大,则传输距离越远,RapidIO协议按信号传输距离定义两种传输指标:

  1. 短距离传输(Short Run),<=50厘米,主要用于板内互连,推荐的发送端信号峰-峰值为500mV-1000mV

  2. 长距离传输(Long Run),>50厘米,主要用于板间或背板互连,推荐的发送端信号峰-峰值为800mV-1600mV

为了支持全双工传输,串行RapidIO收发信号是独立的,所以每一个串行RapidIO口由4根信号线组成。标准的1x/4x 串行RapidIO接口,支持四个口,共16根信号线。这四个口可被用作独立的接口传输不同的数据;也可合并在一起当作一个接口使用,以提高单一接口的吞吐量。

德州仪器TMS320C6455 DSP上集成了标准的1x/4x串行RapidIO接口,如图6所示。

图6德州仪器TMS320C6455 DSP 1x/4x 串行RapidIO接口框图

发送时,逻辑层和传输层将组好的包经过CRC编码后被送到物理层的FIFO中,“8b/10b编码”模块将每8bit数据编码成10bits数据,“并/串转换”模块将10bits并行数据转换成串行bits,发送模块把数字bit转换成差分交流耦合信号在信号线上发送出去。这里的8b/10编码的主要作用是:

  1. 保证信号有足够的跳变,以便于接收方恢复时钟。串行RapidIO没有专门的时钟信号线,接收端靠数据信号的跳变恢复时钟。所以需要把信号跳变少的8bits数据(如全0或全1)编码成有一定跳变的10bits数据。另外,也使得总体数据中0和1的个数均衡,以消除直流分量,保证交流耦合特性;

  2. 8b/10编码可扩大符号空间,以承载带内控制符号。10bits能表示1024个符号,其中256个表示有效的8bits数据,剩下的符号中的几十个被用作控制符号。控制符号可被用作包分隔符,响应标志,或用于链路初始化,链路控制等功能;

  3. 8b/10编码能实现一定的检错功能。1024个符号中,除了256个有效数据符号和几十个控制符号外,其它符号都是非法的,接收方收到非法符号则表示链路传输出错。

接收的过程则正好相反,首先接收方需要根据数据信号的跳变恢复出时钟,用这个时钟采样串行信号,将串行信号转换为10bits的并行信号,再按8b/10b编码规则解码得到8bits数据,最后做CRC校验并送上层处理。

数据被正确的接收时,接收端会发送一个ACK响应包给发送端;如果数据不正确(CRC错或非法的10bits符号),则会送NACK包,要求发送方重传。这种重传纠错的功能由物理层完成,而物理层功能往往由硬件实现,所以不需要软件干预。

串行RapidIO支持的信号速率有三种:1.25GHz,2.5GHz,3.125GHz。但由于8b/10b编码,其有效数据速率分别为:1Gbps, 2Gbps, 2.5Gbps。4个1x端口或一个4x端口支持的最高速率为10Gbps。

串行RapidIO在无线基础设施上的应用

无线基础设施如基站、媒体网关等,是典型的高性能嵌入式通信系统,它们对互连的带宽、时延、复杂度、灵活性、可靠性都有非常高的要求。而串行RapidIO正是满足这些要求的最佳选择。

以无线基站为例,在SRIO出现之前,无线基站的基带处理的典型框图如图7所示。

图7 传统无线基站基带处理框图

在传统的基站中,DSP与ASIC或FPGA之间的互连一般用外部存储器接口EMIF(External Memory Interface);DSP之间或DSP与主机之间一般用HPI(Host Port Interface)或PCI互连。它们的主要缺点是:带宽小;信号线多;主从模式接口,不支持对等传输。另外,DSP不能直接进行背板传输。

使用SRIO(Serial RapidIO)则可有效的解决这些问题,大大提高无线基站的互连性能。图8显示了一种无线基站基带互连框图。在这里,SRIO实现了大部分器件之间的互连,甚至可支持DSP进行直接背板传输。

图8 SRIO提高无线基站互连性能

通过SRIO交换器件互连可以进一步提高基带处理的灵活性,图9显示了一种基带SRIO交换互连的框图。这种互连有利于实现先进的基带处理资源池架构,数据可被送到任何一个通过SRIO交换器互连的处理器中,从而达到各个处理器的负载均衡,更加有效的利用系统的整体处理能力。

图9 SRIO交换为无线基站基带处理提供更大的灵活性

综上所述,对嵌入式系统尤其是无线基础设施,串行RapidIO是最佳的互连技术。高达10Gbps的带宽、低时延和低软件复杂度满足了飞速发展的通信技术对性能的苛刻需求;串行差分模拟信号技术满足了系统对管脚数量的限制,及对背板传输的需求;灵活的点对点对等互连、交换互连,和可选的1.25G/2.5G/3.125G三种速度能满足多种不同应用的需求。

随着串行RapidIO技术的发展成熟,以及越来越多的厂商的支持,串行RapidIO技术必将成为高性能嵌入式互连的主流技术。




扫描二维码获取

更多精彩

FPGA设计论坛





欢迎关注至芯科技

至芯官网:www.zxopen.com

至芯科技技术论坛:www.fpgaw.com

至芯科技淘宝网址:

https://zxopen.taobao.com

至芯科技FPGA初级课程(B站):

https://space.bilibili.com/521850676

至芯科技FPGA在线课程(腾讯课堂):

https://zxopenbj.ke.qq.com/

至芯科技-FPGA 交流群(QQ):282124839

更多资料下载欢迎注册http://www.fpgaw.com

扫码加微信回复加群

邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看





原文标题:串行 RapidIO: 高性能嵌入式互连技术

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1606

    文章

    21344

    浏览量

    594223

原文标题:串行 RapidIO: 高性能嵌入式互连技术

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式系统软硬件基础知识大全

    ,它们分别用于串行通信、高速数据传输和设备连接。而通信协议则规定了设备之间传输数据的格式和规则,如TCP/IP、HTTP和MQTT等。掌握这些接口和协议,可以让我们更好地设计和实现嵌入式系统的功能和性能
    发表于 05-09 14:12

    如何成为一名嵌入式C语言高手?

    的特性和工作原理对于嵌入式C语言编程至关重要。你应该学习如何与外设进行交互、如何配置寄存器和控制器等。阅读相关设备的数据手册和技术文档,参加硬件相关的课程,可以帮助你更好地理解嵌入式系统的硬件架构
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    的特性和工作原理对于嵌入式C语言编程至关重要。你应该学习如何与外设进行交互、如何配置寄存器和控制器等。阅读相关设备的数据手册和技术文档,参加硬件相关的课程,可以帮助你更好地理解嵌入式系统的硬件架构
    发表于 03-25 14:12

    srio交换芯片属于什么种类

    SRIO交换芯片属于高速网络通信芯片的一种,具体来说,它们是基于RapidIO(快速输入输出)技术串行通信芯片。RapidIO是一种用于高性能
    的头像 发表于 03-21 16:33 320次阅读

    嵌入式会越来越卷吗?

    解和适应用户的需求。 嵌入式系统的技术发展趋势 硬件性能提升:随着半导体技术的不断进步,嵌入式系统的硬件
    发表于 03-18 16:41

    rapidio交换芯片是什么

    RapidIO交换芯片是一种基于RapidIO协议的专用交换芯片,它能够实现高速、低延迟的数据传输和交换,广泛应用于嵌入式系统、数据中心、网络通信等领域。RapidIO协议本身是一种基
    的头像 发表于 03-16 16:40 1773次阅读

    嵌入式工程师需要掌握哪些技术?

    嵌入式工程师需要掌握哪些技术? 嵌入式系统是当今科技领域中的重要组成部分,它们存在于我们生活的方方面面,从智能手机到汽车控制系统,从家电到医疗设备。因此,对于那些想要进入嵌入式行业的
    发表于 03-04 16:38

    嵌入式系统发展前景?

    应用领域。随着汽车电子化和智能化程度的不断提高,嵌入式系统将在汽车控制、安全系统、自动驾驶等方面发挥更为重要的作用。 工智能和机器学习技术的发展为嵌入式系统提供了新的发展机遇。嵌入式A
    发表于 02-22 14:09

    嵌入式学习步骤

    开发板上测试固件以及在实际设备上进行测试。 嵌入式系统的多样化发展,它将更为广泛地应用于各个领域,实现智能化、网络化、自动化的目标。同时,随着人工智能和机器学习技术的发展,嵌入式系统的智能化程度也将得到进一步提高,让我们的生活
    发表于 02-02 15:24

    嵌入式硬件和软件哪个好?

    这类技术都是看经验的,经验越高,那他的身价也相应变高。据统计,65%的电子产品开发企业中,嵌入式软件开发工程师团队,往往只占全公司人数的5%,但是却创造了全公司超过70%的效益。 嵌入式软件开发工程师
    发表于 12-05 15:17

    为什么嵌入式没有35岁危机?

    为什么嵌入式没有35岁危机? 在当今数字化时代,IT行业变化迅速,技术的更新迭代速度惊人。然而,有一个技术领域却能够在这个竞争激烈的行业中稳步前行,而且不受35岁危机所困扰,那就是嵌入式
    发表于 11-17 10:33

    高性能嵌入式计算在军事领域的应用

    高性能嵌入式计算的许多创新始于微处理器,包括中央处理器(CPU)、现场可编程门阵列(FPGA)、通用图形处理单元(GPGPU)、模数转换器(A/D)和数模转换器(D/A)。
    的头像 发表于 11-01 11:19 526次阅读

    什么是嵌入式Linux?

    发展需要不断进化。随着芯片性能的增强和社会变革的需要,嵌入式系统越来越承接更多、更复杂的功能,所以嵌入式开发也以高薪稳定的状态稳坐在就业的顶端。(相较于其他行业,嵌入式工程师的工资在同
    发表于 10-11 13:47

    从事嵌入式工作有哪些优势?

    随着物联网和人工智能的发展,嵌入式技术越来越值钱,学嵌入式的人也越来越多,现在开始入行嵌入式。根据一些权威部门统计,我国目前嵌入式软件人才缺
    发表于 10-08 15:05

    基于dsp嵌入式uiptcp_ip协议栈的应用研究

    随着信息技术和工业控制系统的不断发展,嵌入式设备对于网络接入的要求越来越高。本文基于数字信号处理器DSP(Digital Signal Processor)利用微型TCPIP协议栈ulP来实现嵌入式
    发表于 09-25 07:11