一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种通用软件在线维护控制装置的制作方法

2022-02-21 03:53:18 来源:中国专利 TAG:


1.本发明属于软件维护技术领域,涉及一种通用软件在线维护控制装置。


背景技术:

2.软件是航天器电子系统的重要组成部分,也是实现航天器功能与人器交互的控制载体与信息处理中枢。
3.软件通常储存于非易失存储器中,在上电或复位后,由cpu或者fpga从存储器中读取可执行的软件程序数据,实现软件的启动与运行。存储软件所采用的非易失存储器可分为一次性编程存储器(如prom)与可重复编程存储器 (如eeprom或flash)两种:
4.当采用一次性编程存储器时,一旦需要对软件进行维修或升级必须对电路板上的存储器进行解焊,当航天器在轨运行时存在软件不可更改的风险。当采用可重复编程存储器时,便于实现对软件的维修与升级,但同时也面临着受空间辐射环境的影响,导致存储器中存储的软件程序数据被改写,进而导致软件无法正常启动与运行的局面,同时,在航天器在轨运行过程中,尽管存储器可重复编程,但仍缺乏对存储器中的软件程序数据进行改写的支持电路或装置,为软件的在轨维修与升级带来困难。
5.另外,在cpu或者fpga从存储器中读取加载软件程序数据时,往往只能从固定的地址处加载软件程序数据,无法对存储在不同地址处的不同版本软件程序数据进行加载,也就无法实现对不同软件app的选择性运行和系统功能的重构,不能满足航天器对电子系统面向不同载荷或功能的分时复用,不利于实现航天器的高集成度与精细化设计。除此之外,由于fpga独特的可配置结构,在运行过程中仍旧可能受到空间辐射环境的影响,导致fpga运行出现异常,对航天器电子系统的功能稳定性与连续性造成不利的影响。
6.为此,目前迫切需要一种通用的航天器软件在轨维护控制装置,能够实现航天器在轨以及软件的正常运行过程中对软件程序数据的无感维护和加载管理,并实现软件版本控制和对fpga的刷新纠错管理,提升航天器电子系统软件在轨维护的效率和可靠性。


技术实现要素:

7.本发明公开一种通用软件在线维护控制装置,能够在航天器地面测试以及在轨运行过程中,对存储器中存储的各类cpu和fpga软件的在线维修、升级、检错、纠错、app加载、fpga刷新等。
8.本发明通过以下技术方案实现。
9.一种通用软件在轨维护控制装置,包括:接口通信单元、存储器接口单元、寄存器单元、sefi检测单元、fpga加载配置单元、fpga动态刷新单元、fpga 定时回读单元、cpu接口单元;其中:
10.所述接口通信单元:用于响应指令接口控制信号,获取命令帧数据域中的控制信息,并进行解析和译码,根据指令类型生成控制信号用于对寄存器单元或存储器接口单元进行读写操作;
11.所述存储器接口单元:用于实现对非易失存储器的读写访问控制,包括地址管理、巡检控制、编解码校验;
12.所述寄存器单元:用于将控制信号和状态信号进行分类和组织,形成控制寄存器和状态寄存器,根据所述控制寄存器内容实现对其他单元的操作控制,并实时收集到所述状态寄存器中;
13.所述cpu接口单元:用于与cpu之间的读写接口操作以及复位控制;
14.所述fpga加载配置单元:用于对fpga的上电或复位后加载配置;
15.所述fpga定时回读单元:用于根据所述寄存器单元中的控制判断fpga 内部能够进行回读的软件配置数据区间,工作状态由寄存器单元控制为使能或者禁止状态;
16.所述fpga动态刷新单元:用于对fpga内部可重复写入的软件配置数据进行动态写入;
17.所述sefi检测单元:用于对fpga加载配置接口的单粒子功能中断检测。
18.本发明的有益效果:
19.(1)本发明通用软件在线维护控制装置实现对fpga以及cpu软件的统一维护管理,克服了传统航天器只能对部分cpu进行在线软件升级维护,无法对fpga进行在线升级维护的欠缺点,增强了航天器软件的在轨修复和功能重构的能力;
20.(2)本发明通用软件在线维护控制装置具备对fpga以及cpu软件在非易失存储器中存储地址动态管理能力,进而实现软件版本管理以及将不同版本软件程序作为独立的软件app的加载启动运行,一方面可以实现软件对硬件资源的分时复用和功能重构,另一方面也可避免非易失存储器某个地址区间故障情况下实现软件存储区间的迁移,增强航天器电子系统的灵活性与可靠性;
21.(3)本发明通用软件在线维护控制装置能够同时实现对多片fpga和cpu 的在线维护管理,对于多片fpga和cpu协同的应用,可以节省软件在线维护所占用的系统资源,增强航天器电子系统设计的集约性和功能密度;
22.(4)本发明通用软件在线维护控制装置具备适应多种不同系列fpga与 cpu能力,避免了传统航天器需要为每种类型fpga与cpu设计特殊维护电路的缺点,增强航天器电子系统设计的通用性与便捷性;
23.(5)本发明通用软件在线维护控制装置具备识别fpga加载配置接口sefi 能力,能够在检测到sefi时对fpga执行重新加载配置,及时消除sefi对 fpga的影响,增强航天器fpga在空间辐射环境下的可靠性;
24.(6)本发明通用软件在线维护控制装置支持对fpga的回读刷新模式,相比传统航天器仅对fpga进行刷新的模式能够有效避免频繁向fpga写入软件配置数据引入错误的概率,提升航天器fpga容错能力;
25.(7)本发明通用软件在线维护控制装置定时回读以及定时刷新功能具备定时时间可配置能力,相比传统间隔时间固定的模式能够适应不同轨道和不同辐射环境错误率的场景,提升在线维护控制装置的适应能力;
26.(8)本发明通用软件在线维护控制装置具备对存储在非易失存储器中的软件数据进行纠检错编码以及巡检的能力,相比传统航天器存储软件数据的机制,能够及时发现非易失存储器中出现的软件数据错误,避免非易失存储器受辐射环境影响导致错误的累积,
增强航天器软件的在轨可靠性与健壮性;
27.(9)本发明通用软件在线维护控制装置接收软件维护或更新数据过程中支持乱序注入和断点续传的能力,相比传统航天器必须按照顺序传输软件维护数据,以及在发生错误后必须将已经传输的所有软件数据重新传输的设计,能够显著增强软件注入的效率。
附图说明
28.图1为本发明具体实施方式接口通信单元结构框图。
具体实施方式
29.下面结合附图对本发明作进一步说明。
30.本具体实施方式的一种通用软件在轨维护控制装置,包括:
31.接口通信单元、存储器接口单元、寄存器单元、fpga型号检测单元、sefi 检测单元、fpga加载配置单元、fpga动态刷新单元、fpga定时回读单元、 cpu接口单元、串行数据采集接口处理单元、遥测状态组帧处理单元;其中:
32.如图1所示,所述接口通信单元:响应指令接口控制信号,获取命令帧数据域中的控制信息,并进行解析和译码,根据指令类型生成控制信号用于对寄存器单元或存储器接口单元进行读写操作;
33.当对所述寄存器单元进行写操作时,寄存器内容的改变进一步生成控制信号实现对该软件在轨维护控制装置内部其他单元的操作控制;当对所述存储器接口单元进行写操作时,将命令帧数据域中的数据信息写入存储器进行存储,当为读操作时,则将读取的寄存器或存储器中的数据通过接口通信单元输出。
34.在具体实施时,所述接口通信单元支持采用uart、spi、spacewire接口作为指令接口,接收软件升级更新或维护数据,将其存入非易失存储器指定的地址空间,或接收控制命令数据,对软件在线维护控制装置内部的寄存器进行读写操作。当通过uart或spi接口连接软件在线维护控制装置时,可以以总线的形式连接多片软件在线维护控制装置,通过spacewire接口连接软件在线维护控制装置时,可通过spacewire交换机以点对点的形式连接多片软件在线维护控制装置,采用uart或spi接口作为指令接口时,数据包中的帧头为固定的“0xeb90”,采用spacewire接口作为指令接口时,数据包中的帧头为目的端(如命令数据包中软件在线维护控制装置自身的spacewire路由地址)加上远端(如命令数据包中控制器的spacewire路由地址)。
35.当航天器通用软件在线维护控制装置接收到命令数据包并完成帧头检测后,判断数据包中的id是否与设定的id(通过管脚设置)一致,如果不一致则直接将命令数据包丢弃,一致的情况下根据长度域接收固定长度的数据包,并在完成数据包的接收后,对校验域的正确性进行判断,校验域为整个数据包内16bit 数据的异或,在校验域不正确时丢弃命令数据包,并返回应答数据包反应接收的命令数据包存在错误,在校验域正确的情况下,将按照命令数据包中的命令域、地址域、数据域内容执行相应的操作,其中命令域中的内容如表1所示,地址域代表要读写操作的地址,软件在线维护控制装置中的寄存器与外部的非易失存储器采用统一编址的形式,低4k地址空间为寄存器地址空间,其余地址空间为非易失存储器地址空间,对于数据域来说,当为写操作命令时,代表要写入寄存器或存储器中的数
据,当为读操作时,代表要读取的数据的长度,当为应答操作时,代表返回的读取数据或操作结果数据。
36.表1命令域内容说明
37.命令域说明0x0预留0x1写寄存器命令0x2读寄存器命令0x3预留0x4预留0x5写非易失存储器命令0x6读非易失存储器命令0x7应答标志
38.所述存储器接口单元:用于实现对非易失存储器的读写访问控制,包括地址管理、巡检控制、编解码校验;
39.本实施例中,所述地址管理时,根据接口通信单元送来的起始地址自动对地址进行累加操作;所述巡检控制时,根据寄存器单元中设定的巡检周期,自动对非易失存储器中的数据进行检错与纠错,其中检错与纠错依靠对非易失存储器中存储数据的编解码校验实现,对存储在非易失存储器中的数据首先进行纠检错编码,在巡检时读取存储数据后进行纠检错解码,当检测到错误后对其进行纠正后重新回写到非易失存储器中。
40.在具体实施时,为了适应不同轨道航天器受辐射环境引起的错误率差异,巡检周期、巡检地址区间通过寄存器单元中的控制信息进行控制,其中巡检周期的设置采用的形式,n的取值为0~15,f
clk
为软件在线维护控制装置的工作时钟频率,在巡检过程中如果发现非易失存储器中数据存在错误,如果是可纠正错误,则由软件在线维护控制器自动对其进行纠正后回写入非易失存储器,如果是不可纠正错误,则生成故障标志写入寄存器单元中的状态寄存器
41.所述寄存器单元:用于将控制信号和状态信号进行分类和组织,形成控制寄存器和状态寄存器,根据所述控制寄存器内容实现对其他单元的操作控制,并实时收集到所述状态寄存器中。
42.在具体实施时,所述控制寄存器的默认值来自于该维护控制装置的管脚电平设置,或者来自于非易失存储器中的低位地址空间,通过独立的管脚电平进行选择。为了适应软件在线维护控制装置上电或复位后能够按照之前预定的模式或动作进行工作,建立了非易失存储器与寄存器单元中控制寄存器的相互映射,初始工作时,软件在线维护控制装置可从非易失存储器中获取预存的控制信息,使软件在线维护控制装置能够按照默认的模式工作,同时,当通过指令接口单元对寄存器单元中的控制寄存器信息进行改写时,改写的信息同时也会更新到非易失存储器中,在下次复位或重新上电后保证软件在线维护控制装置按照最新的控制信息工作。当软件在线维护控制装置连接多片cpu或fpga时,寄存器单元还负责多片cpu与fpga软件加载顺序的控制,具体措施为设置控制信号最低bit为1,与每一片cpu与fpga对应顺序控制寄存器中数值相与,相与的结果不为0的器件为第一个软件加载器
件,之后将控制信号按位左移,再次与每一片cpu与fpga对应顺序控制寄存器中数值相与,以此类推,直到完成所有cpu或fpga的软件加载为止。
43.所述cpu接口单元:用于与cpu之间的读写接口操作以及复位控制;cpu 软件的加载采用主动加载的方式,因此软件加载时,软件在线维护控制器只需释放cpu的复位信号,然后将cpu地址与寄存器单元中设定的起始地址进行异或后作为非易失存储器的访问地址即可,在cpu软件加载完毕后,通过向固定的控制寄存器地址进行写操作,意味着cpu软件加载完毕,可执行后续cpu 或fpga软件的加载,为了提升设计的可靠性,当访问非易失存储器地址达到该cpu器件所对应地址区间最大地址后,cpu仍未显示加载成功,则会自动对cpu再次复位,再次执行软件加载操作,如果连续3次cpu都不加载成功,则不再对cpu进行加载,在寄存器单元的状态寄存器中设置错误标志信号,并继续执行后续的cpu和fpga软件的加载操作。除此之外,为了支持与cpu 看门狗电路之间的接口,cpu接口单元在与其连接的每一片cpu之间设置独立的异步触发信号,在异步触发信号有效时,会重新对cpu再次复位,并执行软件加载操作。
44.具体实施时,当连接多个cpu时,通过分时释放多个cpu的复位信号实现对cpu接口单元的分时共用,通过cpu接口单元,cpu主动读取存储器接口单元连接的非易失存储器中的数据,实现软件的启动加载,不同cpu读取的存储器起始地址由寄存器单元中的控制寄存器进行控制。
45.fpga加载配置单元:用于对fpga的上电或复位后加载配置;
46.在具体实施时,fpga加载配置单元可以根据寄存器单元分发的控制信号实现对fpga的重配置,或根据sefi检测单元检测到fpga故障情况下实现对 fpga的重配置。在加载配置过程中,如果读取非易失存储器的地址达到该 fpga对应的地址区间最大值后,fpga仍未显示加载配置成功,则认为fpga 加载失败,进而再次执行对fpga的加载配置操作,直到fpga加载配置成功,或者连续3次加载配置失败后,不再执行对该fpga的加载配置,在寄存器单元的状态寄存器中设置错误标志信号,并继续执行后续的cpu和fpga软件的加载操作。除此之外,fpga加载配置单元能够响应指令配置,即指令接口单元接收到对fpga进行配置的命令数据包后,由寄存器单元进行数据包内容解析后,输出控制信号给fpga加载配置单元,实现对fpga的重加载配置操作。同时,fpga加载配置单元支持动态配置功能,即在寄存器单元中的控制寄存器使能前提下,检测到fpga的done信号为低电平,或者sefi检测单元检测到fpga加载配置接口的sefi时,可主动对fpga执行重新加载配置操作。
47.本实施例中,所述fpga加载配置单元可对多片fpga的加载配置管理,具体为:通过控制fpga加载配置接口的片选与读写信号实现fpga加载配置单元的分时复用,其中不同fpga加载配置软件程序数据的起始地址由寄存器单元中的控制寄存器进行控制,fpga加载配置单元在对fpga加载配置过程中输出对fpga的复位信号,检测到fpga成功加载配置结束后释放复位信号。
48.所述fpga定时回读单元:用于根据所述寄存器单元中的控制判断fpga 内部能够进行回读的软件配置数据区间,fpga定时回读单元的工作状态由寄存器单元控制为使能或者禁止状态;其中回读周期的设置采用的形式,n的取值为0~15,f
clk
为软件在线维护控制装置的工作时钟频率。
49.在具体实施时,定时时间间隔由寄存器单元设定;在使能fpga定时回读单元工作时,在fpga加载配置成功时,会立即按顺序读取多片fpga内部可读取的软件配置数据区间,并将读取的数据计算校验码,并将该校验码存储在寄存器单元,之后定时对fpga内部软件配置数据的读取都会重新计算校验码,并将计算的校验码与存储在寄存器单元中的校验码进行对比,在不一致的情况下认为fpga内部软件配置数据发生错误,并输出错误状态信号。
50.fpga动态刷新单元:用于对fpga内部可重复写入的软件配置数据进行动态写入。fpga动态刷新单元按照寄存器单元的控制确定fpga内部可刷新的软件配置数据区间,fpga动态刷新单元的工作状态由寄存器单元控制为使能或者禁止状态,并在使能状态下可由寄存器单元设置为回读动态刷新与定时动态刷新两种工作模式,在回读动态刷新模式下,当fpga定时回读单元输出fpga 内部软件配置数据错误状态信号时,fpga动态刷新单元启动并执行一次对 fpga内部软件配置数据的动态写入,在定时动态刷新模式下,根据寄存器单元设定的定时时间间隔,无条件定期执行对fpga内部软件配置数据的动态写入;其中刷新周期的设置采用的形式,n的取值为0~15,f
clk
为软件在线维护控制装置的工作时钟频率。
51.所述sefi检测单元:用于对fpga加载配置接口的单粒子功能中断检测,在fpga动态刷新单元以及fpga定时回读单元工作之前都会首先进行对sefi 的检测,当检测到存在sefi时,根据寄存器单元控制寄存器允许重配置时会对 fpga执行重新加载软件配置数据操作,否则输出检测到sefi状态信号,且停止fpga动态刷新单元以及fpga定时回读单元的工作综上所述。
52.本实施例中,检测分为两种类型,一种为持续性对fpga加载配置接口的done信号进行检测,另一种为周期性在对fpga执行回读或者刷新时,首先对fpga加载配置接口的far、staus寄存器以及busy等信号进行检测,在检测到fpga的加载配置接口出现故障的情况下,如果是done信号故障则会无条件对fpga执行动态重配置操作,如果为其他故障,则会在寄存器单元中控制寄存器使能动态配置情况下,执行对fpga的动态重配置操作,否则仅将故障信息写入寄存器单元中的状态寄存器中。
53.以上仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献