CN105490857B - 一种fc网络设备逻辑远程升级系统 - Google Patents
一种fc网络设备逻辑远程升级系统 Download PDFInfo
- Publication number
- CN105490857B CN105490857B CN201510927498.0A CN201510927498A CN105490857B CN 105490857 B CN105490857 B CN 105490857B CN 201510927498 A CN201510927498 A CN 201510927498A CN 105490857 B CN105490857 B CN 105490857B
- Authority
- CN
- China
- Prior art keywords
- logic
- agent
- software
- network equipment
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种FC网络设备逻辑远程升级系统。该逻辑远程升级系统在FC网络设备上增加了逻辑功能模块,逻辑功能模块的内容包括主机接口逻辑和PROM控制接口逻辑;在嵌入式目标机上运行代理软件,用于接收PC机发送的逻辑文件和控制指令完成逻辑文件编程,通过所述逻辑功能模块产生读或者写操作至FC网络设备的PROM访问接口。本发明能够支持不拆卸硬件、快速、并行升级多个FC设备的FPGA逻辑。
Description
技术领域
本发明属于机载计算机通信技术,涉及一种实现FC网络设备FPGA逻辑远程升级的系统。
背景技术
在采用FPGA逻辑实现的FC网络设备中,若需要更新其逻辑,普遍做法是连接FPGA编程器通过JTAG接口将新逻辑烧写到PROM中,但是这种方式存在如下不足:
1、操作不方便。在机载环境下,各种功能模块都被装进机箱里,如果需要对其中逻辑进行升级就必须拆开机箱取出模块,过程繁琐而且容易造成设备损坏;
2、编程速度慢。JTAG编程速度较慢,一般200T的逻辑需要大约600秒;
3、不能并行操作。若要同时升级多个FC节点逻辑,则需要多个FPGA编程器件及相应的软件环境。
由于以上原因,对于上百个设备构成的FC网络,若采用JTAG接口升级其中所有FC网络设备的逻辑,则非常耗时耗力。
发明内容
本发明提供一种可远程升级FC网络设备逻辑的系统,为FC网络设备逻辑升级提供除通过JTAG升级的另外一种途径,能够支持不拆卸硬件、快速、并行升级多个FC节点的FPGA逻辑。
本发明的方案如下:
该FC网络设备逻辑远程升级系统,包括嵌入式目标机和基于FPGA实现的FC网络设备,其特征在于:还包括作为控制端的PC机,在所述FC网络设备上还设置有逻辑功能模块,逻辑功能模块的内容包括主机接口逻辑和PROM控制接口逻辑;所述嵌入式目标机上运行代理软件,用于接收PC机发送的逻辑文件和控制指令完成逻辑文件编程,通过所述逻辑功能模块产生读或者写操作至FC网络设备的PROM访问接口。
在以上方案的基础上,本发明还进一步作了如下优化:
逻辑功能模块与FC网络设备上原有的主功能逻辑模块共用主机接口。
一个嵌入式目标机对应于多个FC网络设备。
PC机通过FC网络或者以太网向嵌入式目标机发送逻辑文件和控制指令。
作为控制端的PC机同时向多个嵌入式目标机发送逻辑文件和控制指令。
本发明的优点:
1、操作简单。在具备网络的环境中,通过自研的控制软件即可实现FC网络设备FPGA逻辑的远程更新,无需拆卸硬件以及其它辅助工具和软硬件环境;
2、编程速度快。采用本发明升级200T的FPGA逻辑大约需要300秒,比通过JTAG编程节约一半时间;
3、支持多个节点同时并行升级。通过控制软件可同时进行全网络FC网络设备逻辑升级。对于100个节点组成的FC网络,若采用JTAG升级全部节点逻辑,则最短需要600秒*100=60000秒时间,若采用本发明则只需要300秒,工作效率提升了200倍。
附图说明
图1是系统示意图;
图2是代理逻辑框图;
图3是代理软件编程流程图;
图4是交互协议示意图。
具体实施方式
如图1所示,本发明的软件实现主要由代理端、控制端以及交互协议共同组成:
1、控制端是一个运行在PC机上的软件,具有图形化用户界面的软件,它通过FC网络或者以太网将逻辑(*.mcs)文件传输至代理端,并通过相应的交互协议控制代理端软件实现FC网络设备FPGA逻辑远程升级。一个控制端能同时控制网络中所有FC网络设备进行逻辑升级。
2、代理端由代理逻辑和代理软件两部分构成。代理逻辑是在主要功能逻辑中增加的用于PROM访问控制的逻辑功能模块;代理软件作为FC网络设备驱动软件的一部分运行于嵌入式目标机上,它接收控制端发送的逻辑文件,并依据其控制指令实现逻辑文件编程;
3、交互协议中定义了控制端和代理端信息交互格式和流程,包括建立连接、编程、校验、断开连接等步骤。
以下通过具体示例详细说明代理端、控制端以及交互协议。
一、控制端
控制端是一个具有图形化界面的软件,其处理流程如下:
a.发起建立远程逻辑升级连接请求;
b.等待代理端软件回复连接请求,若等待超时则转步骤(l),成功则转步骤(c);
c.读取逻辑文件的第i(初始时i=0)记录行,并通过网络发送至代理端,等待响应;
d.若编程结果返回成功,则刷新显示编程进度;若编程结果失败或等待响应超时,则转步骤(l);
e.检查全部记录行是否编程结束,若是则转步骤(f);否则转步骤(c),令i=i+1,即开始下一行记录编程;
f.发送第i(初始时i=0)行校验请求并等待响应;
g.校验响应成功转步骤(h),若失败或者超时则转步骤(l);
h.提取第i行记录校验响应中的有效数据,并与第i行记录进行比较,若相等则转步骤(i),若失败则转步骤(l);
i.检查是否全部记录行校验结束,若是则转步骤(j),否则转步骤(f),令i=i+1,即开始下一行记录校验;
j.发送断开连接请求,并等待响应;
k.若等待响应成功则提示逻辑升级成功;否则转步骤(l);
l.输出错误提示信息,并终止当前流程。
二、代理端
代理端由代理逻辑和代理软件两个部分构成。
a.代理逻辑
如图2所示为代理逻辑框图。在主要功能逻辑中增加PROM访问代理逻辑,两部分逻辑共用FC网络设备的接口资源。代理逻辑包括主机接口逻辑(PCI/PCIe或者RapidIO等)和PROM控制接口逻辑。代理逻辑用于执行代理软件下发的PROM读写操作。由于逻辑在运行时是并行进行的,所以加入代理逻辑不会对主要功能逻辑产生影响。
在代理软件访问PROM过程中,代理逻辑通过解析主机接口的命令,产生读或者写操作至PROM访问接口,并在特定的时间点上撤销命令结束操作。如果是读操作还需要在特定的时间点上锁存总线上的数据并传递给主机接口。PROM读写访问对各个信号跳变的时间有严格要求。为了保证正确的读写访问,设计必须满足其要求的时序。
b.代理软件
代理软件运行于嵌入式目标机CPU上,与控制软件通过网络进行信息交互,依据控制软件的命令完成PROM编程。代理软件首先接收控制端发送的逻辑文件(*.mcs)记录行,通过解析记录行获取有效数据和目标地址,然后调用相应的RPOM访问驱动接口,将有效数据写入目标地址,即可实现逻辑文件的更新。
与一般FLASH相似,对PROM的编程也遵循相应的命令序列。Virtex-5系列PROM手册中详细描述了PROM读、擦除、编程等功能的命令序列要求,依此可实现PROM的访问控制驱动接口,具体实现不再赘述。
记录行是指逻辑文件(*.mcs)中的一行记录,其数据格式分为32位和16位两种,16位格式支持20位段地址空间,32位支持32位线性地址空间。Virtex-5系列FPGA使用的是32位格式。每个记录(行)包括数据长度、数据类型、地址、有效数据以及校验和信息。
图3所示代理软件中PROM编程流程图,其步骤如下:
a.等待接收逻辑(*.mcs)文件的第i行记录;
b.依据文件格式定义解析第i行记录;
c.若记录类型为04,则更新基址,转步骤(a),等待接收下一行记录,(i=i+1);
d.若记录类型为00,则根据当前的基址计算地址,写入数据后进行行记录校验,转步骤(a),读取下一行记录,(i=i+1);
e.若类型为01,则为文件结束标识,编程结束。
其中,数据的写入地址由基地址和偏移两部分构成,04类型记录为当前基地址,00记录类型为当前偏移,由两部分相加即可得到实际的地址。另外,文件解析所得地址为字节地址,即其以字节为单位进行编址,而PROM地址以字(16位)为单位进行编址,因此需要注意字节地址和字地址的转换。
三、交互协议
如图4所示为FC网络设备逻辑远程升级方法中使用的全部信息交互过程。
a.控制软件首先发起逻辑升级请求,请求中携带软件版本信息和编程密钥;
b.代理软件收到逻辑升级请求后,检查版本信息是否匹配,编程密钥是否正确,并将结果反馈至控制软件;
c.版本及密钥正确时控制软件启动编程,否则结束流程;
d.控制软件读取待更新逻辑文件的第i行记录并发送至代理软件;
e.代理软件收到第i行记录后进入如图2所示的编程流程,并将结果反馈至控制端软件;
f.控制软件检查当前记录行编程结果,如果正确则转(d),i=i+1;否则显示错误信息,并退出;
g.当全部记录行编程结束后进入校验环节,控制端软件发送第i行记录校验请求;
h.代理软件收到第i行校验请求后依据计算所得偏移地址和长度调用驱动接口读取已完成编程的数据,并将数据发送反馈至控制软件;
i.控制软件收到第i行数据后与第i行记录文件进行数据比对,检查是否一致,比对正确时转步骤(g),否则显示错误信息并退出;
j.当全部记录行校验结束后,控制软件发送结束请求;
k.代理软件收到结束请求后,释放相应资源并回复应答;
l.逻辑升级结束。
Claims (4)
1.一种FC网络设备逻辑远程升级系统,包括嵌入式目标机和基于FPGA实现的FC网络设备,其特征在于:还包括控制端和代理端;
所述控制端实质为运行于PC机上的控制软件;
所述代理端由代理逻辑和代理软件两部分构成;其中:
所述代理逻辑与FC网络设备上原有的主功能逻辑共同设置于所述FC网络设备上,并共用FC网络设备的接口资源;代理逻辑包括主机接口逻辑和PROM控制接口逻辑;
所述代理软件运行于嵌入式目标机上,用于接收PC机发送的逻辑文件和控制指令完成逻辑文件编程,通过所述代理逻辑产生读或者写操作至FC网络设备的PROM访问接口;
所述控制端与代理端的信息交互按照以下步骤进行:
a.运行于PC机上的控制软件首先发起逻辑升级请求,请求中携带软件版本信息和编程密钥;
b.嵌入式目标机上的代理软件收到逻辑升级请求后,检查版本信息是否匹配,编程密钥是否正确,并将结果反馈至控制软件;
c.版本及密钥正确时控制软件启动编程,否则结束流程;
d.控制软件读取待更新逻辑文件的第i行记录并发送至代理软件;
e.代理软件收到第i行记录后进入编程流程,并将结果反馈至控制软件;
f.控制软件检查当前记录行编程结果,如果正确则转步骤d,i=i+1;否则显示错误信息,并退出;
g.当全部记录行编程结束后进入校验环节,控制软件发送第i行记录校验请求;
h.代理软件收到第i行校验请求后依据计算所得偏移地址和长度调用驱动接口读取已完成编程的数据,并将数据发送反馈至控制软件;
i.控制软件收到第i行数据后与第i行记录文件进行数据比对,检查是否一致,比对正确时转步骤g,i=i+1;否则显示错误信息并退出;
j.当全部记录行校验结束后,控制软件发送结束请求;
k.代理软件收到结束请求后,释放相应资源并回复应答;
l.逻辑升级结束。
2.根据权利要求1所述的FC网络设备逻辑远程升级系统,其特征在于:一个嵌入式目标机对应于多个FC网络设备。
3.根据权利要求1所述的FC网络设备逻辑远程升级系统,其特征在于:PC机通过FC网络或者以太网向嵌入式目标机发送逻辑文件和控制指令。
4.根据权利要求1所述的FC网络设备逻辑远程升级系统,其特征在于:作为控制端的PC机同时向多个嵌入式目标机发送逻辑文件和控制指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510927498.0A CN105490857B (zh) | 2015-12-11 | 2015-12-11 | 一种fc网络设备逻辑远程升级系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510927498.0A CN105490857B (zh) | 2015-12-11 | 2015-12-11 | 一种fc网络设备逻辑远程升级系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105490857A CN105490857A (zh) | 2016-04-13 |
CN105490857B true CN105490857B (zh) | 2019-05-28 |
Family
ID=55677600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510927498.0A Active CN105490857B (zh) | 2015-12-11 | 2015-12-11 | 一种fc网络设备逻辑远程升级系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105490857B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132811B (zh) * | 2017-12-15 | 2021-09-21 | 杭州迪普科技股份有限公司 | 一种fpga程序数据的加载方法及装置 |
CN112738662B (zh) * | 2020-12-25 | 2022-03-29 | 中航光电科技股份有限公司 | 一种基于fc交换网络的全网远程升级方法 |
CN112988202B (zh) * | 2021-04-27 | 2021-09-03 | 成都成电光信科技股份有限公司 | 一种fc模块升级的系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5789938A (en) * | 1996-09-04 | 1998-08-04 | Xilinx, Inc. | Structure and method for reading blocks of data from selectable points in a memory device |
US6326806B1 (en) * | 2000-03-29 | 2001-12-04 | Xilinx, Inc. | FPGA-based communications access point and system for reconfiguration |
US7269724B1 (en) * | 2003-01-30 | 2007-09-11 | Xilinx, Inc. | Remote field upgrading of programmable logic device configuration data via adapter connected to target memory socket |
CN102053850A (zh) * | 2010-12-17 | 2011-05-11 | 天津曙光计算机产业有限公司 | 一种在线升级fpga逻辑的方法 |
CN102129416A (zh) * | 2010-12-07 | 2011-07-20 | 中国航空工业集团公司第六三一研究所 | 一种数据通信命令表的配置存储系统及方法 |
CN202093503U (zh) * | 2010-12-17 | 2011-12-28 | 曙光信息产业股份有限公司 | 一种在线升级fpga逻辑的装置 |
CN102436385A (zh) * | 2011-11-15 | 2012-05-02 | 电子科技大学 | 一种可编程逻辑器件配置文件在线更新装置 |
CN102999350A (zh) * | 2012-10-24 | 2013-03-27 | 绵阳市维博电子有限责任公司 | 一种数字信号处理平台中fpga程序升级在线下载方法 |
-
2015
- 2015-12-11 CN CN201510927498.0A patent/CN105490857B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5789938A (en) * | 1996-09-04 | 1998-08-04 | Xilinx, Inc. | Structure and method for reading blocks of data from selectable points in a memory device |
US6326806B1 (en) * | 2000-03-29 | 2001-12-04 | Xilinx, Inc. | FPGA-based communications access point and system for reconfiguration |
US7269724B1 (en) * | 2003-01-30 | 2007-09-11 | Xilinx, Inc. | Remote field upgrading of programmable logic device configuration data via adapter connected to target memory socket |
CN102129416A (zh) * | 2010-12-07 | 2011-07-20 | 中国航空工业集团公司第六三一研究所 | 一种数据通信命令表的配置存储系统及方法 |
CN102053850A (zh) * | 2010-12-17 | 2011-05-11 | 天津曙光计算机产业有限公司 | 一种在线升级fpga逻辑的方法 |
CN202093503U (zh) * | 2010-12-17 | 2011-12-28 | 曙光信息产业股份有限公司 | 一种在线升级fpga逻辑的装置 |
CN102436385A (zh) * | 2011-11-15 | 2012-05-02 | 电子科技大学 | 一种可编程逻辑器件配置文件在线更新装置 |
CN102999350A (zh) * | 2012-10-24 | 2013-03-27 | 绵阳市维博电子有限责任公司 | 一种数字信号处理平台中fpga程序升级在线下载方法 |
Non-Patent Citations (2)
Title |
---|
《一种SRIO多接口互联系统的FPGA实现方法》;季雷 等;《电子技术》;20150625(第6期);第6-9页 |
《一种基于海明码的FLASH文件系统的校验编码方法》;黄莎莉 等;《长江工程职业技术学院学报》;20110331;第28卷(第1期);第32-34页 |
Also Published As
Publication number | Publication date |
---|---|
CN105490857A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107797846B (zh) | 一种Soc芯片验证方法 | |
US11726770B2 (en) | Method, device, and apparatus for updating application program, and storage medium | |
WO2018006789A1 (zh) | 一种参数校验方法和装置、以及网管服务器和计算机存储介质 | |
CN105490857B (zh) | 一种fc网络设备逻辑远程升级系统 | |
CN105653306B (zh) | 显示启动设置界面的方法和装置 | |
US10261880B1 (en) | Error generation using a computer add-in card | |
CN103838653A (zh) | 基于vmm ral的寄存器自动化验证方法 | |
CN104077166B (zh) | 基于fpga中ip核的epcs与epcq存储器在线升级方法 | |
CN110427326A (zh) | 基于Driver Master的固态硬盘密码测试方法和装置 | |
CN109669729A (zh) | 一种处理器的启动引导方法 | |
CN103150188A (zh) | 非x86指令集计算机的x86兼容显卡快速初始化方法 | |
CN104731635A (zh) | 一种虚拟机访问控制方法,及虚拟机访问控制系统 | |
US20210232486A1 (en) | Synthesizing printf and scanf statements for generating debug messages in high-level synthesis (hls) code | |
CN109597653A (zh) | Bios与bmc命令交互的方法、bios及bmc | |
CN110389711A (zh) | 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品 | |
CN109086168A (zh) | 一种利用硬件备份固态硬盘写速度的方法及其系统 | |
CN116681013A (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
CN105634635B (zh) | 一种共享rtc的方法、装置和系统 | |
WO2024113680A1 (zh) | 固件交互方法、装置、服务器和存储介质 | |
US20080288233A1 (en) | Simulator and simulation method | |
US20050256998A1 (en) | Bus bridge device | |
CN113656301A (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN105589710A (zh) | 一种远程升级方法及系统 | |
CN116700751A (zh) | 一种服务器固件的升级方法及计算设备 | |
CN106445592A (zh) | 一种基于wifi与can总线远程多机程序升级方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |