控制器数据存储与读取方法

文档序号:6377112研发日期:2012年阅读:1069来源:国知局
技术简介:
本发明针对工程机械控制器数据存储易受总线干扰、错误无法修复的问题,提出采用多存储器冗余存储方案。通过将数据映射为多组独立存储数据,结合校验码验证与两两对比匹配机制,确保在部分数据损坏时仍能恢复完整数据,提升系统可靠性与安全性。
关键词:多存储器冗余,数据校验,对比匹配
专利名称:控制器数据存储与读取方法
技术领域
本发明的涉及一种主要应用于工程机械,对工程机械控制器的存储器的数据存储和读取方法。
背景技术
目前工程机械控制器有很多重要的数据需要即时保存,并能保证在掉电情况下重新上电能够读取。一般采用的方法是选用一片高性能可擦除的外部存储芯片,将数据(组)进行校验,将校验码一起存放在存储器中。读数据时检验校验码是否和读出的数据组是否匹配,如果匹配则认为数据(组)是正确,如果不正确,则认为数据(组)错误。这些方法有以下几个缺陷
1.数据容易受到总线信号的干扰。
2.错误的数据无法修复。

发明内容
本发明的目的就是提供一种主要针对目前工程机械控制器工作时电磁环境恶劣,单一的存储器存储数据时容易受到信号干扰的问题,提出采用不同通信机制、不同存储地址的多存储器进行数据存储和读取,可以避免关键数据的丢失,保证工程车辆的安全性和稳定性控制器数据存储和读取方法。本发明的解决方案是这样的
对于计算机存储器,有如下几种
1.存储器
存储器是计算机系统的记忆设备,用来存放程序和数据。在单片机系统中,它分为CPU存储器和外部存储器。前者分为CPU程序存储器和CPU数据存储器。在本文中所指的存储器,如无特别说明,指的是外部存储器,这种存储器的特点是可擦写、掉电数据不丢失;
2.CPU程序存储器
CPU程序存储器是用来保存应用程序代码,同时还可以用于保存程序执行时用到的数据。对于单片机系统而言,程序存储器经过程序烧写后,一般如果不对其进行升级,是无法改变其程序代码。这种存储器的特点是可擦写、掉电数据不丢失介质;
3.CPU数据存储器
对于单片机系统而言,数据存储器指的是在CPU运行过程中用于计算、缓存的存储器。这种存储器的特点是可擦写、掉电数据丢失介质。本发明分别使用了上述存储器。本发明的控制器数据存储和读取方法,包括数据存储步骤与数据读取步骤。所述数据存储步骤是CPU将需要保存的工作数据映射至少两组独立完整的存储数据并存储到存储器中;
所述读取步骤是读取存储器中数据,将数据进行两两对比匹配,直到出现两组匹配一致的存储数据,并将匹配一致的两组存储数据中的一份发送到CPU的数据存储器;若所有存储数据中没有匹配一致两组数据,则读取CPU原先程序存储器中程序预设的数据。进一步的所述存储数据存储在至少两个相互独立的物理存储器中,每一物理存储器中至少储存一组存储数据。进一步的所述的每一组存储数据存储在不同的地址段中。进一步的存储数据存储前采用不同的映射方法得到独立完整的存储数据;在两两对比匹配之前对读取的存储数据进行相应的逆映射运算。进一步的存储数据存储前经过校验运算得到校验码,将校验码附加到相应的存储数据组中,并将其一起保存到存储器,读取存储器数据后对每组数据的校验码进行检查;如果检验码检查正确,则将该存储数据进行两两对比匹配;如果校验码检查不正确,则进行下两组存储数据的校验码检查。
本发明的优点是采用不同通信机制、不同存储地址的多存储器进行数据存储和读取,可以避免关键数据的丢失,保证工程车辆的安全性和稳定性。


附图是本发明的实施例。附图I是本发明的系统构成示意图。附图2是本发明存储程序流程图。附图3是本发明读取程序流程图。
具体实施例方式本发明硬件电路采用双总线通信的两块存储芯片(IIC总线和SPI总线),如图I所示,在不需要保存数据时,存储器I和存储器2均不工作。当需要保存数据时,CPU使能存储器I和存储器2工作,如附图I所示。本发明的控制器数据存储和恢复方法,包括数据存储步骤与数据读取步骤。所述数据存储步骤是CPU将需要保存的工作数据映射至少两组独立完整的存储数据并存储到存储器中;
所述读取步骤是读取存储器中数据,将数据进行两两对比匹配,直到出现两组匹配一致的存储数据,并将匹配一致的两组存储数据中的一份发送到CPU的数据存储器;若所有存储数据中没有匹配一致两组数据,则读取CPU原先程序存储器中程序预设的数据。所述存储数据存储在至少两个相互独立的物理存储器中,每一物理存储器中至少储存一组存储数据。所述的每一组存储数据存储在不同的地址段中。存储数据存储前采用不同的映射方法得到独立完整的存储数据;在两两对比匹配之前对读取的存储数据进行相应的逆映射运算。存储数据存储前经过校验运算得到校验码,将校验码附加到相应的存储数据组中,并将其一起保存到存储器,读取存储器数据后对每组数据的校验码进行检查;如果检验码检查正确,则将该存储数据进行两两对比匹配;如果校验码检查不正确,则进行下两组存储数据的校验码检查。
具体的,假设我们需要保存数据A,下面的步骤按(1),(2),(3),(4)进行存储过程,按步骤(5)、(6)、(7)进行读取过程。(I)、将数据A用不同的映射方法得到数据组B,C,D, E, F,G其中有映射关系B=fi ⑷,C=f2 ⑷,D=f3 ⑷,E=f4 ⑷,F=f5 ⑷,G=f6 ⑷,
(2)、通过校验算法得到校验码XB,XC,XD, XE, XF, XG ;
(3)、得到新的数组B' =B+XB,C/ =C+XC,D/ =D+XD,E/ =E+XE,F/ =F+XF,G/ =G+XG,
(4)、将B’,C’,D,存储到存储器I的不同地址段中,E’,F,,G,存储到存储器2的不同地址段中;
(5)、将读出校验码与压缩校验码进行比对,如果一致则认为该组数据存储有效,否则认为无效;读取时读出存储器I、存储器2相应地址的6组数据,分别为 b’,c' , d', e; , f' , g'。解析出校验码xb, X。,xd, xe, xf, xg,如果某个Xi和i校验不通过,则丢弃数据i。目前假设校验都通过;
(6)、对校验通过的数据进行逆映射运算得到结果Atl,A1, A2, A3, A4, A5,其中 A0=f1_1 (b), A1=If2-1 (c), A2=f3_1 (d), A3=f4_1 (e), A4=f5_1 (f), A5=f6_1 (g)
(7)、对八041,A2,A3, A4, A5进行两两比对,如果某两组数据完全相同Ai = Aj,则认为Ai为原先我们想要存储的数据A,然后提供给CPU继续进行运算。否则如果没有任何两组能够完全匹配,则CPU调用预先在程序存储器中的一组数R,用R来取代A。
权利要求
1.一种控制器数据存储与读取方法,包括数据存储步骤与数据读取步骤,其特征在于:所述数据存储步骤是CPU将需要保存的工作数据映射至少两组独立完整的存储数据并存储到存储器中;所述读取步骤是读取存储器中数据,将数据进行两两对比匹配,直到出现两组匹配一致的存储数据,并将匹配一致的两组存储数据中的一份发送到CPU的数据存储器;若所有存储数据中没有匹配一致两组数据,则读取CPU原先程序存储器中程序预设的数据。
2.根据权利要求I所述的控制器数据存储与读取方法,其特征在于所述存储数据存储在至少两个相互独立的物理存储器中,每ー物理存储器中至少储存一组存储数据。
3.根据权利要求I或2所述的控制器数据存储与读取方法,其特征在于所述的每ー组存储数据存储在不同的地址段中。
4.根据权利要求I所述的控制器数据存储与读取方法,其特征在于存储数据存储前采用不同的映射方法得到独立完整的存储数据;在两两对比匹配之前对读取的存储数据进行相应的逆映射运算。
5.根据权利要求4所述的控制器数据存储与读取方法,其特征在于存储数据存储前经过校验运算得到校验码,将校验码附加到相应的存储数据组中,并将其一起保存到存储器,读取存储器数据后对每组数据的校验码进行检查;如果检验码检查正确,则将该存储数据进行两两对比匹配;如果校验码检查不正确,则进行下两组存储数据的校验码检查。
全文摘要
一种控制器数据存储和读取方法。其特点是包括数据存储步骤与数据读取步骤,所述数据存储步骤是CPU将需要保存的工作数据映射至少两组独立完整的存储数据并存储到存储器中;所述读取步骤是读取存储器中数据,将数据进行两两对比匹配,直到出现两组匹配一致的存储数据,并将匹配一致的两组存储数据中的一份发送到CPU的数据存储器;若所有存储数据中没有匹配一致两组数据,则读取CPU原先程序存储器中程序预设的数据;存储数据存储在至少两个相互独立的物理存储器中,每一物理存储器中至少储存一组存储数据。其优点是采用不同通信机制、不同存储地址的多存储器进行数据存储和读取,可以避免关键数据的丢失,保证工程车辆的安全性和稳定性。
文档编号G06F12/16GK102866963SQ201210345778
公开日2013年1月9日 申请日期2012年9月18日 优先权日2012年9月18日
发明者马文宇, 蔡登胜, 孙金泉, 李璘, 赵明辉 申请人:广西柳工机械股份有限公司
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!