主机环境下高速fc总线数据接收及缓冲方法

文档序号:8395838阅读:530来源:国知局
主机环境下高速fc总线数据接收及缓冲方法
【技术领域】
[0001]本发明属于计算机通信技术,具体涉及通信网络中一种主机环境下高速FC总线数据接收及缓冲方法。
【背景技术】
[0002]在通信系统开发过程中,需要实现将接收到的高速FC总线数据提交主机应用进行处理。FC总线传输速率在1.0625Gbps以上,但很多主机应用需要实现的是低速数据处理,如将接收到FC消息数据发送至CAN、1553B、RS422、以太网等传输速率比FC总线低很多的网络上,这就容易造成由于主机无法及时处理而导致的FC原始数据丢失。因此,为了避免这种情况,需要提供一种高速FC总线数据接收及缓冲的实现方法。

【发明内容】

[0003]本发明的目的是,提供一种主机环境下高速FC总线数据接收及缓冲方法,避免高速FC总线数据在低速主机应用过程中的数据丢失。
[0004]本发明的技术解决方案是,
[0005]主机环境下高速FC总线数据接收及缓冲方法,其特殊之处在于:包括以下步骤:
[0006]I】将FC接口单元的主机接口与主机单元的处理器通过标准总线进行互联;所述FC接口单元还包括与主机接口相连的DMA引擎、DMA控制寄存器、中断管理寄存器和接收管理逻辑,以及与接收管理逻辑相连的接收管理寄存器组,DMA引擎与DMA控制寄存器连接,DMA引擎还与接收管理逻辑连接;所述接收管理寄存器组包括消息ID寄存器、FC消息接收缓冲区头指针和FC消息接收缓冲区尾指针;
[0007]2】处理器对主机接口进行初始化操作;处理器通过主机接口对DMA控制寄存器进行配置,并根据配置信息在主机单元的存储器内部建立FC消息接收缓冲区和环形缓冲区;
[0008]3】FC接口单元的接收管理逻辑判断是否有新的FC消息数据发来;
[0009]4】若有新的FC消息数据信息发来,接收管理逻辑启动DMA引擎,将接收到的FC消息数据由主机接口经标准总线写入主机单元存储器内的FC消息接收缓冲区,中断管理寄存器经主机接口向处理器上报FC消息接收中断,更新对应的FC消息接收缓冲区尾指针,继续步骤5】;若未接收到FC消息数据,则重复步骤3】;
[0010]5】处理器响应FC消息接收中断,通过读取接收管理寄存器组中的消息ID寄存器判断当前接收到的是哪一条FC消息数据,根据FC消息接收缓冲区头指针,从对应的FC消息接收缓冲区读取接收到的FC消息数据并写入环形缓冲区,更新当前FC消息接收缓冲区头指针和环形缓冲区尾指针;环形缓冲区内的数据等待应用处理;
[0011]6】判断主机单元的处理器是否具备应用处理条件;
[0012]7】若主机单元的处理器具备应用处理条件,则转步骤8】;若不具备应用处理条件,则重复步骤6】;
[0013]8】处理器查询环形缓冲区头指针和环形缓冲区尾指针,根据环形缓冲区头指针读取环形缓冲区内待处理的FC消息数据,并将该数据提交给相应的主机应用处理,更新环形缓冲区头指针。
[0014]上述FC消息接收缓冲区的大小为FC最大帧长,采用固定缓冲深度,所述FC消息接收缓冲区的数量与FC消息数据的数量一致。
[0015]DMA控制寄存器包括DMA源地址寄存器、DMA目的地址寄存器、DMA数据长度寄存器。
[0016]上述环形缓冲区的大小为单个FC消息数据最大帧长,用以存放多个FC消息接收缓冲区内部主机无法及时处理的数据。
[0017]上述主机接口为PCI或PCIe或Rapid1标准总线接口。
[0018]本发明的优点是:
[0019]主动DMA方式共享主机存储器,实现FC消息数据高速接收:FC消息接收缓冲区位于主机存储器,通过主动DMA方式共享主机存储空间,FC接口与处理器采用高速标准串行总线进行互联,通过主动DMA方式共享主机存储器,将接收到的FC消息DMA写入主机存储器中对应的FC消息接收缓冲区,实现FC消息数据高速接收;
[0020]基于标准主机接口设计:FC接口与处理器采用高速标准串行总线进行耦合,提高FC总线接口的集成开发与兼容性;
[0021]建立特有缓冲机制:建立主机环境下数据缓冲机制,实现高速FC总线数据缓冲,保证提交应用处理数据的完整性。
【附图说明】
[0022]图1是主机环境下高速FC总线数据接收及缓冲实现框图;
[0023]图2是主机环境下高速FC总线数据接收管理流程图。
【具体实施方式】
[0024]下面结合附图对实施方式进行具体说明。
[0025]首先对实现架构进行介绍,如图1所示:
[0026]主机环境下高速FC总线数据接收管理是通过建立在FC接口单元与主机单元上的专有机制进行实现。
[0027]FC接口单元包括主机接口,以及与主机接口连接的DMA引擎、DMA控制寄存器、中断管理寄存器和接收管理逻辑,以及与接收管理逻辑连接的接收管理寄存器组,DMA引擎与DMA控制寄存器和接收管理逻辑连接;接收管理寄存器组包括消息ID寄存器、FC消息接收缓冲区头指针和FC消息接收缓冲区尾指针。
[0028]主机单元包括处理器以及存储器,所述存储器内部开辟有FC消息接收缓冲区和环形缓冲区;
[0029]将FC接口单元的主机接口与主机单元的处理器通过标准总线PCIe或Rapdi1或PCI进行互联。
[0030]FC接口单元内部设计接收管理逻辑,实现对FC消息数据接收的管理和控制。
[0031 ] FC接口单元集成DMA引擎,并设计DMA控制寄存器,通过主动DMA方式实现共享主机单元的存储器,将接收到的FC消息数据DMA写入主机单元的存储器中的FC消息接收缓冲区,实现FC接口数据的高速收发。
[0032]DMA控制寄存器包括DMA源地址寄存器、DMA目的地址寄存器、DMA数据长度寄存器。处理器在对FC接口初始化过程中,通过主机接口对DMA控制寄存器进行配置。当接收到FC消息数据时,接收管理逻辑启动DMA引擎。DMA引擎根据DMA控制寄存器中的源地址、目的地址、数据长度信息、FC消息数据ID信息以及当前FC消息接收缓冲区头尾指针信息,计算当前DMA操作的目的地址,将接收到的FC消息数据DMA写入到当前消息对应的主机存储器内部的FC消息接收缓冲区。待DMA发送完毕,接收管理逻辑更新当前FC消息接收缓冲区的尾指针,向处理器上报FC消息接收中断。由于标准总线上DMA操作提供的高带宽数据传输,保证了从FC接口到FC消息接收缓冲区过程中FC消息数据的高速接收。
[0033]接收管理寄存器组包括与η个FC消息数据对应的η组接收缓冲区头指针和η组接收缓冲区尾指针;处理器通过读取消息
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1