一种软硬件结合的嵌入式设备及方法与流程

文档序号:25420390发布日期:2021-06-11 21:31阅读:94来源:国知局
一种软硬件结合的嵌入式设备及方法与流程

本发明属于高可靠存储领域,尤其是一种软硬件结合的嵌入式设备及方法。



背景技术:

现有高可靠存储产品设计主要使用自带edac存储器件、硬件冗余备份实现,通常成本高且设计结构复杂。在产品使用周期内,由于存储器件自身工艺制造过程中的偶发缺陷,数据保持能力降低,导致存储的“数据位改变”;系统使用中电源异常波动,造成“数据被异常改写”,将导致系统失效。在高可靠存储应用领域,这两种故障在器件筛选、产品测试中无法剔除,在产品使用中发生会带来巨大损失。目前这两种故障无法通过现有的嵌入式设备存储设计有效解决此类问题。



技术实现要素:

本发明的目的在于解决存储体长期使用和存储过程中“数据位改变”和“数据被改写”的存储故障,提供一种软硬件结合的嵌入式设备及方法。

为达到上述目的,本发明采用以下技术方案予以实现:

一种软硬件结合的嵌入式设备,其特征在于,包括存储器件、处理器和掉电检测电路;

所述存储器件内存储有bootloader程序、软件程序和软件程序备份组成,当设备上电后,所述bootloader程序用于校验软件程序和软件程序备份,选择校验正确的软件程序进行加载和执行,若其中一份程序出错,则加载的软件程序或软件程序备份利用正确软件程序修复出错的软件程序;

所述掉电检测电路用于在掉电瞬间触发一个高优先中断给处理器;

所述处理器用于在设备上电后加载所述bootloader程序,还用于在接收到高优先中断时对存储器件进行保护。

进一步的,所述存储器件还采用真伪花码法来提高存储可靠性。

进一步的,所述真伪花码法为:

存储器件的擦除和写操作由花码进行控制,默认值为伪花码;

当存储器件进行数据更新时,将伪花码更新成真花码,数据更新完成后,恢复为伪花码。

进一步的,所述花码为存储器操作命令序列。

进一步的,还包括ram区,利用正确软件程序修复出错的软件程序的具体过程为:

当设备上电后,所述bootloader程序校验软件程序和软件程序备份,并将校验结果存储在ram区;

基于所述校验结果,处理器选择校验正确的软件程序或软件程序备份进行加载,加载的软件程序或软件程序备份读取ram区的自检结果;若自检结果显示一份软件程序出错,则利用正确软件程序修复出错的软件程序。

进一步的,所述存储器件还采用代码清除法来提高存储可靠性;

所述代码清除法为:

在加载的软件程序或软件程序备份跳转之前,存储器件的擦除和写入操作的代码全部清除为空语句或待机的安全指令。

进一步的,还包括fpga,所述fpga内设计有写使能/禁止命令序列,用于控制存储器件的写功能;

当处理器在接收到高优先中断时,利用fpga的写封锁对存储器件进行保护。

进一步的,利用fpga的写封锁对存储器件进行保护时,所述fpga执行完成命令序列不低于30ms,并给出完成状态。

本发明的软硬件结合的嵌入式设备的高可靠存储方法:

当设备上电后,处理器加载所述bootloader程序,所述bootloader程序校验软件程序和软件程序备份,若其中一份程序出错,则利用正确软件程序修复出错的软件程序;

当掉电时,所述掉电检测电路在掉电瞬间触发一个高优先中断给处理器,处理器在接收到高优先中断时对存储器件进行保护。

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

本发明的软硬件结合的嵌入式设备及方法,从硬件软件两方面同时提高存储器件的可靠性,比其它仅通过软件或硬件的存储可靠性设计覆盖更长的数据保持期和成本低等优点。针对目前存储器件“数据位改变”和“数据被改写”的存储故障,本发明的软件程序采用冗余备份,能够自行修复出错的软件程序;采用掉电检测电路从硬件方面来提高存储的可靠性,处理器在掉电瞬间对存储器件进行保护,防止存储器件的数据被破坏;本发明可以有效解决存储器件使用过程中数据被破坏等故障模式,在存储器件失效前可保证存储数据的正确性和延长数据保持期。本发明在嵌入式设备进行了反复上下电试验验证,结果表明,存储器件的可靠性得到了提高。

进一步的,通过采用fpga写封锁在掉电瞬间将存储器件保护起来,从硬件、fpga和软件方面三位一体来提高存储可靠性。

附图说明

图1为软硬件结合的嵌入式设备的一个实施方式框图原理;

图2为软硬件结合的嵌入式设备的另一个实施方式的结构示意图;

图3为掉电检测电路的结构示意图;

图4为在下电过程出现片选或读写操作的时刻。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面结合附图对本发明做进一步详细描述:

参见图1,图1为软硬件结合的嵌入式设备的一个实施方式的框图原理,一种软硬件结合的嵌入式设备,包括存储器件、处理器和掉电检测电路;存储器件内存储有bootloader程序、软件程序和软件程序备份,当设备上电后,所述bootloader程序用于校验软件程序和软件程序备份,若其中一份程序出错,则利用正确软件程序修复出错的软件程序;掉电检测电路用于在掉电瞬间触发一个高优先中断给处理器;处理器用于在设备上电后加载所述bootloader程序,还用于在接收到高优先中断时对存储器件进行保护。

本实施方式的软硬件结合的嵌入式设备,从硬件-掉电检测电路,软件-软件程序和软件程序备份的校验两方面同时提高存储器件的可靠性,比其它仅通过软件或硬件的存储可靠性设计覆盖更长的数据保持期和成本低等优点。

基于上述实施方式的软硬件结合的嵌入式设备的工作方法,包括以下步骤:

当设备上电后,处理器加载所述bootloader程序,所述bootloader程序校验软件程序和软件程序备份,若其中一份程序出错,则利用正确软件程序修复出错的软件程序;

当掉电时,所述掉电检测电路在掉电瞬间触发一个高优先中断给处理器,处理器在接收到高优先中断时对存储器件进行保护。

参见图2,图2为软硬件结合的嵌入式设备的另一个实施方式的结构示意图,设备组成主要包括处理器(自带ram)、fpga、外部sram、flash存储器件和掉电检测电路,其中处理器为嵌入式设备的控制单元,处理嵌入式程序指令和数据;fpga为fpga程序运行平台实现存储体写保护功能;sram为挂在外部总线的ram存储器,作为嵌入式软件运行内存;存储器件存储数据主要包括bootloader程序、软件程序和软件程序备份数据;掉电检测电路为检测嵌入式设备掉电瞬间,触发一个高优先级中断提供给处理器。软硬件结合的嵌入式设备的工作流程为:设备上电后处理器加载运行bootloader程序,bootloader实现软件程序和软件程序备份的校验,并将校验结果存储在自检ram区,然后选择校验正确的软件程序或者备份程序及进行加载,加载起来的软件程序读取ram区存储的自检结果,若其中一份软件程序出错,使用无感修复方法修复出错的程序,并且软件程序采用真伪花码法和代码清除法提高存储可靠性。

真伪花码法:软件中将存储器件的擦除和写操作花码进行控制,默认值为伪花码,只有进入数据更新时,将存储器件操作伪花码更新成真花码,数据更新完成后,恢复伪花码。花码为存储器操作命令序列。

代码清除法:在程序跳转之前,关闭所有中断和cache并将ram区里对存储器件的擦除和写入操作的代码全部清除为nop指令。

无感修复法:软件程序采用冗余备份,设备上电后bootloader程序校验两份软件程序,若其中一份程序出错,则利用正确软件程序修复出错的软件程序。

参见图3,图3为掉电检测电路的结构示意图,当vcc小于预设阈值时,noms管关断,漏极输出为高,触发一个高优先中断给处理器,处理器在掉电瞬间对存储器件进行保护,防止存储器件数据被破坏。设备掉电瞬间,掉电检测电路触发一个高优先级中断给处理器,软件中断服务函数里利用fpga写封锁方法将存储器件保护起来。

fpga写封锁设计,具备存储器写控制功能,设计写使能/禁止命令序列(不少于3个),fpga执行完成命令序列不低于30ms,然后给出完成状态供软件查询。

参见图4,图4为在下电过程出现片选或读写操作的时刻,此时dsp的核电压电源1.2v电压在700mv左右。此时dsp处理器在下电过程核电压处于临界区域内,dsp不能保证正常工作,设计者将无法控制系统程序的走向,程序存在跑飞的风险,若运行到flash操作代码造成flash数据被破坏。

实施例

以某项目嵌入式计算机产品为例,产品交付使用过程中偶发设备下电后重新上电发现程序无法正常加载的故障,如图4所示。经分析当电源撤销时,dsp系统同样会出现一段时间的电源不确定区域,存在下电过程程序改写flash的可能。此项目由于硬件设备设计已经固定,只能从fpga和软件采取前面fpga写封锁、真伪花码法和代码清除法存储可靠性措施。采取上述可靠性措施后故障机器连续上下电10000次,在设备下电时不存在操作flash信号,检测flash数据未被改写。

新项目硬件设计时从硬件、fpga和软件方面三位一体出发,添加硬件掉电检测电路、fpga写封锁、软件真伪花码法和代码清除法等可靠性措施。生产出来的新产品经过自动控制设备上下电10000次,flash数据从未出现数据位被改变和数据被破坏等情况。

本发明提出低成本高可靠结构体系设计通过软硬件相结合的可靠性设计方法,有效提高嵌入式设备存储数据保持期和使用寿命,为后续嵌入式设备低成本高可靠存储体系架构打下坚实基础。原有项目根据本发明提出低成本高可靠存储体系从fpga和软件方面进行完善来提高存储的可靠性,新项目从硬件、fpga和软件方面全方位采用低成本高可靠设计方法进行设计。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

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