CN117555721B - 飞行器fpga的比特翻转的处理方法及装置 - Google Patents

飞行器fpga的比特翻转的处理方法及装置 Download PDF

Info

Publication number
CN117555721B
CN117555721B CN202410044881.0A CN202410044881A CN117555721B CN 117555721 B CN117555721 B CN 117555721B CN 202410044881 A CN202410044881 A CN 202410044881A CN 117555721 B CN117555721 B CN 117555721B
Authority
CN
China
Prior art keywords
data frame
configuration
information code
check code
code
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
Application number
CN202410044881.0A
Other languages
English (en)
Other versions
CN117555721A (zh
Inventor
周长军
杨辉
隋超
敬军
曾德忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Jiangtai Technology Co ltd
Original Assignee
Shenzhen Jiangtai Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Jiangtai Technology Co ltd filed Critical Shenzhen Jiangtai Technology Co ltd
Priority to CN202410044881.0A priority Critical patent/CN117555721B/zh
Publication of CN117555721A publication Critical patent/CN117555721A/zh
Application granted granted Critical
Publication of CN117555721B publication Critical patent/CN117555721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本申请实施例公开了一种飞行器FPGA的比特翻转的处理方法及装置,该方法应用于飞行器基站的芯片,芯片包括配置检测模块和异常处理模块;该方法包括:在芯片上电后,从配置存储器加载FPGA的第一配置数据;通过配置检测模块,对配置存储器中的第一配置数据进行两次回读,得到第一数据帧和第二数据帧;当第一校验码和第二校验码相同时,将第一数据帧或第二数据帧作为标准数据帧锁存;按照预设周期,对配置存储器中的第一配置数据进行回读,得到第三数据帧;当第三校验码与标准校验码不同时,通过异常处理模块对配置存储器中的第一配置数据进行异常处理。本申请实施例有利于提高飞行器芯片运行的稳定性。

Description

飞行器FPGA的比特翻转的处理方法及装置
技术领域
本发明涉及飞行器电子系统异常处理技术领域,尤其涉及一种飞行器FPGA的比特翻转的处理方法及装置。
背景技术
低轨短时飞行器基站在空间轨道运行时,芯片中的现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)会受到太空辐射的单粒子的打击,当单粒子打击剂量超过了低轨短时飞行器基站的FPGA自身的设计容限,会导致相应的比特位翻转,即产生单粒子翻转(Single Event Upsets,SEU),可能会对低轨短时飞行器基站的电子系统造成功能瞬态错误或长时间异常的影响。
在传统的技术方案中,采用FPGA自动刷新技术周期性地对低轨短时飞行器基站的FPGA的配置数据进行刷新,即无论是否发生单粒子翻转,均对配置存储器中的配置数据进行重写操作,不能实时监测FPGA是否发生比特翻转并做出处理,导致飞行器电子系统运行的稳定性差。
发明内容
本申请实施例提供了一种飞行器FPGA的比特翻转的处理方法及装置,通过对配置存储器中的配置数据进行回读校验,对FPGA中发生比特翻转的比特位进行异常处理,解决了不能实时监测FPGA是否发生比特翻转并做出处理的问题,提高了飞行器电子系统运行的稳定性。
第一方面,本申请实施例提供了一种飞行器FPGA的比特翻转的处理方法,所述方法应用于飞行器基站的芯片,所述芯片包括配置检测模块和异常处理模块;
所述方法包括:
在所述芯片上电后,从配置存储器加载现场可编程逻辑门阵列FPGA的第一配置数据;
通过所述配置检测模块,对所述配置存储器中的所述第一配置数据进行两次回读,得到第一数据帧和第二数据帧,所述第一数据帧包括第一信息码和第一校验码,所述第二数据帧包括第二信息码和第二校验码;
当所述第一校验码和所述第二校验码相同时,将所述第一数据帧或所述第二数据帧作为标准数据帧,通过锁存器将所述标准数据帧锁存,所述标准数据帧包括标准信息码和标准校验码,所述标准信息码为所述第一信息码或所述第二信息码,所述标准校验码为所述第一校验码或所述第二校验码;
按照预设周期,对所述配置存储器中的所述第一配置数据进行回读,得到第三数据帧,所述第三数据帧包括第三信息码和第三校验码;
当所述第三校验码与所述标准校验码不同时,获取与所述第三数据帧对应的异常处理策略,通过所述异常处理模块对所述配置存储器中的所述第一配置数据进行异常处理。
第二方面,本申请实施例提供了一种芯片,所述芯片包括配置检测模块和异常处理模块;
其中,所述配置检测模块,用于在所述芯片上电后,从配置存储器加载现场可编程逻辑门阵列FPGA的第一配置数据;
对所述配置存储器中的所述第一配置数据进行两次回读,得到第一数据帧和第二数据帧,所述第一数据帧包括第一信息码和第一校验码,所述第二数据帧包括第二信息码和第二校验码;
当所述第一校验码和所述第二校验码相同时,将所述第一数据帧或所述第二数据帧作为标准数据帧,通过锁存器将所述标准数据帧锁存,所述标准数据帧包括标准信息码和标准校验码,所述标准信息码为所述第一信息码或所述第二信息码,所述标准校验码为所述第一校验码或所述第二校验码;
按照预设周期,对所述配置存储器中的所述第一配置数据进行回读,得到第三数据帧,所述第三数据帧包括第三信息码和第三校验码;
所述异常处理模块,用于当所述第三校验码与所述标准校验码不同时,获取与所述第三数据帧对应的异常处理策略,对所述配置存储器中的所述配置数据进行异常处理。
第三方面,本申请实施例提供了一种飞行器,所述飞行器包括如第二方面所述的芯片。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行如第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机可操作来使计算机执行如第一方面所述的方法。
实施本申请实施例,具有如下有益效果:
通过从配置存储器加载FPGA的第一配置数据后,对第一配置数据进行两次回读得到第一数据帧和第二数据帧,若第一数据帧中的第一校验码和第二数据帧的第二校验码相同,则将第一数据帧或第二数据帧作为标准数据帧锁存,以得到FPGA的第一配置数据的参考数据,并实时回读第一配置数据,将回读数据的第三数据帧中的第三校验码与标准校验码进行比对,若第三校验码与标准校验码不同,则FPGA发生比特翻转,通过异常处理模块对第一配置数据中发生比特翻转的比特位进行异常处理,从而解决了不能实时监测FPGA是否发生比特翻转并做出处理的问题,提高了飞行器电子系统运行的稳定性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种飞行器通信场景示意图;
图2为本申请实施例提供的一种飞行器FPGA的比特翻转的处理方法的流程示意图;
图3为本申请实施例提供的一种芯片的功能模块组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,参阅图1,图1为本申请实施例提供的一种飞行器通信场景示意图。
飞行器101搭载有测传单元,该测传单元包括收发器和射频前端电路,以实现通信信号的接收和发送。当飞行器101在空间轨道中运行时,飞行器101可通过特定的通信频段,例如可以通过远距离无线电(Long Range Radio,LORA),与飞行器基站102实现低功耗、远距离的通信。飞行器基站102可通过相应的通信协议,向地面控制中心103发送短报文,也可接收地面控制中心103的控制指令。地面控制中心103用于控制飞行器101和飞行器基站102在空间轨道的运行,其中,地面控制中心103可通过飞行器基站102与飞行器101实现通信。
应理解的是,飞行器基站102可通过特定的通信频段,直接与地面的互联网络设备,例如腕表等穿戴设备,实现远距离通信。地面控制中心103可向飞行器基站102发送控制指令和广播消息,控制飞行器基站102向地面的互联网络设备发送该广播消息。地面的互联网络设备可向飞行器基站102发送短报文,经飞行器基站102转发至地面控制中心103,以实现地面控制中心103与地面的互联网络设备之间的通信。
应说明,本申请实施例中的飞行器101和飞行器基站102,例如可以为低轨短时飞行器和低轨短时飞行器基站。低轨短时飞行器和低轨短时飞行器基站在400-200km的空间轨道中运行,具有通信速率快、延时低的特点。如图1所示,飞行器基站102的芯片110包括FPGA 111,FPGA 111上集成有配置存储器112以及用于实现相应功能的可编程逻辑块,FPGA111可从配置存储器112中加载配置数据。
当飞行器基站102在空间轨道中运行时,太空辐射中的高能粒子会对飞行器基站102的芯片110进行打击,并产生电流脉冲。由于FPGA 111中实现的功能存储在配置存储器112中,配置存储器112的翻转阈值较低,当产生的电流脉冲超过了配置存储器112的翻转阈值,会导致FPGA 111的配置数据中的相应的比特位翻转,导致FPGA 111的功能异常。
为此,在芯片110上电后,从配置存储器112加载FPGA 111的第一配置数据。
对配置存储器112中的第一配置数据进行两次回读,得到第一数据帧和第二数据帧,其中,第一数据帧包括第一信息码和第一校验码,第二数据帧包括第二信息码和第二校验码。
当第一校验码和第二校验码相同时,将第一数据帧或第二数据帧作为标准数据帧,通过锁存器将标准数据帧锁存,其中,标准数据帧包括标准信息码和标准校验码,标准信息码为第一信息码或第二信息码,标准校验码为第一校验码或第二校验码。
按照预设周期,对配置存储器112中的第一配置数据进行回读,得到第三数据帧,其中,第三数据帧包括第三信息码和第三校验码。
当第三校验码与标准校验码不同时,获取与第三数据帧对应的异常处理策略,对配置存储器112中的第一配置数据进行异常处理。
参阅图2,图2为本申请实施例提供的一种飞行器FPGA的比特翻转的处理方法的流程示意图。该方法应用于如图1示出的芯片,该芯片还包括配置检测模块和异常处理模块。该方法包括但不限于如下步骤内容:
201:在芯片上电后,从配置存储器加载FPGA的第一配置数据。
本申请实施例中,FPGA配置存储器中存储有FPGA工作所需的第一配置数据以及实现特定功能的功能数据。配置存储器可通过输出布线连接到可配置的功能模块上,以配置FPGA实现特定功能。FPGA加载第一配置数据例如可采用主动配置和被动配置,主动配置即通过FPGA自主控制第一配置数据的加载过程,被动配置即通过外部设备,例如单片机、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等,通过相应的接口控制FPGA加载第一配置数据。
在芯片上电后,配置存储器中的第一配置数据输出至相应的布线中,通过该布线输入至FPGA中可配置的功能块中,以完成FPGA的配置,从而使FPGA开始工作并实现相应功能。
202:通过配置检测模块,对配置存储器中的第一配置数据进行两次回读,得到第一数据帧和第二数据帧。
本申请实施例中,第一数据帧包括第一信息码和第一校验码,第二数据帧包括第二信息码和第二校验码。本申请实施例中描述的FPGA例如可以为Xilinx FPGA Artix6,该系列FPGA上集成了可以自动回读FPGA的配置数据并计算回读数据的校验码的功能。在FPGA完成配置后的第一预设时间间隔内,配置检测模块开始工作,对配置存储器中的第一配置数据进行两次回读。其中,该第一预设时间间隔小于第一阈值,例如,该第一阈值可以为0.5ms。
应说明,由于在对FPGA配置完成后,在第一预设时间间隔小于第一阈值的时间内发生比特翻转的概率小于第二阈值,例如,该第二阈值可以为0.05%。因此,对配置存储器中的第一配置数据进行两次回读得到的第一数据帧和/或第二数据帧可能为未发生比特翻转的配置数据,可用于作为标准数据帧对后续的回读数据进行校验,以确定第一配置数据是否发生比特翻转。
示例性的,对配置存储器中的第一配置数据进行两次回读,得到第一数据帧和第二数据帧,包括但不限于如下步骤:
对配置存储器中的第一配置数据进行两次回读,得到第一信息码和第二信息码;
将第一信息码和第二信息码左移r个比特位,并在第一信息码和第二信息码的末位r个比特位补0,得到第一目标信息码和第二目标信息码;
基于预设生成多项式,得到预设生成多项式对应的二进制码;
以预设生成多项式对应的二进制码作为除数,对第一目标信息码和第二目标信息码进行模2除法运算,得到第一校验码和第二校验码;
将第一校验码与第一信息码的末比特位连接,得到第一数据帧,将第二校验码与第二信息码的末位连接,得到第二数据帧。
本申请实施例中,r为第一校验码和第二校验码的位数。在对配置存储器中的第一配置进行两次回读后,芯片可计算该两次回读数据的校验码,并将该校验码分别添加至对应回读数据的末比特位,得到第一数据帧和第二数据帧。
具体地,当FPGA配置完成后,在FPGA完成配置后的第二预设时间间隔内,对配置存储器中的第一配置数据进行第一次回读,得到第一信息码。在完成第一次回读后的第三预设时间间隔内对配置存储器中的第一配置数据进行第二次回读,得到第二信息码。其中,第二预设时间间隔与第三预设时间间隔之和小于第一预设时间间隔。
然后,将第一信息码左移r个比特位,并在第一信息码移动后末位空出的r个比特位补0,得到第一目标信息码。将第二信息码左移r个比特位,并在第二信息码移动后末位空出的r个比特位补0,得到第二目标信息码。其中,r即为第一信息码和第二信息码对应的校验码的比特位数,通过将第一信息码和第二信息码对应的校验码添加至第一信息码和第二信息码的末比特位即可得到对应的数据帧。
进一步地,将预设生成多项式转化为对应的二进制码,例如,该预设生成多项式对应的二进制码可以为00010001000000100001。将该预设生成多项式对应的二进制码作为除数,对第一目标信息码进行模2除法运算,得到第一校验码。将该预设生成多项式对应的二进制码作为除数,对第二目标信息码进行模2除法运算,得到第二校验码。将运算得到的第一校验码添加到第一信息码的数据末比特位,得到第一数据帧。将运算得到的第二校验码添加到第二信息码的数据末位,得到第二数据帧。
可以看出,通过在FPGA配置完成后的第一预设时间间隔内对配置存储器中的第一配置数据进行两次回读,得到第一信息码和第二信息码,通过第一信息码和第二信息码可计算得到第一校验码和第二校验码,从而通过该第一校验码和第二校验码对后续回读数据进行校验。将得到第一校验码和第二校验码添加至第一信息码和第二信息码的末位,得到第一数据帧和第二数据帧,从而获得回读数据的标准数据帧,以通过该标准数据帧检测FPGA是否发生比特翻转,解决了不能实时监测FPGA是否发生比特翻转的问题,提高了对FPGA的比特翻转的检测的精准性。
203:当第一校验码和第二校验码相同时,将第一数据帧或第二数据帧作为标准数据帧,通过锁存器将标准数据帧锁存。
本申请实施例中,标准数据帧包括标准信息码和标准校验码。其中,标准信息码为第一信息码或第二信息码,标准校验码为第一校验码或第二校验码。
应说明,由于第一校验码和第二校验码是通过第一信息码和第二信息码以及相同的预设多项式计算得到的,当第一校验码和第二校验码相同时,则表示第一信息码和第二信息码相同,即两次对配置存储器中的第一配置数据回读的回读数据相同。此时,可将第一信息码或第二信息码视为标准的配置数据。由此,可将第一数据帧或第二数据帧作为标准数据帧,并通过锁存器将该标准数据帧锁存。当需要检测配置存储器中的第一配置数据是否出现比特翻转时,可通过与该标准校验码进行比对,以确定第一配置数据是否出现比特翻转。
示例性的,该方法还包括如下步骤内容:
在第二预设时间段内,当检测到第一校验码和第二校验码不同时,再次对配置存储器中的第一配置数据进行回读;
若在第二预设时间段内,任意两次回读数据的第一校验码和第二校验码均不相同,则向地面控制中心发送错误指示;
从地面控制中心接收针对该错误指示的应答响应,其中,应答响应包括第三配置数据。
将配置存储器中的第一配置数据擦除,并写入第三配置数据。
本申请实施例中,错误指示用于请求地面控制中心向芯片发送第三配置数据。当在第二预设时间段内,对配置存储器中的第一配置数据进行回读的回读数据中,始终不存在两次相同的校验码,则配置存储器中的第一配置数据在加载至FPGA的过程中已经发生比特翻转。
具体地,在FPGA配置完成后,芯片对配置存储器中的第一配置数据进行两次回读,得到第一数据帧和第二数据帧。若第一数据帧中的第一校验码和第二数据帧中的第二校验码相同,则将第一数据帧或第二数据帧作为标准数据帧锁存。
在第二预设时间段内,若第一数据帧中的第一校验码和第二数据帧中的第二校验码不相同,则再次对配置存储器中的第一配置数据进行回读,得到第四数据帧,且第四数据帧包括第四信息码和第四校验码。
若第四校验码与第一校验码相同,则将第一数据帧或第四数据帧作为标准数据帧锁存。
若第四校验码与第二校验码相同,则将第二数据帧或第四数据帧作为标准数据帧锁存。
在第二预设时间段内,若第一校验码、第二校验码以及第四校验码均不相同,则再次对配置存储器中的第一配置数据进行回读,直至存在两次回读的数据帧的校验码相同,将该两次回读的数据帧中的一个数据帧作为标准数据帧锁存。
若在第二预设时间段内任意两次回读的数据帧的校验码均不相同,则表示配置存储器中的第一配置数据已经发生比特翻转错误。由此,向地面控制中心发送错误指示,以请求地面控制中心发送第三配置数据,该第三配置数据与发生比特翻转前的第一配置数据相同。地面控制中心接收到芯片发送的错误指示后,向飞行器基站发送针对该错误指示的应答响应,该应答响应包括第三配置数据。
进一步地,飞行器基站的芯片接收到该应答响应后,将配置存储器中的第一配置数据擦除,将应答响应中的第三配置数据写入配置存储器中被擦除的第一配置数据的存储区域。并使FPGA从配置存储器中加载第三配置数据,以完成FPGA的重配置。
可以看出,通过在第二预设时间段内多次对配置存储器中的第一配置数据进行回读,以确定是否存在两次回读的数据帧相同,若存在两次回读的数据帧相同,则将该两次回读的数据帧中的至少一个数据帧作为标准数据帧锁存;否则,确定配置存储器中的第一配置数据发生比特翻转,向地面控制中心发送错误指示,以接收地面控制中心的应答响应,将第三配置数据重写至配置存储器中的第一配置数据的存储区域,从而完成FPGA的重配置,解决了FPGA在加载第一配置数据后发生比特翻转的问题,提高了飞行器电子系统运行的稳定性。
204:按照预设周期,对配置存储器中的第一配置数据进行回读,得到第三数据帧。
本申请实施例中,第三数据帧包括第三信息码和第三校验码。芯片在获取标准数据帧后,按照预设周期,对配置存储器中的第一配置数据进行回读,将回读的第三数据帧与标准数据帧进行校验,以监测FPGA是否发生比特翻转。
示例性的,对配置存储器中的第一配置数据进行回读,得到第三数据帧,可以包括如下步骤内容:
对配置存储器中的第一配置数据进行回读,得到第三信息码;
将第三信息码左移r个比特位,并在第三信息码的末位r个比特位补0,得到第三目标信息码;
基于预设生成多项式,得到预设生成多项式对应的二进制码;
以预设生成多项式对应的二进制码作为除数,对第三目标信息码进行模2除法运算,得到第三校验码;
将第三校验码与第三信息码的末比特位连接,得到第三数据帧。
本申请实施例中,r为第三校验码的比特位数。可通过周期性地回读第一配置数据,得到第三信息码,基于该第三信息码可计算出第三校验码,将第三信息码与第三校验码连接可得到第三数据帧,从而通过第三数据帧和标准数据帧的比对确定FPGA是否发生比特翻转。
具体地,在获取标准数据帧后,按照预设周期,对配置存储器中的第一配置数据进行回读,得到第三信息码。
然后,将第三信息码左移r个比特位,并在第三信息码移动后末位空出的r个比特位补0,得到第三目标信息码。其中,r即为第三信息码对应的校验码的比特位数,通过将第三信息码对应的校验码添加至第三信息码的末比特位即可得到对应的数据帧。
进一步地,将预设生成多项式转化为对应的二进制码,例如,该预设生成多项式对应的二进制码可以为00010001000000100001。将该预设生成多项式对应的二进制码作为除数,对第三目标信息码进行模2除法运算,得到第三校验码。将运算得到的第三校验码添加到第三信息码的数据末比特位,得到第三数据帧。
可以看出,按照预设周期,对配置存储器中的第一配置数据进行回读,可得到第三信息码,基于该第三信息码以及预设生成多项式可计算出第三校验码,将第三信息码与第三校验码连接可得到第三数据帧,由于计算第三校验码使用的预设生成多项式与计算第一校验码和第二校验码使用的预设生成多项式相同,当第三校验码与标准校验码不相同时,可确定第一配置数据发生比特翻转,解决了不能实时监测FPGA是否发生比特翻转并做出处理的问题,提高了飞行器电子系统运行的稳定性。
205:当第三校验码与标准校验码不同时,获取与第三数据帧对应的异常处理策略,通过异常处理模块对配置存储器中的第一配置数据进行异常处理。
本申请实施例中,若检测到第三校验码与标准校验码不同,则FPGA发生比特翻转,可通过异常处理模块检测第一配置数据中发生比特翻转的比特位,从而对该发生比特翻转的比特位进行异常处理。
示例性的,获取与第三数据帧对应的异常处理策略,通过异常处理模块对配置存储器中的第一配置数据进行异常处理,可以包括如下步骤内容:
将标准信息码与第三信息码进行按位异或运算;
获取运算结果中结果为1的比特位,并统计结果为1的比特位的数量;
当结果为1的比特位的数量为一个时,基于该结果为1的比特位,在第三信息码中定位到发生比特翻转的比特位,通过异常处理模块,对第一配置数据中对应的发生比特翻转的比特位进行纠正;
当结果为1的比特位的数量至少为两个时,通过异常处理模块,对芯片进行断电复位处理。
本申请实施例中,在检测到配置存储器中的第一配置数据发生比特翻转后,芯片会将标准信息码与第三信息码进行按位异或运算,运算结果为1的比特位即为发生比特翻转的比特位,从而根据发生比特翻转的比特位的数量,确定对应的异常处理策略,以通过异常处理模块对发生比特翻转的比特位进行异常处理。
具体地,在检测到第三校验码与标准校验码不相同后,芯片会将标准信息码与第三信息码进行按位异或运算,即通过将标准信息码对应的二进制码与第三信息码对应的二进制码按每一比特位一一对应,将标准信息码的每一比特位与第三信息码的每一比特位进行异或运算。若标准信息码的第一比特位与第三信息码对应位置的第二比特位相同,则第一比特位与第二比特位的运算结果为0;若标准信息码的第一比特位与第三信息码对应位置的第二比特位不同,则第一比特位与第二比特位的运算结果为1。其中,第一比特位为标准信息码中的任意一个比特位,第二比特位为第三信息码中与标准信息码的第一比特位对应的比特位。
由此,若标准信息码与第三信息码的按位异或运算的结果为0,则第三信息码与标准信息码的每一位一一对应且相同,配置存储器的第一配置数据未发生比特翻转。
若标准信息码的第三比特位与第三信息码对应位置的第四比特位不同,则第三信息码的第四比特位发生比特翻转,记录该第四比特位的位置,并统计第四比特位的数量。其中,第三比特位为标准信息码中的任意一个比特位,第四比特位为第三信息码中与标准信息码的第三比特位对应的比特位。
进一步地,若第三信息码中第四比特位的数量为一个时,异常处理模块可获取第四比特位的位置,并在配置存储器的第一配置数据中定位到第四比特位对应的比特位,即发生比特翻转的比特位。然后,对该发生比特翻转的比特位进行纠正,FPGA从配置存储器中纠正后的第一配置数据重新加载FPGA的配置数据,完成FPGA的配置。
若第三信息码中第四比特位的数量为至少两个,则通过异常处理模块,对芯片进行断电复位处理。
可以看出,通过将标准信息码与第三信息码进行按位异或运算,基于运算结果为1的位置,可以在配置存储器中的第一配置数据定位到发生比特翻转的比特位,从而对发生比特翻转的比特位进行处理,提高了对FPGA比特翻转的处理的精准性。并且,可根据发生比特翻转的比特位的数量,确定对应的异常处理策略,解决了无论是否发生比特翻转以及发生比特翻转的数量,均对配置存储器中的配置数据进行重写操作,导致飞行器电子系统运行不稳定的问题,提高了FPGA比特翻转的处理效率和精准性。
示例性的,通过异常处理模块,对芯片进行断电复位处理,可以包括如下步骤内容:
监测飞行器通信载荷对射频信号的信号处理,得到信号处理结果;
当检测到信号处理结果与预期信号处理结果不同时,将锁存器中的标准数据帧存入只读存储器,将芯片断电复位,以复位飞行器通信载荷,对芯片重新上电,并将断电复位后的配置存储器中的第二配置数据与只读存储器中的标准数据帧进行比较,
若配置存储器中的第二配置数据与只读存储器中的标准数据帧相同,则完成对芯片的断电复位处理;否则,再次将芯片断电,直至配置存储器中的第二配置数据与只读存储器中的标准数据帧相同;
当检测到信号处理结果与预期信号处理结果相同时,将锁存器中的标准数据帧写入配置存储器,以刷新配置存储器中的第一配置数据。
本申请实施例中,飞行器通信载荷为设置于飞行器上的硬件板卡,且FPGA设置于飞行器通信载荷,用于实现对射频信号接收、变换、放大和发送等信号处理功能。当FPGA存在至少两个比特位发生比特翻转时,无法直接将发生比特翻转的比特位纠正,可通过监测飞行器通信载荷的信号处理功能,以确定发生至少两个比特位的比特翻转是否导致FPGA的功能出现错误。
具体地,芯片监测飞行器通信载荷对射频信号的接收、变换、放大和发送等信号处理功能,并得到信号处理结果。获取信号处理电路的相关参数,例如,该相关参数可以包括传递函数、接收增益以及发射增益等参数。基于该射频信号和信号处理电路的相关参数计算出预期信号处理结果。
若飞行器通信载荷对射频信号的信号处理结果与预期信号处理结果不同,则飞行器通信载荷的信号处理功能异常,即FPGA发生多个比特位翻转后信号处理功能异常。将锁存器中的标准数据帧存入只读存储器,将芯片断电复位。飞行器通信载荷的功能区域采用随机存取存储器存储数据,在断电后,飞行器通信载荷的功能区域数据清空,且FPGA中的动态存储器件,例如,随机存取存储器、锁存器以及闪存中的数据被清洗,从而完成飞行器通信载荷的断电复位。
进一步地,将芯片重新上电,可编程只读存储器(Programmable Read OnlyMemory,PROM)中的数据写入配置存储器,即配置存储器的第二配置数据。将配置存储器中的第二配置数据与只读存储器中的标准数据帧进行比较,
若配置存储器中的第二配置数据与只读存储器中的标准数据帧相同,则完成对芯片的断电复位处理。否则,再次将芯片断电,直至配置存储器中的第二配置数据与只读存储器中的标准数据帧相同。
若飞行器通信载荷对射频信号的信号处理结果与预期信号处理结果相同,则飞行器通信载荷的信号处理功能未出现异常,即FPGA发生多个比特位翻转后信号处理功能未出现异常。此时,可直接将锁存器中的标准数据帧写入配置存储器,以刷新配置存储器中的第一配置数据。然后,从刷新后的配置存储器加载FPGA的第一配置数据,以完成对FPGA的配置刷新。
可以看出,监测飞行器通信载荷对射频信号的信号处理功能,可确定FPGA在发生多个比特位翻转后信号处理功能是否出现异常,当飞行器通信载荷对射频信号的信号处理结果与预期结果不同,则FPGA在发生多个比特位翻转后信号处理功能出现异常,通过对芯片的断电复位,将与标准数据帧相同的第二配置数据存入配置存储器,当行器通信载荷对射频信号的信号处理结果与预期结果相同,则FPGA在发生多个比特位翻转后信号处理功能未出现异常,将锁存器中的标准数据帧直接写入配置存储器,以刷新配置存储器的第一配置数据,由此,可在FPGA在发生多个比特位翻转后进行异常处理,且可以针对FPGA功能是否出现异常做出相应的异常处理,解决了飞行器电子系统不能对FPGA中发生多个比特位翻转的情况做出异常处理的问题,且使FPGA功能处于稳定状态,提高了飞行器电子系统运行的稳定性。
示例性的,该方法还包括如下步骤内容:
统计芯片在第一预设时间段内发生至少两个比特位翻转的次数;
若发生至少两个比特位翻转的次数大于预设阈值,则向地面控制中心发送请求信号;
当从地面控制中心接收到针对该请求信号的响应信号时,对芯片进行断电复位处理。
本申请实施例中,请求信号用于请求对芯片进行断电复位处理。
具体地,统计芯片在第一预设时间段内发生至少两个比特位翻转的次数。若在第一预设时间段内发生至少两个比特位翻转的次数大于预设阈值,表示飞行器基站的FPGA受到太空辐射的高能粒子打击超过可控范围,需向地面控制中心发送请求信号,以对芯片进行断电复位处理,从而使芯片不会长时间在高强度的高能粒子的打击下发生损坏。
进一步地,地面控制中心在接收到该请求信号后,持续对飞行器基站附近的太空辐射的高能粒子进行监测,当太空辐射的高能粒子小于预设可控值时,向飞行器基站发送响应信号。其中,在太空辐射的高能粒子小于预设可控值时,FPGA发生比特翻转的概率为0.01%。飞行器基站在接收到该响应信号后,对芯片进行断电复位处理。
可以看出,通过统计FPGA发生至少两个比特位翻转的次数,确定发生至少两个比特位翻转的次数大于预设阈值,可以确定芯片是否处于高强度的高能粒子打击中,若是,则向地面控制中心发送请求信号,在接收到响应信号后进行断电复位处理,从而使芯片工作在安全的太空辐射环境中,解决了飞行器基站在高强度的高能粒子打击下电子系统易损坏的问题,提高了飞行器电子系统的安全性。
可以看出,通过从配置存储器加载FPGA的第一配置数据后,对第一配置数据进行两次回读得到第一数据帧和第二数据帧,若第一数据帧中的第一校验码和第二数据帧的第二校验码相同,则将第一数据帧或第二数据帧作为标准数据帧锁存,以得到FPGA的第一配置数据的参考数据,并实时回读第一配置数据,将回读数据的第三数据帧中的第三校验码与标准校验码进行比对,若第三校验码与标准校验码不同,则FPGA发生比特翻转,通过异常处理模块对第一配置数据中发生比特翻转的比特位进行异常处理,从而解决了不能实时监测FPGA是否发生比特翻转并做出处理的问题,提高了飞行器电子系统运行的稳定性。
参阅图3,图3为本申请实施例提供的一种芯片的功能模块组成框图。如图3所示,芯片110包括配置检测模块301和异常处理模块302。其中:
配置检测模块301,用于在芯片110上电后,从配置存储器加载FPGA的第一配置数据;
对配置存储器中的第一配置数据进行两次回读,得到第一数据帧和第二数据帧,第一数据帧包括第一信息码和第一校验码,第二数据帧包括第二信息码和第二校验码;
当第一校验码和第二校验码相同时,将第一数据帧或第二数据帧作为标准数据帧,通过锁存器将标准数据帧锁存,标准数据帧包括标准信息码和标准校验码,标准信息码为第一信息码或第二信息码,标准校验码为第一校验码或第二校验码;
按照预设周期,对配置存储器中的第一配置数据进行回读,得到第三数据帧,第三数据帧包括第三信息码和第三校验码;
异常处理模块302,用于当第三校验码与标准校验码不同时,获取与第三数据帧对应的异常处理策略,对配置存储器中的配置数据进行异常处理。
在本申请的一个实施方式中,在获取与第三数据帧对应的异常处理策略,对配置存储器中的第一配置数据进行异常处理方面,异常处理模块302,具体用于:
将标准信息码与第三信息码进行按位异或运算;
获取运算结果中结果为1的比特位,并统计结果为1的比特位的数量;
当结果为1的比特位的数量为一个时,基于结果为1的比特位,在第三信息码中定位到发生比特翻转的比特位,通过异常处理模块,对第一配置数据中对应的发生比特翻转的比特位进行纠正;
当结果为1的比特位的数量至少为两个时,通过异常处理模块,对芯片110进行断电复位处理。
在本申请的一个实施方式中,在对芯片110进行断电复位处理方面,异常处理模块302,具体用于:
监测飞行器通信载荷对射频信号的信号处理,得到信号处理结果;
当检测到信号处理结果与预期信号处理结果不同时,将锁存器中的标准数据帧存入只读存储器,将芯片110断电复位,以复位飞行器通信载荷,对芯片110重新上电,并将断电复位后的配置存储器中的第二配置数据与只读存储器中的标准数据帧进行比较,
若配置存储器中的第二配置数据与只读存储器中的标准数据帧相同,则完成对芯片110的断电复位处理;否则,再次将芯片110断电,直至配置存储器中的第二配置数据与只读存储器中的标准数据帧相同;
当检测到信号处理结果与预期信号处理结果相同时,将锁存器中的标准数据帧写入配置存储器,以刷新配置存储器中的第一配置数据。
在本申请的一个实施方式中,异常处理模块302,还用于:
统计芯片110在第一预设时间段内发生至少两个比特位翻转的次数;
若发生至少两个比特位翻转的次数大于预设阈值,则向地面控制中心发送请求信号,请求信号用于请求对芯片110进行断电复位处理;
当从地面控制中心接收到针对请求信号的响应信号时,对芯片进行断电复位处理。
在本申请的一个实施方式中,异常处理模块302,还用于:
在第二预设时间段内,当检测到第一校验码和第二校验码不同时,再次对配置存储器中的第一配置数据进行回读;
若在第二预设时间段内,任意两次回读数据的第一校验码和第二校验码均不相同,则向地面控制中心发送错误指示,其中,错误指示用于请求地面控制中心向芯片110发送第三配置数据;
从地面控制中心接收针对错误指示的应答响应,其中,应答响应包括第三配置数据;
将配置存储器中的第一配置数据擦除,并写入第三配置数据。
在本申请的一个实施方式中,在对配置存储器中的第一配置数据进行两次回读,得到第一数据帧和第二数据帧方面,配置检测模块301,具体用于:
对配置存储器中的第一配置数据进行两次回读,得到第一信息码和第二信息码;
将第一信息码和第二信息码左移r个比特位,并在第一信息码和第二信息码的末位r个比特位补0,得到第一目标信息码和第二目标信息码,其中,r为第一校验码和第二校验码的比特位数;
基于预设生成多项式,得到预设生成多项式对应的二进制码;
以预设生成多项式对应的二进制码作为除数,对第一目标信息码和第二目标信息码进行模2除法运算,得到第一校验码和第二校验码;
将第一校验码与第一信息码的末位连接,得到第一数据帧,将第二校验码与第二信息码的末比特位连接,得到第二数据帧。
在本申请的一个实施方式中,在对配置存储器中的第一配置数据进行回读,得到第三数据帧方面,配置检测模块301,具体用于:
对配置存储器中的第一配置数据进行回读,得到第三信息码;
将第三信息码左移r个比特位,并在第三信息码的末位r个比特位补0,得到第三目标信息码,其中,r为第三校验码的比特位数;
基于预设生成多项式,得到预设生成多项式对应的二进制码;
以预设生成多项式对应的二进制码作为除数,对第三目标信息码进行模2除法运算,得到第三校验码;
将第三校验码与第三信息码的末比特位连接,得到第三数据帧。
本申请实施例还提供一种飞行器,所述飞行器包括如任一实施例描述的芯片。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施例中记载的任何一种飞行器FPGA的比特翻转的处理方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种飞行器FPGA的比特翻转的处理方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选 实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (8)

1.一种飞行器FPGA的比特翻转的处理方法,其特征在于,所述方法应用于飞行器基站的芯片,所述芯片包括配置检测模块和异常处理模块;
所述方法包括:
在所述芯片上电后,从配置存储器加载现场可编程逻辑门阵列FPGA的第一配置数据;
通过所述配置检测模块,对所述配置存储器中的所述第一配置数据进行两次回读,得到第一数据帧和第二数据帧,所述第一数据帧包括第一信息码和第一校验码,所述第二数据帧包括第二信息码和第二校验码;
当所述第一校验码和所述第二校验码相同时,将所述第一数据帧或所述第二数据帧作为标准数据帧,通过锁存器将所述标准数据帧锁存,所述标准数据帧包括标准信息码和标准校验码,所述标准信息码为所述第一信息码或所述第二信息码,所述标准校验码为所述第一校验码或所述第二校验码;
按照预设周期,对所述配置存储器中的所述第一配置数据进行回读,得到第三数据帧,所述第三数据帧包括第三信息码和第三校验码;
当所述第三校验码与所述标准校验码不同时,获取与所述第三数据帧对应的异常处理策略,通过所述异常处理模块对所述配置存储器中的所述第一配置数据进行异常处理,具体包括:
将所述标准信息码与所述第三信息码进行按位异或运算;
获取运算结果中结果为1的比特位,并统计所述结果为1的比特位的数量;
当所述结果为1的比特位的数量为一个时,基于所述结果为1的比特位,在所述第三信息码中定位到发生比特翻转的比特位,通过所述异常处理模块,对所述第一配置数据中对应的发生比特翻转的比特位进行纠正;
当所述结果为1的比特位的数量至少为两个时,通过所述异常处理模块,对所述芯片进行断电复位处理,具体包括:
监测飞行器通信载荷对射频信号的信号处理,得到信号处理结果;
当检测到所述信号处理结果与预期信号处理结果不同时,将所述锁存器中的所述标准数据帧存入只读存储器,将所述芯片断电复位,以复位所述飞行器通信载荷,对所述芯片重新上电,并将断电复位后的所述配置存储器中的第二配置数据与所述只读存储器中的所述标准数据帧进行比较,
若所述配置存储器中的所述第二配置数据与所述只读存储器中的所述标准数据帧相同,则完成对所述芯片的断电复位处理;否则,再次将所述芯片断电,直至所述配置存储器中的所述第二配置数据与所述只读存储器中的所述标准数据帧相同;
当检测到所述信号处理结果与所述预期信号处理结果相同时,将所述锁存器中的所述标准数据帧写入所述配置存储器,以刷新所述配置存储器中的所述第一配置数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
统计所述芯片在第一预设时间段内发生至少两个比特位翻转的次数;
若所述发生至少两个比特位翻转的次数大于预设阈值,则向地面控制中心发送请求信号,所述请求信号用于请求对所述芯片进行断电复位处理;
当从所述地面控制中心接收到针对所述请求信号的响应信号时,对所述芯片进行断电复位处理。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在第二预设时间段内,当检测到所述第一校验码和所述第二校验码不同时,再次对所述配置存储器中的所述第一配置数据进行回读;
若在第二预设时间段内,任意两次回读数据的所述第一校验码和所述第二校验码均不相同,则向所述地面控制中心发送错误指示,其中,所述错误指示用于请求所述地面控制中心向所述芯片发送第三配置数据;
从所述地面控制中心接收针对所述错误指示的应答响应,其中,所述应答响应包括所述第三配置数据;
将所述配置存储器中的所述第一配置数据擦除,并写入所述第三配置数据。
4.根据权利要求3所述的方法,其特征在于,所述对所述配置存储器中的所述第一配置数据进行两次回读,得到第一数据帧和第二数据帧,包括:
对所述配置存储器中的所述第一配置数据进行两次回读,得到第一信息码和第二信息码;
将所述第一信息码和所述第二信息码左移r个比特位,并在所述第一信息码和所述第二信息码的末位r个比特位补0,得到第一目标信息码和第二目标信息码,其中,r为所述第一校验码和所述第二校验码的比特位数;
基于预设生成多项式,得到所述预设生成多项式对应的二进制码;
以所述预设生成多项式对应的二进制码作为除数,对所述第一目标信息码和所述第二目标信息码进行模2除法运算,得到所述第一校验码和所述第二校验码;
将所述第一校验码与所述第一信息码的末位连接,得到所述第一数据帧,将所述第二校验码与所述第二信息码的末比特位连接,得到所述第二数据帧。
5.根据权利要求4所述的方法,其特征在于,所述对所述配置存储器中的所述第一配置数据进行回读,得到第三数据帧,包括:
对所述配置存储器中的所述第一配置数据进行回读,得到第三信息码;
将所述第三信息码左移r个比特位,并在所述第三信息码的末位r个比特位补0,得到第三目标信息码,其中,r为所述第三校验码的比特位数;
基于预设生成多项式,得到所述预设生成多项式对应的二进制码;
以所述预设生成多项式对应的二进制码作为除数,对所述第三目标信息码进行模2除法运算,得到所述第三校验码;
将所述第三校验码与所述第三信息码的末比特位连接,得到所述第三数据帧。
6.一种芯片,其特征在于,所述芯片包括配置检测模块和异常处理模块;
其中,所述配置检测模块,用于在所述芯片上电后,从配置存储器加载现场可编程逻辑门阵列FPGA的第一配置数据;
对所述配置存储器中的所述第一配置数据进行两次回读,得到第一数据帧和第二数据帧,所述第一数据帧包括第一信息码和第一校验码,所述第二数据帧包括第二信息码和第二校验码;
当所述第一校验码和所述第二校验码相同时,将所述第一数据帧或所述第二数据帧作为标准数据帧,通过锁存器将所述标准数据帧锁存,所述标准数据帧包括标准信息码和标准校验码,所述标准信息码为所述第一信息码或所述第二信息码,所述标准校验码为所述第一校验码或所述第二校验码;
按照预设周期,对所述配置存储器中的所述第一配置数据进行回读,得到第三数据帧,所述第三数据帧包括第三信息码和第三校验码;
所述异常处理模块,用于当所述第三校验码与所述标准校验码不同时,获取与所述第三数据帧对应的异常处理策略,对所述配置存储器中的所述配置数据进行异常处理,具体包括:
将所述标准信息码与所述第三信息码进行按位异或运算;
获取运算结果中结果为1的比特位,并统计所述结果为1的比特位的数量;
当所述结果为1的比特位的数量为一个时,基于所述结果为1的比特位,在所述第三信息码中定位到发生比特翻转的比特位,通过所述异常处理模块,对所述第一配置数据中对应的发生比特翻转的比特位进行纠正;
当所述结果为1的比特位的数量至少为两个时,通过所述异常处理模块,对所述芯片进行断电复位处理,具体包括:
监测飞行器通信载荷对射频信号的信号处理,得到信号处理结果;
当检测到所述信号处理结果与预期信号处理结果不同时,将所述锁存器中的所述标准数据帧存入只读存储器,将所述芯片断电复位,以复位所述飞行器通信载荷,对所述芯片重新上电,并将断电复位后的所述配置存储器中的第二配置数据与所述只读存储器中的所述标准数据帧进行比较,
若所述配置存储器中的所述第二配置数据与所述只读存储器中的所述标准数据帧相同,则完成对所述芯片的断电复位处理;否则,再次将所述芯片断电,直至所述配置存储器中的所述第二配置数据与所述只读存储器中的所述标准数据帧相同;
当检测到所述信号处理结果与所述预期信号处理结果相同时,将所述锁存器中的所述标准数据帧写入所述配置存储器,以刷新所述配置存储器中的所述第一配置数据。
7.一种飞行器,其特征在于,所述飞行器包括如权利要求6所述的芯片。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-5中任一项所述的方法。
CN202410044881.0A 2024-01-12 2024-01-12 飞行器fpga的比特翻转的处理方法及装置 Active CN117555721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410044881.0A CN117555721B (zh) 2024-01-12 2024-01-12 飞行器fpga的比特翻转的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410044881.0A CN117555721B (zh) 2024-01-12 2024-01-12 飞行器fpga的比特翻转的处理方法及装置

Publications (2)

Publication Number Publication Date
CN117555721A CN117555721A (zh) 2024-02-13
CN117555721B true CN117555721B (zh) 2024-05-07

Family

ID=89813325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410044881.0A Active CN117555721B (zh) 2024-01-12 2024-01-12 飞行器fpga的比特翻转的处理方法及装置

Country Status (1)

Country Link
CN (1) CN117555721B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484238A (zh) * 2014-12-16 2015-04-01 北京控制工程研究所 一种用于sram型fpga配置刷新的crc校验方法
CN104700900A (zh) * 2015-03-27 2015-06-10 西北核技术研究所 一种存储器单粒子翻转效应的检测系统及方法
CN108196809A (zh) * 2013-05-09 2018-06-22 苹果公司 空闲显示情况下的存储器功率节省
CN111459712A (zh) * 2020-04-16 2020-07-28 上海安路信息科技有限公司 Sram型fpga单粒子翻转纠错方法及单粒子翻转纠错电路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043674B2 (en) * 2012-12-26 2015-05-26 Intel Corporation Error detection and correction apparatus and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196809A (zh) * 2013-05-09 2018-06-22 苹果公司 空闲显示情况下的存储器功率节省
CN104484238A (zh) * 2014-12-16 2015-04-01 北京控制工程研究所 一种用于sram型fpga配置刷新的crc校验方法
CN104700900A (zh) * 2015-03-27 2015-06-10 西北核技术研究所 一种存储器单粒子翻转效应的检测系统及方法
CN111459712A (zh) * 2020-04-16 2020-07-28 上海安路信息科技有限公司 Sram型fpga单粒子翻转纠错方法及单粒子翻转纠错电路

Also Published As

Publication number Publication date
CN117555721A (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
KR102658847B1 (ko) 고 데이터 무결성 처리 시스템
Glein et al. A self-adaptive SEU mitigation system for FPGAs with an internal block RAM radiation particle sensor
US20100169741A1 (en) Error correction code for unidirectional memory
CN103500125B (zh) 一种基于fpga的抗辐射的数据处理系统及方法
CN111143107B (zh) 一种fpga单粒子反转校验电路和方法
KR20140008829A (ko) 오류 기반 공격의 검출 방법
CN110690917B (zh) 星载收发通信机抗空间单粒子翻转系统
KR20120123507A (ko) 장비의 리부트 이유를 기록하는 장치 및 방법
KR20150044795A (ko) 고체 상태 메모리 시스템에서의 레이턴시 기반 데이터 재활용을 위한 시스템 및 방법
CN117555721B (zh) 飞行器fpga的比特翻转的处理方法及装置
KR101667400B1 (ko) 싱글 이벤트 업셋(seu) 발생 및 검출 장치 및 방법
JP2008027426A (ja) クラスタベース処理システムの可用性向上ための装置および方法
CN100368997C (zh) 一种静态数据存储的纠错编码装置
CN113608720B (zh) 一种抗单粒子翻转的星载数据处理系统及方法
CN114237972A (zh) 一种用于总线传输的端到端ecc保护装置及方法
US20170005672A1 (en) Partial parity ecc checking mechanism with multi-bit hard and soft error correction capability
D'Alessio et al. NAND flash memory in-flight data from PROBA-II spacecraft
Zimmaro et al. Using Software Mitigation Schemes to improve the availability of IoT applications in harsh radiation environment
CN112272024B (zh) Fpga器件的配置数据的刷新方法、电路和存储介质
CN102411545A (zh) 一种eeprom操作保护方法、装置及系统
KR101997723B1 (ko) 상대 프로세서를 감시하기 위한 방법 및 장치
Enemali et al. Efficient Runtime Frame ECC Recomputation for Reliable Task Execution on Xilinx FPGAs
CN112363864B (zh) 检测数据维持有效性的方法、检测装置和芯片
US11462293B2 (en) System and method for error correction
Takano et al. In-orbit experiment on the fault-tolerant space computer aboard the satellite Hiten

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant