光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备与流程

文档序号:14175030阅读:468来源:国知局
光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备与流程

本发明涉及光纤总线技术领域,具体地涉及一种光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备。



背景技术:

光纤通道总线技术已经广泛应用于军工领域,随着光纤通道节点卡的普遍使用,会有更多实际应用需求增加,不论是在研制阶段还是量产阶段,都会根据系统应用的需求修改或增加相关功能,功能更新及维护就必然要进行逻辑程序升级与管理。

目前对于逻辑程序升级与管理的维护管理还是通过jtag(jointtestactiongroup,联合测试工作组)线,以及在对其操作的过程中必须要将光纤通道节点卡从设备中拆卸出来,而军工装备各分系统设备在机械安装方面都有非常严格的要求和标准,拆卸安装过程中稍微不注意就会造成损伤,且装备产品交付后不具备开盖重复烧录程序的条件;以及,根据型号研制要求,装备设备在完成系统匹配试验和综合试验后禁止拆卸维修,因为设备拆卸后,状态遭到破坏,前期进行的各项试验需要重新评估,影响到型号研制进度,这些客观原因给逻辑程序的管理带来了不少麻烦。

因此,一种针对光纤通道节点卡的逻辑程序的升级及管理的便捷、有效的解决方案是目前光纤总线业界的热门研究方向。



技术实现要素:

本发明实施例的目的是提供一种光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备,用以至少解决上述之一的技术问题。

为了实现上述目的,本发明实施例提供一种光纤通道总线设备,包括:命令接收单元,用于接收升级命令;升级文件获取单元,用于根据所述升级命令,获取升级逻辑文件;总线命令生成单元,用于生成spi总线操作命令;光纤通道节点卡,包括所述fpga和所述flash芯片,以及所述fpga经由spi总线连接至flash芯片;其中,所述fpga用于执行所述spi总线操作命令,以将所述升级逻辑文件写入flash芯片。

具体的,所述flash芯片的时钟引脚连接至所述fpga的专用cclk和第一gpio管脚,所述第一gpio管脚为高阻态;以及所述fpga用于基于所述spi总线操作命令,使用第二gpio管脚作为所述flash芯片的时钟,将所述升级逻辑文件写入所述flash芯片。

可选的,该光纤通道总线设备还包括:读取单元,用于在完成将所述升级逻辑文件写入所述flash芯片之后,从所述flash芯片读取逻辑文件;匹配单元,用于将所读取的所述逻辑文件与所述主机内存中所存储的所述升级逻辑文件进行匹配;以及确认单元,用于当所述匹配结果为通过时,确定成功升级所述逻辑程序。

可选的,该光纤通道总线设备还包括:寄存器,连接至所述fpga,用于缓存逻辑文件和所述spi总线操作命令;以及所述fpga用于读取所述寄存器,以执行所述spi总线操作命令,将所述升级逻辑文件写入flash芯片。

可选的,所述升级文件获取单元包括:api函数调用模块,用于基于所述升级命令,调用具有逻辑管理功能的api函数;升级文件获取模块,用于基于所述api函数,从服务器获取升级逻辑文件。

本发明实施例另一方面提供一种光纤通道节点卡的逻辑程序的在线升级方法,该方法应用于光纤通道总线设备,该方法包括:接收升级命令;根据所述升级命令,获取升级逻辑文件;生成spi总线操作命令;fpga执行所述spi总线操作命令,以将所述升级逻辑文件写入flash芯片,其中所述光纤通道节点卡包括所述fpga和所述flash芯片,以及所述fpga经由spi总线连接至flash芯片。

具体的,所述flash芯片的时钟引脚连接至所述fpga的专用cclk和第一gpio管脚,所述第一gpio管脚为高阻态,其中所述fpga执行所述spi总线操作命令,以将所述升级逻辑文件写入所述flash芯片包括:基于所述spi总线操作命令,所述fpga使用第二gpio管脚作为所述flash芯片的时钟,将所述升级逻辑文件写入所述flash芯片。

可选的,在完成将所述升级逻辑文件写入所述flash芯片之后,所述方法还包括:从所述flash芯片读取逻辑文件;将所读取的所述逻辑文件与所述主机内存中所存储的所述升级逻辑文件进行匹配;以及当所述匹配结果为通过时,确定成功升级所述逻辑程序。

可选的,所述flash芯片还与寄存器相连接,所述fpga执行所述spi总线操作命令,以将所述升级逻辑文件写入flash芯片包括:所述寄存器缓存逻辑文件和所述spi总线操作命令;所述fpga读取所述寄存器,以执行所述spi总线操作命令,将所述升级逻辑文件写入flash芯片。

可选的,所述根据所述升级命令,获取升级逻辑文件包括:基于所述升级命令,调用具有逻辑管理功能的api函数;基于所述api函数,从服务器获取升级逻辑文件。

通过上述技术方案,原创性地在光纤通道总线设备的硬件存储单元与逻辑程序之间搭建了一个通道,使得可以基于升级命令直接对硬件存储单元的读写,将升级逻辑文件通过上位机操作直接写入flash芯片,而不是通过硬件jtag线进行烧录。由此,可以不需要对设备进行拆卸,不通过jtag,就能较方便低管理光纤通道总线设备(例如军工设备)的逻辑程序的升级与管理。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是应用本发明一实施例的光纤通道节点卡的逻辑程序升级方法的架构示意图;

图2是本发明一实施例的光纤通道节点卡的逻辑程序升级系统的工作原理图;

图3是本发明一实施例的光纤通道总线设备的结构框图;

图4是本发明一实施例的光纤通道节点卡的逻辑程序升级方法的流程图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

参见图1示出的是应用本发明一实施例的光纤通道节点卡的逻辑程序升级方法的架构示意图,在对光纤通道总线设备的光纤通道节点卡的逻辑程序升级的过程,服务器20发送升级逻辑文件至光纤通道总线设备10,光纤通道总线设备具有上位机系统101和光纤通道节点卡102;以及,在应用本发明实施例时,实现了对光纤通道节点卡102的逻辑程序的在线升级,而不需要将光纤通道节点卡102从设备中拆除,操作方便、高效。关于服务器20的通信类型可以不作限定,例如其可以是ftp服务器,也可以是其他类型的服务器,在此不作限定。

参见图2示出的是本发明一实施例的光纤通道节点卡的逻辑程序升级系统的工作原理图,其中上位机101基于软件调用具有逻辑管理功能的api接口函数,该函数内部通过文件传输ftp服务将升级逻辑文件的内容读取到主机内存;然后,上位机101在驱动上构造spi总线操作命令通过pcie送给光纤通道节点卡102的fpga1021;fpga1021把操作命令送到spi总线执行,实现把升级逻辑程序文件的内容写入到flash芯片1022中。由此,在不拆除光纤通道节点卡102的情况下,同样也实现了对光纤通道节点卡102内的逻辑的升级与管理。

优选地,在升级逻辑程序文件写入成功后,再读取文件内容,并将所读取的内容与写入的升级逻辑程序文件的内容进行校验匹配,确保文件的正确性,将校验结果告知上位机101。具体地,在整个流程中,若有任何错误,fpga1021都会向上位机101返回对应操作的错误码。由此,保障所写入的逻辑程序文件的有效性和可靠性。

参见图3示出的是本发明一实施例的光纤通道总线设备10的结构框图,其包括上位机系统101和光纤通道节点卡102,其中上位机系统101包括命令接收单元1011、升级文件获取单元1012和总线命令生成单元1013,以及在光纤通道节点卡102中包括fpga1021和flash芯片1022,fpga1021经由spi总线连接至flash芯片1022。其中,基于命令接收单元1011,可以接收升级命令,例如接收自用户所触发的升级命令;基于升级文件获取单元1012,可以根据所述升级命令,获取升级逻辑文件;之后,总线命令生成单元会生成spi总线操作命令。相应地,所述fpga可以执行所述spi总线操作命令,以将所述升级逻辑文件写入flash芯片。

需说明的是,当前光纤通道节点卡102的逻辑升级是通过jtag接口,故fpga对flash的配置管脚为专用的管脚,其只能与fpga交互。但是,在本发明实施例中,在线升级需要系统通过专用的引脚来配置flash进行读写操作,硬件就需要重新在flash与fpga之间接一个管脚,同时还要兼容原有jtag的方式。所以,光纤通道节点卡102的硬件设计要实现逻辑在线升级功能需要解决的问题就是能提供flash配置接口并提供相应的时钟供系统使用。

相应地,在本实施例中公开了如下解决策略:配置flash的时钟引脚同时连接到fpga1021的专用cclk和另外一个gpio管脚(如a),在pfga管脚约束时,将这个配置flash芯片1022的gpio管脚(a)约束为高阻态,这样fpga1021在上电配置过程中,不会受到a管脚的影响。当需要使用在线升级时,这个专用管脚a处于高阻态,fpga内部逻辑直接使用另外一个gpio管脚作(如b)为flash的时钟,由此完成flash的在线升级。

在本实施例中,升级逻辑文件是存放在flash芯片1022中的,支持逻辑综合管理的功能fpga需要为上层机系统101与硬件flash1022建立一个通信渠道,即上层机系统通过pcie与fpga1021通信,在fpga上外挂flash1022,用来存放fpga1021的相关文件。具体的,上位机系统101将要升级的文件以byte为单位通过pcie传给fpga1021,fpga1021将接收到的数据通过spi接口写入flash1022;在写入完成后,上位机系统101向fpga1021发送以byte为单位的读flash请求,fpga1021接收到请求后通过spi接口读取flash芯片1022,将读取的8bit数据返还给系统,以供系统对数据进行校验。

在一种实施方式中,上位机系统1021通过配置与fpga相关的寄存器(未示出)来实现对flash芯片1022的写入和读取。在写入时,系统将要写入的逻辑文件、片选信号和写请求信号通过pcie写入fpga1022的寄存器,由fpga1022执行操作;读取时,上位机系统将读请求信号和片选信号通过pcie写入该寄存器中。

在上位机系统设计方面,包含对上位机的软件设计方面和系统架构设计方面。

其中,为了支持逻辑在线升级功能,可以是软件设计配合处理器执行来实现的,以令其作为升级命令的发起者和校验者,以使得可以是基于软件与处理器配合对整个功能进行相关操作的配置。首先,接收用户操作,发起写的命令,结合驱动提供一个api函数,该api函数可以被调用通过ftp协议从远程的ftp服务器获取到fpga逻辑文件,并在检查格式正确性后,再通过pcie总线,将fpga逻辑烧写到flash芯片1022中;另外,基于软件与处理器,还可以发起读的命令,fpga1021将flash芯片1022中的数据读取出来,通过pcie总线传送至上位机系统101;最后,由上位机系统101对写下去的数据与读上来的数据进行对比,确保逻辑文件的正确性。由此,基于软件设计与处理器配合,自动完成函数调用、逻辑升级等一系列处理,简化在线升级操作性,更方便了用户使用。

在本实施例的上位机系统架构设计方面,本方案是采用外部搭建(基于ftp/tftp/arinc615a等协议的)服务器的方式加载逻辑文件,该方式适用于系统模块具备以太网接口的系统,是一种高效的解决方案。其可以是在系统中预留一个接口,以加载传输协议将待升级的升级逻辑文件通过网络传输到各个光纤通道终端,支持逻辑在线升级功能的光纤通道节点卡以同样的方式将逻辑文件写入flash芯片,从而实现逻辑在线升级功能。另外,需说明的是,系统采用何种加载传输方式,可以根据具体的情况来确定,并由系统实现,只要光纤通道节点卡已经提供了相应的接口及配置flash通道,不论系统采用何种加载传输方式都可以实现逻辑在线升级功能。

参见图4示出的是本发明一实施例的光纤通道节点卡的逻辑程序升级方法的流程图,该方法应用于光纤通道总线设备,该方法包括:

s401,接收升级命令;

s402,根据所述升级命令,获取升级逻辑文件;

s403,生成spi总线操作命令;

s404,fpga执行spi总线操作命令,以将升级逻辑文件写入flash芯片,其中光纤通道节点卡包括fpga和flash芯片,以及fpga经由spi总线连接至flash芯片。

在一些实施方式中,所述flash芯片的时钟引脚连接至所述fpga的专用cclk和第一gpio管脚,所述第一gpio管脚为高阻态,其中所述fpga执行所述spi总线操作命令,以将所述升级逻辑文件写入所述flash芯片包括:基于所述spi总线操作命令,所述fpga使用第二gpio管脚作为所述flash芯片的时钟,将所述升级逻辑文件写入所述flash芯片。

在一些实施方式中,在完成将所述升级逻辑文件写入所述flash芯片之后,所述方法还包括:从所述flash芯片读取逻辑文件;将所读取的所述逻辑文件与所述主机内存中所存储的所述升级逻辑文件进行匹配;以及当所述匹配结果为通过时,确定成功升级所述逻辑程序。

在一些实施方式中,所述flash芯片还与寄存器相连接,所述fpga执行所述spi总线操作命令,以将所述升级逻辑文件写入flash芯片包括:所述寄存器缓存逻辑文件和所述spi总线操作命令;所述fpga读取所述寄存器,以执行所述spi总线操作命令,将所述升级逻辑文件写入flash芯片。

在一些实施方式中,所述根据所述升级命令,获取升级逻辑文件包括:基于所述升级命令,调用具有逻辑管理功能的api函数;基于所述api函数,从服务器获取升级逻辑文件。

关于本方法实施例更多的细节和效果,可以参照上文关于装置实施例的描述,在此便不加赘述。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

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