• 全国 [切换]
  • 深圳市鼎达信装备有限公司

    扫一扫关注

    当前位置: 首页 » 新闻动态 » 真空技术 » 正文

    基于FC-AE-ASM协议主机总线适配器设计

    放大字体  缩小字体 发布日期:2021-11-15 08:59:42    浏览次数:659    评论:0
    导读

    摘要:FC-AE-ASM协议是FC-AE网络中的一种上层协议,研究FC-AE-ASM网络的主机总线适配器具有重要的意义。本文对FC-AE协议以及ASM协议进行分析,设计并实现一种FC-AE-ASM网络的主机总线适配器,并从FC-AE协议主机总线适配器的系统结构设计、ASM消息收发机制等方面对该设计说明,最后通过实验验证了系统的可用性。关键词:光纤

    摘要:FC-AE-ASM协议是FC-AE网络中的一种上层协议,研究FC-AE-ASM网络的主机总线适配器具有重要的意义。本文对FC-AE协议以及ASM协议进行分析,设计并实现一种FC-AE-ASM网络的主机总线适配器,并从FC-AE协议主机总线适配器的系统结构设计、ASM消息收发机制等方面对该设计说明,最后通过实验验证了系统的可用性。

    关键词:光纤通道; 匿名用户; 主机总线适配器

    0 引 言

    光纤通道是由美国标准化委员会(ANSI)的X3T11小组于1988年提出的高速串行传输总线,用于服务器与存储设备之间高速通信。由于FC具备高带宽、高可靠性、高稳定性等特点,并且光纤介质又具备抵抗电磁干扰等优点,非常适用于航空电子系统。为此,FC标准开发组织建立了分委员会ANST-FC-AE,研究FC技术在航空环境下的应用,该分委员会制定了航空环境下的光纤通道一组草案,描述并发展以FC为基本标准的航空电子增强专用系统[1]。ANST-FC-AE提出了一种上层协议FC-AE-ASM,该协议用于航空电子环境中各类处理器、传感设备以及显示设备之间确定、安全、低延迟的通信[2]

    在国内,FC方面的研究大部分集中在存储区域网(SAN)领域,对于FC-AE研究较少。目前,FC-AE多在航空类、军事类院校、研究机构,开始预研和验证,并对国际标准协议进行了一些特定的改进。根据相关文献,哈尔滨工业大学黄丛针对FC-AE-1553相关技术进行了研究[3];电子科技大学张国晋,完成了基于ARM922T处理器的FC-AE-ASM航电测试接口的设计与实现[4];西北工业大学张志等,完成了基于ARM922T单处理器航空电子光纤通道接口卡设计[5];西北工业大学郭玉玉等,完成了基于FC-AE-ASM的图像采集系统的设计实现[6]。在国外,DDC公司已经研发了FC-75000板卡等[7]。本文研究FC-AE协议特点,分析FC-AE-ASM协议报文结构,然后设计并实现了一种基于PowerPC和FPGA双处理器的ASM协议总线适配器,并从系统结构设计、ASM消息收发机制2方面进行设计说明,最后通过仿真实验验证了该设计的可用性。

    1 FC-AE-ASM协议

    1.1 FC-AE协议层次结构

    FC-AE协议栈包含5个层次,其中:FC-0为物理层,主要包括传输介质(线路、连接器等)、物理接口(发送与接收、链路带宽等)等内容;FC-1为传输层,主要包括8B/10B编码、端口状态等内容;FC-2为帧协议层,主要包括链路协议、信令协议、服务质量等内容;FC-3为公共服务层,主要包括多播、组播、分段处理、数据加密等内容;FC-4为上层应用映射层。

    1.2 FC-AE-ASM帧结构

    FC-AE-ASM帧通过FC帧格式[8]中的数据域封装。FC-AE-ASM数据帧的前16个字节作为帧头,在多帧序列中,所有帧都包含一个头部的备份,ASM帧头结构[9]如表1所示。

    表1 FC-AE-ASM帧头结构

    L取值为0或1,其中:“0”表示消息载荷的长度16 777 216比特;“1”表示消息载荷的长度0 bit。优先级取值为0~127,其中0为最高优先级,127为最低优先级。

    1.3 FC-AE-ASM通信网络拓扑

    FC-AE-ASM协议定义了3种基本网络结构,分别为:1)点到点网络拓扑结构,该网络拓扑为2个节点直接相连;2)仲裁环网络拓扑结构,该网络拓扑为3个或以上的节点连接成一个环路,通过环路进行通信;3)交换型网络结构,2个或多个节点接入交换机的F端口,实现相互间的通信。本文所设计的应用网络为第1种和第3种网络拓扑结构。

    2 系统架构设计

    2.1 硬件结构设计

    总线适配器基于PowerPC和FPGA进行设计,这种设计能够充分利用PowerPC的高性能处理能力[10]和FPGA的ASCI定制电路设计能力[11],同时兼顾功耗、成本、设计周期等因素,是解决体积小、负载轻、计算能力要求高的航空电子系统的有效解决方法。PowerPC采用MPC8280嵌入式双核CPU处理器,FPGA采用Xilinx公司Virtex-5。PowerPC主要负责FC-2部分协议、FC-3和FC-4的协议处理,另外还提供必要的配置管理,FPGA提供FC协议的FC-0和FC-1以及FC-2部分协议的处理和FC消息发送和接收处理,还提供专门的ASM数据帧发送和接收控制。系统的硬件结构设计如图1所示。

    图1 硬件架构设计

    2.2 软件层次结构设计

    系统软件层次结构设计主要包括4层,分别为:1)应用层,主要为上层应用(Widonws、Linux等操作系统的应用程序)提供API库,包括消息收发API库、配置API库以及查询API库等。2)PowerPC FC-AE协议处理层,主要包括FC-2部分协议、FC-3、FC-4处理以及配置管理、事务日志等内容,RS232驱动,以太网口驱动等。3)驱动层,为PowerPC与FPGA总线驱动。4)FPGA FC-AE协议处理层,主要包括FC-0和FC-1以及FC-2部分协议的处理和FC消息发送和接收处理以及状态监控等内容。

    3 ASM消息收发机制设计

    3.1 ASM数据发送机制

    ASM数据发送包括4个阶段的过程:1)应用软件处理过程,主要实现调用API并发送消息包给驱动;2)驱动处理过程,实现消息包传递给Firmware;3)Firmware的处理过程,主要为实现对消息包的FC4的处理以及对于普通数据帧的处理;4)FPGA发送消息处理。具体数据处理过程如图2所示。

    图2 ASM消息发送流程图

    根据图2,ASM消息发送详细过程为:1)上层应用软件调用API函数,发送ASM数据;2)API函数通过IoControl方式发送一个消息包给驱动;3)驱动收到ASM数据发送请求消息后,向共享内存申请一块缓存,并将ASM数据复制到这个缓存中,然后构造一条ASM数据发送消息给Firmware;4)Firmware收到ASM数据发送消息后,并触发必要的某些协议操作(比如PLOGI等),然后将ASM用户数据和message ID信息通过专门的接口传递给FPGA;5)FPGA进行消息发送;6)FPGA通过中断方式通知Firmware;7)Firmware将处理结果返回给驱动程序;8)驱动程序释放buffer,并将执行结果返回给API函数;9)API返回执行结果给上层应用。

    3.2 ASM数据接收机制

    ASM数据接收包括4个阶段的过程:1)应用软件处理过程,主要实现接收数据任务的启动,包含通知驱动接收数据和从驱动中接收数据等;2)FPGA接收数据,并通知Firmware的过程;3)Firmware的处理数据帧的过程;4)驱动接收数据的过程。具体数据处理过程如图3所示。

    图3 ASM消息接收流程图

    根据图3,ASM消息接收的详细过程为:1)上层应用软件注册一个ASM接收回调函数;2)API函数通知驱动程序收到ASM数据后,并启动从驱动接收ASM数据包的任务;3)FPGA收到ASM帧后,通过中断通知Firmware;4)Firmware检查ASM帧的FC帧头和ASM头:如果是Exchange的第一个帧,则申请一块buffer,并通知FPGA将该ASM帧的payload写入该buffer。如果不是,则检查原有的Exchange列表,找到后,重新申请一块buffer,并将该buffer加入该Exchange后的buffer链表的后面,然后通知FPGA将新ASM帧的payload写入该buffer。5)FPGA处理完后,通知firmware已经拷贝完该帧的payload。6)Firmware检查是否是Exchange的最后一帧:如果是,则关闭该Exchange,并将该Exchange中的所有buffer(包含了有效的ASM payload数据)上报给驱动;如果不是,则跳过不处理。7)驱动收到ASM数据后,从Buffer中获取数据,并发送到API层。发送完毕后返回一个消息包给Firmware。后者收到返回包后释放申请的buffer链表。8)API层收到ASM数据包后,调用前面设置的回调函数。

    4 仿真实验

    为了验证系统在点对点网络的环境下和交换型网络的环境下的系统可用性,本文主要针对以下2个方面来进行测试:1)2种网络环境下发送及接收数据的成功率;2)2种网络环境下数据的时延情况。

    实验前准备工作:1)在总线适配器中调用API函数,发送消息前,加入ASM消息生成器,生成器根据接收的参数产生ASM数据包;2)调用API函数发送消息时,加入一个计时器,用以记录ASM消息发送时间,并在适配器接收数据之后也加入计时器,记录ASM消息接收时间;3)在Windows 7上,利用Visual C编写一个简易消息发送与接收程序,简易程序界面如图4所示,程序在图5中的主机上运行;4)实验环境的搭建。

    图4 简易消息发送与接收程序

    实验环境的搭建:分别搭建2种网络测试环境进行测试。

    点对点网络测试环境如下:1)2台PC机,安装Windows 7操作系统;2)PC机CPU为酷睿四代i3处理器i3-4160T,3.1 GHz;内存为DDR3,4 G;3)PC机安装简易收发程序;4)PC机通过以太网口与总线适配器以太网口连接,适配器获取简易程序发送的参数,通过ASM消息生成器中产生ASM消息;5)2台总线适配器通过光纤相连。见图5中点对点网络测试拓扑。

    交换型网络测试环境如下:1)主机及适配器的配置与点对点网络测试环境相同;2)增加一台4口FC-AE交换机;3)2台总线适配器与FC-AE交换机通过光纤相连。见图5中交换型网络测试拓扑。

    图5 测试网络拓扑图

    通过简易发送程序,分别在2种网络环境下发送2000条ASM消息,消息长度为随机,测试结果如表2所示。

    表2 测试结果

    根据表2的测试结果,可以得知本文设计的基于PowerPC与FPGA的ASM协议总线适配器,发送与接收成功率为100%,在点对点网络环境下平均时延为1.43 us,交换型网络环境下平均时延为2.11 us。测试结果达到预期目标。

    5 结束语

    本文对FC-AE协议以及ASM协议进行了分析,设计并实现了一种FC-AE-ASM网络的主机总线适配器,从系统结构设计、ASM消息收发机制等方面对该系统进行介绍,最后,通过实验,验证了本文所设计的FC-AE-ASM协议的主机总线适配器具备一定的可用性。未来,笔者将对FC-AE-ASM协议的流量控制、拥塞控制等方面进行进一步的研究与实验。


     
    (文/小编)
    打赏
    免责声明
    • 
    本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://2024.dingdx.com/news/show.php?itemid=3445 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
    0相关评论
     

    © Copyright 深圳市鼎达信装备有限公司 版权所有 2015-2022. All Rights Reserved.
    声明:本站内容仅供参考,具体参数请咨询我们工程师!鼎达信作为创新真空产品研发制造商,我们提供海绵吸具,海绵吸盘,真空吸盘,真空发生器,真空泵,真空鼓风机,缓冲支杆,真空配件,真空吊具等等产品

    粤ICP备17119653号