APP下载

机载FC网络设备可编程逻辑远程升级方法研究

2020-08-13李斌武健

数码世界 2020年6期
关键词:升级

李斌 武健

摘要:本文提出一种FC网络设备可编程逻辑远程在线升级维护方法,通过在FC网络设备中增加代理逻辑和软件,由控制端基于自定义交互控制协议完成代理端FC设备可编程逻辑文件的固化存储。以Xilinx Virtex5 芯片为例的系统设计证明了本方法可行并且高效,一个控制端能控制相连的所有FC设备并行、快速地维护可编程逻辑,有效提高了系统维护效率,降低了维护成本。

关键词:FC网络 可编程逻辑 升级

引言

面向综合化模块化的航空电子系统通常采用分布式、开放体系架构,并通过高速光纤通道(FC, Fibre Channel)交换网络实现资源、信息共享和系统功能综合。机载FC网络系统由一组网络终端设备和网络交换设备构成,网络终端设备和网络交换设备统称为FC网络设备。其中,FC网络交换设备是FC交换网络系统的核心部件,所有FC网络终端设备通过物理链路与网络交换设备相连,网络终端设备作为机载系统传感、计算、作动等功能设备的通信接口为其提供通信服务。

通常情况下,为满足航空电子系统需求变化、功能升级或优化配置等要求,FC网络设备的主要功能采用现场可编程门阵列(FPGA, Field–Programmable Gate Array)實现。传统的FPGA升级维护采用JTAG接口连接FPGA将新逻辑烧写到PROM中完成,但是这种方式存在诸多不足,首先,操作不方便,在机载环境下,各种功能模块都被装进机箱里,如果需要对其中逻辑进行升级就必须拆开机箱取出模块,过程繁琐而且容易造成设备损坏;其次,编程速度慢,JTAG编程速度较慢,一般200T的逻辑即使在选择最高速率时仍然需要大于10分钟;不能并行操作,若要同时升级多个FC设备的可编程逻辑,则需要多个FPGA仿真器及相应的软件环境。由于以上原因,对于上百个节点机构成的FC网络,若采用JTAG接口升级其中所有FC设备逻辑,则非常耗时耗力。

本文提出一种远程升级FC设备可编程逻辑的方法,为FC设备逻辑升级提供除通过JTAG升级的另外一种途径,支持不拆卸硬件、快速、并行升级多个FC设备的可编程逻辑。

1 系统组成

为实现FC设备的可编程逻辑远程升级维护,构建如图 1所示的系统,该系统由一个控制端和相连的FC设备的代理端组成,代理端和控制端通过自定义的交互协议基于FC网络或者以太网完成交互。

2 代理端

代理端由代理逻辑和代理软件两部分组成。代理逻辑是在主要功能逻辑中增加的用于PROM访问控制的逻辑功能模块;代理软件作为FC设备驱动软件的一部分运行于嵌入式目标机上,它接收控制端发送的逻辑文件,并依据其控制指令实现逻辑文件编程。

2.1代理逻辑

如图 2所示为代理逻辑示意图。在FC网络设备的主要功能逻辑中增加PROM访问代理逻辑,两部分逻辑共用主机接口资源。代理逻辑包括部分主机接口逻辑和PROM控制接口逻辑,其中,主机接口可以是PCI/PCIe或者RapidIO等常用总线接口。代理逻辑用于执行代理软件下发的PROM读写操作。由于逻辑在运行时是并行进行的,所以加入代理逻辑不会对主要功能逻辑产生影响。

在代理软件访问PROM过程中,代理逻辑解析主机接口的命令,产生读或者写操作至PROM访问接口,并在特定的时间点上撤销命令结束操作。如果是读操作还需要在特定的时间点上锁存总线上的数据并传递给主机接口。PROM读写访问对各个信号跳变的时间有严格要求。为了保证正确的读写访问,设计必须满足其要求的时序。

2.2代理软件

代理软件运行于嵌入式目标机处理器上,与控制端软件通过网络进行信息交互,依据控制软件的命令完成PROM编程。

代理软件首先接收控制端发送的逻辑文件记录行,通过解析记录行获取有效数据和目标地址,然后调用相应的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,则为文件结束标识,编程结束。

f.其中,数据的写入地址由基地址和偏移两部分构成,04类型记录为当前基地址,00记录类型为当前偏移,由两部分相加即可得到实际的地址。另外,文件解析所得地址为字节地址,即其以字节为单位进行编址,而PROM地址以字(16位)为单位进行编址,因此需要注意字节地址和字地址的转换。

3 控制端

控制端是一个运行在PC机上的软件,具有图形化用户界面的软件,它通过FC网络或者以太网将逻辑(*.mcs)文件传输至代理端,并通过相应的交互协议控制代理端软件实现FC节点机FPGA逻辑远程升级。一个控制端能同时控制网络中所有FC目标设备进行可编程逻辑升级维护。

4 交互协议

控制端通过FC网络或者以太网将可编程逻辑文件传输至代理端。其处理流程如下。图 4所示为控制端与代理端之间的交互流程。

a.控制软件首先发起逻辑升级请求,请求中携带软件版本信息和编程密钥;

b.代理软件收到逻辑升级请求后,检查版本信息是否匹配,编程密钥是否正确,并将结果反馈至控制软件;

c.版本及密钥正确时控制软件启动编程,否则结束流程;

d.控制軟件读取待更新逻辑文件的第i行记录并发送至代理软件;

e.代理软件收到第i行记录后进入如图2所示的编程流程,并将结果反馈至控制端软件;

f.控制软件检查当前记录行编程结果,如果正确则转(d),i=i+1;否则显示错误信息,并退出;

g.当全部记录行编程结束后进入校验环节,控制端软件发送第i行记录校验请求;

h. 代理软件收到第i行校验请求后依据计算所得偏移地址和长度调用驱动接口读取已完成编程的数据,并将数据发送反馈至控制软件;

i. 控制软件收到第i行数据后与第i行记录文件进行数据比对,检查是否一致,比对正确时转步骤(g),否则显示错误信息并退出;

j.当全部记录行校验结束后,控制软件发送结束请求;

k.代理软件收到结束请求后,释放相应资源并回复应答;

l.逻辑升级结束。

5 结束语

提出一种远程升级FC网络设备可编程逻辑的方法,为FC网络设备逻辑升级提供除通过JTAG升级的另外一种途径。该方法无需拆卸硬件和额外的辅助工具,具有操作简单、编程速度快、可支持并行升级等优点。控制软件可同时控制全网络FC设备可编程逻辑升级,极大地提升了升级维护效率。

参考文献

[1]牛文生综合化航空电子系统对软件开发技术的挑战[J],航空计算技术,2008,38(1):1-6.

[2]Fibre Channel: Framing and Signaling[S]. New York: American National Standards Institute, 2003.

[3]孔璇,李斌.一种基于海明码的PROM文件系统软件校验方法[J],电脑知识与技术,2016,12(6):78-81.

猜你喜欢

升级
品牌全线升级
电脑报自营店冬季特惠购
字词升级
字词升级
字词升级
字词升级
字词升级
字词升级
怎样写好“一堂课”?
第九章 升级!我的宠物