一种fc网络设备逻辑远程升级系统的制作方法

文档序号:9730003阅读:261来源:国知局
一种fc网络设备逻辑远程升级系统的制作方法
【技术领域】
[0001]本发明属于机载计算机通信技术,涉及一种实现FC网络设备FPGA逻辑远程升级的系统。
【背景技术】
[0002]在采用FPGA逻辑实现的FC网络设备中,若需要更新其逻辑,普遍做法是连接FPGA编程器通过JTAG接口将新逻辑烧写到PR0M中,但是这种方式存在如下不足:
[0003]1、操作不方便。在机载环境下,各种功能模块都被装进机箱里,如果需要对其中逻辑进行升级就必须拆开机箱取出模块,过程繁琐而且容易造成设备损坏;
[0004]2、编程速度慢。JTAG编程速度较慢,一般200T的逻辑需要大约600秒;
[0005]3、不能并行操作。若要同时升级多个FC节点逻辑,则需要多个FPGA编程器件及相应的软件环境。
[0006]由于以上原因,对于上百个设备构成的FC网络,若采用JTAG接口升级其中所有FC网络设备的逻辑,则非常耗时耗力。

【发明内容】

[0007]本发明提供一种可远程升级FC网络设备逻辑的系统,为FC网络设备逻辑升级提供除通过JTAG升级的另外一种途径,能够支持不拆卸硬件、快速、并行升级多个FC节点的FPGA逻辑。
[0008]本发明的方案如下:
[0009]该FC网络设备逻辑远程升级系统,包括嵌入式目标机和基于FPGA实现的FC网络设备,其特征在于:还包括作为控制端的PC机,在所述FC网络设备上还设置有逻辑功能模块,逻辑功能模块的内容包括主机接口逻辑和PR0M控制接口逻辑;所述嵌入式目标机上运行代理软件,用于接收PC机发送的逻辑文件和控制指令完成逻辑文件编程,通过所述逻辑功能模块产生读或者写操作至FC网络设备的PR0M访问接口。
[0010]在以上方案的基础上,本发明还进一步作了如下优化:
[0011]逻辑功能模块与FC网络设备上原有的主功能逻辑模块共用主机接口。
[0012]一个嵌入式目标机对应于多个FC网络设备。
[0013]PC机通过FC网络或者以太网向嵌入式目标机发送逻辑文件和控制指令。
[0014]作为控制端的PC机同时向多个嵌入式目标机发送逻辑文件和控制指令。
[0015]本发明的优点:
[0016]1、操作简单。在具备网络的环境中,通过自研的控制软件即可实现FC网络设备FPGA逻辑的远程更新,无需拆卸硬件以及其它辅助工具和软硬件环境;
[0017]2、编程速度快。采用本发明升级200T的FPGA逻辑大约需要300秒,比通过JTAG编程节约一半时间;
[0018]3、支持多个节点同时并行升级。通过控制软件可同时进行全网络FC网络设备逻辑升级。对于100个节点组成的FC网络,若采用JTAG升级全部节点逻辑,则最短需要600秒*100= 60000秒时间,若采用本发明则只需要300秒,工作效率提升了200倍。
【附图说明】
[0019]图1是系统不意图;
[0020]图2是代理逻辑框图;
[0021 ]图3是代理软件编程流程图;
[0022]图4是交互协议示意图。
【具体实施方式】
[0023]如图1所示,本发明的软件实现主要由代理端、控制端以及交互协议共同组成:
[0024]1、控制端是一个运行在PC机上的软件,具有图形化用户界面的软件,它通过FC网络或者以太网将逻辑(*.mcs)文件传输至代理端,并通过相应的交互协议控制代理端软件实现FC网络设备FPGA逻辑远程升级。一个控制端能同时控制网络中所有FC网络设备进行逻辑升级。
[0025]2、代理端由代理逻辑和代理软件两部分构成。代理逻辑是在主要功能逻辑中增加的用于PR0M访问控制的逻辑功能模块;代理软件作为FC网络设备驱动软件的一部分运行于嵌入式目标机上,它接收控制端发送的逻辑文件,并依据其控制指令实现逻辑文件编程;
[0026]3、交互协议中定义了控制端和代理端信息交互格式和流程,包括建立连接、编程、校验、断开连接等步骤。
[0027]以下通过具体示例详细说明代理端、控制端以及交互协议。
[0028]一、控制端
[0029]控制端是一个具有图形化界面的软件,其处理流程如下:
[0030]a.发起建立远程逻辑升级连接请求;
[0031]b.等待代理端软件回复连接请求,若等待超时则转步骤(1),成功则转步骤(c);
[0032]c.读取逻辑文件的第i (初始时i = 0)记录行,并通过网络发送至代理端,等待响应;
[0033]d.若编程结果返回成功,则刷新显示编程进度;若编程结果失败或等待响应超时,则转步骤(1);
[0034]e.检查全部记录行是否编程结束,若是则转步骤(f);否则转步骤(c),令i = i+l,即开始下一行记录编程;
[0035]f.发送第i(初始时i = 0)行校验请求并等待响应;
[0036]g.校验响应成功转步骤(h),若失败或者超时则转步骤(1);
[0037]h.提取第i行记录校验响应中的有效数据,并与第i行记录进行比较,若相等则转步骤(i),若失败则转步骤(1);
[0038]1.检查是否全部记录行校验结束,若是则转步骤(j),否则转步骤(f),令i = i+l,即开始下一行记录校验;
[0039]j.发送断开连接请求,并等待响应;
[0040]k.若等待响应成功则提示逻辑升级成功;否则转步骤(1);[0041 ] 1.输出错误提示信息,并终止当前流程。
[0042]二、代理端
[0043]代理端由代理逻辑和代理软件两个部分构成。
[0044]a.代理逻辑
[0045]如图2所示为代理逻辑框图。在主要功能逻辑中增加PR0M访问代理逻辑,两部分逻辑共用FC网络设备的接口资源。代理逻辑包括主机接口逻辑(PCI/PCIe或者Rapid1等)和PR0M控制接口逻辑。代理逻辑用于执行代理软件下发的PR0M读写操作。由于逻辑在运行时是并行进行的,所以加入代理逻辑不会对主要功能逻辑产生影响。
[0046]在代理软件访问PR0M过程中,代理逻辑通过解析主机接口的命令,产生读或者写操作至PR0M访问接口,并在特定的时间点上撤销命令结束操作。如果是读操作还需要在特定的时间点上锁存总线上的数据并传递给主机接口。PR0M读写访问对各个信号跳变的时间有严格要求。为了保证正确的读写访问,设计必须满足其要求的时序。
[0047]b.代理软件
[0048]代理软件运行于嵌入式目标机CPU上,与控制软件通过网络进行信息交互,依据控制软件的命令完成PR0M编程。代理软件首先接收控制端发送的逻辑文件(*.mcs)记录行,通过解析记录行获取有效数据和目标地址,然后调用相应的RP0M访问驱动接口,将有效数据写入目标地址,即可实现逻辑文件的更新。
[0049]与一般FLASH相似,对PR0M的编程也遵循相应的命令序列。Virtex-5系列PR0M手册中详细描述了 PR0M读、擦除、编程等功能的命令序列要求,依此可实现PR0M的访问控制驱动接口,具体实现不再赘述。
[0050]记录行是指逻辑文件(*.mcs)中的一行记录,其数据格式分为32位和16位两种,16位格式支持20位段地址空间,32位支持32位线性地址空间。Virtex-5系列FPGA使用的是32位格式。每个记录(行)包括数据长度、数据类型、地址、有效数据以及校验和信息。
[0051 ]图3所示代理软件中PR0M编程流程图,其步骤如下:
[0052]a.等待接收逻辑(*.mcs)文件的第i行记录;
[0053]b.依据文件格式定义解析第i行记录;
[0054]c.若记录类型为04,则更新基址,转步骤(a),等待接收下一行记录,(i = i+l);
[0055]d.若记录类型为00,则根据当前的基址计算地址,写入数据后进行行记录校验,转步骤(a),读取下一行记录,(i = i+l);
[0056]e.若类型为01,则为文件结束标识,编程结束。
[0057]其中,数据的写入地址由基地址和偏移两部分构成,04类型记录为当前基地址,00记录类型为当前偏移,由两部分相加即可得到实际的地址。另外,文件解析所得地址为字节地址,即其以字节为单位进行编址,而PR0M地址以字(16位)为单位进行编址,因此需要注意字节地址和字地址的转换。
[0058]三、交互协议
[0059]如图4所示为FC网络设备逻辑远程升级方法中使用的全部信息交互过程。
[0060]a.控制软件首先发起逻辑升级请求,请求中携带软件版本信息和编程密钥;
[0061 ] b.代理软件收到逻辑升级请求后,检查版本信息是否匹配,编程密钥是否正确,并将结果反馈至控制软件;
[0062]c.版本及密钥正确时控制软件启动编程,否则结束流程;
[0063]d.控制软件读取待更新逻辑文件的第i行记录并发送至代理软件;
[0064]e.代理软件收到第i行记录后进入如图2所示的编程流程,并将结果反馈至控制端软件;
[0065]f.控制软件检查当前记录行编程结果,如果正确则转(d),i = i + l;否则显示错误信息,并退出;
[0066]g.当全部记录行编程结束后进入校验环节,控制端软件发送第i行记录校验请求;
[0067]h.代理软件收到第i行校验请求后依据计算所得偏移地址和长度调用驱动接口读取已完成编程的数据,并将数据发送反馈至控制软件;
[0068]1.控制软件收到第i行数据后与第i行记录文件进行数据比对,检查是否一致,比对正确时转步骤(g),否则显示错误信息并退出;
[0069]j.当全部记录行校验结束后,控制软件发送结束请求;
[0070]k.代理软件收到结束请求后,释放相应资源并回复应答;
[0071]1.逻辑升级结束。
【主权项】
1.一种FC网络设备逻辑远程升级系统,包括嵌入式目标机和基于FPGA实现的FC网络设备,其特征在于:还包括作为控制端的PC机,在所述FC网络设备上还设置有逻辑功能模块,逻辑功能模块的内容包括主机接口逻辑和PROM控制接口逻辑;所述嵌入式目标机上运行代理软件,用于接收PC机发送的逻辑文件和控制指令完成逻辑文件编程,通过所述逻辑功能模块产生读或者写操作至FC网络设备的PROM访问接口。2.根据权利要求1所述的FC网络设备逻辑远程升级系统,其特征在于:所述逻辑功能模块与FC网络设备上原有的主功能逻辑模块共用主机接口。3.根据权利要求2所述的FC网络设备逻辑远程升级系统,其特征在于:一个嵌入式目标机对应于多个FC网络设备。4.根据权利要求1所述的FC网络设备逻辑远程升级系统,其特征在于:PC机通过FC网络或者以太网向嵌入式目标机发送逻辑文件和控制指令。5.根据权利要求1所述的FC网络设备逻辑远程升级系统,其特征在于:作为控制端的PC机同时向多个嵌入式目标机发送逻辑文件和控制指令。
【专利摘要】本发明提供一种FC网络设备逻辑远程升级系统。该逻辑远程升级系统在FC网络设备上增加了逻辑功能模块,逻辑功能模块的内容包括主机接口逻辑和PROM控制接口逻辑;在嵌入式目标机上运行代理软件,用于接收PC机发送的逻辑文件和控制指令完成逻辑文件编程,通过所述逻辑功能模块产生读或者写操作至FC网络设备的PROM访问接口。本发明能够支持不拆卸硬件、快速、并行升级多个FC设备的FPGA逻辑。
【IPC分类】H04L12/24
【公开号】CN105490857
【申请号】CN201510927498
【发明人】李斌, 王晓华, 袁晓军, 季雷, 蒲恺, 李健, 孔璇
【申请人】中国航空工业集团公司西安航空计算技术研究所
【公开日】2016年4月13日
【申请日】2015年12月11日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1