支持多种FC-4层协议的光纤通道接口卡实现❋

2013-03-17 13:55屠晓杰熊华钢徐鼎周一伟
电讯技术 2013年2期
关键词:固件音视频光纤

屠晓杰❋❋,熊华钢,徐鼎,周一伟

(北京航空航天大学电子信息工程学院,北京100191)

支持多种FC-4层协议的光纤通道接口卡实现❋

屠晓杰❋❋,熊华钢,徐鼎,周一伟

(北京航空航天大学电子信息工程学院,北京100191)

为满足航电网络中多种上层协议的应用需求,给出了一种支持包含IPFC(IP over Fibre Channel)、FC-AV(Fibre Channel-Audio Video)、ASM(Anonymous Subscriber Messaging)的多种FC-4层协议的光纤通道(Fibre Channel,FC)接口卡的设计方案,并详细阐述了FC固件及PPC(Power PC)软件的实现方案。通过对接口卡的功能和性能测试,证明接口卡的通信符合协议要求,有较高的实时性和可靠性,为FC在航电领域的应用提供了参考。

航空电子网络;光纤通道;接口卡;性能测试

1 引言

光纤通道(Fibre Channel,FC)凭借其高速率、低延迟、低错位率、开放标准等特点,能够很好地满足航空电子系统互连的要求,并已成为新型航空电子网络的主要候选协议[1]。经过多年的研究和发展,FC目前已经形成一个庞大的网络协议簇。针对不同的应用需求,协议簇给出了不同的上层协议映射,即FC-4层协议,如应用于通用网络的IPFC(IP over Fiber Channel)协议和针对军事应用的FC-AE(Avionics Environment)协议等。

随着信息技术的发展,人们对于数据存储的需求随之增加,存储域网络(Storage Area Network,SAN)利用FC协议实现了高速数据存储。然而,由于存储网络的上层协议主要采用TCP/IP协议,因而搭建存储域网络的FC接口卡和交换机只实现了IPFC协议。国内学者也对FC进行了相关研究,并提出了具体实现的方案:文献[2]提出了光纤通道控制器IP核(Intellectual Property Core)的实现,给出了其仿真验证;文献[3]在此基础上对光纤通道适配器进行了研究,给出了完整的实现方案。然而文献[3]FC-4层仅简单实现了FCP协议(Fibre Channel Protocol),其应用受到一定的限制,无法适用于实时性、可靠性更高的应用环境。

事实上,针对实时性、可靠性要求更高的应用领域,诸如航空、军事、工业实时控制等,FC提出了相应的FC-4层协议,如FC-LP(Fibre Channel Lightweight Protocol)、ASM、FC-AV等[4],文献[5-6]对这些协议进行了较为深入的研究。但是,这些研究工作主要集中在理论层面,并未考虑具体的硬件实现。

近年来,嵌入式技术发展迅速,FC协议的开发与应用也逐步深化,Altera与Xilinx等公司相继推出了支持光纤通道的IP核。由于IP核较好实现了FC-2层以下的多数功能,因而开发者可以将注意力集中于FC-4层协议的开发。文献[7]讨论了ASM协议的软件实现,其应用主要针对航空环境。用于音视频传输的FC-AV协议,目前已经成功应用于F-18与C-130AMP等飞机上。

由于新一代航电系统所传输的数据非常复杂,使用光纤通道协议进行传输时,需用到的FC-4层协议很多。而使用多款FC板卡来传输不同类型数据,在网络布局时有较大难度,可能会出现兼容性问题,且开发成本较高。本文给出一种光纤通道接口卡的FPGA实现,以支持多种FC-4层协议,包括用于进行非关键数据传输的IPFC协议、进行关键数据传输的ASM协议以及支持音视频流传输的FC-AV协议,最后给出了利用光纤通道分析仪所进行的功能测试结果,以及利用VxWorks上位机系统进行的包含端到端延迟与帧错误率在内的性能测试结果。

2 FC接口卡的系统设计

文献[1]给出了光纤通道协议层次划分的标准,为分层实现FC协议提供了一个参考。文献[4]在此基础上,详细阐述了光纤通道传输协议的层次结构,并给出了其具体层次的划分:FC协议定义了包含FC-0、FC-1、FC-2、FC-3和FC-4层的五层结构。其中FC-0层给出了光纤通道的传输介质和信息收发的具体规则;FC-1层规定了8B/10B编解码方案及有序集;FC-2层规定了数据块传输的机制和规则;FC-3层规定了一套服务机制;FC-4层定义了上层协议(Upper Layer Protocol,ULP)映射。

为实现光纤通道接口卡,必须依次实现各层功能。由于协议中定义的FC-3层功能在应用中并无太大作用,因而在实现中可以略去FC-3层功能的实现。目前,商用的FC收发器已经能够很好地实现数据传输及光电转换,且成本相对较低;经过多个版本的改进,目前Xilinx的光纤通道IP核已经具有较为完整的功能:速率支持1/2/4 Gb/s,实现FC-0层、FC-1层以及FC层部分功能,其中所实现的FC-2层功能包括FC端口状态机、简单的缓存到缓存信用管理、R-RDY响应。因此,利用商用的FC收发器及IP核能够相对容易地实现FC协议所定义的FC-0层、FC-1层以及FC-2层的部分功能。而FPGA强大的编程功能及其灵活的软核为编程实现FC-2层其余功能以及FC-4层提供了方法。

为实现支持多种FC-4层协议的FC接口卡,本文采用FPGA实现,利用Xilinx的V5芯片进行开发,并使用PPC软核CPU及VxWorks嵌入式操作系统。图1给出了接口卡的系统设计结构图。FPGA主要包含PCI(Peripheral Component Interconnect)协议处理单元、光纤协议处理单元、PPC、DDR(Double Data Rate)控制器、QDR(Quad Data Rate)控制器等主要模块。

图1 系统结构图Fig.1 System structure figure

PCI协议处理单元提供FC卡与上位机连接的接口,主要处理上位机送到接口卡以及接口卡送到上位机的两个方向的数据。PPC单元和光纤协议处理单元共同实现FC协议各层内容。其中光纤协议处理单元由IP核与FC固件共同实现,完成FC-0、FC-1、FC-2层协议,PPC单元利用光纤协议处理单元提供的相应服务,实现FC-4层协议,具体包括IPFC协议、FC-AV协议与ASM协议。DDR控制器与QDR控制器用于对DDR及QDR外设进行操作。QDR主要用于存储传输的应用数据,包括应用音视频数据及应用命令数据。DDR主要用于存储PPC软件程序。

FC接口卡采用模块化的设计,为编程实现FC各层协议功能提供了便利;实现FC协议的核心模块包括光纤协议处理单元模块和PPC模块,两者共同实现了对包括IPFC、FC-AV、ASM在内的FC上层协议的支持;在设计中同时加入RAM(Random Access Memory)和QDR,能够同时保证关键数据的可靠性和大数据的实时性。

3 FC接口卡的实现

3.1 FC固件实现

由系统设计部分的分析可知,FC-2及以下层功能主要由FC固件完成。除此之外,FC固件还需要完成各种硬件接口及内部逻辑的功能转换。本节阐述FC固件的连接登陆管理、序列及帧的管理及发送工作、判断信息类别进行分类收发等功能的实现。

FC固件需要发送的数据包含FC连接登陆管理命令以及应用数据。其中连接登陆管理命令主要包含FLOGI、PLOGI、LS-ACC等协议中所定义的ELS命令;而应用数据命令主要指为响应用户指令所发送的数据,由于要求FC接口卡能够支持IPFC、FCAV、ASM三种映射协议,因而FC固件需要对不同的映射协议进行识别。与此同时,由于一些大数据块,如音视频数据等,无法通过RAM来进行高效传输,因此需要借助于QDR;而一些实时性、可靠性要求较高的命令数据,则更适合于通过RAM来进行传输。因此,在识别FC-4层所使用的协议之余,FC固件还需要对所传输的数据类型进行判断,根据命令/数据进行不同的操作。

图2 FC固件发送模块状态转移图Fig.2 State transition diagram of FC firmware transmittermodule

图2给出了FC固件发送模块的状态转移图。FC固件检测到读RAM标志有效时,从PPC-FC-RAM中读取待发送数据长度、目的地址、源地址、交换号、参数等构建FC帧时所需要的信息。上层使用协议信息包含在标志位中。获取FC帧头所有信息后,FC固件向外发送SOF表明开始发送FC帧,并在之后每个周期向外逐字发送FC帧头。上层协议类型包含在第三个字的TYPE域中。完成数据发送以后,FC固件需要对数据类型进行判断,若为命令数据,则转移至RD-PAYLOAD状态,从RAM中读取并发送相应数据,最后附加CRC校验码,并发送EOF表明FC帧发送完毕。若为大数据块,则转移至OPT-HEAD状态,根据相应FC-4层协议添加帧头,从QDR中读取并发送相应数据。由于FC帧有2112B的最大帧长度限制,因而当数据块大小超过该限制时,大数据块需要分为多个FC帧进行发送,因而由OUT-EOF转移至OUT-SOF,继续发送下一个FC帧,直到当前序列发送完毕。

图3给出了FC固件接收模块的状态转移图。在接收数据时,FC固件依次读取FC帧头中的相应信息,并获取FC数据域中的内容,将相应信息存入FC-PPC-RAM,交由PPC软件进行进一步的处理。当一个序列包含多个FC帧时,FC固件获得每个FC帧中的数据,并将其存入QDR,完成序列接收后,通知PPC软件接收。

图3 FC固件接收模块状态转移图Fig.3 State transition diagram of FC firmware receivermodule

FC固件的实现基于文献[2]和[3]的相关研究成果,为支持多种上层协议,增加了不同协议的识别和处理:发送模块通过PCI所传输的RAM命令识别上位机请求的协议类型,并据此为应用数据封包为相应的FC帧;接收模块能够识别使用不同上层协议的FC帧头,并从中提取FC帧数据域内数据。为保证命令数据的可靠性,增加了确认及出错重传机制;而对于大数据为保证其实时性,则连续传输数据而并不进行确认。为满足FC协议2 112字节的最大帧长要求,对QDR所传输数据进行分帧。

3.2 PPC软件实现

PPC软件利用FC固件所提供的连接登录及数据收发服务以实现IPFC、FC-AV以及ASM 3个FC-4层协议。图4给出了PPC软件的整体架构。

图4 PPC软件整体架构Fig.4 PPC software overall architecture

PPC软件主要包括两个循环,分别是对RAM的循环查询以及对队列的循环查询。当查询发现PCI-PPC-RAM中有数据时,则判断pci-ppc-reqque是否为满,若为满则跳过不进行操作,若非满则将待处理请求放入该队列,并清除PCI-PPC-RAM中数据;若PPC-PCI-RAM中有数据,则通知上位机接收该数据。FC-PPC-RAM与PPC-FC-RAM存在数据时也进行类似处理。当查询发现pci-ppcreq-que队列非空时,需判断ppc-pci-res-que以及ppc-fc-res-que队列是否都未满,若至多一个队列为满则跳过不进行操作,若两者均非满,则利用pci-ppc-req-handler()函数对该请求进行处理,并将结果存入相应的结果队列;当发现ppc-pci-resque队列非空时,则判断PPC-PCI-RAM是否为空,若为空则将结果队列中数据写入内存,否则跳过不作处理。对于fc-ppc-req-que以及ppc-fc-res-que亦有类似操作。

根据上面给出的架构可以看出,实现FC-4层协议主要取决于pci-ppc-req-handler()以及fc-

ppc-req-handler()的处理,它们分别实现了FC-4层各协议的发送与接收功能。图5分别给出了IPFC、FC-AV以及ASM协议的通信过程。IPFC协议用于映射上层IP协议,一般用于交换网中,故在通信过程中,板卡首先需要与交换机建立连接,然后才能进行数据的收发[8]。由于FC-AV协议过于复杂,在实际应用中一般都对其进行裁剪,本文在实现FC-AV协议时参考了文献[9]中定义的点对点音视频传输标准。ASM对可靠性有较高要求,因而每一个FC帧都需要进行确认。

图5 FC-4层协议的通信过程Fig.5 Communication process of FC-4 layer protocol

PPC软件实现了文献[5-6]的关于FC上层协议的理论分析。加入了对上层协议的识别机制:通过PCI-PPC-RAM确定用户请求传输数据所使用的协议,并通过FC-PPC-RAM获得所接收FC帧的上层协议类型。根据所使用的不同上层协议,其通信过程也不同:IPFC协议借助地址解析协议(Address Resolution Protocol,ARP)获得目的节点的物理地址,建立连接并连续发送IP数据;FC-AV协议在建立连接后连续发送数据;ASM协议建立连接以后发送数据,且每发送一个数据帧以后,需接收到回复帧才会发送下一个数据帧。循环队列占用资源的配置既需要考虑资源开销,也需要考虑命令处理效率。PPC软件中的命令处理由中断触发和周期查询共同推动,在保证处理效率的基础上减小了开销。

4 功能验证与测试

4.1 功能验证与测试

为验证FPGA逻辑的正确性,需要对FC接口卡的功能进行测试。接口卡的功能测试需要对FC接口卡在不同上层协议下的通信进行测试,判断其通信过程是否与设计相一致,传输的FC帧格式是否与协议的要求相一致。因此,需要在FC链路中接入光纤通道分析仪,通过抓取FC链路中的数据帧来进行功能测试,结果如图6所示。

图6 FC接口卡功能测试结果Fig.6 Functional testing results of FC interface card

测试表明,在不同上层协议下,FC接口卡均能按照设计的通信过程进行通信;其传输的FC帧格式能够满足文献[8-10]的相应要求。

4.2 性能验证与测试

为测试FC接口卡的性能指标,需要对其端到端延迟及帧错误率进行量测。测试方法参考了文献[10]的ping-pang测试法。图7给出了在各协议下端到端延迟的测试结果。

图7 FC接口卡端到端延迟测试结果Fig.7 Performance testing results of FC interface card

在测试IPFC协议时,接入了商用FC交换机,型号为博科silkworm3250。根据IP(Internet Protocol)协议,测试中的最大数据量使用65 536字节,测试结果如图7(a)所示。图中加入了文献[10]中图4(b)给出的商用FC卡点对点连接时的端到端延迟测试结果。由图中可以看出,FC接口卡的延迟略大于商用板卡,主要原因在于:FC接口卡带有上层协议判断及区别处理机制会消耗板卡的一部分处理时间;同时数据经过交换机,端到端延迟增加了存储转发时间。尽管其延迟较商用FC卡为高,但仍可以满足IP数据收发要求。

在系统设计部分已指出FC-AV协议的实现采用了目前应用更为广泛的ADVB协议,因而测试过程中采用点到点连接。音视频流传输过程中在源端首先被分割为音视频帧,因而测试数据以固定长度的数据块模拟音视频帧。由图7(b)可知,当数据块为16 MB时,其延迟达到160ms。根据文献[12]可知,在1 Gb/s的带宽下,所得延迟能够支持传统VGA(Video Graphics Array)视频的传输。

在测试ASM协议过程中,同样使用点对点方式进行测试,但由于ASM每个FC帧均有确认,因而相同大小的数据量传输,其延迟较FC-AV协议所得数据更大。当传输的数据量大小小于8 000字节时,所得结果能够满足文献[5]中的最大延迟要求,因而该FC接口卡能够用于实际FC网络中ASM关键命令的传输。

另一方面,在PPC软件中记录循环冗余校验(Cyclical Redundancy Check,CRC)发现错误的次数以统计数据传输过程中的帧错误率。在测试过程中,未发现CRC校验错误情况,因而在实验环境下可以认为其帧错误率为零。

从功能测试及性能测试结果来看,所开发的FC接口卡较好地实现了各类上层协议功能,且端到端延迟及错误率能够满足不同应用下的要求。

5 结束语

本文根据文献中所阐述的FC的FPGA开发的相关内容,并结合FC上层协议的相关理论分析,给出了支持多种FC-4层协议的光纤通道接口卡的设计与实现,并对接口卡进行了功能和性能测试。测试结果表明,该接口卡能够较好地支持IPFC、FC-AV、ASM三种FC-4层协议,且通信过程能够满足协议的要求;性能方面,传输延迟基本能够满足实际使用的需求,且可靠性较好,为光纤通道在航电领域的应用提供了一定的参考。

本文所开发的FC接口卡,其端到端延迟与商用IPFC板卡相比仍然偏高,因此下一步需要优化实现逻辑,并降低接口卡的能耗,减少发热量,以更好地应用于实际航电应用环境中。

[1]ANSI INCITS 424-2006,Fibre Channel Framing and Signaling-2(FC-FS-2)2006.

[2]刘景宁,舒芳,童薇,等.SoPC光纤通道控制器IP核的仿真验证[J].华中科技大学学报(自然科学版),2008,36(10):91-94. LIU Jing-ning,SHUFang,TONGWei,etal.Simulation and Verification of SoPC-based Fibre Channel Controller IP Core[J]. Journal of Huazhong University of Science and Technology(Nature Science),2008,36(10):91-94.(in Chinese)

[3]王芳,柴红刚,童薇.基于FPGA的光纤通道适配器研究[J].华中科技大学学报(自然科学版),2008,36(1):67-70. WANG Fang,CHAIHong-gang,TONGWei.Fibre Channel Adapter using FPGA[J].Journal of Huazhong University of Science and Technology(Nature Science),2008,36(1):67-70.(in Chinese)

[4]熊华钢,王中华.先进航空电子综合技术[M].北京:国防工业出版社,2009:167-184. XIONG Hua-gang,WANG Zhong-hua.Advanced avionics integration techniques[M].Beijing:National Defense Industry Press,2009:109-112.(in Chinese)

[5]丁凡,宋丽茹,熊华钢.FC-AE-ASM网络数据发送控制算法研究[J].电子与信息学报,2009,31(6):1509-1512. DING Fan,SONG Li-ru,XIONG Hua-gang.A Data Transmission Control Algorithm for FC-AE-ASM Network[J].Journal of Electronics&Information Techology,2009,31(6):1509-1512.(in Chinese)

[6]王世奎,王国庆,王红春,等.航空电子光纤通道高层轻量协议的研究[J].航空计算技术,2007,3(2):108-111. WANG Shi-kui,WANG Guo-qing,WANG Hong-chun,et al.Research on the High-level Lightweight Protocol of Fibre Channel in Avionics Environment[J].Aeronautical Computing Technique,2007,3(2):108-111.(in Chinese)

[7]颜纪迅.VxWorks环境下的光纤通道通讯及ASM传输的软件设计[J].系统仿真学报,2010,22(z1):187-190. YAN Ji-xun.Software Design for FC Communication and ASM Transmission Based on Vxworks[J].Journal of System Simulation,2010,22(z1):187-190.(in Chinese)

[8]IETF RFC 4338,Transmission of Ipv6,Ipv4,and Address Resolution Protocol Packets over Fibre Channel[S].

[9]ARINC Specification 818,Avionics Digital Video Bus(ADVB)[S].

[10]T11/08-013v1,ASM/AM1[S].

[11]徐亚军,张晓林,郭蔡健,等.FC网络性能测试与研究[J].计算机工程与应用,2007,43(15):111-115. XU Ya-jun,ZHANG Xiao-lin,GUO Cai-jian,et al.Test and Study of FC Network Performance[J].Computer Engineering and Application,2007,43(15):111-115.(in Chinese)

[12]Bisson K.ARINC-818 Testing for Avionics Applications[EB/OL].[2012-09-10].http://www.aim-online.com.

屠晓杰(1986—),男,江苏苏州人,2008年于北京航空航天大学电子信息工程学院获学士学位,现为博士研究生,主要研究方向为航空电子系统设计;

TU Xiao-jie was born in Suzhou,Jiangsu Province,in 1986.He received the B.S.degree from Beijing University of Aeronautics and Astronantics in 2008.He is currentlyworking toward the Ph.D.degree. His research concerns avionics system design.

Email:roy2002001@msn.com

熊华钢(1961—),男,湖北武汉人,1983年于南京航空航天大学电子工程学院获学士学位,分别在1990年和1998年于北京航空航天大学电子与信息工程系获硕士与博士学位,现为教授、博士生导师,主要研究领域为航空电子系统、航空电子互连协议、数字通信;

XIONG Hua-gang was born in Wuhan,Hubei Province,in 1961.He received the B.S.degree from Nanjing University of Aeronautics and Astronautics,the M.S.degree and the Ph.D.degree from Beihang University in 1983,1990 and 1998,respectively. He is now a professor and also the Ph.D.supervisor.His research interests include avionics system,aviation network protocol,and data communications.

Email:hgxiong@ee.buaa.edu.cn

徐鼎(1988—),男,湖南株洲人,2010年于华东理工大学获信息科学与工程学院学士学位,现为硕士研究生,主要研究方向为航空电子系统设计;

XU Ding was born in Zhuzhou,Hunan Province,in 1988.He received the B.S.degree from East China University of Science and Technology in 2010.He is now a graduate student.His research concerns avionics system design.

Email:xuding.bj@gmail.com

周一伟(1990—),男,河北唐山人,2011年于北京航空航天大学获电子信息工程学院学士学位,现为硕士研究生,主要研究方向为光纤通信、航空电子网络等。

ZHOU Yi-wei was born in Tangshan,Hebei Province,in 1990. He received the B.S.degree from Beijing University of Aeronauticsand Astronautics in 2011.He is now a graduate student.His research concerns optical fibre communication,avionics network,and so on.

Email:zhouyiwei@ee.buaa.edu.cn

Im p lementation of Fibre Channel Interface Card Supporting M ultiple FC-4 Layer Protocols

TU Xiao-jie,XIONGHua-gang,XU Ding,ZHOU Yi-wei
(School of Electronics and Information Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100191,China)

Tomeet the requirements of utilizing several upper layer protocols in avionic networks,the design of a Fibre Channel(FC)interface card is proposed which supports several FC-4 layer protocols,including IPFC(IP over Fibre Channel),FC-AV(Fibre Channel-Audio Video),and ASM(Anonymous Subscriber Messaging).Implementations of FC firmware and PPC(Power PC)software are detailed.Through function and performance tests,it is proved that the interface card complieswith the requirements of the protocols,and ithas high real-time and reliability.It provides a reference for the FC applications in the field of avionics.

avionics network;fibre channel;interface card;performance test

TN915;TP393.1

A

1001-893X(2013)02-0188-07

10.3969/j.issn.1001-893x.2013.02.015

2012-09-17;

2012-11-16 Received date:2012-09-17;Revised date:2012-11-16

航空科学基金资助项目(20111951015)

Foundation Item:The Aeronautical Science Foundation of China(No.20111951015)

❋❋通讯作者:roy2002001@msn.com Corresponding author:roy2002001@msn.com

猜你喜欢
固件音视频光纤
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
FIBBR King-A系列HDMI光纤线
3KB深圳市一禾音视频科技有限公司
高品质的忠实还原 FIBBR Ultra Pro2 HDMI光纤线
一条光纤HDMI线的诞生长飞/长芯盛FIBBR工厂走访实录
WIFI音视频信号传输的关键问题探究
全国产1550nm 窄脉宽光纤放大器
基于SHA1的SCADA系统PLC固件完整性验证方法
高速公路整合移动音视频系统应用
基于UEFI固件的攻击验证技术研究*