DSP6678 RapidIO基本原理之一

一、        RapidIO简介

        RapidIO是一种非私有的、高带宽的、系统级的互联方式。它是一个包交换的互联,主要作为片间和板件的互联接口。

        可用于微处理器、内存、内存映射的IO设备间的连接。RapidIO的基本特征如下:

        a、灵活的系统架构,支持点对点通信;

        b、带有错误检测的健壮的通信机制;

        c、频率及端口宽度的可扩展性;

        d、非软件密集型的操作(门铃机制,避免了轮询查看数据)

        e、拥有高带宽及低开销的特点

        f、低引脚数

        g、低功耗

        h、低延迟

 

二、        RapidIO的三层结构

        RapidIO共有三层结构,分别是逻辑层、传输层、物理层。

1、逻辑层:指定用于处理事务的端点需要的协议,包括包格式。(端点处理事务所需的信息, 包括传输类型、大小、物理地址)

2、传输层:定义寻址方案,以便正确地在系统中路由数据包。(在系统中传输数据包的信息, 如路由地址)

3、物理层:包括设备级接口信息,如电气特性、错误管理数据、基本流控数据。(在两个物理设备之间移动数据包所需的信息, 如电气接口,流控)

 

三、        RapidIO数据流

        1、外围数据流

                a、RapidIO外围设备是一个外部驱动的从模块,它可以在DSP芯片中起主控作用。这意味着一个外部设备可以根据需要向DSP写入数据,

                    并在写入过程中,没必要产生中断,或依赖EDMA。这有几点好处,它减少了中断的总数,减少了与只读外部设备相关的延迟,并且节省了EDMA的使用。

                b、SRIO专用的数据包最多可以携带256个字节。很多时候,事务可以跨多个包。RapidIO指定每条消息最多16个包。尽管为每个包事务生成一个请求,

                     以便DMA可以将数据传输到L2内存,但是只有在消息的最后一个包之后才会生成一个中断。这个中断通知CPU,L2中的数据已经到达,等待处理。

                c、作为端点设备,外设根据设备ID接收数据。共有两种接收模式,一种是只接收目标ID与本设备ID相同的数据包;另一种是接收多播组的数据包。

 

        2、SRIO数据包

                a、逻辑层中,数据包包括头部(定义了连接的类型),以及负载数据。

                b、传输层依赖系统中的物理层,包括源和目的设备的ID编号;

                c、物理层依赖与物理接口(即串行与并行RapidIO),并包含优先级、确认和错误检查的字段。

 

        3、操作流程

  a、SRIO传输基于请求和响应数据包。数据包是在系统中端点设备间的通信单元。一个主控或者发起者产生并发送一个请求包。

                    对方随后会产生并返回响应包给主控或发起者,以完成事务。

                b、SRIO端点通常不会直接连在一起,而是通过中间连接的交换设备。控制符号用于管理SRIO物理互联中的事务流。控制符号用于包确认、流控制信息和维护功能。

 

        4、门铃机制

                当对方将数据传输到本地内存后,会收到门铃中断,用于通知DSP有数据到达,等待处理。随后在中断处理函数中,提取门铃消息,并可以将消息提交给工作队列处理。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值