APP下载

SRIO在某无线通信系统中的应用

2019-01-03袁议玲

微处理机 2018年6期
关键词:物理层信号处理数据包

万 毅,袁议玲

(重庆金美通信有限责任公司,重庆400030)

1 引言

在实现的通信系统中,业务数据可达300Mb/s。DSP实现部分信号处理功能,将业务数据编码后送给 FPGA;DSP与 FPGA之间最大净荷传输在300MBps以上。在传统的通信系统中,CPU和FPGA间的高速通信是通过并行共享总线的方式进行的,即所有的设备通信时需要竞争带宽,这使得整体的性能难以提升。同时并行总线需要大量的IO引脚和馈线,这要求系统的电器及机械性能足够健壮,而电路板的设计也非常复杂。当前比较流行的体系结构是基于点对点的串行交换体系结构,其中SRIO(Serial RapidIO)是应用较广泛的串行交换结构。系统采用Xilinx公司的K7系列FPGA,利用其内嵌的高速串行通信接口GTX实现SRIO协议。以下先对SRIO协议作简单介绍,再对SRIO接口设计进行详细分析。

2 SRIO简介

SRIO是一种高速、串行的通信方式,广泛应用于嵌入式的基础设施的应用中。常见的应用包括多处理器互连、存储器网络设备中的存储器映射、存储子系统和通用计算平台。这种互联技术主要用来进行系统内部互联,支持板间通信和芯片间的通信,能够完成1Gb/s~25Gb/s的性能水平提升。

RapidIO包含了一个三层结构的协议,即逻辑层、传输层和物理层。逻辑层位于最高层,规定了包格式和所有的协议,为端点器件发起、完成事务提供了必要的信息;传输层位于第二层,规定了RapidIO的地址空间和在端点器件间传输包所需要的路由信息;物理层位于最底层,包括器件级接口的细节,如电气特性、链路控制、低级错误管理、低层流控制数据等[1]。

RapidIO的通信架构见图1。包是端点器件之间的基本通信单元。RapidIO的数据传输基于请求和响应事务,发起器件或者主控器件产生一个请求发送到目标器件,目标器件收到请求后产生一个响应事务,并返回到发起器件以完成该次操作。

图1 RapidIO通信架构

在K7160T中有两个bank,每个bank包含了8个GTX(高速串行通信接口),可将其视作RapidIO的物理层,通过GTX可以实现RapidIO协议以传输数据。GTX可以支持从600Mb/s到6.25Gb/s的传输速度,支持包括RapidIO协议在内的大多数协议。

在DSPTMS320C6670中,RapidIO也被称之为SRIO。DSP中的SRIO模块结构如图2所示。SRIO是DSP的外设,它可以使用DSP的DMA直接将数据传入DSP,这样就可以不用通知CPU,使CPU不会被频繁中断,从而也减少了延时[2]。

SRIO协议可支持的最大数据包为256字节,如果传输多个数据,可将其分成多包进行传输。在此设计中,SRIO一次可传输399872个字节的数据,将其分为1562个包传输,加上一个控制数据包,共计传输1563个数据包,然后往DSP发送一个Doorbell,通知DSP一帧数据传输完毕[3-5]。

图2 SRIO在DSP中的架构

SRIO支持多种数据包类型,有读(NREAD)、写(NWRITE)、响应写(NWRITE_R)、流写(SWRITE)、门铃(Doorbell)、消息(Message)等。在本设计中,用到了流写(SWRITE)、读(NREAD)、门铃(Doorbell)三种操作类型。

3 SRIO接口实现

SRIO接口实现的系统框图如图3所示。在发端,业务通过SGMII接口进入DSP,对数据进行比特级信号处理,包括扰码、解扰、CRC校验、Turbo编码译码以及速率匹配等。处理后的数据经由SRIO进入FPGA内部,进行符号级信号处理,包括组帧、查分编码、成型滤波等,然后由DA发送出去。

在收端,经由AD接收的数据,经过符号级信号处理,包括AGC、信道滤波、同步检测、匹配滤波、解调以及均衡后,经SRIO发送到DSP,在DSP内再经过速率匹配、Turbo译码、CRC校验以及解扰发回PC机,完成整个业务流程[6]。

在此设计中,FPGA与DSP的SRIO通信时,FPGA处于主动。发送方向为:上电时,DSP往FPGA发送一个Doorbell,告诉FPGA写数据包的地址,在FPGA收到一帧数据后,如果AXI4总线检测无冲突,则FPGA通过SRIO往DSP发送数据包,当一帧数据发送完毕,再发送一个Doorbell给DSP告诉一帧数据发送完毕。整体流程如图4所示。

在接收方向,每1ms,FPGA会往DSP发送一个Doorbell[7-8],告诉DSP此时FPGA需要数据,DSP通过NWRITE写给FPGA一个包,告诉FPGA取数据包的地址,然后FPGA通过NREAD去读一帧数据,发送给信号处理模块,其流程如图5所示。

图3 系统框图

图4 FPGA中SRIO发送状态机示意图

图5 FPGA中SRIO接收状态机示意图

其中读地址在5个地址中随机变化,因此需要在读取数据时,由DSP临时通知。读写地址情况如表1所示。

表1 DSP中读写数据存储地址

4 系统测试

在测试中,使两套设备互连,射频用馈线连接,分别做300M、150M、64M、32M的带宽切换,传输带宽、质量以及灵敏度满足要求,详细测试数据如表2所示。

在实测中,最大带宽可达310M,符合设计要求,如图6所示。

表2 系统测试结果

图6 最大带宽传输测试数据

5 结束语

经过设计,本系统最大带宽需求为300Mb/s,而测试中实际最大带宽已达310Mb/s,因此将SRIO应用于此通信系统,完全满足系统吞吐量的要求。设计中使用的2.5GX4的设计,实际最大数据传输速率不到4G,SRIO传输还有较大空闲,可适应以后更大带宽、更大通信速率的需求。

猜你喜欢

物理层信号处理数据包
基于K-ML-MPWFRFT的物理层安全传输技术
公路联网电子不停车收费系统路侧单元物理层自动测试软件研发
SmartSniff
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
多天线物理层安全传输系统性能分析
基于Libpcap的网络数据包捕获器的设计与实现
1Gbps电力线载波通信物理层算法设计