2024年6月6日发(作者:莘俊彦)
移动互联网
基于PCIE的多FC子卡测试设备的设计与实现
武华邓发俊杨嫒媛
中航工业西安航空计算技术研究所
摘要:通过对Fc子卡测试需求的分析,文章提出了一种基于PCIE接口的多Fc子卡测试设备的设计方法。主要采用PCIE交换进
行总线扩展,最后经过实现和验证,结果显示该设计可以很好的满足测试和试验要求,并且该设计通用性好,通过对该设计
的升级改进,可以适用更多的PCI/PCIE设备,具有一定的实用意义。
关键字:Fc子卡PCIE交换
FC(光纤通道,是Fiber Channel的缩写)是美国国家标
准委员会(ANSI)的X3T1132作组于1988年提出的一种高速串
行传输协议,具有高带宽、高实时性、高可靠性、扩展性好、
传输速率高、抗干扰性强、拓扑结构和服务类型灵活、支持多
种上层协议和底层传输介质等特性,为了适应航空电子环境的
应用,光纤通道提供了一组在航空电子环境中应用的协议子集
FC.AE(fiber channel avioniCS envir0nment),它规范了民
实现了FC—AE—AsM通信、时间同步、网络管理等功能,保证
航电数据传输的完整性和可靠性。
1.2测试设备设计
多FC子卡测试设备设计时需要从以下几方面考虑:
(1)满足测试产品功能、性能的要求;
(2)考虑在温度冲击、湿热等恶劣的试验环境下使用:
(3)考虑一次试验中尽可能多的测试被测设备,提高资源利
用率和试验效率。
用和军用航空光纤通道交换网络与环路拓扑连接设备的选择,
FC—AE基于匿名签署消息(ASM)的上层映身’JFC-AE-ASM,具
由于Fc子卡对外主要的接口为PCIE接口和Fc接口,因
此设计时必须通过以上两个接口对设备进行访问和测试。对于
PCIE接口,使用具有PCIE接口的PowerPC处理器模块,且该
模块需要具备以太网、FLASH、SRAM、串口等必备的外围接口,
从而可以在其上进行软件开发和调测。同时为了一次测试多个
Fc子卡,需要使用PCIE交换扩展多路PCIE总线。对于Fc接口,
Fc子卡使用FPGA进行实现,输出Fc电信号。为了测试Fc协议
符合性、功能及性能等一系列内容,连接外部测试设备,将电
信号转换为光信号,需要设计转接板,一方面通过PCIE接口连
接母板和Fc子卡,另一方面通过光电转换电路将Fc电信号和
光信号进行转换。
有消息传输安全、低延时的特点,适用于航空电子中处理器与
传感器和显示器之间的通信。因此,FC已成为新一代先进综合
式航空电子网络互连的首选方案。
为了保证Fc产品能够满足机载应用要求,为Fc产品提供
测试、试验的平台,设计可靠、高效的机载Fc设备的测试设备
十分必要。FC子卡是广泛应用在航电系统中的一种FC产品,FC
子卡实现了Fc节点机的功能,负责为Fc网络中各个节点提供
Fc通信连接等功能,为多种应用数据提供通信支撑。
文章针对被测设备的特点,提出了一种基于PCIE接口的多
FC子卡的测试设备的设计方法,采用PowerPC处理器的PCIE
接口,通过PCIE交换扩展多路PCIE总线,从而一次可以进行
多个Fc子卡的试验测试,经过验证该测试设备通信稳定可靠,
具有较高的实用性、通用性和扩展性。
为了满足高带宽、通用性和恶劣的试验环境下使用,采用
3U VPX结构设计,通过母板和转接板连接主机和子卡。
2关键技术研究
多Fc子卡测试设备设计的关键点在于PCIE交换和PcIE
配置,下面就PCIE交换的选择fHPCIE配置的机制进行描述。
2.1 PICE交换
1多FC子卡测试设备总体结构
1.1被测对象分析
FC子卡是嵌入式的Fc节点机,作为航电子系统接入FC网
络的接口,一方面具备与航空电子系统设备进行信息交互的接 选择PCIE交换芯片时,需考虑两点,首先根据系统需求和
口,即Fc接口,支持Fc.PI、 Fc—Fs和Fc.AE—AsM协议,
Fc接口链路速率2.125Gbps。另一方面拥有与处理器进行数据
交互的接口,从而可以将网络上的数据提交给应用,也可以将
应用的数据发送到网络上。因此设计测试设备时主要从以上两
个方面考虑。
上行和下行端口连接的PCIE设备的线宽、速率、数目等要求,
选择合适的配置,其次选择PCIE交换为透明桥还是非透明桥,
一
般在单处理器系统中使用透明桥,在进行多个处理器系统连
接时采用非透明桥。
2.2 PCIE总线配置机制
PCIE币HPCI环境一样,各种设备都要连接在树形总线上,
包含一种或多种功能,该设计中Fc子卡为单功能设备。当系统
首次启动时,只有处理器中根联合体(Rc)中的总线0才有编
考虑到结构和速率等要求,Fc子卡采用x4 PCIE主机接口,
工作频率为2.5Gb/S,使用标准的XMC结构。由FGPA、配置电路、
RS232接口、FLASH接口、时钟电路、复位电路、电源电路组成,
FP6A用于实现FC接口、PCIE接口及片上处理器。FC子卡主要
号,其他总线还有待发现。配置软件使用深度优先搜索算法扫
…
43
移动互联网
描PCIE总线树上的所有PCIE设备,并以此分配总线号和存储
器地址空间。
对于Rc或者PCIE交换使用Type 1配置头,必须初始化
主总线(Primary Bus Number)、二级总线(Secondary Bus
Number)和从总线(Subordinate Bus Number)寄存器,主总线
为Rc或者桥上游的总线,二级总线为下游的总线,从总线是从
下向上分配的,为当前PCIE子树中编号最大的总线。需要注意
的是PCIE交换中有多个端口,每个端口都有一个P2P的桥,内
部有一条虚总线,配置时根据数据手册进行配置。
在桥管理的PCIE子树中有许多PCIE设备,这些PCIE设备
可能有自己的存储器地址空间需要被CPU访问,通过配置桥的
Memory Limit禾HMemory Base寄存器,即可实现对目标设备
空间的访问。这两个寄存器用于存放PCIE子树上所有设备的存
储器地址空间集合的基地址和大小。
3硬件设计
多Fc子卡测试设备硬件由CPU模块、PCIE交换电路、母板
和转接板组成,以上组成部分在机箱中集成,下面主要对CPU
模块{HPCIE交换电路进行描述:
3.I CPU模块设计
在本测试设备中,CPU模块以MPC858处理器为核心,通过
连接FLASH、内存、PCIE接口、网口、串口以及其他接口控制
电路实现。在CPU模块中移植嵌入式实时操作系统VxWorks,
对设备驱动进行二次开发,继而以VxWorks为软件开发平台,
开发测试程序,实现板卡的测试任务。
3.2 PCIE交换电路
PCIE交换芯片选用PLX公司的新一代非阻塞、低延迟交换
芯片,支持48Lane,12个PCIE端口,通过灵活的硬件配置和
软件编程使PCIE交换支持多种端口配置。在本设计中,将交换
芯片配置为透明桥,且由于Fc子卡为4Lane PCIE接口,配置1
个4Lane上行端口和11个4Lane下行端口,可以满足测试设备
的功能要求。
4软件设计
依据Fc子卡测试设备的功能需求和硬件平台, 测试软件
运行在VxWorks5.5操作系统上,主要包括三部分软件,PCIE
配置软件、FC驱动软件和Fc测试软件。PCIEI配置软件主要用
于配置CPU、PCIE交换芯片和Fc子卡的PCIE接口,通过配置
才能从CPU端访问Fc子卡。Fc驱动软件作为Fc子卡的驱动软件,
必须在PCIE配置成功后,才能经过PCIE接口访问Fc子卡的
硬件资源、控带1]Fc子卡的通信,管理等功能。FCN试软件通
过调用驱动软件提供的接口。
4.1 PCIE配置软件
PCIE配置软件的主要功能是对PCIE总线树的设备进行枚举,
通过PCI兼容配置,从CPU端可以访问各个Fc子卡设备。在本
设计中,只用多JPCI兼容配置机制,配置过程和PCI设备类似,
主要需对MPc8548和PcIE交换开关进行配置,内容包括配置空
间的访问,如何发现设备,访问设备空间等。最后根据Fc子卡
所在的总线和分配的存储器地址空间对Fc子卡的BAR空间进行
映射,从而可以访问Fc设备。
数码
世界44…
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端,对比发送和接收的数据是
否一致。经过串口打印和分析仪捕获的数据,Fc子卡运行稳定
可靠,验证了测试设备完全满足实验室测试验证的要求,并且
该测试设各已经用于FC子卡的试验测试,测试结果也满足试验
要求。
6结束语
文章介绍了一种基于PCIE接口的多Fc子卡测试设备,对
总体设计方案、硬件组成和软件设计进行了阐述,通过测试验
证了该设备良好的可行性和稳定性。该设备对提高设备试验效
率,降低科研、生产成本有显著作用,且通用性、扩展性好,
对于其他类型的PCIE/PCI接口设备有很好的参考意义和借鉴
作用。
参考文献
[1]张志,翟正军,李想.航空电子光纤通道协议分析与接口
卡设计[J].测控技术,2010.
[2]刘陈.Fc—AFN络可靠性研究综述J.电子技术.2013.
[3]李明,李霞,周轶男.基于MPC8548嵌入式系统PCI—
Express设备驱动开发J.电子技术,201i.
[4]Ravi Budruk,DonAndreson,Tom shanley.PCI Express系
统体系结构标准教材[ ̄I].北京,电子工业出版社,2005.
2024年6月6日发(作者:莘俊彦)
移动互联网
基于PCIE的多FC子卡测试设备的设计与实现
武华邓发俊杨嫒媛
中航工业西安航空计算技术研究所
摘要:通过对Fc子卡测试需求的分析,文章提出了一种基于PCIE接口的多Fc子卡测试设备的设计方法。主要采用PCIE交换进
行总线扩展,最后经过实现和验证,结果显示该设计可以很好的满足测试和试验要求,并且该设计通用性好,通过对该设计
的升级改进,可以适用更多的PCI/PCIE设备,具有一定的实用意义。
关键字:Fc子卡PCIE交换
FC(光纤通道,是Fiber Channel的缩写)是美国国家标
准委员会(ANSI)的X3T1132作组于1988年提出的一种高速串
行传输协议,具有高带宽、高实时性、高可靠性、扩展性好、
传输速率高、抗干扰性强、拓扑结构和服务类型灵活、支持多
种上层协议和底层传输介质等特性,为了适应航空电子环境的
应用,光纤通道提供了一组在航空电子环境中应用的协议子集
FC.AE(fiber channel avioniCS envir0nment),它规范了民
实现了FC—AE—AsM通信、时间同步、网络管理等功能,保证
航电数据传输的完整性和可靠性。
1.2测试设备设计
多FC子卡测试设备设计时需要从以下几方面考虑:
(1)满足测试产品功能、性能的要求;
(2)考虑在温度冲击、湿热等恶劣的试验环境下使用:
(3)考虑一次试验中尽可能多的测试被测设备,提高资源利
用率和试验效率。
用和军用航空光纤通道交换网络与环路拓扑连接设备的选择,
FC—AE基于匿名签署消息(ASM)的上层映身’JFC-AE-ASM,具
由于Fc子卡对外主要的接口为PCIE接口和Fc接口,因
此设计时必须通过以上两个接口对设备进行访问和测试。对于
PCIE接口,使用具有PCIE接口的PowerPC处理器模块,且该
模块需要具备以太网、FLASH、SRAM、串口等必备的外围接口,
从而可以在其上进行软件开发和调测。同时为了一次测试多个
Fc子卡,需要使用PCIE交换扩展多路PCIE总线。对于Fc接口,
Fc子卡使用FPGA进行实现,输出Fc电信号。为了测试Fc协议
符合性、功能及性能等一系列内容,连接外部测试设备,将电
信号转换为光信号,需要设计转接板,一方面通过PCIE接口连
接母板和Fc子卡,另一方面通过光电转换电路将Fc电信号和
光信号进行转换。
有消息传输安全、低延时的特点,适用于航空电子中处理器与
传感器和显示器之间的通信。因此,FC已成为新一代先进综合
式航空电子网络互连的首选方案。
为了保证Fc产品能够满足机载应用要求,为Fc产品提供
测试、试验的平台,设计可靠、高效的机载Fc设备的测试设备
十分必要。FC子卡是广泛应用在航电系统中的一种FC产品,FC
子卡实现了Fc节点机的功能,负责为Fc网络中各个节点提供
Fc通信连接等功能,为多种应用数据提供通信支撑。
文章针对被测设备的特点,提出了一种基于PCIE接口的多
FC子卡的测试设备的设计方法,采用PowerPC处理器的PCIE
接口,通过PCIE交换扩展多路PCIE总线,从而一次可以进行
多个Fc子卡的试验测试,经过验证该测试设备通信稳定可靠,
具有较高的实用性、通用性和扩展性。
为了满足高带宽、通用性和恶劣的试验环境下使用,采用
3U VPX结构设计,通过母板和转接板连接主机和子卡。
2关键技术研究
多Fc子卡测试设备设计的关键点在于PCIE交换和PcIE
配置,下面就PCIE交换的选择fHPCIE配置的机制进行描述。
2.1 PICE交换
1多FC子卡测试设备总体结构
1.1被测对象分析
FC子卡是嵌入式的Fc节点机,作为航电子系统接入FC网
络的接口,一方面具备与航空电子系统设备进行信息交互的接 选择PCIE交换芯片时,需考虑两点,首先根据系统需求和
口,即Fc接口,支持Fc.PI、 Fc—Fs和Fc.AE—AsM协议,
Fc接口链路速率2.125Gbps。另一方面拥有与处理器进行数据
交互的接口,从而可以将网络上的数据提交给应用,也可以将
应用的数据发送到网络上。因此设计测试设备时主要从以上两
个方面考虑。
上行和下行端口连接的PCIE设备的线宽、速率、数目等要求,
选择合适的配置,其次选择PCIE交换为透明桥还是非透明桥,
一
般在单处理器系统中使用透明桥,在进行多个处理器系统连
接时采用非透明桥。
2.2 PCIE总线配置机制
PCIE币HPCI环境一样,各种设备都要连接在树形总线上,
包含一种或多种功能,该设计中Fc子卡为单功能设备。当系统
首次启动时,只有处理器中根联合体(Rc)中的总线0才有编
考虑到结构和速率等要求,Fc子卡采用x4 PCIE主机接口,
工作频率为2.5Gb/S,使用标准的XMC结构。由FGPA、配置电路、
RS232接口、FLASH接口、时钟电路、复位电路、电源电路组成,
FP6A用于实现FC接口、PCIE接口及片上处理器。FC子卡主要
号,其他总线还有待发现。配置软件使用深度优先搜索算法扫
…
43
移动互联网
描PCIE总线树上的所有PCIE设备,并以此分配总线号和存储
器地址空间。
对于Rc或者PCIE交换使用Type 1配置头,必须初始化
主总线(Primary Bus Number)、二级总线(Secondary Bus
Number)和从总线(Subordinate Bus Number)寄存器,主总线
为Rc或者桥上游的总线,二级总线为下游的总线,从总线是从
下向上分配的,为当前PCIE子树中编号最大的总线。需要注意
的是PCIE交换中有多个端口,每个端口都有一个P2P的桥,内
部有一条虚总线,配置时根据数据手册进行配置。
在桥管理的PCIE子树中有许多PCIE设备,这些PCIE设备
可能有自己的存储器地址空间需要被CPU访问,通过配置桥的
Memory Limit禾HMemory Base寄存器,即可实现对目标设备
空间的访问。这两个寄存器用于存放PCIE子树上所有设备的存
储器地址空间集合的基地址和大小。
3硬件设计
多Fc子卡测试设备硬件由CPU模块、PCIE交换电路、母板
和转接板组成,以上组成部分在机箱中集成,下面主要对CPU
模块{HPCIE交换电路进行描述:
3.I CPU模块设计
在本测试设备中,CPU模块以MPC858处理器为核心,通过
连接FLASH、内存、PCIE接口、网口、串口以及其他接口控制
电路实现。在CPU模块中移植嵌入式实时操作系统VxWorks,
对设备驱动进行二次开发,继而以VxWorks为软件开发平台,
开发测试程序,实现板卡的测试任务。
3.2 PCIE交换电路
PCIE交换芯片选用PLX公司的新一代非阻塞、低延迟交换
芯片,支持48Lane,12个PCIE端口,通过灵活的硬件配置和
软件编程使PCIE交换支持多种端口配置。在本设计中,将交换
芯片配置为透明桥,且由于Fc子卡为4Lane PCIE接口,配置1
个4Lane上行端口和11个4Lane下行端口,可以满足测试设备
的功能要求。
4软件设计
依据Fc子卡测试设备的功能需求和硬件平台, 测试软件
运行在VxWorks5.5操作系统上,主要包括三部分软件,PCIE
配置软件、FC驱动软件和Fc测试软件。PCIEI配置软件主要用
于配置CPU、PCIE交换芯片和Fc子卡的PCIE接口,通过配置
才能从CPU端访问Fc子卡。Fc驱动软件作为Fc子卡的驱动软件,
必须在PCIE配置成功后,才能经过PCIE接口访问Fc子卡的
硬件资源、控带1]Fc子卡的通信,管理等功能。FCN试软件通
过调用驱动软件提供的接口。
4.1 PCIE配置软件
PCIE配置软件的主要功能是对PCIE总线树的设备进行枚举,
通过PCI兼容配置,从CPU端可以访问各个Fc子卡设备。在本
设计中,只用多JPCI兼容配置机制,配置过程和PCI设备类似,
主要需对MPc8548和PcIE交换开关进行配置,内容包括配置空
间的访问,如何发现设备,访问设备空间等。最后根据Fc子卡
所在的总线和分配的存储器地址空间对Fc子卡的BAR空间进行
映射,从而可以访问Fc设备。
数码
世界44…
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端,对比发送和接收的数据是
否一致。经过串口打印和分析仪捕获的数据,Fc子卡运行稳定
可靠,验证了测试设备完全满足实验室测试验证的要求,并且
该测试设各已经用于FC子卡的试验测试,测试结果也满足试验
要求。
6结束语
文章介绍了一种基于PCIE接口的多Fc子卡测试设备,对
总体设计方案、硬件组成和软件设计进行了阐述,通过测试验
证了该设备良好的可行性和稳定性。该设备对提高设备试验效
率,降低科研、生产成本有显著作用,且通用性、扩展性好,
对于其他类型的PCIE/PCI接口设备有很好的参考意义和借鉴
作用。
参考文献
[1]张志,翟正军,李想.航空电子光纤通道协议分析与接口
卡设计[J].测控技术,2010.
[2]刘陈.Fc—AFN络可靠性研究综述J.电子技术.2013.
[3]李明,李霞,周轶男.基于MPC8548嵌入式系统PCI—
Express设备驱动开发J.电子技术,201i.
[4]Ravi Budruk,DonAndreson,Tom shanley.PCI Express系
统体系结构标准教材[ ̄I].北京,电子工业出版社,2005.