APP下载

一种SRIO接口FC节点机的设计和实现

2022-06-03徐玉杰朱志强孟博

电脑知识与技术 2022年8期

徐玉杰 朱志强 孟博

摘要:随着FC网络的发展及大量部署,FC节点机的需求越来越大。为了满足用户对嵌入式FC节点机主机接口多样化要求,文章提出了一种基于SRIO总线FC节点机的设计与实现方案,主要采用FPGA作为逻辑设计芯片,实现接口数据收发、协议转换等功能,满足了对嵌入式FC节点机功能、功耗和重量等要求,达到了设计的预期目标。

关键词:SRIO接口;FC节点机;软核

中图分类号:TP336;V243        文献标识码:A

文章编号:1009-3044(2022)08-0112-02

1 引言

机载网络逐渐成为机载系统乃至飞机的核心部件,已涉及航电、机电、飞控等安全关键系统。随着军用飞机综合化程度的不断深入、综合化范围的不断扩大,在同一个机载网络平台上兼容不同安全关键等级、传输带宽的通信传输,以同时满足航电、机电和飞控系统的通信要求,已是大势所趋。光纤通道(FC)的高带宽、低延迟、低误码率、灵活的拓扑结构和服务类型、支持多种上层协议和底层传输介质以及具有流量控制功能,使得它能很好地满足综合模块化航空电子系统的互连要求[1]。

高速串行输入输出(SRIO:Serial Rapid Input and Output)是航电系统中板级互联和芯片级互联的佼佼者,具有高带宽、低延迟、高可靠性等优点。SRIO总线作为一种高速串行总线,因其支持点到点通信,也可通过交换实现星型及网型拓扑结构,大系统可最多互联65536个节点,满足嵌入式领域所需的灵活性、可扩展性等要求[2]。

SRIO接口FC节点机作为一种嵌入式多功能接口单元,嵌入各分系统功能模块中,实现各分系统的FC网络通信处理及接口功能。目前PCIE接口的FC节点机已大量使用,但随着各分系统中越来越多地使用SRIO总线作为分系统内部总线,SRIO接口的FC节点机正成为用户的选择。

2 节点机设计

本文所设计的SRIO接口FC节点机以FPGA为核心处理器完成协议处理,实现SRIO与FC之间的协议转换。逻辑设计过程中对于处理时效要求高的MAC层、FC-ASM消息等功能由可编程逻辑完成,处理复杂的FC-ELS消息、主机接口控制指令等功能由软核实现。

2.1 硬件设计

FC节点机硬件主要包含FPGA、存储器电路、电源电路、时钟电路及复位电路等,其原理设计如图1所示。

FPGA选用某公司生产的K系列可编程逻辑器件,该器件内部集成了BRAM、逻辑单元、CMT及GTX等资源,支持各种高速接口。

SRIO接口节点机以FPGA为核心处理单元,外围电路主要提供电源、时钟、复位及存储功能,用于FPGA工作所需的各档电压、时钟、复位和数据存储功能。

2.2 逻辑设计

SRIO接口FC节点机逻辑基于可编程逻辑器件进行设计,实现外部SRIO接口及FC接口的高速数据收发、协议转换等功能。内部集成软核,构建嵌入式片上系统,用于实现控制及用户指令解析等对数据处理能力要求不高的业务。节点机逻辑功能框架如图2所示。

基于软核的片上可编程系统通过AXI总线将各个功能组件或外设进行交联。通过编写相应的执行固件,用于实现SRIO接口配置、FC节点机管理、协议转换控制、存储器管理等。以软核为处理器的片内控制系统连接见图3所示。

SRIO接口至FC网络接口数据传输示意图如图4所示,节点机通过SRIO主机接口获取用户指令,由节点机DMA控制器在主机数据准备就绪后发起DMA读操作,将待发送数据搬移至FPGA片内缓冲区。

协议转换实现SRIO数据与FC协议数据的转化及转发,FC端口数据传输协议采用FC-AE-ASM,主机发送的SRIO数据按照ASM消息封装规则转换为ASM单帧消息或流消息,发送至FC发送端口实施发送。

FC数据发送支持ASM消息发送以及FC-ELS消息发送,其中ASM消息来源于SRIO发送的数据,ELS消息来源于软核发送的协议控制类数据。

FC网络接口至SRIO接口数据传输示意图如图5所示,FC接口各通道MAC支持ASM及FC-ELS消息接收。FC接口组件依据输入FC帧类型区分ASM消息及FC-ELS消息实施数据分流,其中ASM消息经片内缓冲处理后发送至协议转换单元实施协议转换,FC-ELS消息则发送至软核进行分析处理。

FC-MAC接收后的数据交由协议转换单元处理,在协议转换控制单元干预下,将ASM消息单帧数据以流水方式转换为SRIO数据块,节点机向主机发起DMA请求前,将数据放置在指定的缓冲区中,SRIO接口的数据接收对象以单个ASM消息为单位进行搬移和重组,数据搬移后,向主机发出门铃,完成数据转换及传输。

2.3 软件设计

基于软核及逻辑设计实现的FC节点机,软件主要分两部分:驻留在节点机中的固件及驻留在主机处理器的驱动软件。固件通过SRIO和FC接口接收命令和数据,执行相应命令,协助FPGA完成SRIO及FC接口配置、协议转换控制及存储资源访问等功能。

3 FC节点机的验证

为验证FC节点机的各项功能,构建两种典型的验证环境:FC节点机对传通信和分系统环境下通信。对节点机进行了主机接口命令解析、协议转换、數据通信等功能的测试。在节点机中设计两种业务流的数据,同时进行通信,监控设备捕获节点机发送到网络中的各种数据帧,查看FC消息,根据数据解析出的目的MAC地址、源MAC地址、负载数据等信息,验证了FC节点机依据配置进行正确协议转换及数据收发。通过检查接收节点机收到的数据内容以及其处理过程,验证了节点机的功能。

4 结论

本文主要研究了SRIO接口的FC节点机的设计和实现,提出了使用软核和可编程逻辑结合的节点机设计方案实现SRIO接口FC节点机,搭建了点到点拓扑的机载网络验证环境,对节点机的接口指令、协议转换及高速数据收发进行了验证。结果显示,该方案设计实现的SRIO接口FC节点机能够很好地满足设计目标和用户应用需求。

参考文献:

[1] 李攀,田泽,蔡叶芳,等.FC-AE-ASM协议优化设计[J].计算机工程与科学,2017,39(2):280-284.

[2] 张健,林锡龙,谢江波.CPS1432交换芯片的串行RapidIO互连技术[J].单片机与嵌入式系统应用,2014,14(12):31-34.

【通联编辑:代影】