一种FPGA在轨动态可重构方法与流程

文档序号:19376620发布日期:2019-12-10 23:56阅读:367来源:国知局
一种FPGA在轨动态可重构方法与流程

本发明涉及一种fpga在轨动态可重构方法,属于空间飞行器有效载荷设计领域。



背景技术:

传统星载信号处理fpga的配置文件存储在反熔丝型prom中,具备一次烧写特性,即星载设备在轨运行后,无法对其功能进行更新,prom故障时,无法恢复信号处理fpga的功能。随着在轨运行航天器数目的增多,空间环境日益复杂,对星载设备的可靠性提出了更高的要求。基于以上考虑,fpga在轨动态可重构的需求迫在眉睫,并具有重要的国家战略意义。

为了节省硬件成本,希望通过软件的更新来实现卫星在轨功能维护、扩展或更新。通过软件升级,对既有功能进行完善,或者提高其性能、修复其故障。卫星有效载荷工作在复杂多变、环境恶劣的空间环境中,星载电子设备容易受到单粒子翻转及单粒子功能中断等空间环境的影响而使功能失效。在轨动态可重构技术可以通过重新配置信号处理fpga实现星载电子设备功能的恢复或更新,提高了星载电子设备的可靠性。目前还没有fpga在轨动态可重构的应用。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供一种fpga在轨动态可重构方法。

本发明的技术解决方案是:

一种fpga在轨动态可重构方法,包括如下步骤:

(1)地面向星载设备发送加电指令,所述星载设备上包括信号处理fpga、配置fpga和三片并行flash芯片;

(2)功能切换时,地面向配置fpga发送配置指令,所述配置指令指明配置静态存储区第几份配置文件,转步骤(8);功能更新时,地面向配置fpga发送擦除指令,指明擦除动态存储区第几份,进入步骤(3);

(3)擦除完成后,地面向配置fpga发送写指令;

(4)配置fpga接收到写指令后,向地面返回一条写指令,完成握手;

(5)地面接收到握手信息后,向配置fpga发送配置文件;

(6)配置文件写完成后,配置fpga向地面返回写完成消息;

(7)地面接收到写完成消息后,向配置fpga发送读指令;

(8)接收到读指令后,配置fpga根据配置文件开始配置信号处理fpga;

(9)配置完成后,判断信号处理fpga是否工作正常,若工作正常,启动定时监测与sefi检测流程;若工作异常,进入步骤(10);

(10)判断重配置次数是否达到阈值,若达到阈值,则星载设备工作异常;若没有达到域值,则进行重配置。

每片并行flash芯片可以存储若干份配置文件,三个并行flash芯片实现硬件三模冗余的功能。

每片flash芯片存储区域分为两部分,一部分在卫星发射前存储配置文件,称为静态存储区,另一部分在卫星发射后,由地面上注配置文件,称为动态存储区;静态存储区和动态存储区均可存储若干份配置文件。

所述步骤(5)中,地面向配置fpga发送配置文件后,配置fpga将所述配置文件写入三片并行flash芯片。

所述配置fpga包括工作流程控制模块、flash控制模块、信号处理fpga配置模块和复位模块;

复位模块:产生配置fpga各模块需要的复位信号,保证配置fpga在加电运行时定义的信号及变量有固定的初始值;

工作流程控制模块:根据接收到的遥控指令,向flash控制模块发送擦除、写或者读指令,以及相应的起始地址;工作流程控制模块定时监测信号处理fpga的done信号,若异常,则重新配置信号处理fpga;工作流程控制模块定时回读信号处理fpga的状态信号寄存器,若校验错误达到连续3次时,重新配置信号处理fpga;

flash控制模块:控制并行flash芯片的擦除、写或读操作,并将读出的配置数据输出给信号处理fpga配置模块;

信号处理fpga配置模块:对信号处理fpga进行配置。

所述步骤(8)中,配置fpga配置信号处理fpga时,配置fpga同时读取三片flash中的数据,进行三模比对,如果三片flash数据均一致,则选取第一片flash中的数据输出给信号处理fpga;如果两片flash数据一致,则将该两片flash中任意一片的数据输出给信号处理fpga;如果三片flash数据均不一致,则选取第一片flash中的数据输出给信号处理fpga。

定时监测流程如下:

(d1)定时检测信号处理fpga是否工作正常,工作异常时进入步骤(d2);

(d2)若工作异常,判断重配置次数是否达到阈值,若没有达到阈值,重配置信号处理fpga;若达到阈值,判定星载设备工作异常。

sefi检测流程如下:

(s1)配置fpga定时读取信号处理fpga的帧地址寄存器和状态寄存器的值;

(s2)配置fpga将回读的值与校验值进行比对;

(s3)若回读的值与校验值不一致,判断连续不一致次数是否达到阈值,若达到阈值,判定为单粒子功能中断,配置fpga重新配置信号处理fpga;若没有达到阈值,返回步骤(s1),继续检测。

信号处理fpga的sefi现象通过信号处理fpga内部的配置控制寄存器以及部分配置状态信号表现,通过检测配置控制寄存器及配置状态信号能够实现对sefi的检测。

与现有技术相比,本发明具有如下有益效果:

(1)本发明实现了卫星功能的在轨切换与在轨功能更新,使得一个硬件平台可以实现多种功能,避免了硬件重复开发,节省了人力、物力、财力,此外,当星载电子设备受到空间环境辐照或单粒子翻转的影响发生故障不能正常工作时,地面可以向配置fpga发送重新配置指令,恢复信号处理fpga的功能,延长了星载电子设备的使用寿命。

(2)配置信号处理fpga时,配置fpga同时读取三片flash中的数据,进行三模比对后,输出给信号处理fpga,提高了配置成功率。

附图说明

图1为fpga在轨动态可重构方法流程图;

图2为定时监测流程;

图3为sefi检测流程;

图4为fpga在轨动态可重构硬件设计框图;

图5为配置fpga软件功能模块方框图。

具体实施方式

fpga在轨动态可重构硬件设计框图如图4所示。星载设备上包括配置fpga、信号处理fpga和三片并行flash芯片。配置文件存储在并行flash芯片中,每个并行flash芯片可以存储若干份配置文件,三个并行flash芯片实现硬件三模冗余的功能。flash芯片存储区域分为两部分,一部分在卫星发射前存储配置文件,称为静态存储区,另一部分在卫星发射后,由地面上注配置文件,称为动态存储区。静态存储区和动态存储区均可存储若干份配置文件。配置fpga(反熔丝fpga)接收地面发送的可重构指令执行相应的功能。可重构指令有两类:(1)指明配置文件序号,反熔丝fpga将对应的配置文件从flash芯片中读出,并配置给信号处理fpga。(2)首先发送擦除指令,擦除相应的动态存储区,其次发送写指令,并上注配置文件,最后发送读指令,将地面上注的配置文件配置给信号处理fpga。配置fpga定时监测信号处理fpga的工作状态,若异常,则重新配置。

配置fpga充当单粒子效应防护的控制单元,其可靠性要求较高,通过选择对单粒子效应不敏感的fpga器件,能够满足其可靠性要求。信号处理fpga的sefi(singleeventfunctioninterrupt,单粒子功能中断)现象可通过其内部的配置控制寄存器以及一部分配置状态信号表现出来。通过检测配置控制寄存器及配置状态信号能够实现对sefi的检测。当检测到sefi时,需要将信号处理fpga进行全局重配置进行修复。

配置fpga采用结构化程序设计方法,根据功能划分程序模块,当需求发生变化,可以只改对应的程序模块即可。软件功能模块方框图如图5所示,主要包括工作流程控制模块、flash控制模块、信号处理fpga配置模块、复位模块。各模块功能如下所示:

(1)复位模块

产生各模块需要的复位信号,保证配置fpga在加电运行时定义的信号及变量有固定的初始值。复位模块的输入信号包括:①时钟信号,②看门狗复位信号。输出信号包括:①给各模块的复位信号,②喂狗信号。

(2)工作流程控制模块

工作流程控制模块根据接收到的遥控指令,向flash控制模块发送擦除、写或者读指令,以及相应的起始地址。工作流程控制模块定时监测信号处理fpga的done信号,若异常,则重新配置信号处理fpga。工作流程控制模块定时回读信号处理fpga的状态信号寄存器,若校验错误连续达到3次时,重新配置信号处理fpga。工作流程控制模块的输入信号包括:①时钟信号,②遥控指令信号,③信号处理fpga工作是否异常指示信号(done信号),④信号处理fpga初始化完成信号(init_b信号)。输出信号:①给flash控制模块的擦除、写或读指令,②擦除、写或读的起始地址,③遥测信息(信号处理fpga是否配置成功)。

(3)flash控制模块

flash控制模块控制并行flash芯片的擦除、写或读操作,并将读出的配置数据输出给信号处理fpga配置模块。输入信号包括:①时钟,②工作流程控制模块输出的擦除、写或读指令,③擦除、写或读操作的起始地址,④读出的配置数据。输出信号包括:①并行flash芯片的片选信号(ce),②并行flash芯片的写使能信号(we),③并行flash芯片的读使能信号(oe),④擦除、写或读操作的地址信号,⑤写操作的配置数据(地面上注)⑥输出给信号处理fpga配置模块的配置数据。

(4)信号处理fpga配置模块

信号处理fpga配置模块主要完成对信号处理fpga的配置功能。输入信号包括:①时钟,②信号处理fpga工作是否异常信号(done信号),③信号处理fpga初始化是否完成信号(init_b信号),④flash控制模块输出的配置数据信息,⑤信号处理fpga返回的配置控制寄存器及配置状态信号。输出信号包括:①输出给信号处理fpga的配置时钟信号(cclk信号),②拉低信号处理fpga的prog管脚信号(prog_b信号),③输出给信号处理fpga的读写使能信号(rdwr_b信号),④输出给信号处理fpga的片选信号(cs_b信号),⑤输出给信号处理fpga的配置数据信息。

如图1所示,在上述基础上,本发明提出的fpga在轨动态可重构方法,步骤如下:

(1)地面向星载设备发送加电指令;

(2)功能切换时,地面向配置fpga发送配置指令,所述配置指令指明配置静态存储区第几份配置文件,转步骤(8);功能更新时,地面向配置fpga发送擦除指令,指明擦除动态存储区第几份,进入步骤(3);

(3)擦除完成后,地面向配置fpga发送写指令;

(4)配置fpga接收到写指令后,向地面返回一条写指令,完成握手;

(5)地面接收到握手信息后,向配置fpga发送配置文件;

(6)配置文件写完成后,配置fpga向地面返回写完成消息;

(7)地面接收到写完成消息后,向配置fpga发送读指令;

(8)接收到读指令后,配置fpga根据配置文件开始配置信号处理fpga;

(9)配置完成后,判断信号处理fpga是否工作正常,若工作正常,启动定时监测与sefi检测流程;若工作异常,进入步骤(10);

(10)判断重配置次数是否达到阈值,若达到阈值,则星载设备工作异常;若没有达到阈值,则转到步骤(8),进行重配置。

定时监测流程如图2所示。

(1)定时检测信号处理fpga是否工作正常。

(2)若工作异常,判断重配置次数是否达到阈值。

(3)若没有达到阈值,重配置信号处理fpga。

(4)若达到阈值,判定为星载设备工作异常。

sefi检测流程如图3所示。

(1)配置fpga定时读取信号处理fpga的far(frameaddress,帧地址)寄存器和stat(status,状态)寄存器的值。

(2)配置fpga将回读的值与校验值进行比对。

(3)若回读的值与校验值不一致,判断连续不一致次数是否达到阈值。

(4)若达到阈值,判定为单粒子功能中断,配置fpga重新配置信号处理fpga。

本发明提出的fpga在轨动态可重构方法可以实现以下功能:(1)通过地面上注指令,实现卫星在轨功能切换;(2)通过地面上注指令和配置数据,实现卫星在轨功能更新;(3)定时检测星载信号处理fpga,若工作异常,重新配置信号处理fpga;(4)定时回读far寄存器和stat寄存器的值,与校验值比对,若连续不一致次数达到阈值,则判定为单粒子功能中断,配置fpga重新配置信号处理fpga。

本发明提出了一种fpga在轨动态可重构方法,实现了卫星功能的在轨切换与在轨功能重构,使得一个硬件平台可以实现多种功能,避免了硬件重复开发,节省了人力、物力、财力,缩短了研发周期,此外,当星载电子设备受到空间环境辐照或单粒子翻转的影响发生故障不能正常工作时,地面可以向配置fpga发送重新配置指令,恢复信号处理fpga的功能,延长了星载电子设备的使用寿命,提高了星载设备的可靠性。配置信号处理fpga时,配置fpga同时读取三片flash中的数据,进行三模比对后,输出给信号处理fpga,提高了配置成功率。

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

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