DSP

浅谈高速接口设计

2019-07-13 16:21发布

实时信号处理平台不仅对系统的数据处理能力提出了很高的要求,同时对数据传输速度的要求也很高。只有同时保证这两方面的能力,才能得到可靠的实时信号处理平台。本信号处理板卡中 FPGA 和 DSP 之间通过 SRIO 接口进行数据传输,DSP 与上位机之间通过千兆以太网相连进行通信,这两者都属于高速串行接口,并都采用了 SERDES 技术。下面对 SERDES 技术进行分析,并对本板卡中高速串行接口的原理和设计进行论述。
1、 SERDES(串行器/解串器)技术
数据传输有并行和串行两种传输方式。并行传输需利用同步时钟信号传递多路数据,这就意味着在板卡设计中需要更多的传输线路,同时多路信号间也会存在相互干扰从而会影响到数据传输质量。而串行传输则最低只需一根传输线就可以完成高速数据传输并且不需要同步时钟的调控。这样的优点使得高速串行数据传输技术被非常广泛地应用于科研与工程实践中。SERDES 意为串行解串器,是时下主流的串行数据传输技术。其利用 TDM、P2P 技术,在数据发送端将并行信号转换为高速串行信号,通过媒介传输最终在数据接收端又实现了串行信号到并行信号的转换。SERDES 技术被广泛应用于 PCIe、Rapid IO 及千兆以太网等多种接口协议的物理层,通用性良好,搭配多种上层协议可实现不同的接口标准。同时,SERDES 可以被做成 IP 核放置在 ASIC芯片内,从而简化了布线,降低了功耗,使系统设计变得更加灵活,并最终改善了系统的综合性能。
2、 串行 Rapid IO 接口设计
Rapid IO 是一种点对点基于数据包交换的高性能、高带宽的互联体系结构,由 Motorola 和 Mercury 等公司共同研制。在嵌入式系统中可利用 Rapid IO 接口在板间及芯片间实现每秒 G Byte 级别的数据互联接口。其数据传输速度1Gbps 到 60Gbps 间变化。以下是 Rapid IO 的几个特点:首先,由于 Rapid IO 的软件复杂度受到了流控机制和协议的限制,从而使得硬件实现更加方便;其次Rapid IO 协议分为逻辑层、传输层和物理层三层,每一层之间都各自独立从而便于拓展;最后,Rapid IO 删减了管脚数目从而降低了成本。下图为 Rapid IO协议的结构图。Rapid IO 通过发起端生成请求事件,并将事件封装成包,通过交换器件将包传递给目标端,目标端收到包后将应答消息再次通过交换器件传回给发起端从而完成一次数据传输操作。
下面介绍 Rapid IO 协议的结构:
在这里插入图片描述
Rapid IO 协议中逻辑层规范了使用的协议及包格式,包中包含了终端器件所需的必要信息。逻辑层业务具有直接 IO 和消息传递两种传输模式。直接 IO 模式在实现起来更加容易,主设备在知道从设备存储器地址映射的条件下可直接对从设备进行读写,在这种模式下可由硬件完整实现读写功能。而消息传递模式由DMA 模块提供支持,数据传输过程中需要通过数据包中的邮箱号实现点对点的传递,这一过程的实现必须依靠软件的协助,从而产生了软件开销。Rapid IO 协议中传输层对包交换的路由和寻址机制做了定义。Rapid IO 网络由终端器件和交换机两个部分组成。其中终端器件可理解为数据包的产生地点和最终传输的目的地点,可以利用不同的 Rapid IO ID 来区分终端器件,Rapid IO ID可以设置为 8 位和 16 位两种位宽,一个 Rapid IO 网络所含有的最大终端器件数目为 256 或65536 个。交换机可以利用包的目的 ID 实现包的转发,但其本身没有 ID。另外,在 Rapid IO 的组传播方式下终端器件还被设置了组播 ID。Rapid IO 协议的物理层对设备的电气特性、差错管理和传输机理等做了定义和规范。其中定义了 Parallel Rapid IO 和 Serial Rapid IO(SRIO)两种接口标准。相比并行 Rapid IO,SRIO 所需使用的信号线数目较少(有 1×/2×/4×三种物理接口形式,而 4×接口只需用到 16 根信号线)并可以传递更长的距离因而被更加广泛地应用。另外对门铃操作进行介绍。门铃操作中信息的传递依靠的是专用信息位,门铃可触发 DSP 中断。在信息位中会配置一个门铃包,终端器件可通过检测信息位以决定下一步操作。