一种FC协议分层架构实现方法与流程

文档序号:23469556发布日期:2020-12-29 13:09阅读:339来源:国知局
一种FC协议分层架构实现方法与流程

本发明属于电子工程和计算机科学领域,具体涉及一种fc协议分层架构实现方法。



背景技术:

fc(fibrechannel,光纤通道)协议,最开始由美国提出,后续在国际信息技术标准委员会中进行标准化和维护。fc协议标准的出现,是为了突破企业级的存储区域网络传输速度的瓶颈。传统的san(storageareanetwork,存储区域网络)传输接口使用的是scsi标准,由于该标准使用并行接口以及使用的传输介质等原因,造成了无法满足当时快速发展的san对传输速度的需求。fc协议标准中使用串行接口解决并行接口由于电磁干扰和数据同步等问题造成的带宽限制,使用多模光纤作为传输介质,避免了由传输介质造成的传输速度限制。简而言之,fc具备高带宽、低时延和低误码率,目前作为军用飞机机载总线已经在国外一些先进飞机中得到应用,国内有部分军工企业也在尝试研发有关fc方面的软硬件产品,可以看出fc具备极大的应用潜力。但是目前有关fc技术研发的思路答题都是参照fc协议标准框架执行,在可扩展性、模块化方面存在不足。基于此,本发明提供一种fc协议分层架构实现方法,能够在一定程度上以一种灵活可扩展的方式在fpga中设计实现fc协议分层架构。



技术实现要素:

本发明要解决的技术问题为:提供一种fc协议分层架构实现方法,为此本发明公开了一种fc协议分层架构实现方法,包括设计fc-1层逻辑模块、fc-2层逻辑模块、fc-3层逻辑模块、fc-4层逻辑模块,能够在一定程度上以一种灵活可扩展的方式在fpga中设计实现fc协议分层架构。

本发明解决其技术问题是采取以下技术方案实现的:一种fc协议分层架构实现方法,包括:

(1)设计fc-1层逻辑模块,具体实现如下:

①基于gtpip核完成对接收到的原始高速串行数据流的8b/10b编解码和串并转换;

②设计传输字同步子模块,完成对fc-1层传输字的同步;

③设计端口状态机子模块,完成对fc-1层端口的激活;

(2)设计fc-2层逻辑模块,具体实现如下:

①设计接收数据识别子模块,用于判断接收数据帧的类型,针对fc-ae-1553数据帧,按照帧的功能不同,相对应的送到fc-3层逻辑模块中的网络控制器子模块和网络终端子模块中;对于非fc-ae-1553数据帧,直接丢弃;

②在接收数据识别子模块中设计8个独立fifo,每个fifo只存储一个fc-ae-1553数据帧,每个fifo的最大缓存空间均大于fc-ae-1553数据帧的最大帧长;除fifo自身的标志信号外,为每个fifo增加一个状态标志块,用于描述fifo中存储的数据帧的类型、错误标志和接收序列等信息;

③针对②中设计的8个fifo,按序设置fifo的优先级,如从高优先级到低优先级,或从低优先级到高优先级;按fifo优先级的高低为序存入接收数据识别子模块中接收到的数据帧,即当高优先级fifo中已存储数据帧,才会向低优先级fifo中写入数据帧;

④设计发送数据仲裁子模块,该子模块相当于一个多路复用模块,主要作用是将fc-3层逻辑模块中的登录/登出子模块和流控子模块,以及fc-4层逻辑模块中的网络控制器子模块和网络终端子模块的输出端口复用到gtpip核的一个输出端口上;

(3)设计fc-3层逻辑模块,具体实现如下:

①设计登录/登出子模块,完成fc协议中端口的显式和隐式登录/登出;

②设计流控子模块,完成数据帧收发过程中的信用计数功能,即针对fc-2层逻辑模块中设计的8个fifo,初始化信用值为8,每当接收到一个fc-ae-1553数据帧时,该信用值减1,反之则加1,当信用值为0时,接收方暂停接收数据帧、发送方暂停发送数据帧;

(4)设计fc-4层逻辑模块,具体实现如下:

①设计网络控制器子模块,完成fc-ae-1553协议中规定的网络控制器功能;

②设计网络终端子模块,完成fc-ae-1553协议中规定的网络终端功能;

③网络控制器子模块和网络终端子模块在接收或发送数据帧后,都会通知fc-3层逻辑模块中的流控子模块,使其能够对信用值进行增减。

本发明设计的一种fc协议分层架构实现方法,该方法适用于xilinx公司virtex-7fpga芯片。

有益效果:

本发明与现有技术相比的优点在于:相较于目前有关fc技术研发均是参照fc协议标准框架设计,而存在可扩展性、模块化性不强等不足,本发明能够在一定程度上以一种灵活可扩展的方式在fpga中设计实现fc协议分层架构。

附图说明

图1为本发明的系统结构框图;

图2为本发明的接收数据识别子模块中fifo读写逻辑框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明涉及一种fc协议分层架构实现方法,该方法适用于xilinx公司virtex-7fpga芯片,能够在一定程度上以一种灵活可扩展的方式在fpga中设计实现fc协议分层架构,避免传统设计方法中存在的可扩展性、模块化性不强等不足。

本发明的系统结构框图如图1所示,包括设fc-1层逻辑模块、fc-2层逻辑模块、fc-3层逻辑模块、fc-4层逻辑模块;本发明的接收数据识别子模块中fifo读写逻辑框图如图2所示。具体实施方式如下:

(1)设计fc-1层逻辑模块,具体实现如下:

①基于gtpip核完成对接收到的原始高速串行数据流的8b/10b编解码和串并转换;

②设计传输字同步子模块,完成对fc-1层传输字的同步;

③设计端口状态机子模块,完成对fc-1层端口的激活;

(2)设计fc-2层逻辑模块,具体实现如下:

①设计接收数据识别子模块,用于判断接收数据帧的类型,针对fc-ae-1553数据帧,按照帧的功能不同,相对应的送到fc-3层逻辑模块中的网络控制器子模块和网络终端子模块中;对于非fc-ae-1553数据帧,直接丢弃;

②如图2所示,在接收数据识别子模块中设计8个独立fifo,每个fifo只存储一个fc-ae-1553数据帧,每个fifo的最大缓存空间均大于fc-ae-1553数据帧的最大帧长;除fifo自身的标志信号外,为每个fifo增加一个状态标志块,用于描述fifo中存储的数据帧的类型、错误标志和接收序列等信息;

③针对②中设计的8个fifo,按序设置fifo的优先级,如从高优先级到低优先级,或从低优先级到高优先级;按fifo优先级的高低为序存入接收数据识别子模块中接收到的数据帧,即当高优先级fifo中已存储数据帧,才会向低优先级fifo中写入数据帧;

④设计发送数据仲裁子模块,该子模块相当于一个多路复用模块,主要作用是将fc-3层逻辑模块中的登录/登出子模块和流控子模块,以及fc-4层逻辑模块中的网络控制器子模块和网络终端子模块的输出端口复用到gtpip核的一个输出端口上;

(3)设计fc-3层逻辑模块,具体实现如下:

①设计登录/登出子模块,完成fc协议中端口的显式和隐式登录/登出;

②设计流控子模块,完成数据帧收发过程中的信用计数功能,即针对fc-2层逻辑模块中设计的8个fifo,初始化信用值为8,每当接收到一个fc-ae-1553数据帧时,该信用值减1,反之则加1,当信用值为0时,接收方暂停接收数据帧、发送方暂停发送数据帧;

(4)设计fc-4层逻辑模块,具体实现如下:

①设计网络控制器子模块,完成fc-ae-1553协议中规定的网络控制器功能;

②设计网络终端子模块,完成fc-ae-1553协议中规定的网络终端功能;

③网络控制器子模块和网络终端子模块在接收或发送数据帧后,都会通知fc-3层逻辑模块中的流控子模块,使其能够对信用值进行增减。

综上所述,本发明公开了一种fc协议分层架构实现方法,包括设计fc-1层逻辑模块、fc-2层逻辑模块、fc-3层逻辑模块、fc-4层逻辑模块,能够在一定程度上以一种灵活可扩展的方式在fpga中设计实现fc协议分层架构,避免传统设计方法中存在的可扩展性、模块化性不强等不足。

本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1