CN103208312B - 一种提高车辆电子控制单元里程数据存储精度的方法 - Google Patents
一种提高车辆电子控制单元里程数据存储精度的方法 Download PDFInfo
- Publication number
- CN103208312B CN103208312B CN201310158084.7A CN201310158084A CN103208312B CN 103208312 B CN103208312 B CN 103208312B CN 201310158084 A CN201310158084 A CN 201310158084A CN 103208312 B CN103208312 B CN 103208312B
- Authority
- CN
- China
- Prior art keywords
- storage unit
- data
- electronic control
- control unit
- automotive electronic
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种提高车辆电子控制单元里程数据存储精度的方法,本发明涉及一种汽车电子技术领域。本发明是为了解决在使用EEPROM存储车辆电子控制单元里程时EEPROM存储寿命短、由于个别存储单元损坏引起的总里程出现偏差问题。步骤1、在EEPROM中分配并初始化存储单元存储车辆电子控制单元里程数据;步骤2、车辆启动时,将总里程数据从EEPROM中读到车辆电子控制单元内存中;步骤3、对存储单元中的车辆电子控制单元里程数据分析,识别出损坏的存储单元,并对无效的车辆电子控制单元里程数据进行校正;步骤4、车辆行驶时,将总里程数据实时更新到EEPROM中。本发明应用于汽车电子技术领域。
Description
技术领域
本发明涉及一种汽车电子技术领域。
背景技术
车辆电子控制单元里程数据一般使用EEPROM(Electrically Erasable ProgrammableRead-Only Memory)存储,EEPROM是一种掉电后存储数据不丢失的存储芯片。在发动机熄火后,车辆电子控制单元里程数据存储在EEPROM中,下一次发动机启动之后,电子控制单元可以从EEPROM中读出上一次行车后的行车总里程。如果采用普通的数据存储方式,将车辆电子控制单元里程数据直接存储在EEPROM某一固定的存储单元中,由于在行车时要频繁更新车辆电子控制单元里程数据,容易导致这一固定存储单元的反复写入和擦除,而EEPROM每一存储单元的写/擦除的操作次数上限为10万次,因此不得不考虑使用这种普通的数据存储方式对EEPROM存储寿命的影响,同时由于采取了某一固定的存储单元,若该存储单元发生损坏,里程数据将丢失。
发明内容
本发明是为了解决在使用EEPROM存储车辆电子控制单元里程时EEPROM存储寿命短、由于个别存储单元损坏引起的总里程出现偏差问题,而提出一种提高车辆电子控制单元里程存储精度的方法。
一种提高车辆电子控制单元里程数据存储精度的方法采用以下步骤实现:
步骤1、在EEPROM中分配并初始化存储单元存储车辆电子控制单元里程数据;其中,所述每个存储单元空间占两个字节,存储单元的位置编号从0到15,每个存储单元的初值设置为0xFFFF;
步骤2、车辆启动时,将总里程数据从EEPROM中读到车辆电子控制单元内存中;其中,所述总里程数据S等于所有存储单元数据之和加上15;
步骤3、从EEPROM中读取总里程时,对存储单元中的车辆电子控制单元里程数据分析,识别出损坏的存储单元,并对无效的车辆电子控制单元里程数据进行校正;
步骤4、车辆行驶时,将总里程数据更新到EEPROM中;其中,所述总里程数据更新到EEPROM中的方法为:当前的车辆行驶的总里程为S公里,则在位置编号为S%16的存储空间上写入[S/16],总里程每增加1公里,存储单元中的数据更新一次,当总里程为S+1公里时,在位置编号为(S+1)%16的存储空间上写入[(S+1)/16]。
本发明具有以下优点:
里程数据的更新次数不再受限于EEPROM的10万次的写/擦除操作上限,可以达到数十万次,百万次的操作上限,使用寿命长,这依赖于分配的存储空间大小。可识别出在异常情况下EEPROM某个存储单元产生的非法数据,实现了车辆电子控制单元里程数据在EEPROM中安全高效的存储,避免了在使用EEPROM存储车辆电子控制单元里程时由于个别存储单元损坏引起的总里程出现偏差问题,使用本发明的提高车辆电子控制单元里程数据存储精度的方法可最大限度地降低总里程出现的误差。车辆电子控制单元的总里程数据一般为0-999999km,采用普通的数据存储方式只需3个字节大小的存储空间即可。在最高位字节的存储空间发生损坏时,其造成的里程数据最小误差为65536km,可见在普通存储方式下,某一存储单元的损坏对车辆电子控制单元里程数据的影响是致命的,极有可能丢失总里程数据。使用本发明的里程数据存储方法,在某一任意的存储单元损坏的情况下,里程数据的最大误差为1km。
附图说明
图1为本发明流程图;
图2为具体实施方式一中分配的车辆电子控制单元里程数据存储单元示意图;其中,a,a+1表示存储单元中某一时刻存储的里程数据;
图3为具体实施方式一中存储单元中总里程数据更新方式示意图;其中,S表示当前更新时刻的车辆电子控制单元总里程数;
图4为具体实施方式二中存储单元中的车辆电子控制单元里程数据特征结构示意图;其中,a,a+1表示存储单元中某一时刻存储的里程数据,b-1表示存储单元中数据为a+1的最大位置编号,b表示存储单元中数据为a的最小位置编号;
图5为具体实施方式二中某一组通过一致性检验的车辆电子控制单元里程数据分布示意图;其中,i表示某一组通过一致性检验的数据中最小的位置编号,k表示损坏的存储单元编号,j表示某一组通过一致性检验的数据中最大的位置编号,x表示损坏存储单元中的里程数据;
图6为车辆电子控制单元总里程大于16公里时存储单元中的车辆电子控制单元里程数据数据分布示意图;其中,m表示数值为a+1的存储单元中最大的位置编号,n表示位于校正模版之外的损坏的存储单元编号,i表示校正模版中最小的位置编号,x表示损坏的存储单元中的里程数据;
图7为车辆电子控制单元总里程小于16公里时存储单元中的数据分布示意图;m表示数值为0的存储单元中最大的位置编号,n某一损坏的存储单元编号,i表示数值为0xFFFF的存储单元中最小的位置编号,x表示损坏的存储单元中的里程数据。
具体实施方式
具体实施方式一、结合图1~8说明提高车辆电子控制单元里程数据存储精度的方法,具体过程如下:
步骤1、在EEPROM中分配并初始化存储单元存储车辆电子控制单元里程数据;其中,所述每个存储单元空间占两个字节,存储单元的位置编号从0到15,每个存储单元的初值设置为0xFFFF;
步骤2、车辆启动时,将总里程数据从EEPROM中读到车辆电子控制单元内存中;其中,所述总里程数据S等于所有存储单元数据之和加上15;
步骤3、从EEPROM中读取总里程时,对存储单元中的车辆电子控制单元里程数据分析,识别出损坏的存储单元,并对无效的车辆电子控制单元里程数据进行校正;
步骤4、车辆行驶时,将总里程数据更新到EEPROM中;其中,所述总里程数据更新到EEPROM中的方法为:当前的车辆行驶的总里程为S公里,则在位置编号为S%16的存储空间上写入[S/16],总里程每增加1公里,存储单元中的数据更新一次,当总里程为S+1公里时,在位置编号为(S+1)%16的存储空间上写入[(S+1)/16]。
本实施方式效果:
里程数据的更新次数不再受限于EEPROM的10万次的写/擦除操作上限,可以达到数十万次,百万次的操作上限,使用寿命长,这依赖于分配的存储空间大小。可识别出在异常情况下EEPROM某个存储单元产生的非法数据,实现了车辆电子控制单元里程数据在EEPROM中安全高效的存储,避免了在使用EEPROM存储车辆电子控制单元里程时由于个别存储单元损坏引起的总里程出现偏差问题,使用本发明的提高车辆电子控制单元里程数据存储精度的方法可最大限度地降低总里程出现的误差。车辆电子控制单元的总里程数据一般为0-999999km,采用普通的数据存储方式只需3个字节大小的存储空间即可。在最高位字节的存储空间发生损坏时,其造成的里程数据最小误差为65536km,可见在普通存储方式下,某一存储单元的损坏对车辆电子控制单元里程数据的影响是致命的,极有可能丢失总里程数据。使用本发明的里程数据存储方法,在某一任意存储单元损坏的情况下,里程数据的最大误差为1km。
具体实施方式二:本实施方式与具体实施方式一不同的是:步骤3中所述的识别出损坏的存储单元具体步骤如下:
步骤3-1:提取存储单元中车辆电子控制单元里程数据的特征:
最近16次更新的总里程数据中最小的总里程数据为Smin=16a+b,最大的总里程数据则为Smax=16a+b+15(0≤a,0≤b≤15),当b=0时,最小的总里程数位于编号为0的存储单元上,Smin=16a,最大的总里程数位于编号为15的存储单元上,Smax=16a+15,每个存储单元上的数据都等于[S/16]=a,当b≠0时,最小的总里程数位于编号为b的存储单元上,最大的总里程数位于编号为b-1的存储单元上,Smax=16a+b+15=16(a+1)+(b-1),位置编号从0到b-1的存储单元上的数据都等于a+1,位置编号从b到15的存储单元上的数据都等于a;
步骤3-2:对存储单元中的车辆电子控制单元里程数据进行一致性检验:
若有至少5个存储单元中的数据一致,说明发生损坏的存储单元个数少于8个,否则认为16个存储单元中至少有8个或者8个以上的存储单元发生损坏,则判定该EEPROM存在严重故障,拒绝做出识别同时通知车辆电子控制单元存储单元发生严重故障;
若存储单元中同时有三组或者三组以上的数据通过了一致性检测,则必然是EEPROM芯片的部分存储空间发生了连续性损坏,判定该EEPROM存在严重故障,拒绝做出识别同时通知车辆电子控制单元存储单元发生严重故障;
步骤3-3:确定车辆电子控制单元里程数据校正模板:
若有两组车辆电子控制单元里程数据同时通过了一致性检测,选择存储单元数目最多的那组里程数据作为车辆电子控制单元里程数据的校正模板,找出模板中位置编号最小的存储单元和位置编号最大的存储单元;
步骤3-4:对损坏的存储单元中无效的车辆电子控制单元里程数据进行校正:
先将校正模版存储空间上因存储单元损坏而失效的车辆电子控制单元里程数据校正为有效车辆电子控制单元里程数据a,然后根据步骤3-1中提取的存储单元中车辆电子控制单元里程数据特征,将位于校正模版存储空间之后失效的车辆电子控制单元里程数据校正为有效车辆电子控制单元里程数据a,最后对于校正模版存储空间之前失效的里程数据校正。其它步骤及参数与具体实施方式一相同。
本实施方式中,
图4是本实施方式步骤3-1中的存储单元中的车辆电子控制单元里程数据特征结构示意图,由图可知,所示为b≠0时存储单元中的里程数据分布特征,位置编号从0到b-1的存储单元上的数据都等于a+1,位置编号从b到15的存储单元上的数据都等于a;
图5是本实施方式步骤3-2中某一组通过一致性检验的车辆电子控制单元里程数据分布示意图,由图可知,所示为某一组通过一致性检验的数据,其中位置编号最小的存储单元位置编号为i,位置编号最大的存储单元位置编号为j,位置编号为k的存储单元表示i到j这段存储空间上出现损坏的存储单元;
本实施方式步骤3-4中若a≠0xFFFF,当前的总里程数S大于16公里,搜索位于校正模版之前的存储空间,找到数值为a+1且位置编号最大的存储单元;
图6是本实施方式中总里程数大于16公里时存储单元中的车辆电子控制单元里程数据数据分布示意图,所示为a≠0xFFFF时,存储单元中的数据分布情况,数值为a+1且位置编号最大的存储单元的位置编号为m,将位置编号从0到m的存储单元中非a+1的无效数据全部校正为a+1,若m≠i-1,表明m+1到i-1这段存储空间的所有存储单元都已经损坏,无法识别出该段存储空间存储的里程数据是a还是a+1,为了使得校正后的里程数据期望误差最小,将位置编号从m+1到[(i-m-1)/2]的存储单元上的数据校正为a+1,将位置编号从[(i-m-1)/2]+1到i-1存储单元上的数据校正为a,在最坏的情况下,总里程出现的最大误差为i-[(i-m-1)/2]-1,若m=i-1时,表示所有校正已经完成,可根据校正后的各个存储单元数据计算总里程;
若a=0xFFFF,表明校正模版及校正模版之后的这段存储空间中的数据还处于初始状态,如图7所示为a=0xFFFF时,存储单元中的数据分布情况,当前的总里程数S小于16公里,校正方法同a≠0xFFFF时的方法一致,不过要把所有变量a+1替换为0,所有变量a替换为0xFFFF。
Claims (2)
1.一种提高车辆电子控制单元里程数据存储精度的方法,其特征在于实现该存储方法的具体步骤如下:
步骤1、在EEPROM中分配并初始化存储单元存储车辆电子控制单元里程数据;其中,所述每个存储单元占两个字节,存储单元的位置编号从0到15,每个存储单元的初值设置为0xFFFF;
步骤2、车辆启动时,将总里程数据从EEPROM中读到车辆电子控制单元内存中;其中,所述总里程数据S等于所有存储单元数据之和加上15;
步骤3、从EEPROM中读取总里程时,对存储单元中的车辆电子控制单元里程数据分析,识别出损坏的存储单元,并对无效的车辆电子控制单元里程数据进行校正;
步骤4、车辆行驶时,将总里程数据更新到EEPROM中;其中,所述总里程数据更新到EEPROM中的方法为:当前的车辆行驶的总里程为S公里,则在位置编号为S%16的存储单元上写入[S/16],总里程每增加1公里,存储单元中的数据更新一次,当总里程为S+1公里时,在位置编号为(S+1)%16的存储单元上写入[(S+1)/16]。
2.根据权利要求1所述的一种提高车辆电子控制单元里程数据存储精度的方法,其特征在于步骤3中所述的识别出损坏的存储单元具体步骤如下:
步骤3-1:提取存储单元中车辆电子控制单元里程数据的特征:
最近16次更新的总里程数据中最小的总里程数据为Smin=16a+b,最大的总里程数据则为Smax=16a+b+15(0≤a,0≤b≤15),当b=0时,最小的总里程数位于编号为0的存储单元上,Smin=16a,最大的总里程数位于编号为15的存储单元上,Smax=16a+15,每个存储单元上的数据都等于[S/16]=a,当b≠0时,最小的总里程数位于编号为b的存储单元上,最大的总里程数位于编号为b-1的存储单元上,Smax=16a+b+15=16(a+1)+(b-1),位置编号从0到b-1的存储单元上的数据都等于a+1,位置编号从b到15的存储单元上的数据都等于a;其中,a表示存储单元中某一时刻存储的里程数据,b表示存储单元中数据为a的最小位置编号;
步骤3-2:对存储单元中的车辆电子控制单元里程数据进行一致性检验:
若有至少5个存储单元中的数据一致,说明发生损坏的存储单元个数少于8个,否则认为16个存储单元中至少有8个或者8个以上的存储单元发生损坏,则判定该EEPROM存在严重故障,拒绝做出识别同时通知车辆电子控制单元存储单元发生严重故障;
若存储单元中同时有三组或者三组以上的数据通过了一致性检测,则必然是EEPROM芯片的部分存储单元发生了连续性损坏,判定该EEPROM存在严重故障,拒绝做出识别的同时通知车辆电子控制单元存储单元发生严重故障;
步骤3-3:确定车辆电子控制单元里程数据校正模板:
若有两组车辆电子控制单元里程数据同时通过了一致性检测,选择存储单元数目最多的那组里程数据作为车辆电子控制单元里程数据的校正模板,找出模板中位置编号最小的存储单元和位置编号最大的存储单元;
步骤3-4:对损坏的存储单元中无效的车辆电子控制单元里程数据进行校正:
先将校正模版存储单元上因存储单元损坏而失效的车辆电子控制单元里程数据校正为有效车辆电子控制单元里程数据a,然后根据步骤3-1中提取的存储单元中车辆电子控制单元里程数据特征,将位于校正模版存储单元之后失效的车辆电子控制单元里程数据校正为有效车辆电子控制单元里程数据a,最后对于校正模版存储单元之前失效的里程数据校正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310158084.7A CN103208312B (zh) | 2013-05-02 | 2013-05-02 | 一种提高车辆电子控制单元里程数据存储精度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310158084.7A CN103208312B (zh) | 2013-05-02 | 2013-05-02 | 一种提高车辆电子控制单元里程数据存储精度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103208312A CN103208312A (zh) | 2013-07-17 |
CN103208312B true CN103208312B (zh) | 2015-09-09 |
Family
ID=48755508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310158084.7A Active CN103208312B (zh) | 2013-05-02 | 2013-05-02 | 一种提高车辆电子控制单元里程数据存储精度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103208312B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9374355B2 (en) * | 2013-10-28 | 2016-06-21 | GM Global Technology Operations LLC | Programming vehicle modules from remote devices and related methods and systems |
US9253200B2 (en) * | 2013-10-28 | 2016-02-02 | GM Global Technology Operations LLC | Programming vehicle modules from remote devices and related methods and systems |
CN106197469B (zh) * | 2016-06-28 | 2019-02-26 | 驾道科技有限公司 | 一种车辆里程数据计程装置及里程数据判断方法 |
CN112380059B (zh) * | 2020-11-13 | 2024-02-23 | 武汉蓝星科技股份有限公司 | 一种车用仪表里程信息保存方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4665497A (en) * | 1983-04-22 | 1987-05-12 | Hitachi, Ltd. | Electronic odometer |
US5103411A (en) * | 1989-05-31 | 1992-04-07 | Nippon Seiki Co., Ltd. | Electronic odometer wherein medium order digit data addresses locations which store high and low order digit data |
CN1121209A (zh) * | 1995-04-12 | 1996-04-24 | 潘之凯 | 通过变址提高eeprom存贮器次数的方法 |
CN1743654A (zh) * | 2004-08-31 | 2006-03-08 | 三菱电机株式会社 | 车载电子控制装置 |
CN102043722A (zh) * | 2010-12-30 | 2011-05-04 | 重庆长安汽车股份有限公司 | 一种汽车总里程的存储方法 |
-
2013
- 2013-05-02 CN CN201310158084.7A patent/CN103208312B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4665497A (en) * | 1983-04-22 | 1987-05-12 | Hitachi, Ltd. | Electronic odometer |
US5103411A (en) * | 1989-05-31 | 1992-04-07 | Nippon Seiki Co., Ltd. | Electronic odometer wherein medium order digit data addresses locations which store high and low order digit data |
CN1121209A (zh) * | 1995-04-12 | 1996-04-24 | 潘之凯 | 通过变址提高eeprom存贮器次数的方法 |
CN1743654A (zh) * | 2004-08-31 | 2006-03-08 | 三菱电机株式会社 | 车载电子控制装置 |
CN102043722A (zh) * | 2010-12-30 | 2011-05-04 | 重庆长安汽车股份有限公司 | 一种汽车总里程的存储方法 |
Non-Patent Citations (1)
Title |
---|
洪运富,吴文全.汽车里程数据的存储算法研究.《仪表技术》.2007,(第9期), * |
Also Published As
Publication number | Publication date |
---|---|
CN103208312A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103208312B (zh) | 一种提高车辆电子控制单元里程数据存储精度的方法 | |
US8694855B1 (en) | Error correction code technique for improving read stress endurance | |
CN101807165B (zh) | 用于快速缓存命中检测的系统和方法 | |
KR101675075B1 (ko) | 비-휘발성 램 에러 재-맵핑을 위한 방법 및 장치 | |
CN101529526B (zh) | 用于估计和报告闪存盘存储器的预期寿命的方法 | |
US11093331B2 (en) | Method, device and computer program product for detecting incomplete write of data | |
CN103810055A (zh) | 编程具有错误校正码(ecc)的非易失性存储器(nvm)系统 | |
CN111192620B (zh) | 一种SSD中优化NAND Flash读参考电压的方法 | |
US20140082264A1 (en) | Nand flash storage chip checking method and device | |
CN109426441B (zh) | 数据储存装置以及其操作方法 | |
CN105489244A (zh) | 一种非易失性存储器的擦除方法 | |
CN105138465B (zh) | 加快Nand Flash写操作的方法及装置 | |
CN104090732A (zh) | 非易失性存储器的管理方法和装置 | |
TWI463311B (zh) | 快閃記憶體儲存設備的資料儲存方法和裝置 | |
EP2336534A1 (en) | Method and system for the injector-individual adaptation of the injection time of motor vehicles | |
US20150212875A1 (en) | Dynamic data density ecc | |
US11231990B2 (en) | Device and method for generating error correction information | |
CN104657678A (zh) | 应答保护单调计数器、读取方法及计数方法 | |
CN104681097A (zh) | 一种非易失性存储器的修复方法 | |
US6810347B2 (en) | Robust power-on meter and method | |
JP2014075078A (ja) | 電子制御装置 | |
CN105005513A (zh) | 高速缓存多位数据翻转错误的检测及容错装置与方法 | |
CN112732179B (zh) | 一种ssd的数据管理方法及相关装置 | |
CN105278997A (zh) | 控制器软件的刷写方法及设备 | |
CN104637542B (zh) | 储存对应于数据的错误更正码的存储器装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |