基于80HCPS1848 的三端口高速光纤通信接口卡的设计

2022-08-23 07:44张小虎
通化师范学院学报 2022年8期
关键词:板卡端口嵌入式

石 岩,张小虎

近年来,随着嵌入式处理器运行速度的增长,嵌入式仿测系统的应用日趋智能化和复杂化,数据交互量也越来越大,常见的高速通信接口如以太网、USB 等,由于实时性不高、协议栈复杂等原因,已不能满足仿测系统等嵌入式应用场景下的通信要求.SRIO 通信协议是面向嵌入式系统的新一代高速互联技术,其基于包交换技术,具有高可靠、高性能等特点,非常适合用于嵌入式系统通信.SRIO是国际标准化组织(ISO)和国际电工协会(IEC)批准的ISO/IECDIS18372 标准,在串行背板、DSP 系统和相关高速串行数据连接应用中具有较大的使用价值[1-2].

目前相关的论文主要针对双端口SRIO 通信系统和交换机进行研究. 研究论文多以双通信端口为实现目标,扩展能力有限,且对嵌入式系统与通用计算机系统的组网互联场景研究较少,缺少相关的解决方案. 为解决上述问题,本文以一种三端口PCIe 高速光纤通信接口卡为设计目标,可实现嵌入式系统与通用计算机系统的SRIO 接口混合组网,同时每个信道的速率可达6.25 Gbps,每个端口达到15 Gbps 的超高数据传输速度,为相关场景的应用提供了一种有效的解决方案.

1 系统设计

SRIO 通信协议的解析过程非常复杂,嵌入系统设备通过SRIO 总线组网具有较高的技术难度,为解决该问题,本文提供了一种基于简化的PCIE 总线实现高速光纤通信接口卡的设计方案,可以方便快捷地实现嵌入式系统SRIO 总线组网.

1.1 接口卡总体设计

如图1 所示,系统总体架构包括:高速交换模块、协议转换模块、QSFP+高速接口、电源模块、时钟模块、系统配置模块等. 其中高速交换模块通过交换控制器完成多个数据通道的数据交换,对外连接高速通信接口和桥接模块是交换功能的实现核心;协议转换模块实现PCIe x4 与SRIO 的协议转换,方便带有PCIe 接口的嵌入式系统进行SRIO 接口拓展;QSFP+通信接口要求具有10 Gbps 以上的通信速率,并连接QSFP 标准的光电模块;电源模块和时钟模块保障系统的稳定运行,满足各模块电压和负载能力,以及高速稳定的时钟需求;系统配置模块可以实现接口卡多种工作通信速率和端口模式的配置,满足更多的需求场景.

图1 系统总体架构

1.2 高速交换模块设计

为了实现高速光纤通信接口卡对SRIO 总线组网方式的全支持,接口卡设计了三个对外通信端口,以及一个内部协议转换专用端口. 本文采用CPS-1848 作为协议转换芯片,芯片共计48 个串行接口,每个串行接口的速率高达6.25 Gbps. 由矩阵关系构成四个象限,编号为0 到3. 每个象限由12 个通道组成,可以映射到四个或五个端口[3]. 每个象限可以有1x、2x 的组合,以及4x 端口,每个端口总速率最 高25 Gbps[4]. 如 表1 所 示,本 设 计 用 到 的4个端口分布在Quadrant0~Quadrant3,接口功能对应所属Quadrant,接口范围定义端口的位宽和通道号.

表1 CPS-1848 象限分配表

端口通过非阻塞交换结构连接. 端口和交换机结构支持单独的路由路径维护数据包,可对任何端口的寄存器进行访问及配置.此外,还可利用I2C 接口和JTAG 接口模块访问CPS-1848 的寄存器.

本设计中的Quadrant0 分配给TSI721 协议转换模块,用于和主机通过PCIE 控制发送读取SRIO 总线数据,其余三路Quadrant 与QSFP+高速接口连接在一起,用以通过QSFP+ 接插件与其他设备进行通信.

1.3 协议转换模块设计

为实现PCIe 总线与SRIO 总线协议转换,本项目选用高速转换芯片TSI721,该芯片可用于16 Gbps 速率的RapidIO Gen2 协议交换网桥,实现PCIe 协议与SRIO 协议的相互转换,PCIE 上的主机或者设备可以通过TSI721 访问SRIO 上的数据.

如图2 所示,Tsi721 通过PCIe 接口经北桥桥片与CPU 联接. 北桥具有若干个BAR 地址空间,BAR0 用于访问Tsi721 内部寄存器空间,BAR1 作为Outbound doorbell 地址空间,BAR2/BAR3 组合为64 位地址空间作为可预取的PCIE 到SRIO 地址命中转换空间,BAR4/BAR5 组合为64 位地址空间作为不可预取的PCIE 到SRIO 地址命中转换空间.

图2 协议转换原理

本设计TSI721 通过4 通道PCIE2.0 差分总线与主机连接,经过TSI721 转接后转换为SRIO 总线连接到1848,其中TSI721 的PCIE 总线与SRIO 总线速率分开设置,为了保证能够与1848 顺利通信,需要将TSI721 的SRIO 速率与1848 的SRIO 速率 保 持一致,但 因1848 的速率设置为全局设置,所以无法将1848 不同通道间设置不同速率,因此SRIO 与PCIE 通信有效最高速率只支持5.0 Gbps.

1.4 电源模块设计

本系统的电源拓扑结构设计如图3 所示,系统从PCIE 连接器获得电源.TSI721 要求的供电为1 V 电压输出2 路,2.5 V 电压输出1路,1.5 V 电 压 输出1 路,3.3 V 电 压输 出1 路,其中要求两个1 V 电源须在同一时刻上电,其余的电源可按任意时序上电,并且在上电过程中每一路电源的电压均不能超过其供电电压[5]. 为保证上述上电时序,本设计中使用磁珠对VDD 与AVDD 进行短接[6].

图3 电源拓扑结构

1.5 QSFP+高速接口

(1)高速串行总线的电路设计. 为达到10 GBps 以上的数据传输速率,本设计采用QSFP+(Quad Small Form-factor Pluggable Plus)信号接口,采用光纤作为信号传输介质,QSFP+光电转换模块电信号一侧通过QSFP+连接器接入电路板,如图4 所示,从QSFP+连接器到CPS1848 的数据通道设计为4 个,每个通道以差分对形式连接.

图4 高速串行总线电路设计

该设计中,高速接口信号传输质量非常重要,在高速信号条件下,传统的单端微带线容易受到外界环境的干扰与串扰,同时因为微带线自带的寄生参数产生的线路反射系数,导致未经阻抗匹配的单端微带线与差分微带线不适合用于高速串行数据传输,所以为了提高抗干扰性,提升串行总线稳定性,本设计采用差分阻抗100 Ω 的差分数据线为标准进行设计[7].

(2)高速数据线PCB 设计中的注意事项.PCB 设计过程中,为实现单组差分数据通道上不小于6 Gbps 的数据速率,需要对PCB 的线路设计进行规范,其中同组高速差分对需要进行等长处理,用于传输高速信号的差分对或数据线需要远离开关电源、时钟,以及PCB 的边缘,同时走线不能出现过高的凸起、锐角与直角,线路拐弯时需要以圆弧或者钝角走线.

2 板卡测试

2.1 自回环传输速度测试

自回环测试可以同时测试两个通道的数据传输功能,为了完成自回环测试,使用40 G光缆在板卡的SRIO0 端口与SRIO1 端口之间建立链接,然后通过SRIO0 的DMA 控制器向SRIO1 发送NREAD、NWITE 数据请求.DMA 完成后统计运行时间并校验传输的数据. 最终将运行结果输出,其测试结果整理如表2.

表2 自回环传输速度测试

2.2 误码率测试

为对各端口数据传输稳定性进行评估,本设计配合型号为K7-325T 的FPGA SRIO 板卡进行测试,假设本设计板卡为B1,FPGA 测试 板 卡 为B2,B1的SRIO0 端 口 为BP0,B2的SRIO 端口为BPt. 分布设定通信速率为1.25 bps、2.5 bps 两个速率,然后由测试计算机控制生成PRBS7 伪随机码数据集Pm,并由测试计算通过B1板卡的BP0端口向B2板卡的BPt端口发送,B2收到数据后将数据发送回测试计算机并由测试计算机保存为数据集Pn,Pm-Pn,即为数据发送功能误码数据集;在3.125 bps 速率下,调换B1板卡与B2板卡的位置,将B2板卡作为数据发送板卡,B1板卡作为接收板卡,采用同样的测试方法即可得到数据接收功能误码数据集. 通过分析误码数据集个数和数据包大小,可以得到发送、接收数据的误码率,误码率小于10-12则判定通过. 其测试结果整理如表3.

表3 误码率测试

2.3 SRIO 交换机链接吞吐量测试

为了对本设计板卡端口的数据传输能力进行评估,需要对其交换机进行数据吞吐量测试,将板卡的SRIO2 与SRIO 交换机之间建立链接,然后通过SRIO0 的DMA 控制器向交换机发送NREAD、NWITE 数据请求. 请求经过路由后回到DSP 所在PORT,数据请求最终返回到DSP.DMA 完成后统计运行时间并校验传输的数据. 最终将运行结果输出,其测试结果如表4.

表4 SRIO 交换机链接传输测试

3 结语

本文提出了一种PCIe 接口的三端口SRIO高速光纤通信卡设计方案,该方案采用80HCPS 1848 和TSI721 专用芯片,面向嵌入式系统对高速数据传输特性的需求,针对性地提出了PCIe 接口桥接、高速总线协议交换、电源拓扑、高速差分对设计等解决方案,并对系统进行自回环速率、误码率、交换机链接吞吐量三个方面的测试,测试结果显示接口卡运行稳定,性能指标达到理论值的90%,可以满足嵌入式系统的高速互联.

猜你喜欢
板卡端口嵌入式
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
一种端口故障的解决方案
车载控制器CVRE板卡显红故障分析及处理
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
端口阻塞与优先级
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
系统网络端口安全防护
一种基于光纤数据传输的多板卡软件程序烧写技术
卫星三端口DC-DC变换器技术综述