多通道fc网络数据仿真系统的数据通道调度方法

文档序号:7797510阅读:225来源:国知局
多通道fc网络数据仿真系统的数据通道调度方法
【专利摘要】本发明公开了一种多通道FC网络数据仿真系统的数据通道调度方法,通过在FC网络数据仿真卡的PCIE管理模块一侧配置多个异步板卡FIFO,提供标准的FIFO接口,在PC机一侧的每个通道配置DMA缓存模块,DMA缓存模块通过PCIE管理模块实现异步板卡FIFO和PC机的双向多通道传输。从而实现在一张FC仿真卡上配置多个光端口,以低成本实现消息的多通道传输,同时还支持端口冗余。
【专利说明】多通道FC网络数据仿真系统的数据通道调度方法
【技术领域】
[0001]本发明属于网络通信【技术领域】,更为具体地讲,涉及一种多通道FC网络数据仿真系统的数据通道调度方法。
【背景技术】
[0002]随着综合化的深入,采用统一的光互联网络成为航空电子系统内部互联的必然趋势。机载光纤通道(Fiber Channel, FC)网络以其高可靠、低成本、高速率、实时性强、可扩展性好等优点成为机载航电网络设计的主流选择。机载光纤网络技术将在航空电子领域得到了更广泛的应用。
[0003]目前,世界上许多公司和科研单位,如IBM、HP、DELL、Brocade, Qlogic、华为等,都参与了基于光纤通道协议的一系列设备的研究和开发,并且已经开发出了许多已经被广泛应用的产品,如Brocade公司已经开发了多款基于FC协议的光纤通道交换机,Qlogic公司开发出的HBA卡等。但是,这些设备和产品大多针对存储局域网的应用,无法适应航空电子环境下的应用。即使是国外的一些针对FC协议的通用功能产品,也无法满足国内研究和开发的实际使用需求,且无法支持需要的后续开发。因此,迫切需要支持航空电子环境下应用的FC仿真系统。
[0004]在航电网络中,各终端设备运行产生的各种消息包括紧急消息、周期消息、事件消息、流数据消息等共同构成航电网络系统中的业务数据,在各个系统和子系统之间实现高速、可靠的实时通信。机载FC网络数据仿真系统主要用于模拟机载终端设备的功能,实现满足FC-AE-ASM协议的FC网络数据的发送和接收,并支持FC总线网络通信系统的时钟管理和网络管理的控制功能。它通过便捷的配置可灵活地模拟不同类型的端口发送和接收数据,完成各种机载设备的半实物仿真,提供与此相关的地面仿真调试环境,模拟实现系统中各节点间的通信互连,是对机载FC航电网络系统进行综合验证的有效工具。
[0005]如图1所示,FC网络数据仿真系统由硬件FC网络数据仿真卡和软件FC网络数据仿真软件组成。硬件部分一FC网络数据仿真卡实现FC网络数据的高效传输,并以PC1-Express总线方式实现与PC的高速通信;软件部分一FC网络数据仿真系统软件运行在PC平台上,主要任务是模拟机载环境中的各种业务数据,根据用户要求进行组帧、封装、发帧、收帧等。FC网络数据仿真系统软硬件协调工作共同完成FC协议数据的发送和接收。其中发送过程主要包括消息在软件层封装为FC帧,底层PCIE驱动再把FC帧打包成符合PCIE协议传输的TLP包传给PCIE接口,通过DMA的方式,板卡上收到数据,再将TLP包解析成FC帧放入缓存,经过FC数据处理模块形成满足FC协议的数据流,并经过电光信号转换发送到光纤通道上;接收过程主要包括板卡上收到光纤通道上传来的FC帧,将其封装成符合PCIE协议传输的TLP包传给电脑主机,然后电脑上的仿真软件解析TLP包将其还原成标准的FC帧。
[0006]通常,在航电网络中每个终端节点需要配置有多个端口,若采用多块分立的单端口机载FC网络数据仿真卡组合实现多通道数据传输,在网络布局上实现难度较大,重量和 成本增加。

【发明内容】

[0007]本发明的目的在于克服现有技术的不足,提供一种多通道FC网络数据仿真系统的数据通道调度方法,以实现仿真系统内部的多个通道数据的选择和读写操作,从而能够在一张FC仿真卡上实现多个数据通道的并行传输。
[0008]为实现上述发明目的,本发明一种多通道FC网络数据仿真系统的数据通道调度方法,其特征在于,包括以下步骤:
[0009](I)、多通道FC网络数据仿真系统的端口初始化:
[0010](1.1)、通过多通道FC网络数据仿真软件获取到FC网络数据仿真卡设备句柄和仿真卡支持的端口数目;
[0011](1.2)、多通道FC网络数据仿真软件从FC网络数据仿真卡获得由系统设计决定的端口配置方案文件,所述的端口配置方案文件内容包括端口 ID、发送通信表和接收通信表,并根据通信表分配计算机内存资源;
[0012](2)、多通道FC网络数据仿真系统发送数据:
[0013](2.1)、将发送的数据送入到消息发送队列中;消息生成后,通过查询端口的发送通信表,将发送数据封装成标准的FC帧,再根据查询到的端口 ID和消息类型把封装后的FC帧送入到发送消息队列中;
[0014](2.2)、将FC帧存放到DMA发送缓存中;发送调度模块扫描发送消息队列,根据消息的优先级将FC帧出队,并根据消息的端口 ID存放到对应的DMA发送缓存中;消息完全存放到DMA发送缓存后,通过寄存器把FC帧相应信息通知FC网络数据仿真卡的PCIE管理模块,发起DMA读操作,如果DMA发送缓存存满时,则通知发送调度模块停止发送数据;
[0015](2.3)、将发送数据从DMA发送缓存搬移到板卡异步FIFO中;DMA通过存储器写请求写入DMA读操作需要的物理地址和读请求个数,并传送给PCIE管理模块,PCIE管理模块根据写入信息,将请求数据经PCIE总线从PC机上的DMA发送缓存高速搬移至板卡FIFO ;
[0016](2.4)、通道仲裁器采用轮询的方式将板卡异步FIFO中的FC帧读取出,并发送到FC数据处理模块进行发送;
[0017](3)、多通道FC网络数据仿真系统接收数据:
[0018](3.1)、接收数据经过FC数据处理模块处理后以接收FC帧存放到板卡异步FIFO中,通道仲裁器采用轮询方式判断当前需要处理的通道号,板卡发中断给PC机,并将该通道对应的板卡异步FIFO中的接收FC帧信息写入PCIE寄存器;
[0019](3.2)、将板卡异步FIFO中的FC帧发送到DMA接收缓存中;计算机响应板卡中断,启动DMA写操作,同时将分配的接收缓存区起始地址及传输字节数传送给PCIE管理模块,将数据经PCIE总线从板卡FIFO高速搬移至PC机上的DMA接收缓存;一次DMA写完成后,板卡就会产生一个中断信号给PC机;
[0020](3.3)、通过接收调度模块将DMA接收缓存中的FC帧送入到消息接收队列;PC接收到DMA写完成的中断信号后,通知接收调度模块对写入的数据进行处理;接收调度模块判断FC帧的到来,按照先到先出的顺序取出FC帧,并根据端口接收通信表对该FC帧进行校验并解析后,按照消息ID放入消息对应端口的接收队列中,所述消息ID为每条消息的全局唯一标不号;
[0021](3.4)、将FC帧从消息接收队列出队并将消息内容提取,完成数据接收。
[0022]进一步地,在PCIE管理模块一侧配置多个异步板卡FIFO,提供标准的FIFO接口,在PC机一侧的每个通道配置DMA缓存模块,DMA缓存模块通过PCIE管理模块实现异步板卡FIFO和PC机的双向多通道传输。
[0023]其中,所述的消息包括紧急消息、周期消息、时间消息和流消息;消息的优先级别依次为:紧急消息 > 周期消息 > 事件消息 > 流消息。
[0024]所述的发送消息队列是端口初始化过程中根据端口发送通信表,分配发送缓存建立的发送队列,每个端口有四种类型的循环缓存:紧急消息缓存、周期消息缓存、事件消息缓存和大数据消息缓存;接收消息队列是端口初始化过程中根据端口接收通信表,分配接收缓存,每个消息ID拥有自己的消息接收队列。
[0025]所述的通道仲裁器的仲裁方法为:通道仲裁器按照各个通道的优先级权重采用轮询方式决定处理当前哪个通道的数据,并判定当前选择的通道是否有数据发送,如果有数据发送则启动该通道,如果没有数据发送则直接跳过当前通道转向下一个通道。
[0026]本发明的发明目的是这样实现的:
[0027]本发明多通道FC网络数据仿真系统的数据通道调度方法,通过在FC网络数据仿真卡的PCIE管理模块一侧配置多个异步板卡FIFO,提供标准的FIFO接口,在PC机一侧的每个通道配置DMA缓存模块,DMA缓存模块通过PCIE管理模块实现异步板卡FIFO和PC机的双向多通道传输。从而实现在一张FC仿真卡上配置多个光端口,以低成本实现消息的多通道传输,同时还支持端口冗余。
[0028]同时,本发明多通道FC网络数据仿真系统的数据通道调度方法还具有以下有益效果:
[0029](1)、FC网络数据仿真卡的PCIE管理模块一侧配置有多个异步板卡FIFO,FIFO提供标准的接口,能够连接FC数据;
[0030](2)、多通道FC网络数据仿真系统中在一张FC仿真卡上实现多个数据通道的并行传输,大大节约了成本;
[0031](3)、多通道FC网络数据仿真系统中采用直接内存访问方式,提高了数据传输效率,同时降低了处理器的负荷。
【专利附图】

【附图说明】
[0032]图1是FC网络仿真系统的结构框图;
[0033]图2是多通道FC网络数据仿真系统数据通道调度方法的流程框图。
【具体实施方式】
[0034]下面结合附图对本发明的【具体实施方式】进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0035]实施例
[0036]图2是多通道FC网络数据仿真系统数据通道调度方法的流程框图。[0037]在本实施例中,如图2所示,本发明多通道FC网络数据仿真系统的数据通道调度方法,包括以下步骤:
[0038]I)、多通道FC网络数据仿真系统的端口初始化:
[0039]1.1)、通过多通道FC网络数据仿真软件获取到FC网络数据仿真卡设备句柄和板卡支持的端口数目;
[0040]1.2)、多通道FC网络数据仿真软件从FC网络数据仿真卡获得由系统设计决定的端口配置方案文件,其中,端口配置方案文件包括端口 ID、发送通信表和接收通信表,并根据通信表分配计算机内存资源;
[0041]2)、多通道FC网络数据仿真系统发送数据:
[0042]2.1)、将发送的数据送入到消息发送队列中;消息生成后,通过查询端口的发送通信表,将发送数据封装成标准的FC帧,再根据查询到的端口 ID和消息类型把封装后的FC帧送入到发送消息队列中;本实施例中,生成的消息以紧急消息、周期消息、时间消息和流消息为例,消息的优先级别依次为:紧急消息 > 周期消息 > 事件消息 > 流消息;
[0043]2.2)、将FC帧存放到DMA发送缓存中;发送调度模块扫描发送消息队列,根据消息的优先级将FC帧出队,并根据消息的端口 ID存放到对应的DMA发送缓存中;消息完全存放到DMA发送缓存后,通过寄存器把FC帧相应信息通知FC网络数据仿真卡的PCIE管理模块,发起DMA读操作,如果DMA发送缓存存满时,则通知发送调度模块停止发送数据;
[0044]2.3)、将发送数据从DMA发送缓存搬移到板卡异步FIFO中;DMA通过存储器写请求写入DMA读操作需要的物理地址和读请求个数,并传送给FCIE管理模块,PCIE管理模块根据写入信息,将请求数据经PCIE总线从PC机上的DMA发送缓存高速搬移至板卡FIFO ;本实施例中,采用PCI Express总线可以很好满足FC网络数据仿真卡对传输速率和带宽的要求,从而实现FC网络数据仿真卡与主机之间的高速数据传输;
[0045]2.4)、通道仲裁器采用轮询的方式将板卡异步FIFO中的FC帧读取出,并发送到FC数据处理模块进行发送;
[0046]3)、多通道FC网络数据仿真系统接收数据:
[0047]3.1)、接收数据经过FC数据处理模块处理后以接收FC帧存放到板卡异步FIFO中,通道仲裁器采用轮询方式判断当前需要处理的通道号,并将该通道对应的板卡异步FIFO中的接收FC帧相应信息以中断方式发送给PC机;
[0048]3.2)、将板卡异步FIFO中的FC帧发送到DMA接收缓存中;计算机响应板卡中断,启动DMA写操作,同时将分配的接收缓存区起始地址及传输字节数传送给PCIE管理模块,将数据经PCIE总线从板卡FIFO高速搬移至PC机上的DMA接收缓存;一次DMA写完成后,板卡就会产生一个中断信号给PC机;
[0049]3.3)、通过接收调度模块将DMA接收缓存中的FC帧送入到消息接收队列;PC接收到DMA写完成的中断信号后,通知接收调度模块对写入的数据进行处理;接收调度模块判断FC帧的到来,按照先到先出的顺序取出FC巾贞,并对该FC帧进行校验并解析后,放入消息对应端口的接收队列中;
[0050]3.4)、将FC帧从消息接收队列出队并将消息内容提取,完成数据接收。
[0051]本实施例中,在数据发送和接收部分均采用了通道仲裁器轮询方式,为保证各个通道数据收发速率基本一致,将各个通道的优先级权重设置相同,在判定当前选择的通道是否有数据发送时,如果有数据发送则启动该通道,如果没有数据发送则直接跳过当前通道转向下一个通道。
[0052]尽管上面对本发明说明性的【具体实施方式】进行了描述,以便于本【技术领域】的技术人员理解本发明,但应该清楚,本发明不限于【具体实施方式】的范围,对本【技术领域】的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
【权利要求】
1.一种多通道FC网络数据仿真系统的数据通道调度方法,其特征在于,包括以下步骤: (1)、多通道FC网络数据仿真系统的端口初始化: (1.1)、通过多通道FC网络数据仿真软件获取到FC网络数据仿真卡设备句柄和仿真卡支持的端口数目; (1.2)、多通道FC网络数据仿真软件从FC网络数据仿真卡获得由系统设计决定的端口配置方案文件,所述的端口配置方案文件内容包括端口 ID、发送通信表和接收通信表,并根据通信表分配计算机内存资源; (2)、多通道FC网络数据仿真系统发送数据: (2.1)、将发送的数据送入到消息发送队列中;消息生成后,通过查询端口的发送通信表,将发送数据封装成标准的FC帧,再根据查询到的端口 ID和消息类型把封装后的FC帧送入到发送消息队列中; (2.2)、将FC帧存放到DMA发送缓存中;发送调度模块扫描发送消息队列,根据消息的优先级将FC帧出队,并根据消息的端口 ID存放到对应的DMA发送缓存中;消息完全存放到DMA发送缓存后,通过寄存器把FC帧相应信息通知FC网络数据仿真卡的PCIE管理模块,发起DMA读操作,如果DMA发送缓存存满时,则通知发送调度模块停止发送数据; (2.3)、将发送数据从DMA发送缓存搬移到板卡异步FIFO中;DMA通过存储器写请求写入DMA读操作需要的物理地址和读请求个数,并传送给PCIE管理模块,PCIE管理模块根据写入信息,将请求数据经PCIE总线从PC机上的DMA发送缓存高速搬移至板卡FIFO ; (2.4)、通道仲裁器采用轮询的方式将板卡异步FIFO中的FC帧读取出,并发送到FC数据处理模块进行发送; (3)、多通道FC网络数据仿真系统接收数据: (3.1 )、接收数据经过FC数据处理模块处理后以接收FC帧存放到板卡异步FIFO中,通道仲裁器采用轮询方式判断当前需要处理的通道号,板卡发中断给PC机,并将该通道对应的板卡异步FIFO中的接收FC帧信息写入PCIE寄存器; (3.2)、将板卡异步FIFO中的FC帧发送到DMA接收缓存中;计算机响应板卡中断,启动DMA写操作,同时将分配的接收缓存区起始地址及传输字节数传送给PCIE管理模块,将数据经PCIE总线从板卡FIFO高速搬移至PC机上的DMA接收缓存;一次DMA写完成后,板卡就会产生一个中断信号给PC机; (3.3)、通过接收调度模块将DMA接收缓存中的FC帧送入到消息接收队列;PC接收到DMA写完成的中断信号后,通知接收调度模块对写入的数据进行处理;接收调度模块判断FC帧的到来,按照先到先出的顺序取出FC帧,并根据端口接收通信表对该FC帧进行校验并解析后,按照消息ID放入消息对应端口的接收队列中,所述消息ID为每条消息的全局唯一标示号; (3.4)、将FC帧从消息接收队列出队并将消息内容提取,完成数据接收。
2.根据权利要求1所述的多通道FC网络数据仿真系统的数据通道调度方法,其特征在于还包括:所述的PCIE管理模块一侧配置多个异步板卡FIFO,提供标准的FIFO接口,PC机一侧的每个通道配置DMA缓存模块,DMA缓存模块通过PCIE管理模块实现异步板卡FIFO和PC机的双向多通道传输。
3.根据权利要求1所述的多通道FC网络数据仿真系统的数据通道调度方法,其特征在于,所述的消息类型包括紧急消息、周期消息、时间消息和流消息;消息的优先级别依次为:紧急消息 > 周期消息 > 事件消息 > 流消息。
4.根据权利要求1所述的多通道FC网络数据仿真系统的数据通道调度方法,其特征在于,所述的发送消息队列是端口初始化过程中根据端口发送通信表,分配发送缓存建立的发送队列,每个端口有四种类型的循环缓存:紧急消息缓存、周期消息缓存、事件消息缓存和大数据消息缓存;接收消息队列是端口初始化过程中根据端口接收通信表,分配接收缓存,每个消息ID拥有自己的消息接收队列。
5.根据权利要求1所述的多通道FC网络数据仿真系统的数据通道调度方法,其特征在于,所述的通道仲裁器的仲裁方法为:通道仲裁器按照各个通道的优先级权重采用轮询方式决定处理当前哪个通道的数据,并判定当前选择的通道是否有数据发送,如果有数据发送则启动该通道, 如 果没有数据发送则直接跳过当前通道转向下一个通道。
【文档编号】H04L12/24GK103888293SQ201410064364
【公开日】2014年6月25日 申请日期:2014年2月25日 优先权日:2014年2月25日
【发明者】黄金, 邱昆, 许渤, 胡钢 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1