微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于PCIE的多FC子卡测试设备的设计与实现

基于PCIE的多FC子卡测试设备的设计与实现

时间:10-18 来源:互联网 点击:

下向上分配的,为当前PCIE子树中编号最大的总线。需要注意的是PCIE交换中有多个端口,每个端口都有一个P2P的桥,内部有一条虚总线,配置时根据数据手册进行配置。

在桥管理的PCIE子树中有许多PCIE设备,这些PCIE设备可能有自己的存储器地址空间需要被CPU访问,通过配置桥的Mernory Limit和Memory Base寄存器,即可实现对目标设备空间的访问。这两个寄存器用于存放PCIE子树上所有设备的存储器地址空间集合的基地址和大小。

3 硬件设计

多FC子卡测试设备硬件由CPU模块、PCIE交换电路、母板和转接板组成,以上组成部分在机箱中集成,下面主要对CPU模块和PCIE交换电路进行描述:

3.1 CPU模块设计

在本测试设备中,CPU模块以MPC858处理器为核心,通过连接FLASH、内存、PCIE接口、网口、串口以及其他接口控制电路实现。如图3,在CPU模块中移植嵌入式实时操作系统VxWorks,对设备驱动进行二次开发,继而以VxWroks为软件开发平台,开发测试程序,实现板卡的测试任务。

c.jpg

3.2 PCIE交换电路

PCIE交换芯片选用PLX公司的新一代非阻塞、低延迟交换芯片,支持48Lane,12个PCIE端口,通过灵活的硬件配置和软件编程使PCIE交换支持多种端口配置。在本设计中,将交换芯片配置为透明桥,且由于FC子卡为4Lane PCIE接口,配置1个4Lane上行端口和11个4Lane下行端口,可以满足测试设备的功能要求。

d.jpg

4 软件设计

依据FC子卡测试设备的功能需求和硬件平台,测试软件运行在VxWorks5.5操作系统上,主要包括三部分软件,PCIE配置软件、FC驱动软件和FC测试软件。PCIE配置软件主要用于配置CPU、PCIE交换芯片和FC子卡的PCIE接口,通过配置才能从CPU端访问FC子卡。FC驱动软件作为FC子卡的驱动软件,必须在PCIE配置成功后,才能经过PCIE接口访问FC子卡的硬件资源、控制FC子卡的通信,管理等功能。FC测试软件通过调用驱动软件提供的接口,完成对FC子卡的各种功能、性能测试。其层次结构如图5所示。

e.jpg

4.1 PCIE配置软件

PCIE配置软件的主要功能是对PCIE总线树的设备进行枚举,通过PCI兼容配置,从CPU端可以访问各个FC子卡设备。在本设计中,只用到PCI兼容配置机制,配置过程和PCI设备类似,主要需对MPC8548和PCIE交换开关进行配置,内容包括配置空间的访问,如何发现设备,访问设备空间等。

在本设计中,测试设备的总线示例如下:

f.jpg

最后根据FC子卡所在的总线和分配的存储器地址空间对FC子卡的BAR空间进行映射,从而可以访问FC设备。

4.2 FC驱动软件

FC驱动软件运行于主机上,主要提供访问控制FC设备、FC通信、时钟同步、网络管理等功能的接口,用于上层软件调用从而满足应用具体的要求。在该设计中,测试软件完成PCIE配置后,通过调用驱动软件接口访问FC子卡,完成子卡的初始化,再进行相关的测试。

4.3 FC测试软件

FC测试软件主要使用测试设备搭建的平台,进行FC子卡的各种测试,可以实现单个FC子卡的功能、性能测试,也可以实现试验环境下多个FC子卡的通信测试。通过调用驱动软件,测试软件可以完成以下测试:包括FC子卡硬件资源测试、FC协议符合性测试、通信功能的测试、时钟同步功能测试、网络管理功能测试、FC通信带宽测试等其他功能的测试。

5 验证

为了验证测试设备是否满足设计要求,需要对多个FC子卡进行通信功能测试。验证环境中,运行测试软件进行FC-AE-ASM通信测试,FC数据从CPU端产生,通过PCIE接口DMA到FC子卡内部,然后从FC子卡发送出去,经过分析仪,从接收通道接收,再从FC子卡DMA到CPU端,对比发送和接收的数据是否一致。测试环境如图7所示、经过串口打印和分析仪捕获的数据,FC子卡运行稳定可靠,验证了测试设备完全满足实验室测试验证的要求,并且该测试设备已经用于FC子卡的试验测试,测试结果也满足试验要求。

g.jpg

6 结束语

文章介绍了一种基于PCIE接口的多FC子卡测试设备,对总体设计方案、硬件组成和软件设计进行了阐述,通过测试验证了该设备良好的可行性和稳定性。该设备对提高设备试验效率,降低科研、生产成本有显著作用,且通用性、扩展性好,对于其他类型的PCIE/PCI接口设备有很好的参考意义和借鉴作用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top