技术领域
[0001] 本申请涉及计算机技术领域,具体涉及一种存储器数据处理方法、装置、设备及计算机可读存储介质。
相关背景技术
[0002] 带电可擦可编程只读存储器(Electrically Erasable Programmable Read‑Only Memory,EEPROM)是一种下电后数据不丢失的存储芯片,所以,采用EEPROM来存储行驶里程、油耗、背光等级、车速因子等数据。在对车载控制器(Electronic Control Unit,ECU)完成软件烧录,进行初次上电运行时,如何提高从EEPROM读取到的数据的有效性非常重要。
[0003] 相关技术中,在EEPROM的数据存储区中,预先为每个参数确定各自的存储位置。在对ECU完成软件烧录,进行初次上电运行时,ECU直接从每个参数的存储位置中读取数值,并判断数值是否在参数对应的预设范围内,若超出预设范围,则将参数对应的默认值写入参数的存储位置;若未超出预设范围,则直接将读取到的数值作为参数的存储位置中的当前数值。
[0004] 但是,因为在EEPROM出厂前的抽检过程中,存在参数的存储位置中的部分数据被改写,而改写后的数值未超出预设范围的情况,因而读取到的未超出预设范围的数值是无效的,如果直接将读取到的数值作为参数的存储位置中的当前数值,会导致读取到的行驶里程、油耗等数据是错误的,ECU产品可靠性差。
具体实施方式
[0038] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0039] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0040] 第一方面,本申请实施例提供一种存储器数据处理方法。
[0041] 在一些实施例中,参照图1,图1为本申请一个实施例提供的存储器数据处理方法的流程示意图之一,如图1所示,所述存储器数据处理方法包括以下步骤:步骤110、步骤120、步骤130和步骤140。该方法流程步骤仅仅作为本申请一个可能的实现方式。
[0042] 步骤110、获取带电可擦可编程只读存储器中特定数据位存储的第一数值,所述带电可擦可编程只读存储器包括特定数据位和数据存储位;
[0043] 示例性地,带电可擦可编程只读存储器中包含256个数据存储区,每个数据存储区能够存储8个二进制数,每个数据存储区也可称为数据位。
[0044] 根据实际需求,相关人员通过将这256个数据存储区划分为特定存储区和数据存储区,从而使所述带电可擦可编程只读存储器的数据存储区包括特定存储区和数据存储区。例如,将第0个数据位至第1个数据位确定为特定存储区,将第2个数据位至第255个数据位确定为数据存储区。
[0045] 进一步地,相关人员在所述特定存储区中设置至少一个特定数据位,在所述数据存储区中设置至少一个数据存储位,从而使在所述特定存储区中存在至少一个特定数据位,在所述数据存储区中存在至少一个数据存储位。
[0046] 其中,特定数据位所占用的数据位以特定存储区中数据位的总数为上限,即为特定存储区中数据位的总数范围内的任意数目,本申请对此不作具体限定。
[0047] 所述至少一个数据存储位中的一个数据存储位用于写入一个参数对应的数值,不同数据存储位对应的参数不同。数据存储位所占用的数据位基于数据存储位中存储的参数的属性确定。其中,参数包括:小计里程、总计里程、总计油耗、燃料类型、车速因子、背光等级等。例如,总计里程对应的数据存储位需占用4个数据位,即对应32个二进制数;而燃料类型对应的数据存储位仅需占用1个数据位,即对应8个二进制数。相关人员预先分别为每个特定数据位确定一个预设数值,分别为每个参数确定对应的默认值。示例性地,预设数值设定为一个明确的数值;总计里程的默认值设定为0;总计油耗的默认值设定为0;在车辆为燃油车时,设定燃料类型为6;在车辆为电动汽车时,设定燃料类型为5。
[0048] 在具体实施时,在对ECU初次上电运行后,ECU首先从带电可擦可编程只读存储器的特定数据位中获取存储的第一数值。
[0049] 步骤120、获取所述特定数据位对应的预设数值;
[0050] 在具体实施时,在ECU上电运行后,通过软件程序可以直接获取到所述特定数据位对应的预设数值。
[0051] 步骤130、判断所述第一数值和所述预设数值是否相等;
[0052] 进一步地,判断所述第一数值和所述预设数值是否相等,用于确定该带电可擦可编程只读存储器的状态,其中,带电可擦可编程只读存储器的状态为出厂未使用状态或非出厂未使用状态。
[0053] 步骤140、在所述第一数值和所述预设数值不相等的情况下,获取所述数据存储位对应的默认值,将所述数据存储位对应的默认值写入至所述数据存储位,将所述预设数值写入至所述特定数据位。
[0054] 进一步地,若所述第一数值和所述预设数值不相等,则说明该带电可擦可编程只读存储器为出厂未使用状态,需要对其中的数据存储位和特定数据位进行赋值;
[0055] 在具体实施时,在所述第一数值和所述预设数值不相等的情况下,在ECU上电运行后,通过软件程序可以直接获取到所述数据存储位对应的默认值,将所述数据存储位对应的默认值写入至所述数据存储位,将所述预设数值写入至所述特定数据位。进一步可基于所述数据存储位对应的默认值进行下游数据处理,例如,当数据存储位中存储的参数为总计里程时,则可基于所述数据存储位对应的默认值计算累加里程、平均油耗和平均车速等。
[0056] 在本实施例中,通过获取带电可擦可编程只读存储器中特定数据位存储的第一数值,带电可擦可编程只读存储器包括特定数据位和数据存储位;然后获取特定数据位对应的预设数值;进一步判断第一数值和预设数值是否相等;然后在第一数值和预设数值不相等的情况下,获取数据存储位对应的默认值,并将数据存储位对应的默认值写入至数据存储位,将预设数值写入至特定数据位,可实现在ECU初次上电运行时,通过特定数据位判断带电可擦可编程只读存储器的状态,当为出厂未使用状态时,进一步对特定数据位和数据存储位进行赋值,从而提高ECU读取到的行驶里程、油耗等数据的准确性,提高ECU产品可靠性。
[0057] 在一些实施例中,图2为本申请一个实施例提供的存储器数据处理方法的流程示意图之二,如图2所示,在判断所述第一数值和所述预设数值是否相等之后,所述存储器数据处理方法还包括:
[0058] 步骤210、在所述第一数值和所述预设数值相等的情况下,获取所述数据存储位中的第二数值和所述数据存储位对应的预设范围;
[0059] 若所述第一数值和所述预设数值相等,则说明该带电可擦可编程只读存储器为非出厂未使用状态,需要对数据存储位进行进一步判断,得到判断结果,基于判断结果对数据存储位进行处理。
[0060] 在具体实施时,在所述第一数值和所述预设数值相等的情况下,在ECU上电运行后,通过软件程序可以直接获取到所述数据存储位中的第二数值和所述数据存储位对应的预设范围。
[0061] 步骤220、判断所述第二数值是否超出所述预设范围;
[0062] 进一步地,判断所述第二数值是否超出所述预设范围,用于确定所述第二数值是否有效。
[0063] 步骤230、若所述第二数值超出所述预设范围,则将所述数据存储位对应的默认值写入至所述数据存储位。
[0064] 若所述第二数值超出所述预设范围,则表明所述第二数值是无效的,此时将所述数据存储位对应的默认值写入至所述数据存储位,进一步可基于所述数据存储位对应的默认值进行下游数据处理,例如,当第二数值为总计里程对应的数值且超出其对应的预设范围,则可基于所述数据存储位对应的默认值计算累加里程、平均油耗和平均车速等。
[0065] 在本实施例中,在第一数值和预设数值相等的情况下,通过获取数据存储位中的第二数值和数据存储位对应的预设范围;进一步判断第二数值是否超出预设范围;在第二数值超出预设范围的情况下,将数据存储位对应的默认值写入至数据存储位,可实现在ECU初次上电运行时,通过特定数据位判断带电可擦可编程只读存储器的状态,当为非出厂未使用状态时,进一步对数据存储位进行处理,从而提高ECU读取到的行驶里程、油耗、燃料类型等数据的准确性,提高ECU产品可靠性。
[0066] 在一些实施例中,在判断所述第二数值是否超出所述预设范围之后,所述存储器数据处理方法还包括:
[0067] 若所述第二数值未超出所述预设范围,则采用所述第二数值进行下游数据计算与处理。
[0068] 需要说明的是,若所述第二数值未超出所述预设范围,则表明所述第二数值是有效的,然后可基于所述第二数值进行下游数据处理,例如,当第二数值为总计里程对应的数值,则可基于所述第二数值计算累加里程、平均油耗和平均车速等。
[0069] 在本实施例中,若第二数值未超出预设范围,则采用所述第二数值进行下游数据计算与处理,可提高ECU读取到的行驶里程、油耗等数据的准确性,提高ECU产品可靠性。
[0070] 第二方面,本申请实施例还提供一种存储器数据处理装置。
[0071] 在一些实施例中,参照图3,图3为本申请一个实施例提供的存储器数据处理装置的功能模块示意图。如图3所示,存储器数据处理300装置包括:
[0072] 第一获取单元310,用于获取带电可擦可编程只读存储器中特定数据位存储的第一数值,所述带电可擦可编程只读存储器包括特定数据位和数据存储位;
[0073] 第二获取单元320,用于获取所述特定数据位对应的预设数值;
[0074] 第一判断单元330,用于判断所述第一数值和所述预设数值是否相等;
[0075] 获取赋值单元340,用于在所述第一数值和所述预设数值不相等的情况下,获取所述数据存储位对应的默认值,将所述数据存储位对应的默认值写入至所述数据存储位,将所述预设数值写入至所述特定数据位。
[0076] 在一些实施例中,所述存储器数据处理装置还包括:
[0077] 第三获取单元,用于在所述第一数值和所述预设数值相等的情况下,获取所述数据存储位中的第二数值和所述数据存储位对应的预设范围;
[0078] 第二判断单元,用于判断所述第二数值是否超出所述预设范围;
[0079] 赋值单元,用于若所述第二数值超出所述预设范围,则将所述数据存储位对应的默认值写入至所述数据存储位。
[0080] 在一些实施例中,所述存储器数据处理装置还包括:
[0081] 计算处理单元,用于若所述第二数值未超出所述预设范围,则采用所述第二数值进行下游数据计算与处理。
[0082] 在一些实施例中,所述带电可擦可编程只读存储器的数据存储区包括特定存储区和数据存储区,在所述特定存储区中存在至少一个特定数据位,在所述数据存储区中存在至少一个数据存储位。
[0083] 在一些实施例中,所述至少一个数据存储位中的一个数据存储位用于写入一个参数对应的数值,不同数据存储位对应的参数不同。
[0084] 其中,上述存储器数据处理装置中各个模块的功能实现与上述存储器数据处理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
[0085] 第三方面,本申请实施例提供一种存储器数据处理设备,存储器数据处理设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。
[0086] 参照图4,图4为本申请实施例方案中涉及的存储器数据处理设备的硬件结构示意图。本申请实施例中,存储器数据处理设备可以包括处理器、存储器、通信接口以及通信总线。
[0087] 其中,通信总线可以是任何类型的,用于实现处理器、存储器以及通信接口互连。
[0088] 通信接口包括输入/输出(input/output,I/O)接口、物理接口和逻辑接口等用于实现存储器数据处理设备内部的器件互连的接口,以及用于实现存储器数据处理设备与其他设备(例如其他计算设备或用户设备)互连的接口。物理接口可以是以太网接口、光纤接口、ATM接口等;用户设备可以是显示屏(Display)、键盘(Keyboard)等。
[0089] 存储器可以是各种类型的存储介质,例如随机存取存储器(randomaccess memory,RAM)、只读存储器(read‑only memory,ROM)、非易失性RAM(non‑volatileRAM,NVRAM)、闪存、光存储器、硬盘、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)等。
[0090] 处理器可以是通用处理器,通用处理器可以调用存储器中存储的存储器数据处理程序,并执行本申请实施例提供的存储器数据处理方法。例如,通用处理器可以是中央处理器(central processing unit,CPU)。其中,存储器数据处理程序被调用时所执行的方法可参照本申请存储器数据处理方法的各个实施例,此处不再赘述。
[0091] 本领域技术人员可以理解,图4中示出的硬件结构并不构成对本申请的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0092] 第四方面,本申请实施例还提供一种计算机可读存储介质。
[0093] 本申请计算机可读存储介质上存储有存储器数据处理程序,其中所述存储器数据处理程序被处理器执行时,实现如上述的存储器数据处理方法的步骤。
[0094] 其中,存储器数据处理程序被执行时所实现的方法可参照本申请存储器数据处理方法的各个实施例,此处不再赘述。
[0095] 需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0096] 本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。术语“第一”、“第二”和“第三”等描述,是用于区分不同的对象等,其不代表先后顺序,也不限定“第一”、“第二”和“第三”是不同的类型。
[0097] 在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
[0098] 在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0099] 在本申请实施例描述的一些流程中,包含了按照特定顺序出现的多个操作或步骤,但是应该理解,这些操作或步骤可以不按照其在本申请实施例中出现的顺序来执行或并行执行,操作的序号仅用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作或步骤可以按顺序执行或并行执行,并且这些操作或步骤可以进行组合。
[0100] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本申请各个实施例所述的方法。
[0101] 以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。