一种汽车总里程的存储方法

文档序号:6684699阅读:1419来源:国知局
专利名称:一种汽车总里程的存储方法
技术领域
本发明涉及存储方法,具体涉及一种汽车总里程的存储方法。
技术背景
汽车行驶总里程数是汽车生命周期里面最总要参数之一。其代表相应车辆目前总 的行驶里程数,对汽车价值评估有非常重要的参考作用。同时,其为驾驶者提供了关于车辆 行驶里程重要信息,为车辆保养提供最直接的依据。一般情况下,汽车里程数是通过存储器 对汽车行驶里程进行记录,当行驶里程变化大于IK m时,其将对内部存储器进行写数据操 作,将新的里程数写入存储区。当车出现掉电后,将从存储区读取当前里程的数值,并将其 显示在相应显示模块上。如果在存储区中存储的数据出现问题,掉电并恢复整车电源后,显 示模块上显示的数据将出现与实际情况不符问题。此问题将带来非常严重后果,客户产生 极大的抱怨。
目前,汽车里程数存储的方法通常为固定地址存储模式。当行驶里程变化大于 IKm时,其向存储器地址写入数据,成功写入第一地址后再次写入第二地址,然后,再写入第 三个地址。如果其中某个地址写入错误,其将再次在此地址写入数据,如果再次写入不成 功,将再次写,并以此类推。如果当某个地址存在问题后,将会一致在此写入数据,但一直写 不成功。当车辆里程变化后,还在存在问题地址处写数据,从而导致部分数据里程信息记录 失败,再次上电后,里程信息发生丢失。发明内容
本发明的目的是提供一种汽车总里程的存储方法,它能在存储区域中某一单元出 现问题时,使存储器仍能正常的对里程数进行有效的存储,防止出现实际行驶里程数与显 示屏上显示里程数不相符,出现跳变现象。
本发明所述的一种汽车总里程的存储方法,其步骤如下 当程序运行到数据存储函数后,首先检测存储器是否故障如果存储器故障标志置位后,将不再执行数据存储动作,而在显示处显示总里程错误 信息,表示存储器当前出现存储错误;如果存储器没有故障,则判断是否是前一次存储失败;如果前一次存储失败,则跳过存 储失败的地址,对存储地址进行更新,然后,再次进行写入;如果写入成功,则再次更新存储 地址,存储错误次数清零,直到写入成功次数大于要求成功写入次数为止;如果在写入过程中出现写入不成功现象,则错误次数加1,并判断错误次数次数是否达 到允许错误次数最大值;如果没有达到,则返回到数据存储函数;如果大于错误次数最大 值Er_limit,则判断存储器存在故障,存储器故障标志置一;如果在程序运行过程中,在存储器没有故障、存储没有错误状态下,如果总里程数字发 生变化,则首先读取前一次成功存入数据地址;如果第一次存储,则为存储器始端地址;然 后,更新数据地址,清零错误次数,再写入当前总里程数;如果在写入过程中,出现写入不成功的情况,则返回数据存储函数,再进入重新存储流程。
本方法的特点是当存储器中某一存储单元出现存储错误,无法成功写入数据时, 采用此方法可以不影响这个数据的存储,可以跳过此损坏存储单元进行总里程存储;如果 出现大量存储单元无法成功写入数据时,可以向用户显示当前存储器存在问题,告知用户 问题的存在,从而有效的防止了总里程数据出现突变现象。
本方法简单,效率较高,且可靠可行,使用后将杜绝里程数据丢失的现象,给用户 提供一个真实的里程数据信息,并且,当存储其某一部分存在问题时,采用此方法任可以使 用此存储器,直到存储器完全损坏为止。


图1为本发明的逻辑流程图。
具体实施方式
下面结合说明书附图对本发明进行进一步的描述 参见图1,本发明所述的一种汽车总里程的存储方法,其步骤如下当程序运行到“数据存储函数”后,首先是判断是否有“存储器故障”一 1 ; 如果存储器存在故障,则显示模块直接“显示里程错误” 一 2,且不再进行数据存储功能;如果存储器不存在故障,则判断上次存储是否发生“存储错误” -3 ; 如果没有发生存储错误,则判断当前数据总里程是否发生“里程变化” -5 ; 如果没有发生里程变化,则不进行数据存储;如果发生了里程变化,则首先“读取前一次成功存储数据地址”,在此地址的基础上进 行“地址更新错误次数清零”一 6,表示当前没有错误;在更新地址后,将“当前里程写入地 址”;如果“写入成功”,则“成功次数+ 1错误次数清零”,即成功增加一次,并判断写入成功 次数是否> Suc_limit次数;如果没有达到规定次数,则再更新地址,再次进行数据写入操作,直到成功写入次数符 合规定为止;如果在写入过程中,出现写入不成功现象,首先“记录错误地址”,“错误次数+ 1”,然 后,回到程序入口处,再通过存储错误判断流程进行处理;出现存储错误,则对地址进行更 新,跳过出现存储错误的地址;新地址后,将出现记录错误的里程信息再次写入新地址;如果写入成功,则成功写入次数增加,再判断是否满足规定要求的次数;如果满足,则 返回到数据存储函数入口;如果没有满足规定要求的Sublimit次数,则再次更新数据地址,再次写入,直到满足 规定要求的Suc_limit次数;如果发生了 “存储错误”,则对存储“地址更新” -4 ; “将出现存储错误的里程写入地址”时,首先是判断是否“写入成功” 如果写入不成功,则“记录错误地址”一 7,并在后期地址更新时,跳过此出错地址,对 “错误次数+ 1” - 9,即进行加“1”动作,说明写入失败次数增加1次;判断是否写入的“错误次数> Er_limit”一 11 如果错误次数> Er_limit次数,则判断为“存储器故障” 一 12,不再进行里程存储操 作,对软件中相应标志进行置一操作;如果错误次数没有达到Er_limit次数,则再次尝试写入数据; 当存储出现存储错误的里程写入地址时,如果“写入成功”,则“地址更新”,将记录“成 功次数+ 1错误次数清零” -8,说明成功写入数据; 判断是否“成功次数> Suc_limit"- 10 如果成功次数> Sublimit次数,这表示此数据已经完成数据存储;如果成功次数未达到Sublimit次数,则再次“地址更新”,再次写入,达到数据备份功
权利要求
1. 一种汽车总里程的存储方法,其步骤如下当程序运行到数据存储函数后,首先检测存储器是否故障 如果存储器故障标志置位后,将不再执行数据存储动作,而在显示处显示总里程错误 信息,表示存储器当前出现存储错误;如果存储器没有故障,则判断是否是前一次存储失败;如果前一次存储失败,则跳过存 储失败的地址,对存储地址进行更新,然后,再次进行写入;如果写入成功,则再次更新存储 地址,存储错误次数清零,直到写入成功次数大于要求成功写入次数Sublimit为止;如果在写入过程中出现写入不成功现象,则错误次数加1,并判断错误次数次数是否达 到允许错误次数最大值Er_limit ;如果没有达到,则返回到数据存储函数;如果大于错误 次数最大值Er_limit,则判断存储器存在故障,存储器故障标志置一;如果在程序运行过程中,在存储器没有故障、存储没有错误状态下,如果总里程数字发 生变化,则首先读取前一次成功存入数据地址;如果第一次存储,则为存储器始端地址;然 后,更新数据地址,清零错误次数,再写入当前总里程数;如果在写入过程中,出现写入不成 功的情况,则返回数据存储函数,再进入重新存储流程。
全文摘要
本发明公开一种汽车总里程的存储方法,其步骤如下当程序运行到数据存储函数后,首先检测存储器是否故障如果在程序运行过程中,在存储器没有故障、存储没有错误状态下,如果总里程数字发生变化,则首先读取前一次成功存入数据地址;如果第一次存储,则为存储器始端地址;然后,更新数据地址,清零错误次数,再写入当前总里程数;如果在写入过程中,出现写入不成功的情况,则返回数据存储函数,再进入重新存储流程。本方法简单,效率较高,且可靠可行,使用将杜绝里程数据丢失的现象,给用户提供一个真实的里程数据信息。采用此方法,可以解决当数据存储区出现存储错误时,无法正确记录整车总里程问题。方法简单,效率较高,且可靠可行。
文档编号G07C5/08GK102043722SQ201010615120
公开日2011年5月4日 申请日期2010年12月30日 优先权日2010年12月30日
发明者刘志萌, 张鹏, 易纲, 王晓伟, 谢乐成 申请人:重庆长安汽车股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1