CN112667433B - 一种汽车仪表里程用数据校验纠偏方法 - Google Patents
一种汽车仪表里程用数据校验纠偏方法 Download PDFInfo
- Publication number
- CN112667433B CN112667433B CN202110110765.0A CN202110110765A CN112667433B CN 112667433 B CN112667433 B CN 112667433B CN 202110110765 A CN202110110765 A CN 202110110765A CN 112667433 B CN112667433 B CN 112667433B
- Authority
- CN
- China
- Prior art keywords
- data
- mileage
- kilometer
- whole
- eeprom
- 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
Images
Landscapes
- Measurement Of Distances Traversed On The Ground (AREA)
Abstract
本发明公开了一种汽车仪表里程用数据校验纠偏方法,属于汽车技术领域,目的在于解决异常工况造成数据存储过程中的数据损坏,同时降低对同一存储地址空间擦写操作的频次,提高存储器件的使用寿命,包括以下步骤:步骤一:采用里程数据分段方式将总里程分为整千米里程数据和非整千米里程数据,所述整千米里程数据被分成多组数据存储于电可擦除可编程存储器EEPROM中的不同地址空间内;通过将总里程分为整千米里程数据和非整千米里程数据,利用纠错算法对其异常数据进行及时纠错,能够有效解决异常工况造成数据存储过程中的数据损坏,同时降低对同一存储地址空间擦写操作的频次,提高存储器件的使用寿命。
Description
技术领域
本发明属于汽车技术领域;具体是一种汽车仪表里程用数据校验纠偏方法。
背景技术
汽车总里程是从车辆出厂之日起一共行驶的里程数,要求在仪表上记录和显示,用于用户和维修维护人员了解车辆状态,是非常重要的车辆状态参数。车辆的使用环境多变,而车辆的电子元件容易受到不可预知的信号干扰不可避免地产生短时的错误操作,车辆的存储元件在存储车辆里程数据时容易因信号干扰导致车辆里程数据丢失或车辆里程数据存储有误,里程存取中对于里程数据的正确性也往往缺少严格的验证方法,容易产生里程数据读写错误的情况;里程数据记录和显示是汽车组合仪表的一项重要功能,因此错误的里程数据将造成仪表功能缺陷,进而造成返修或报废产生不必要的经济损失。
在早期的组合仪表中将里程数据存储在单一位置中,在实际使用中当仪表供电异常或在运行过程中MCU复位,则会造成存储数据的损坏或行驶里程丢失。为了解决里程数据存储在单一位置导致的里程数据丢失和损坏的问题,引入了数据冗余存储,将里程数据同时存储于存储器的不同空间,并加入相互校验机制。此方法存在存储频次高,受限于存储器的物理擦写循环次数,频繁的擦写存储器同一地址空间容易造成物理损坏。
发明内容
本发明的目的在于提供一种汽车仪表里程用数据校验纠偏方法,解决异常工况造成数据存储过程中的数据损坏问题,以及降低对同一存储地址空间擦写操作的频次,提高存储器件的使用寿命。
通过将总里程分为整千米里程数据和非整千米里程数据,并对整千米里程数据采用分组均布方式存储在电可擦除可编程存储器EEPROM中,利用纠错算法对其异常数据进行及时纠错,能够有效解决异常工况造成数据存储过程中的数据损坏,同时降低对同一存储地址空间擦写操作的频次,提高存储器件的使用寿命;通过校验方法,以实现组合仪表在各种车况下车辆行驶里程数据不会被异常因素干扰而造成里程数据清除或数据于实际行驶里程误差极大的偏差。
本发明的目的可以通过以下技术方案实现:
一种汽车仪表里程用数据校验纠偏方法,包括以下步骤:
步骤一:采用里程数据分段方式将总里程分为整千米里程数据和非整千米里程数据,所述整千米里程数据被分成多组数据存储于电可擦除可编程存储器EEPROM中的不同地址空间内;
步骤二:当车辆点火开关切换到ON档后,组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中;
步骤三:对随机存储器RAM中整千米里程的各个分段数据进行校检和数据修正;
步骤四:组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的非整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中,当非整千米里程数据校验通过时,则使用电可擦除可编程存储器EEPROM中的非整千米里程数据作为初始值,当非整千米里程数据校验没有通过时,则给非整千米里程数据赋予预设值;
步骤五:将车辆行驶过程中单位时间内行驶的里程增量累加在组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分;
步骤六:当车辆点火开关切换到OFF档后,组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中;
步骤七:将组合仪表的微控制器MCU内部的随机存储器RAM中整千米里程数据和非整千米里程数据进行整合得到完整的里程数据。
进一步地,所述非整千米里程数据包含数据帧头、有效数据、校验数据和数据帧尾,所述电可擦除可编程存储器EEPROM用于存储组合仪表的里程数据,并在系统掉电后保持数据不会丢失;多组数据的数量根据具体应用进行定义,最少分组为三组,根据存储器可靠擦写循环次数和读取速率划分。
进一步地,所述组合仪表的微控制器MCU用于执行控制指令和运算指令,所述随机存储器RAM用于存储指令运行时数据和零时数。
进一步地,所述步骤三中对随机存储器RAM中整千米里程的各个分段数据进行校检和数据修正,具体步骤为:
S11:在随机存储器RAM中定义32位整型数组Data,数组元素个数等于电可擦除可编程存储器EEPROM中整千米里程数据的分段数,将数组元素个数标记为G,定义零时变量i指向当前数组下标,其中i=2,3,...,n;定义零时变量Delt1,Delt2,Delt3;
S12:从电可擦除可编程存储器EEPROM中加载整千米里程数据的所有分段数据到32位整型数组Data中;
S13:当i≥G时,结束整千米里程数据校验和纠正;
S14:当i<G时,Delt1=|Data(i-2)-Data(i-1)|,Delt2=|Data(i-2)-Data(i)|;
S15:当Delt1≤1,且Delt2≤1时,返回S13重新校检;
S16:当Delt1≤1,且Delt2>1时,Data(i)数据错误,Data(i)=Data(i-1),将Data(i)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
S17:当Delt1>1,且Delt2≤1时,Data(i-1)数据错误,Data(i-1)=Data(i-2),将Data(i-1)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
S18:当Delt1>1,且Delt2>1时,Data(i-2)数据错误,Data(i-2)=Data(i-1),将Data(i-2)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检。
进一步地,所述步骤五中将车辆行驶过程中单位时间内行驶的里程增量累加在随机存储器RAM中里程数据的非整千米部分,具体步骤为:
S21:当里程数据的非整千米部分大于一千米时,包括一千米,将电可擦除可编程存储器EEPROM中里程数据的整千米部分加一;
S22:对电可擦除可编程存储器EEPROM中里程数据的整千米部分进行校检,当校检成功后进行储存;
S23:将组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分减去一千米。
进一步地,所述步骤六中组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中,具体步骤为:
S31:对非整千米里程数据的数据帧头进行加一处理;
S32:将非整千米里程数据的有效数据按位取反后赋值给非整千米里程数据的检验数据;
S33:将非整千米里程数据的数据帧头按位取反后赋值给非整千米里程数据的数据帧尾;
S34:按帧头、有效数据、数据校验、数据帧尾的顺序依次写入电可擦除可编程存储器EEPROM中。
进一步地,所有所述地址空间中数据的累加和为实际整千米里程数据。
本发明的有益效果:通过将总里程分为整千米里程数据和非整千米里程数据,并对整千米里程数据采用分组均布方式存储在电可擦除可编程存储器EEPROM中,利用纠错算法对其异常数据进行及时纠错,能够有效解决异常工况造成数据存储过程中的数据损坏,同时降低对同一存储地址空间擦写操作的频次,提高存储器件的使用寿命;通过校验方法,以实现组合仪表在各种车况下车辆行驶里程数据不会被异常因素干扰而造成里程数据清除或数据于实际行驶里程误差极大的偏差;通过组合仪表在车辆上电后组合仪表的微控制器MCU从外部存储器中读取总里程的整千米里程数据和非整千米里程数据,并对整千米里程数据进行纠错处理,得到正确的总整千米里程数据后赋值给内存中的总里程整数变量,对非整千米里程数据进行有效性判断,若非整千米里程数据校验通过则使用电可擦除可编程存储器EEPROM中的非整千米里程数据作为初始值,否则给非整千米里程数据赋固定的初始值,组合仪表里程表显示数据为整千米里程数据与非整千米里程数据之和,实现组合仪表在各种车况下车辆行驶里程数据不会被异常因素干扰而造成里程数据清除或数据于实际行驶里程误差极大的偏差;
通过将车辆行驶过程中单位时间内行驶的里程增量累加在随机存储器RAM中里程数据的非整千米部分,当里程数据的非整千米部分大于一千米时,包括一千米,将电可擦除可编程存储器EEPROM中里程数据的整千米部分加一,对电可擦除可编程存储器EEPROM中里程数据的整千米部分进行校检,当校检成功后进行储存,将组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分减去一千米,降低对同一存储地址空间擦写操作的频次,提高存储器件的使用寿命;通过当车辆点火开关切换到OFF档后,组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中,对非整千米里程数据的数据帧头进行加一处理,将非整千米里程数据的有效数据按位取反后赋值给非整千米里程数据的检验数据,将非整千米里程数据的数据帧头按位取反后赋值给非整千米里程数据的数据帧尾,按帧头、有效数据、数据校验、数据帧尾的顺序依次写入电可擦除可编程存储器EEPROM中,能够有效解决异常工况造成数据存储过程中的数据损坏。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一方法示意图;
图2为本发明实施例二方法示意图;
图3为本发明实施例三方法示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:如图1所示,一种汽车仪表里程用数据校验纠偏方法,包括以下步骤:
步骤一:采用里程数据分段方式将总里程分为整千米里程数据和非整千米里程数据,整千米里程数据被分成多组数据存储于电可擦除可编程存储器EEPROM中的不同地址空间内,所有地址空间中数据的累加和为实际整千米里程数据;
非整千米里程数据包含数据帧头、有效数据、校验数据和数据帧尾,电可擦除可编程存储器EEPROM用于存储组合仪表的里程数据,并在系统掉电后保持数据不会丢失;多组数据的数量根据具体应用进行定义,最少分组为3组,根据存储器可靠擦写循环次数和读取速率划分,对于一般的电可擦除可编程存储器EEPROM芯片推荐分为8组;
整千米里程数据和非整千米里程数据就是整千米里程数和非整千米里程数;
步骤二:当车辆点火开关切换到ON档后,组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中;
组合仪表的微控制器MCU用于执行控制指令和运算指令,随机存储器RAM用于存储指令运行时数据和零时数;
步骤三:对随机存储器RAM中整千米里程的各个分段数据进行校检和数据修正;
步骤四:组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的非整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中,并对非整千米里程数据进行数据校验,当非整千米里程数据校验通过时,则使用电可擦除可编程存储器EEPROM中的非整千米里程数据作为初始值,当非整千米里程数据校验没有通过时,则给非整千米里程数据赋予预设值;
步骤五:将车辆行驶过程中单位时间内行驶的里程增量累加在组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分;
步骤六:当车辆点火开关切换到OFF档后,组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中;
步骤七:将组合仪表的微控制器MCU内部的随机存储器RAM中整千米里程数据和非整千米里程数据进行整合得到完整的里程数据;
步骤三中对随机存储器RAM中整千米里程的各个分段数据进行校检和数据修正,具体步骤为:
S11:在随机存储器RAM中定义32位整型数组Data,数组元素个数等于电可擦除可编程存储器EEPROM中整千米里程数据的分段数,将数组元素个数标记为G,定义零时变量i指向当前数组下标,其中i=2,3,...,n;定义零时变量Delt1,Delt2,Delt3;
S12:从电可擦除可编程存储器EEPROM中加载整千米里程数据的所有分段数据到32位整型数组Data中;
S13:当i≥G时,结束整千米里程数据校验和纠正;
S14:当i<G时,Delt1=|Data(i-2)-Data(i-1)|,Delt2=|Data(i-2)-Data(i)|;
S15:当Delt1≤1,且Delt2≤1时,返回S13重新校检;
S16:当Delt1≤1,且Delt2>1时,Data(i)数据错误,Data(i)=Data(i-1),将Data(i)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
S17:当Delt1>1,且Delt2≤1时,Data(i-1)数据错误,Data(i-1)=Data(i-2),将Data(i-1)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
S18:当Delt1>1,且Delt2>1时,Data(i-2)数据错误,Data(i-2)=Data(i-1),将Data(i-2)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
步骤五中将车辆行驶过程中单位时间内行驶的里程增量累加在随机存储器RAM中里程数据的非整千米部分,具体步骤为:
S21:当里程数据的非整千米部分大于一千米时,包括一千米,将电可擦除可编程存储器EEPROM中里程数据的整千米部分加一;
S22:对电可擦除可编程存储器EEPROM中里程数据的整千米部分进行校检,当校检成功后进行储存;
S23:将组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分减去一千米;
步骤六中组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中,具体步骤为:
S31:对非整千米里程数据的数据帧头进行加一处理;
S32:将非整千米里程数据的有效数据按位取反后赋值给非整千米里程数据的检验数据;
S33:将非整千米里程数据的数据帧头按位取反后赋值给非整千米里程数据的数据帧尾;
S34:按帧头、有效数据、数据校验、数据帧尾的顺序依次写入电可擦除可编程存储器EEPROM中;
实施例二:如图2所示,一种汽车仪表里程用数据校验纠偏方法,包括以下步骤:
步骤一:采用里程数据分段方式将总里程分为整千米里程数据和非整千米里程数据,整千米里程数据被分成多组数据存储于电可擦除可编程存储器EEPROM中的不同地址空间内,所有地址空间中数据的累加和为实际整千米里程数据;
步骤二:当车辆点火开关切换到ON档后,组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中;
步骤三:对随机存储器RAM中整千米里程的各个分段数据进行校检和数据修正,具体步骤为:
S11:在随机存储器RAM中定义32位整型数组Data,数组元素个数等于电可擦除可编程存储器EEPROM中整千米里程数据的分段数G,定义零时变量i指向当前数组下标,其中i=2,3,...,n;定义零时变量Delt1,Delt2,Delt3;
S12:从电可擦除可编程存储器EEPROM中加载整千米里程数据的所有分段数据到32位整型数组Data中;
S13:当i≥G时,结束整千米里程数据校验和纠正;
S14:当i<G时,Delt1=|Data(i-2)-Data(i-1)|,Delt2=|Data(i-2)-Data(i)|;
S15:当Delt1≤1,且Delt2≤1时,返回S13重新校检;当Delt1≤1,且Delt2>1时,Data(i)数据错误,Data(i)=Data(i-1),将Data(i)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;当Delt1>1,且Delt2≤1时,Data(i-1)数据错误,Data(i-1)=Data(i-2),将Data(i-1)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;当Delt1>1,且Delt2>1时,Data(i-2)数据错误,Data(i-2)=Data(i-1),将Data(i-2)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
步骤四:组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的非整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中,使用电可擦除可编程存储器EEPROM中的非整千米里程数据作为初始值;
步骤五:将车辆行驶过程中单位时间内行驶的里程增量累加在组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分,具体步骤为:
S21:当里程数据的非整千米部分大于一千米时,包括一千米,将电可擦除可编程存储器EEPROM中里程数据的整千米部分加一;
S22:对电可擦除可编程存储器EEPROM中里程数据的整千米部分进行校检,当校检成功后进行储存;
S23:将组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分减去一千米;
步骤六:当车辆点火开关切换到OFF档后,组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中,具体步骤为:
S31:对非整千米里程数据的数据帧头进行加一处理;
S32:将非整千米里程数据的有效数据按位取反后赋值给非整千米里程数据的检验数据;
S33:将非整千米里程数据的数据帧头按位取反后赋值给非整千米里程数据的数据帧尾;
S34:按帧头、有效数据、数据校验、数据帧尾的顺序依次写入电可擦除可编程存储器EEPROM中;
步骤七:将组合仪表的微控制器MCU内部的随机存储器RAM中整千米里程数据和非整千米里程数据进行整合得到完整的里程数据;
本实施例二与实施例一相比的有益效果是减少了对非整千米里程数据的校核,因为非整千米误差较小可以忽略,降低了校核压力,精简方法步骤。
实施例三:如图3所示,一种汽车仪表里程用数据校验纠偏方法,包括以下步骤:
步骤一:采用里程数据分段方式将总里程分为整千米里程数据和非整千米里程数据,整千米里程数据被分成多组数据存储于电可擦除可编程存储器EEPROM中的不同地址空间内,所有地址空间中数据的累加和为实际整千米里程数据;
步骤二:当车辆点火开关切换到ON档后,组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中;
步骤三:对随机存储器RAM中整千米里程的各个分段数据进行校检和数据修正;
步骤四:组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的非整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中,并对非整千米里程数据进行数据校验,当非整千米里程数据校验通过时,则使用电可擦除可编程存储器EEPROM中的非整千米里程数据作为初始值,当非整千米里程数据校验没有通过时,则给非整千米里程数据赋予预设值;
步骤五:将车辆行驶过程中单位时间内行驶的里程增量累加在组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分;
步骤六:当车辆点火开关切换到OFF档后,组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中;
步骤七:将组合仪表的微控制器MCU内部的随机存储器RAM中整千米里程数据和非整千米里程数据进行整合得到完整的里程数据;
步骤八:将组合仪表的微控制器MCU内部的随机存储器RAM中的完整里程数据进行备份,具体备份过程包括以下步骤:
A1:通过采集模块采集组合仪表的微控制器MCU内部的随机存储器RAM中的完整里程数据,并将完整里程数据发送至储存模块;
储存模块用于储存完整里程数据,且储存模块独立于汽车仪表,避免仪表损坏后,4S店更换仪表后,组合仪表显示的里程是出厂值,而非该车的实际里程数,原车上更换的仪表,无法提供原里程数给用户,给用户带来极大不便;
A2:储存模块接收由采集模块发送的完整里程数据,并将完整里程数据进行储存;
实施例三与实施例一相比的有益效果是避免仪表损坏后,4S店更换仪表后,组合仪表显示的里程是出厂值,而非该车的实际里程数,原车上更换的仪表,无法提供原里程数给用户,给用户带来极大不便,而通过备份完整里程数据,当用户更换仪表后仍然可以提取到完整里程数据。
上述公式均是去除量纲取其数值计算,公式是由采集大量数据进行软件模拟得到最接近真实情况的一个公式,公式中的预设参数由本领域的技术人员根据实际情况设定。
本发明在使用时,采用里程数据分段方式将总里程分为整千米里程数据和非整千米里程数据,通过电可擦除可编程存储器EEPROM存储组合仪表的里程数据,并在系统掉电后保持数据不会丢失,多组数据的数量根据具体应用进行定义,最少分组为3组,根据存储器可靠擦写循环次数和读取速率划分,对于一般的电可擦除可编程存储器EEPROM芯片推荐分为8组;当车辆点火开关切换到ON档后,组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中,通过组合仪表的微控制器MCU执行控制指令和运算指令,通过随机存储器RAM存储指令运行时数据和零时数,对随机存储器RAM中整千米里程的各个分段数据进行校检和数据修正,组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的非整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中,当非整千米里程数据校验通过时,则使用电可擦除可编程存储器EEPROM中的非整千米里程数据作为初始值,当非整千米里程数据校验没有通过时,则给非整千米里程数据赋予预设值;
将车辆行驶过程中单位时间内行驶的里程增量累加在组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分,当车辆点火开关切换到OFF档后,组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中,将组合仪表的微控制器MCU内部的随机存储器RAM中整千米里程数据和非整千米里程数据进行整合得到完整的里程数据;
通过将总里程分为整千米里程数据和非整千米里程数据,并对整千米里程数据采用分组均布方式存储在电可擦除可编程存储器EEPROM中,利用纠错算法对其异常数据进行及时纠错,能够有效解决异常工况造成数据存储过程中的数据损坏,同时降低对同一存储地址空间擦写操作的频次,提高存储器件的使用寿命;通过校验方法,以实现组合仪表在各种车况下车辆行驶里程数据不会被异常因素干扰而造成里程数据清除或数据于实际行驶里程误差极大的偏差。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上内容仅仅是对本发明结构所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (6)
1.一种汽车仪表里程用数据校验纠偏方法,其特征在于,包括以下步骤:
步骤一:采用里程数据分段方式将总里程分为整千米里程数据和非整千米里程数据,所述整千米里程数据被分成多组数据存储于电可擦除可编程存储器EEPROM中的不同地址空间内;
步骤二:当车辆点火开关切换到ON档后,组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中;
步骤三:对随机存储器RAM中整千米里程的各个分段数据进行校检和数据修正;
S11:在随机存储器RAM中定义32位整型数组Data,数组元素个数等于电可擦除可编程存储器EEPROM中整千米里程数据的分段数,将数组元素个数标记为G,定义零时变量i指向当前数组下标,其中i=2,3,...,n;定义零时变量Delt1,Delt2,Delt3;
S12:从电可擦除可编程存储器EEPROM中加载整千米里程数据的所有分段数据到32位整型数组Data中;
S13:当i≥G时,结束整千米里程数据校验和纠正;
S14:当i<G时,Delt1=|Data(i-2)-Data(i-1)|,Delt2=|Data(i-2)-Data(i)|;
S15:当Delt1≤1,且Delt2≤1时,返回S13重新校检;
S16:当Delt1≤1,且Delt2>1时,Data(i)数据错误,Data(i)=Data(i-1),将Data(i)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
S17:当Delt1>1,且Delt2≤1时,Data(i-1)数据错误,Data(i-1)=Data(i-2),将Data(i-1)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
S18:当Delt1>1,且Delt2>1时,Data(i-2)数据错误,Data(i-2)=Data(i-1),将Data(i-2)写回到电可擦除可编程存储器EEPROM中,并从S13重新校检;
步骤四:组合仪表的微控制器MCU将电可擦除可编程存储器EEPROM中的非整千米里程数据读取到组合仪表的微控制器MCU内部的随机存储器RAM中,当非整千米里程数据校验通过时,则使用电可擦除可编程存储器EEPROM中的非整千米里程数据作为初始值,当非整千米里程数据校验没有通过时,则给非整千米里程数据赋予预设值;
步骤五:将车辆行驶过程中单位时间内行驶的里程增量累加在组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分;
步骤六:当车辆点火开关切换到OFF档后,组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中;
步骤七:将组合仪表的微控制器MCU内部的随机存储器RAM中整千米里程数据和非整千米里程数据进行整合得到完整的里程数据。
2.根据权利要求1所述的一种汽车仪表里程用数据校验纠偏方法,其特征在于,所述非整千米里程数据包含数据帧头、有效数据、校验数据和数据帧尾,所述电可擦除可编程存储器EEPROM用于存储组合仪表的里程数据,并在系统掉电后保持数据不会丢失;多组数据的数量根据具体应用进行定义,最少分组为三组,根据存储器可靠擦写循环次数和读取速率划分。
3.根据权利要求1所述的一种汽车仪表里程用数据校验纠偏方法,其特征在于,所述组合仪表的微控制器MCU用于执行控制指令和运算指令,所述随机存储器RAM用于存储指令运行时数据和零时数。
4.根据权利要求1所述的一种汽车仪表里程用数据校验纠偏方法,其特征在于,所述步骤五中将车辆行驶过程中单位时间内行驶的里程增量累加在随机存储器RAM中里程数据的非整千米部分,具体步骤为:
S21:当里程数据的非整千米部分大于一千米时,包括一千米,将电可擦除可编程存储器EEPROM中里程数据的整千米部分加一;
S22:对电可擦除可编程存储器EEPROM中里程数据的整千米部分进行校检,当校检成功后进行储存;
S23:将组合仪表的微控制器MCU内部的随机存储器RAM中里程数据的非整千米部分减去一千米。
5.根据权利要求1所述的一种汽车仪表里程用数据校验纠偏方法,其特征在于,所述步骤六中组合仪表的微控制器MCU将内部的随机存储器RAM中里程数据的非整千米里程数据存储到电可擦除可编程存储器EEPROM中,具体步骤为:
S31:对非整千米里程数据的数据帧头进行加一处理;
S32:将非整千米里程数据的有效数据按位取反后赋值给非整千米里程数据的检验数据;
S33:将非整千米里程数据的数据帧头按位取反后赋值给非整千米里程数据的数据帧尾;
S34:按帧头、有效数据、数据校验、数据帧尾的顺序依次写入电可擦除可编程存储器EEPROM中。
6.根据权利要求1所述的一种汽车仪表里程用数据校验纠偏方法,其特征在于,所有所述地址空间中数据的累加和为实际整千米里程数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110110765.0A CN112667433B (zh) | 2021-01-27 | 2021-01-27 | 一种汽车仪表里程用数据校验纠偏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110110765.0A CN112667433B (zh) | 2021-01-27 | 2021-01-27 | 一种汽车仪表里程用数据校验纠偏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667433A CN112667433A (zh) | 2021-04-16 |
CN112667433B true CN112667433B (zh) | 2022-06-17 |
Family
ID=75414618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110110765.0A Active CN112667433B (zh) | 2021-01-27 | 2021-01-27 | 一种汽车仪表里程用数据校验纠偏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667433B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849338B (zh) * | 2021-09-29 | 2024-03-01 | 东风汽车集团股份有限公司 | 一种组合仪表总计里程存储装置及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043722A (zh) * | 2010-12-30 | 2011-05-04 | 重庆长安汽车股份有限公司 | 一种汽车总里程的存储方法 |
CN103309814A (zh) * | 2013-05-23 | 2013-09-18 | 航天科技控股集团股份有限公司 | 汽车里程数据在eeprom中的存储方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4803646A (en) * | 1984-10-01 | 1989-02-07 | Ford Motor Company | Electronic odometer |
CN102768631A (zh) * | 2012-06-28 | 2012-11-07 | 惠州市德赛西威汽车电子有限公司 | 一种数据保存和校验方法 |
CN104978534A (zh) * | 2014-04-11 | 2015-10-14 | 大陆汽车车身电子系统(芜湖)有限公司 | 用于防止篡改车辆里程的方法和系统 |
CN105241472B (zh) * | 2015-11-17 | 2020-09-22 | 厦门雅迅网络股份有限公司 | 一种基于obd车速的车辆行驶里程统计方法及装置 |
GB2549149B (en) * | 2016-04-08 | 2018-06-27 | Melman Emanuel | Vehicle mileage verification system and method |
CN110827440A (zh) * | 2018-08-10 | 2020-02-21 | 苏州欧菲光科技有限公司 | 行驶里程记录方法、行驶里程记录系统及汽车 |
CN110186476A (zh) * | 2019-04-11 | 2019-08-30 | 汉腾汽车有限公司 | 一种汽车里程计算的算法 |
CN110912964A (zh) * | 2019-10-23 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种车辆里程备份系统、方法、装置、电子设备及介质 |
CN111862387A (zh) * | 2020-07-15 | 2020-10-30 | 广州智鹏车联网科技有限公司 | 车辆仪表总里程的存储方法和装置 |
-
2021
- 2021-01-27 CN CN202110110765.0A patent/CN112667433B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043722A (zh) * | 2010-12-30 | 2011-05-04 | 重庆长安汽车股份有限公司 | 一种汽车总里程的存储方法 |
CN103309814A (zh) * | 2013-05-23 | 2013-09-18 | 航天科技控股集团股份有限公司 | 汽车里程数据在eeprom中的存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112667433A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105740157B (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN101419841B (zh) | 一种flash存储器擦写方法 | |
CN104094355B (zh) | 使用可调整电荷状态电平对存储器单元进行编程的设备和方法 | |
CN103995784B (zh) | 快闪存储器控制器与存储装置以及快闪存储器控制方法 | |
JP5769373B2 (ja) | 塗装プラント用のエラーを記録する方法及びコンピュータプログラム | |
CN109558269A (zh) | 一种固态硬盘状态的检测方法、装置和介质 | |
CN112667433B (zh) | 一种汽车仪表里程用数据校验纠偏方法 | |
CN104063254B (zh) | 电能表在线升级方法 | |
US20050055496A1 (en) | EEPROM emulation in flash memory | |
CN107797881A (zh) | 一种数据一致性测试方法、装置、设备及存储介质 | |
CN104978534A (zh) | 用于防止篡改车辆里程的方法和系统 | |
CN103309814B (zh) | 汽车里程数据在eeprom中的存储方法 | |
CN102736932B (zh) | 镜像文件、镜像文件的制作方法及多系统的启动引导方法 | |
CN108664358A (zh) | 单片机参数处理方法、系统、可读存储介质及终端设备 | |
CN107945312A (zh) | 一种车辆检测方法及其设备 | |
CN102376362B (zh) | 应用于快闪存储器的方法与相关的控制器 | |
CN107678977B (zh) | 一种计数器的读写方法及装置 | |
CN112923949B (zh) | 一种基于物联网的汽车仪表里程数据处理系统 | |
CN116382582A (zh) | 一种raid重映射方法、系统、设备以及存储介质 | |
JP5087704B2 (ja) | 試験装置および救済解析方法 | |
CN105867833B (zh) | 数据存储装置及数据存储方法 | |
CN101950368B (zh) | 24c系列芯片存储容量的识别方法 | |
JP6191240B2 (ja) | 変数更新装置、変数更新システム、変数更新方法、変数更新プログラム、変換プログラム、及びプログラム変更検証システム | |
CN106057246A (zh) | 一种非易失性存储器中坏点单元的替换方法 | |
CN116360695A (zh) | 一种基于混合储能电源的数据存储方法及装置 |
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 |