CN101013405A - 数据改编方法和系统 - Google Patents

数据改编方法和系统 Download PDF

Info

Publication number
CN101013405A
CN101013405A CNA2006101719347A CN200610171934A CN101013405A CN 101013405 A CN101013405 A CN 101013405A CN A2006101719347 A CNA2006101719347 A CN A2006101719347A CN 200610171934 A CN200610171934 A CN 200610171934A CN 101013405 A CN101013405 A CN 101013405A
Authority
CN
China
Prior art keywords
data
data item
item
equal
reorganization
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.)
Granted
Application number
CNA2006101719347A
Other languages
English (en)
Other versions
CN101013405B (zh
Inventor
中垣良夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of CN101013405A publication Critical patent/CN101013405A/zh
Application granted granted Critical
Publication of CN101013405B publication Critical patent/CN101013405B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在数据改编系统中,接收单元接收在改编时使用的多个数据项。所述多个数据项被发送到接收单元。所述多个数据项被分别附加相同的识别符。数据提取单元验证所接收的多个数据项并当基于所述验证结果确定至少一个数据项相对于至少一个剩余数据项满足预定规则时,提取所述至少一个数据项作为有效数据。

Description

数据改编方法和系统
相关申请的交叉引用
本申请是基于2005年7月20日提交的日本专利申请2005-210401的。本申请要求该日本专利申请的优先权,从而在此将其全文引入作为参考。
技术领域
本发明涉及数据改编方法和系统,其具有预先可重写地存储数据的功能,所述数据比如是用于控制比如车载设备的目标的控制程序数据和/或控制数据。更具体地,本发明涉及数据改编方法和系统,其被配置为基于在改编时所使用的数据来改编所存储的数据;供改编时使用的数据已经通过无线电波从外部发送。所述供改编时使用的数据将被称作“改编数据”。
背景技术
多个电子控制单元(ECU)通常被安装在车辆中。例如,所述ECU包括发动机控制单元,用于控制安装在车辆中的发动机的燃料喷射;和制动控制单元,用于控制安装在其中的制动系统。
每个ECU配备有非易失性存储器,在该非易失性存储器中,预先存储用于控制安装在车辆中的至少一个目标设备的控制程序和控制数据。具体地,每个ECU被编程来基于控制数据和/或车载传感器所测量的或从其发送的信号执行控制程序,从而根据该控制程序控制相应的目标设备;该测量的信号表示车辆的运行状态。
对存储在非易失性存储器中的这种控制程序和其相关的控制数据的描述是利用控制程序的版本升级来改编所需要的。
在此情况下,其上安装有ECU的电路板被从车辆检索,该ECU的控制程序和其相关的控制数据是改编目标,而且此后,所检索到的ECU和适当的外部工具经由电缆连接以使它们之间是可通信的。此后,ECU和外部工具之间的通信允许改编控制程序和/或控制数据。
然而,使用上述控制程序和数据改编方法会带来许多麻烦并且花费时间。
为了解决该问题,在日本未审专利公开No.H05-195859中公开了常规的控制单元。
具体地,在该公开中,外部管理中心预先存储待管理的车辆的VIN(车辆识别号)代码和表示控制程序(软件项目)的特定版本并用于将此版本与其他版本区分开的版本信息。当接收到改编控制程序和控制数据中的至少一项的请求时,安装在车辆中的控制单元无线地与管理中心通信以从其获得改编数据。接下来,基于该改编数据,控制单元改编在非易失性存储器的可重写区域中存储的至少一项。车辆中上述结构的控制单元的安装允许很容易地更新在其中存储的控制程序和控制数据。
如果配置控制单元使得在其中存储的控制程序和控制数据是可无条件地改编的,则可以进行未授权的改编和/或非法的修改,从而导致车辆性能恶化和/或环境破坏,这是由于车辆排放恶化,比如NOx、HC、和CO的排放超过合法的排放标准导致的。
为了避免这种未授权的改编和/或非法的修改,在该公开中所公开的控制单元被配置来接收识别符(识别码),其识别被管理车辆中的至少一个以及改编数据作为被改编的目标。
另外,控制单元被配置来确定所接收的识别码是否与诸如指定车辆并存储在其中的VIN代码的一个代码一致。如果确定所接收的识别码和指定代码彼此相一致,则控制单元被配置来基于该改编数据执行控制程序和数据改编操作。
在常规的控制单元中,如果所接收的识别码和指定代码彼此相一致,则可以执行控制程序和数据改编操作。这允许高度维持与控制程序和数据改编相关的控制单元的安全级。
与先前设计的经由电缆与外部工具通信以获得改编数据的控制单元相比,被设计为与管理中心无线通信以获得改编数据的这种类型的控制单元更频繁地被外部设备访问。访问的高频率会使得识别码以及未授权的数据和/或非法修改的数据与车辆的指定代码相一致。识别码以及未授权的数据和/或非法修改的数据与车辆的指定代码之间的无意或有意地匹配会导致基于未授权的数据和/或非法的修改数据来改编控制程序和控制数据。
具体地,这些代码的无意或有意匹配会导致车辆性能恶化和/或环境破坏,这是由于车辆排放恶化,比如NOx、HC、和CO的排放超过合法的排放标准导致的。
发明内容
鉴于背景技术,本发明的至少一个方面的一个目的是维持与存储在可重写的存储器(比如非易失性存储器)中的改编数据相关联的安全级,所述改编数据比如是控制程序和/或控制数据。
根据本发明的一个方面,提供了一种可与其中预先存储数据的可重写存储器通信的数据改编系统。所存储的数据是可基于有效数据改编的。所述数据改编系统包括接收单元,用于接收供改编时使用的多个数据项。所述多个数据项被发送到接收单元。所述多个数据项被分别附加相同的识别符。所述数据改编系统还包括数据提取单元,用于验证所接收的多个数据项,以及当基于所述验证结果确定所述至少一个数据项相对于至少一个剩余数据项满足预定规则时,提取该至少一个数据项作为有效数据。
根据本发明的另一个方面,提供了一种数据改编程序产品,其嵌入在可与可重写存储器通信的计算机的存储器中,其中可重写存储器中预先存储有数据。所存储的数据是可基于有效数据改编的。所述数据改编程序产品包括第一装置,用于指示计算机接收供改编时使用的多个数据项。所述多个数据项被发送到计算机,多个数据项被分别附加相同识别符。所述数据改编程序产品包括第二装置,用于指示计算机验证所接收的多个数据项,以及当基于所述验证结果确定所述至少一个数据项相对于至少一个剩余数据项满足预定规则时,提取该至少一个数据项作为有效数据。
根据本发明的另一个方面,提供一种基于有效数据改编预先存储在可重写存储器中的数据的方法。该方法包括接收供改编时使用的多个数据项。发送所述多个数据项使得该多个数据项被分别附加相同识别符。该方法包括验证所接收的多个数据项,以及当基于所述验证结果确定所述至少一个数据项相对于至少一个剩余数据项满足预定规则时,提取该至少一个数据项作为有效数据。
附图说明
根据结合附图所进行的下述实施例的描述,本发明的其他目的和方面将变得显而易见。
图1是示意性地例示了根据本发明第一实施例的车载控制系统的配置的实例的方框图;
图2是示意性地示例了图1所示的发动机控制单元和主控制单元中每个的系统配置的实例的方框图;
图3A是示意性地例示了图1所示的管理中心和车载控制系统之间可传送的数据结构的实例的示图;
图3B是示意性地例示了管理中心的存储器的结构的实例的示图,其中作为多项改编数据的改编要素数据(reprogramming factordata)和镜像数据被预先存储,以及如何通过管理中心发送该改编要素数据和镜像数据的实例的示图;
图4是示意性地例示了由主控制单元的CPU执行的接收处理的流程图;
图5是示意性地例示了由主控制单元的CPU执行的发送处理的流程图;
图6是示意性地例示了由主控制单元的CPU执行的重发处理的流程图;
图7是示意性地例示由图1所示的发动机控制单元的CPU执行的改编处理的流程图;
图8是示意性地例示由图1所示的发动机控制单元的CPU执行的提取和存储处理的示图;
图9是示意性地例示了图7的步骤S134中的数据提取任务的具体实例的流程图;
图10A是示意性地例示了根据本发明第二实施例的管理中心和车载控制系统之间可传送的数据的结构的实例的示图;
图10B是示意性地例示了管理中心的存储器的结构的实例,其中预先存储多项改编数据,和如何通过管理中心发送该改编数据的实例的示图;
图11是示意性地例示了根据第二实施例由发动机控制单元的CPU所执行的提取和存储处理的示图;
图12示意性地例示了根据第二实施例的图7的步骤S134中的数据提取任务的具体实例;
图13A是示意性地例示了根据第二实施例的管理中心和车载控制系统之间可传送的数据的结构的示图;
图13B是示意性地例示了管理中心的存储器的结构的实例,其中预先存储多项改编数据,和根据第二实施例的如何通过管理中心发送该改编数据的实例的示图;
图14是示意性例示了根据本发明第三实施例的发动机控制单元的CPU所执行的提取和存储处理的示图;
图15是示意性地例示了根据第三实施例的图7的步骤S134中的数据提取任务的具体实例的流程图;
图16A是示意性例示了根据第三实施例的在执行等同检查时五个数据块[5n-4]-[5n]中的数据块[5n-4]相对于剩余数据块被用作参考的示图;
图16B是示意性地例示了根据第三实施例的在执行等同检查时五个数据块[5n-4]-[5n]中的数据块[5n-3]相对于剩余数据块被用作参考的示图;
图16C是示意性地例示了根据第三实施例的在执行等同检查时五个数据块[5n-4]-[5n]中的数据块[5n-2]相对于剩余数据块被用作参考的示图;
图16D是示意性地例示了根据第三实施例的在执行等同检查时五个数据块[5n-4]-[5n]中的数据块[5n-1]相对于剩余数据块被用作参考的示图;
图17是示意性地例示了图15的步骤S3100中等同比较的算法的实例的流程图;
图18是示意性地例示了图15的步骤S3200中多数规则检查的算法的实例的流程图;
图19是示意性地例示了图15的步骤S3100中等同比较的另一种结果的示图;
图20是示意性地例示了根据本发明第三实施例的修改由发动机控制单元的CPU执行的提取和存储处理的示图;
图21是示意性地例示了根据第三实施例的修改的图7的步骤S134中的数据提取任务的具体例子的流程图;
图22是示意性地例示了根据本发明第四实施例的由发动机控制单元的CPU执行的提取和存储处理的示图;
图23是示意性地例示根据第四实施例的图7的步骤S134中的数据提取任务的具体实例的流程图;
图24是示意性地例示图23的步骤S5100中多数占用检查的算法的实例的流程图;
图25是示意性地例示了根据本发明第四实施例的修改由发动机控制单元的CPU执行的提取和存储处理的示图;
图26是示意性地例示了根据第四实施例的修改的图7的步骤S134中数据提取任务的具体实例的流程图;
图27是示意性地例示了根据本发明第五实施例由发动机控制单元与管理中心协作执行的选择处理的流程图;
图28是示意性地例示一个表的示图,该表表示根据第五实施例的第一-第四识别符和第一-第四确定单元之间的关系;
图29是示意性地例示了根据本发明的每个实施例的修改由主控制单元的CPU执行的数据提取处理的流程图;
图30是示意性地例示了根据本发明的每个实施例的修改由发动机控制单元的CPU执行的改编处理的流程图;
图31是示意性地例示根据本发明的每个实施例的修改由发动机控制单元的CPU执行的提取和存储处理的流程图;和
图32是示意性地例示了根据本发明每个实施例的修改由发动机控制单元的CPU执行的改编处理的流程图。
具体实施方式
第一实施例
在本发明的第一实施例中,根据本发明的数据改编系统被应用于车载控制系统100中。
如图1所示,车载控制系统100主要包括主控制单元140,用于对多个电子控制单元(ECU)执行集中式控制和预先存储与各个ECU相关的信息,比如在各个ECU中存储的控制程序的版本信息。
ECU和主控制单元140通过构成诸如CAN(控制器区域网)的总线类型LAN(局域网)的通信总线101彼此可通信地链接。通信网络101允许主控制单元140和ECU间彼此传送数据。
多个ECU包括ECU110、120和130。
ECU110充当发动机控制单元,用于控制作为控制目标的安装在车辆中的发动机的燃料喷射。
ECU120充当变速器控制单元,用于自动地控制来改变车辆的变速器(控制目标)的速比。
ECU130充当制动系统控制单元,用于控制车辆的制动系统(控制目标),该制动系统用于使车辆停止。
ECU110、120和130通过通信总线101彼此传送信息,该信息表明相应目标的控制状态和相应目标的控制结果。
ECU110、120和130中的每个都具有非易失性存储器,并在它的非易失性存储器中预先存储各个ECU所需的控制程序和控制数据以运行相应的程序。
具体地,基于相应的控制数据和从其他ECU传送的信息,ECU110、120和130中的每个用于执行在非易失性存储器中存储的相应的控制程序,从而协作地执行对目标的控制操作。
例如,变速器控制单元120可通信地连接到速度传感器,该速度传感器附接到变速器或车桥的输出轴上。
当速度传感器测量车辆的速度并将例如二进制数据形式的速度信息发送到变速器控制单元120时,变速器控制单元120捕获速度信息(二进制数据)并基于该速度信息(二进制数据)生成表明车辆速度的数据。此后,变速器控制单元120通过通信总线101发送被格式化为例如串行数据的所生成的数据。
当通过通信总线101发送的串行数据被制动系统控制单元130捕获时,制动系统控制单元130利用该串行数据来控制制动系统。
主控制单元140可以通过无线电波与外部管理中心200建立通信。外部管理中心200预先存储待管理的车辆的VIN码和在ECU110、120和130中存储的各个控制程序的特定版本的版本信息。
具体地,主控制单元140用于与管理中心200无线地通信,并基于该无线通信,获得所述单元140所需的改编数据以执行数据改编操作。具体地,该改编数据允许所述单元140执行改编操作。
主控制单元140还用于基于所获得的改编数据,改编在ECU110、120和130中存储的数据项。
具体地,对ECU110、120和130中存储的数据项(比如控制程序和控制数据)的描述是利用控制程序的版本升级和/或它的修改进行改编所需要的。
在这种改编要求下,主控制单元140与管理中心200无线地通信以便从中心200接收:
执行数据改编操作所需的改编数据;和
识别符(ID),其用于识别待管理的至少一个车辆和ECU110、120和130中的至少一个,作为待改编的目标。
另一方面,主控制单元140预先存储诸如VIN码的一个代码,其指定相应的车辆。因此,主控制单元140确定所接收的识别符与相应车辆的指定代码是否彼此等同。
如果确定出所接收的识别符与相应车辆的指定代码匹配,则主控制单元140基于改编数据与ECU110、120和130中的至少一个协作来改编控制程序和控制数据。这些控制程序和控制数据被预先存储在ECU110、120和130的至少一个中。ECU110、120和130中的至少一个对应于待改编的目标。
车内的车载控制系统100的安装允许很容易地升级在ECU110、120和130中存储的控制程序和控制数据。
具体地,车载控制系统100被配置来与中心200无线地通信以从其获得改编数据。
如上所述,在具有该配置的常规控制系统中,假设未授权的改编数据和/或非法修改数据已经作为改编数据被发送到常规的控制系统。在此假设下,当附加到未授权的改编数据和/或非法修改数据的识别符与相应车辆的指定代码匹配时,很有可能引起车辆性能恶化和/或环境破坏,这是由于车辆排放恶化,比如NOx、HC、和CO的排放超过合法的排放标准导致的。
相反,在第一实施例中,车载控制系统100用于:
接收其中每个附加有相同识别符的多个改编数据项,其已经从管理中心200发送;
彼此相互验证所接收的多个改编数据项;
当基于验证结果确定至少一个改编数据项相对于至少一个剩余项满足预定规则时,提取该至少一个改编数据项作为有效数据;和
基于所提取的该改编数据项,改编在ECU110、120和130中的至少一个中存储的计算机程序和控制数据中的至少一个。
在上述配置中,即使未授权的改编数据和/或非法修改数据与指定相应车辆的代码匹配,也能够防止控制系统100执行改编操作,除非满足如下其它要求,其中:
(1)接收了其中每个附加有相同识别符的多个数据项;和
(2)所接收的多个数据项包括一个相对于所述数据项中的另一项符合预定规则的数据。
具体地,在车载控制系统的配置中,可以:
过滤从管理中心200发送的多个改编数据项;
当确定至少一个改编数据项相对于至少一个剩余项满足预定规则时,提取该至少一个改编数据项作为有效数据;和
使用所提取的该改编数据项来改编在ECU110、120和130的至少一个中存储的计算机程序和控制数据中的至少一个。
因此,车载控制系统100的配置允许更高度地维持它的安全级。
图2是示意性地例示了车载控制系统100的发动机控制单元110和主控制单元140中每个的系统配置的方框图。此后将参照图2描述控制单元110和140中每个的系统配置和电操作。需要注意的是,在此后的描述中,假设在发动机控制单元110中存储的数据被改编。
如图2所示,主控制单元140包括CPU141,无线通信单元142,程序存储器143,数据存储器144,和通信单元145。CPU141被电连接到无线通信单元142,程序存储器143,数据存储器144,和通信单元145。CPU141用于与每个元件142-145间传送各种类型的多项数据并基于该多项数据执行操作。
无线通信单元142充当CPU141和管理中心200之间的数据通信接口。具体地,无线通信单元142包括天线142a,收发器模块142b,调制器和解调器(调制解调器)142c,和移位寄存器142d。下面将描述电气部件142a-142d的功能。
程序存储器143例如包括只读存储器(ROM),其中预先存储各种控制程序和在执行它们时使用的控制数据。具体地,在第一实施例中,使CPU141改编在ECU110,120,和130的每个中存储的多个数据项的改编控制程序也被预先存储在程序存储器143中。而且,指定相应车辆的VIN码被预先存储在例如ROM143中。
数据存储器144例如包括随机存取存储器(RAM)。数据存储器144充当存储单元,用于在其中存储从管理中心200和ECU110、120和130中的每个发送的多个数据项。
通信单元145充当经由通信总线101的CPU141和ECU110、120和130中每个之间的数据通信接口。
在主控制单元140中,当改编数据被存储在发动机控制单元10中时,主控制单元140的CPU141通过无线电波与管理中心200通信以获得多个改编数据项。所述多个改编数据项是单元140执行数据改编操作所需要的。此外,多个改编数据项具有附加到其上的相同识别符。
在第一实施例中,在管理中心200中,所述多个改编数据项中的每项优选已经被转换成串行分组,并且已经在预定的载波上调制该串行分组以便从管理中心200把调制后的载波发送到主控制单元140。
在主控制单元140的无线通信单元142中,从中心200发送的调制后的载波经由天线142a由收发器模块142b接收。所接收的载波被发送到调制解调器142c以便解调该串行分组。串行分组被发送到移位寄存器142d以便它们被变换为并行格式,从而被发送到CPU141。CPU141接收并行格式的分组并从所接收的分组中获得所述多个改编数据项。
在获得所述多个改编数据项后,CPU141运行改编控制程序以便启动操作来改编在发动机控制单元110中存储的数据项。
具体地,CPU141确定所获得的改编数据项中每个的识别符是否与指定相应车辆的VIN码匹配。
如果已经确定所获得的改编数据项中每个的识别符与VIN码匹配,则CPU141将所获得的改编数据项存储在数据存储器144中,并通过通信单元145将它们发送到发动机控制单元110。
发动机控制单元110包括CPU111,通信单元112,程序存储器113,数据存储器114,和输入/输出(I/O接口)115。CPU111被电连接到通信单元112,程序存储器113,数据存储器114,和I/O接口115。CPU111用于与元件112-115中的每个间传送各种类型的数据项并基于该数据项执行操作。
通信单元112充当CPU111和主控制单元140之间的数据通信接口。
程序存储器113包括非易失性存储器,比如闪存或EEPROM,当电源被关断时其保留存储在其中的数据。在程序存储器113的第一预定区域中,包括发动机控制程序和与其相关的发动机控制数据的数据项被预先存储。该数据项是改编的目标。
因此,使得CPU111改编存储在程序存储器113中的数据项的改编控制程序也被预先存储在例如程序存储器113的第二预定区域中,该第二预定区域明显区别于第一预定区域。
数据存储器114例如包括RAM。数据存储器114充当存储单元,用于在其中存储从ECU110、120和130发送的数据项以及从通过I/O接口115可通信链接到发动机控制单元110的各种类型传感器发送的数据。各种类型传感器(未显示)被配置来测量有关车辆运行状态的多项信息。
I/O接口115充当各种类型传感器和CPU111之间的数据通信接口,以及可通信地链接到发动机控制单元110的各种类型激励器和CPU111之间的数据通信接口。基于从CPU111发送的驱动命令,各种类型激励器(未显示)被配置来驱动作为发动机控制单元110的被控制目标的各种类型的车载设备。
具有上述结构的发动机控制单元110通常被设计来:
捕获表示至少一个发动机部件的温度的温度信息,比如发动机冷却剂,和表示车辆速度的速度信息;和
基于所捕获的多项信息,执行在程序存储器113中存储的发动机控制程序,从而控制发动机。
为了改编存储在程序存储器113中的数据项,发动机控制单元110的CPU111被操作来:
捕获附加有相同识别符的多个改编数据项,其已经被从主控制单元140发送出;
将所接收的改编数据项存储在数据存储器114中;
彼此相互验证所接收的改编数据项;
基于该验证结果,确定是否存在至少一个改编数据项相对于另一项符合预定规则;
当确定至少一个改编数据项相对于至少一个剩余项满足预定规则时,提取该至少一个改编数据项作为有效数据;和
基于所提取的至少一个改编数据项,改编作为待改编目标的在程序存储器113中存储的计算机程序和控制数据中的至少一个。
注意的是,发动机控制单元110的系统配置基本上等同于其它ECU120和130的系统配置,因此省略对它的描述。
下面,将参照图3-9描述在主控制单元140和发动机控制单元110的协作下进行的数据改编操作的具体例子。
如上所述,当执行数据改编操作时,将被附加有相同识别符的多个改编数据项中的每个从管理中心200发送到车载控制系统100。
具体地,根据第一实施例的管理中心200被配置来发送实际用于改编的改编要素数据和它的镜像数据,作为多个改编数据项,该镜像数据与改编要素数据成互补关系。
此后将参照图3A和3B描述通过管理中心200发送改编要素数据和改编数据的镜像数据的操作。
图3A示意性地例示了可在管理中心200和车载控制系统100之间传送的数据的结构的实例。图3B示意性地例示了管理中心的存储器的结构的实例,其中作为改编数据项的改编要素数据和镜像数据被预先存储。图3B还示意性地例示了如何通过管理中心200发送改编要素数据和镜像数据的例子。
如图3A所示,在第一实施例中,改编要素数据和镜像数据中的每个在管理中心200和车载控制系统100之间被处理为数据帧DF。数据帧DF是管理中心200和车内控制系统100之间处理的数据的自包含单元。
具体地,数据帧DF由多个字段和校验码组成。数据帧DF被配置为以分组的形式发送。注意的是,当改编要素数据和镜像数据中的每个被处理成数据帧DF时,相同的识别符被附加到作为改编数据项的改编要素数据和镜像数据中的每个上。
多个字段包括:
帧起始(SOF),其标记数据帧DF的开始;
识别符字段,其表示相应数据的识别符;
数据字段,包含数据本身;和
帧结束(EOF),其标记数据帧DF的结束。
如图3B所示,在管理中心200中,改编要素数据和镜像数据中的每个被预先分割成多个数据块[1]-[a],其中“a”表示预定整数。改编要素数据的数据块[1]-[a]被预先存储在中心200的第一存储器区域201a中。同样的,镜像数据的数据块[1]-[a]被预先存储在中心200的第二存储器区域201b中。
例如,改编要素数据和镜像数据中每个的每个数据块[1]-[a]被表示成十六进制的任意比特。在图3B中,改编要素数据的数据块[1]由0x0123456...表示,和镜像数据的相应数据块[2]由0xFEDCBA9...表示,该值0xFEDCBA9...是上述值0x0123456...的补数。
在发送改编要素数据和镜像数据时,管理中心200按从块[1]到块[a]的顺序依次读出改编要素数据。
与读出操作相并行,每次读出改编要素数据的块[1]-[a]中的一个时,管理中心200顺序地读出镜像数据的块[1]-[a]中的任何一个。进行管理中心200的顺序读出操作,以便所读出的镜像数据的块[1]-[a]中的一个是所读出的改编要素数据的块[1]-[a]的中的一个的补数。
例如,一旦读出改编要素数据的块[1],就从镜像数据的块[1]-[a]中提取镜像数据的块[1]。同样的,一旦读出改编要素数据的块[2],就从镜像数据的块[1]-[a]中提取镜像数据块[2]。
这允许互为补数的成对的数据块从第一和第二存储器区域201a和201b中被顺序地提取,作为数据块DB1,DB2,DB3,DB4,...,DB2a-1,DB2a的对P1,P2,...Pa。管理中心200已经分类数据块DB1,DB2,DB3,DB4,...,DB2a-1,DB2a,从而多个数据帧DF分别包含数据块DB1,DB2,DB3,DB4,...,DB2a-1,DB2a。
接着,管理中心200将多个数据帧DF顺序地发送到车载控制系统100以便改编要素数据的数据块DB1,DB3,...,DB2a-1与镜像数据的互补数据块DB2,DB4,...,DB2a分别成对(以分组或以块的形式)。
当以上述发送方式从管理中心200发送改编要素数据和镜像数据时,车载控制系统100的主控制单元140执行接收处理,用于接收改编要素数据和镜像数据并将它们存储在数据存储器144中。
图4是示意性地例示了CPU141所执行的接收处理的流程图。例如每个预定周期重复接收处理。
如图4所示,在执行接收处理时,在步骤S101,CPU141待命,直到接收到一对改编要素数据和镜像数据块,它们的每个被附加有相同的识别符。
当接收到以块的形式发送的成对的改编要素数据和镜像数据块时,步骤S101中的确定为“是”,从而CPU141进行到步骤S102。
在步骤S102中,CPU141确定附加到成对的改编要素数据和镜像数据块的识别符是否与相应车辆的指定代码匹配。
如果确定附加到成对的改编要素数据和镜像数据块的识别符与相应车辆的指定代码匹配(步骤S102中的确定为是),则CPU141进行到步骤S103。在步骤S103中,基于在数据存储器144中存储的接收历史,CPU141确定所接收的成对的改编要素数据和镜像数据块是否等效于存储在数据存储器144中的已经被接收的成对的块。
如果确定所接收的成对的改编要素数据和镜像数据块还没有被接收(步骤S103中的确定为否),则在步骤S104中,CPU141在数据存储器144中将所接收的成对的块以块的形式存储成接收历史。具体地,CPU141在数据存储器144中以块的形式存储所接收的成对的数据块以便所述成对的数据块彼此相关。
相反,如果确定附加到成对的改编要素数据和镜像数据块的识别符与相应车辆的指定代码不匹配(步骤S102中的确定为否),CPU141退出接收处理而不在数据存储器144中存储所述成对的块。
同样的,如果确定所接收的成对的改编要素数据和镜像数据块等效于被存储在数据存储器144中的已经被接收的成对的块(步骤S103→是),则CPU141退出接收处理而不在数据存储器144中存储所述成对的块。
具体地,在这些数据接收处理退出情况下,CPU141待命,直到接收到成对的改编要素数据和镜像数据块,它们中的每个被附加有相同的识别符(参见步骤S101)。
当在数据存储器144中接收到成对的改编要素数据和镜像数据块时,主控制单元140执行发送处理,用于把所接收的成对的改编要素数据和镜像数据块作为待改编的目标发送到发动机控制单元110。
图5是示意性地例示了CPU141所执行的发送处理的流程图。当改编要素数据和镜像数据已经被存储在数据存储器144中时,每个预定周期例如重复发送处理。
如图5所示,在执行发送处理时,CPU141检查改编完成标志以在步骤S111中确定改编完成标志是否被设置(设置状态)。在完成对在发动机控制单元110的程序存储器113中存储的数据项的改编后,改编完成标志被配置为被设置(设置状态)。改编完成标志已经被存储在数据存储器144中并且是可由CPU141设置的。
如果基于检查结果,在步骤S111确定改编完成标志没有被设置(复位状态),则CPU141确定对在发动机控制单元110的程序存储器113中存储的数据项的改编还没有完成,CPU141顺序地执行步骤S112和S113。
具体地,在步骤S112中,CPU141确定车辆是否处于适合于改编的状态。如果确定车辆处于适合于改编的状态(步骤S112中的确定为是),则在步骤S113中,CPU141通过通信总线101将在数据存储器144中存储的成对的改编要素数据和镜像数据块发送到发动机控制单元110。
注意的是,成对的改编要素数据和镜像数据块以块(分组)的形式被发送到发动机控制单元以便它们彼此相关。
否则,如果基于检查结果在步骤S111中确定改编完成标志被设置(设置状态)(步骤S111中的确定为是),则CPU141退出发送处理。在此情况下,CPU141可以删除在数据存储器144中存储的改编要素数据和镜像数据。
否则,如果确定车辆不是处于适合于改编的状态(步骤S112中的确定为否),则CPU141退出发送处理。在此情况下,CPU141待命,直到车辆进入适合于改编的状态为止。
例如,在执行发送处理时,步骤S112中的任务是确定自发动机旋转少于50rpm(其随后等于零)后是否已经经过预定的周期。具体地,发动机控制单元110的CPU111通常被编程来执行后处理,其包括将数据存储在数据存储器114的预定备用区域中的任务,所述数据比如是应该被保持直到发动机的下一个操作为止的学习值。
因此,在步骤S112的任务中,CPU111待命,直到自发动机旋转少于50rpm(其随后等于零)以后,这段时间已经经过为止。这种待命任务可以防止与后处理并行地改编在程序存储器113中存储的数据项。
当通过发送处理将成对的改编要素数据和镜像数据块发送到发动机控制单元110时,如前所述,发动机控制单元110彼此相对地验证所接收的改编要素数据和镜像数据块。
接下来,当基于该验证结果确定它的块中的至少一个相对于至少一个剩余块符合预定规则时,发动机控制单元110提取改编要素数据和镜像数据块中的至少一个作为有效数据。
基于所提取的改编要素数据和镜像数据块,发动机控制单元110改编其中存储的计算机程序和控制数据中的至少之一。
注意的是,如果确定没有改编要素数据和镜像数据块符合预定规则,则发动机控制单元110确定经无线通信从管理中心200发送的改编要素数据和镜像数据块不具有有效性。
这能向主控制单元140提供改编要素数据和镜像数据的重发请求;此后将详细描述当没有改编要素数据和镜像数据块符合预定规则时的任务。当接收到重发请求时,主控制单元140执行向管理中心200请求重发改编要素数据和镜像数据的发送处理;这种发送处理如图6所示。
具体地,在步骤S121中,当从发动机控制单元110接收到重发请求时,主控制单元140的CPU141向管理中心200请求在步骤S122重发改编要素数据和镜像数据块。注意的是,在步骤S122中,如果通过先前的无线通信获得的改编要素数据和镜像数据块已经被存储在数据存储器144中,则CPU141优选从数据存储器144中将它们清除。
图7是示意性地例示了发动机控制单元110的CPU111所执行的改编处理的流程图;该改编处理是用于改编待改编的数据项,它们被预先存储在程序存储器111中。
如图7所示,在执行改编处理时,在步骤S131中,CPU111待命,直到通过通信总线101接收到数据项为止。
当通过通信总线101接收到数据项时,在步骤S132,基于附加到所接收的数据项的识别符,CPU111识别所接收的数据项中每个的类型。换句话说,CPU111确定附加到所接收的数据项的识别符是否彼此一致。
当识别出附加到所接收的数据项的识别符彼此一致时,CPU111可以识别出所接收的数据项对应于改编要素数据项和镜像数据项(步骤S132中的确定为是)。接着,CPU111前进到步骤S133并执行步骤S133-S138以便改编在程序存储器113中存储的数据项。
在步骤S113中,CPU111把改编要素数据项和镜像数据项以数据块的形式存储在数据存储器114中。
具体地,如图8所示,作为一个例子,CPU111在数据存储器114的第一存储区域114a中存储改编要素数据的数据块DB1,DB3,...,DB2a-1和镜像数据的补数数据块DB2,DB4,...,DB2a以便改编要素数据的数据块DB1,DB3,...,DB2a-1分别与镜像数据的补数数据块DB2,DB4,...,DB2a成对。
随后,CPU111验证在数据存储器114的第一存储区域114a中存储的改编要素数据和镜像数据。接着,当基于验证结果确定至少一个改编要素数据项相对于相应的至少一个镜像数据项满足预定规则时,CPU111提取至少一个改编要素数据项作为有效数据。
具体地,在步骤S134中,CPU111执行对改编要素数据项和镜像数据项的镜像检查。在第一实施例中,如图8所示,CPU111确定每对数据项(数据块)是否互为补数。
作为镜像检查的结果,当确定改编要素数据的至少一个数据块是相应的镜像数据的至少一个数据块的补数时,CPU111提取改编要素数据的至少一个数据块。此后,CPU111将所提取的改编要素数据的至少一个数据块存储在数据存储器114的第二存储器区域114b中。
例如,当确定改编要素数据的所有数据块是相应的镜像数据的所有数据块的补数时,CPU111顺序地组合所提取的数据块[1]-[a](数据块DB1-DB2a-1),从而解码改编要素数据。
作为步骤S134中的数据提取任务的结果,当确定由数据块[1]-[a]组成的改编要素数据被解码时(步骤S135中的确定为是),CPU111执行步骤集S136和S137。具体地,基于步骤S136中的解码后的改编要素数据,CPU111改编数据存储器中的待改编的数据项。
在检查数据项的改编完成之后,CPU111将改编完成信号发送到主控制单元140,该改编完成信号表明在发动机控制单元110中存储的数据项的改编完成。这允许主控制单元140响应于接收到改编完成信号而设置改编完成标志。
否则,如果确定改编要素数据的数据块[1]-[a]中的至少一个没有被解码,换句话说,对至少一个改编要素数据的数据块[1]-[a]的镜像数据检查失败(步骤S135→否),则不解码在改编时实际使用的改编要素数据。
在此情况下,如上所述,CPU111确定经无线通信从管理中心200发送的改编要素数据和镜像数据项不具有有效性,从而在步骤S138向主控制单元140提供改编要素数据和镜像数据的重发请求。这允许主控制单元140执行向管理中心200请求重发改编要素数据和镜像数据的发送处理(参看图6)。
图9示意性地例示了步骤S134中的数据提取任务的具体例子。
注意的是,如图8中已经例示,改编要素数据和镜像数据已经被分割成数据块[1],[2],....[2a-1],[2a],并且数据块[1],[2],....[2a-1],[2a]已经被作为数据块DB1,DB2,...DB2a-1,DB2a存储在数据存储器114的第一存储区域114a中。
如图9所示,在数据提取任务中,当块[1],[2],...[2a-1],[2a]中的奇数块[1],[3],...[2a-1]由[2n-1(n是整数)]表示,而其余的偶数块[2],[4],....,[2a]由[2n]表示时,在步骤S1001,CPU 111将“1”分配给变量n。
接着,CPU111重复下述步骤集S1002,S1003,和S1011,这允许改编要素数据和镜像数据的数据块[1]-[2a]中的每对经历上述镜像检查:
在步骤S1002中,CPU111确定数据块[2n]是否是数据块[2n-1]的补数。
在步骤S1003中,CPU111确定所有数据块[1]-[2a]是否经历镜像检查。
在步骤S1011,CPU111将[1]加到变量[n]。
具体地,当步骤S1001中[1]被分配给变量[n]时,在步骤S1002中,首先,数据块DB1和DB2经历镜像检查。例如,在第一实施例中,在确定DB1的值0x012356...和DB2的值0xFEDCBA9...的总和是否匹配期望的值0xFFFFFFF时,进行镜像检查,期望值通常是应该通过对DB1的值和DB2的值进行加和而获得。
如果确定DB1的值0x0123456...和DB2的值0xFEDCBA9...的总和与期望值匹配,则在数据块DB1和DB2中建立镜像检查,换句话说,在数据块DB1和DB2中建立预定规则。接着,进行对数据块DB3和DB4执行镜像检查所需的任务。
具体地,在步骤S1011中,[1]被添加到变量[n],而此后,再次执行步骤S1002和S1003的操作。这允许在步骤S1002中以与数据块DB1和DB2的相同方式对数据块DB3和DB4应用镜像检查。
作为重复执行步骤集S1002,S1003,和S1011的结果,在步骤S1003,如果确定所有的数据块[1]-[2a]经历镜像检查,则CPU111执行步骤集S1004和S1005。
具体地,在步骤S1004中,CPU111从在数据存储器114的第一存储器区域114a中存储的改编要素数据和镜像数据的数据块DB1-DB2a中提取数据块[1]-[a](数据块DB1,DB3,....DB2a-1)作为有效数据。接着,CPU111顺序地组合所提取的数据块[1]-[a]以解码(解调)改编要素数据,并将所组合的数据块[1]-[a]集存储在数据存储器114的第二存储区域114b中。
当作为图9所示的数据提取任务的结果而解码改编要素数据时,CPU111例如在数据存储器114中设置镜像标志;该镜像标志表明镜像检查被建立。这允许CPU111基于镜像标志的状态确定改编要素数据是否被解码。
作为重复执行步骤集S1002,S1003,和S1011的结果,可以确定镜像检查没有被建立,换句话说,不满足预定规则。在此情况下,CPU111可能确定从管理中心200发送的数据项是未授权的数据和/或非法修改的数据,因此在确定后退出数据提取任务,使得不建立镜像检查而不设置镜像标志。
如上所述,根据第一实施例的车载控制系统100可以获得如下所述的第一和第二效果。
具体地,作为第一效果,在存储在ECU110、120和130的至少之一中的控制程序和/或控制数据的改编要素数据项中,当接收到在改编时使用的改编数据项时,其中每个被附加有相同的识别符,可能的是:
彼此相对地验证所接收的多个改编数据项;和
当基于验证结果确定至少一个所述改编数据项相对于至少一个剩余项满足预定规则时,提取该至少一个改编数据项作为有效数据。
这允许较高地维持与控制程序和数据改编有关的安全级别。
作为第二效果,能够利用具有有效性的改编要素数据和作为它的补数而不具有有效性的镜像数据作为改编数据项。这使得更高地维持了从改编要素数据项中提取的至少一个项本身的安全级。
第二实施例
下面将描述根据本发明第二实施例的车载控制系统。第二实施例的车载控制系统具有与第一实施例的车载控制系统基本上相同的结构。为此,相同的参考标记分配给根据第一和第二实施例的车载控制系统中的相同部件,以便省略对第二实施例的车载控制系统的该部件的描述。
具体地,第二实施例的车载控制系统100基本包括:
分布式安置并用于协作地执行相应的车载设备(目标)的相应控制操作的多个ECU110、120和130;和
主控制单元140,用于对多个ECU110、120和130执行集中式控制。
总线类型通信网络101允许主控制单元140与ECU110、120和130间彼此传送数据。第二实施例的车载控制系统的主控制单元140和各个ECU110、120和130中的每个的系统结构基本上等同于图2中所示的那些系统结构。
基本上类似于第一实施例,在第二实施例中,车载控制系统100被配置成:
接收已经从管理中心200发送的其中每个附加有相同识别符的多个改编数据项;
彼此相对地验证所接收的改编数据项;和
当基于该验证结果确定至少一个改编数据项相对于至少一个剩余项满足预定规则时,提取该至少一个改编数据项作为有效数据。
注意的是,在第二实施例中,与图3和8相比,如图10和11所示,如何通过管理中心发送改编数据项的例子和如何提取改编要素数据的例子区别于第一实施例中的那些例子。
下面将参照图10A-10B描述由管理中心200进行的改编数据的发送操作。
图10A示意性地例示了管理中心200和车载控制系统100之间可传送的数据的结构的例子。图10B示意性地例示了管理中心的存储器的结构的例子,在该存储器中预先存储改编数据项。图10B还示意性地例示了管理中心200如何发送改编数据的例子。
如图10A所示,在第二实施例中,在管理中心200和车载控制系统100之间将改编数据的多个中的每个处理成数据帧DF。数据帧DF是管理中心200和车载控制系统100之间被处理的自含式数据单元。
具体地,数据帧DF由多个字段和校验码组成。数据帧DF被配置以分组形式发送。注意的是,当改编数据项中的每个被处理成数据帧DF时,相同的识别符被附加到改编数据项中的每个上。
数据帧DF的数据结构基本上等价于根据第一实施例的数据帧DF的数据结构。
如图10B所示,在管理中心200中,代替与改编要素数据互补的镜像数据,使用与改编要素数据(有效数据)不一致的作为非有效数据的哑(dummy)数据。
改编要素数据和哑数据中每个被分割成多个数据块[1]-[b],其中“b”代表预定整数。改编要素数据的数据[1]-[b]被预先存储在中心200的第一存储区201c中。类似的,哑数据的数据块[1]-[b]被预先存储在中心200的第二存储区201d中。
在发送改编要素数据和哑数据时,管理中心200以块[1]-块[b]的顺序依次地读出改编要素数据和哑数据。
另外,管理中心200将一对相同的改编要素数据的读出块与哑数据的读出块组合,从而发送块数据的三个项的集合作为改编数据项。
例如,如图10B所示,一旦从改编要素数据的块[1]-块[b]中顺序地成倍读出一个块,则顺序地提取哑数据的块[1]到块[b]中的一个块。成倍读出的改编要素数据的每个块与相应读出的哑数据的一个块相组合。
这允许生成组G1-组Gb的集合。组G1包括改编要素数据的数据块[1]的一对DB1和DB2以及哑数据的数据块DB3(数据块[1])。组Gb包括改编要素数据的数据块[b]的一对DB3b-2和DB3b-1以及哑数据的数据块[b](数据块[1])。
管理中心200对数据块DB1,DB2,DB3,...DB3b-2,DB3b-1,DB3b进行分类,使得多个数据帧DF分别包含数据块DB1,DB2,DB3,...,DB3b-2,DB3b-1,DB3b。接着,管理中心200分别以分组或块的形式顺序地将多个数据帧DF发送到车载控制单元100。
当以上述发送方式从管理中心200发送改编要素数据和哑数据项时,主控制单元140执行:
接收处理,用于接收改编要素数据和哑数据;和
将它们存储在数据存储器144中,这类似于第一实施例(参看图4)。
接下来,当在数据存储器144中接收到改编要素数据项和哑数据项时,主控制单元140执行发送处理。所述发送处理是将所接收的改编要素数据项和哑数据项发送到发动机控制单元110作为待改编的目标,这与第一实施例中的相同(参见图5)。
随后,当在发动机控制单元110中接收到改编要素数据项和哑数据项时,如图7所示,CPU111执行改编处理,以改编预先存储在程序存储器111中的待改编的数据项。
如上所述,在图7中,步骤S134中的数据提取任务的具体例子在第一实施例和第二实施例之间是不同的。
如图11所示,在发动机控制单元110中,改编要素数据项和镜像数据项被分割成块[1]到[3b],并且该数据块[1]到[3b]已经作为数据块DB1-DB3b被存储在数据存储器114的第一存储区114c中。
具体地,组G1-Gb的集合已经被顺序地存储在数据存储器114的第一存储区114c中。组G1包括改编要素数据的数据块[1]的一对DB1和DB2以及哑数据的数据块DB3(数据块[1])。而且,组Gb包括改编要素数据的数据块[b]的一对DB3b-2和DB3b-1以及哑数据的数据块DB3b(数据块[b])。
在针对第一存储区114c的数据提取任务中,CPU111对改编要素数据项和哑数据项执行等同检查以便每个组的三个数据项中的至少两个彼此是等同的。在第二实施例中,如图11所示,CPU111对每个组的三个数据项执行等同检查操作。
作为等同检查的结果,当确定改编要素数据的至少一个数据块与每个组的其它数据项中的至少一个数据块等同时,CPU111提取改编要素数据的该至少一个数据块。接着,CPU111将改编要素数据的该至少一个数据块存储在数据存储器114的第二存储区114d中。
例如,当确定对于所有的改编要素数据和哑数据的数据块建立起等同检查时,CPU111顺序地组合所提取的数据块[1]-[b](数据块DB1-DB3b-2),从而解码改编要素数据。
图12示意性地例示了根据第二实施例的步骤S134中数据提取任务的具体例子。
注意的是,如图12所示,数据块[1]-[3b]中的每个块可以以[3n-2(n是整数)],[3n-1]或[3n]来表示(参见图11)。
在数据提取处理中,在步骤S2100中,CPU111将“1”分配给变量n。
接下来,CPU111重复步骤集S2200,S2300,S2400,和S2700,这使得由改编要素数据和哑数据的数据块[3n-2],[3n-1]和[3n]组成的每个组经历上述的等同检查:
在步骤S2200,CPU111确定每个组中的三个项[3n-2],[3n-1],和[3n]是否彼此等同。
在步骤S2300,CPU111基于步骤S2200中的检查结果,从每个组的三个项[3n-2],[3n-1],和[3n]中提取至少一个项。
在步骤S2400,CPU111确定是否所有的数据块[1]-[3b]经历了等同检查。
在步骤S2700,CPU111将[1]添加到变量[n]。
具体地,在步骤S2100,将[1]加到变量[n],此后,在步骤S2200,执行对与数据块[1]-[3b]中的数据块DB1-DB3对应的数据块[1]-[3]的等同检查。
具体地,在步骤S2200的步骤S2201中,CPU111确定数据块DB1是否等同于数据块DB2。在步骤S2201中,如果确定数据块DB1与数据块DB2不同(步骤S2201中的确定为否),则在步骤S2202中,CPU111确定数据块DB1是否等同于数据块DB3。如果确定数据块DB1不同于数据块DB3(步骤S2202中的确定为否),则在步骤S2203中,CPU111确定数据块DB2是否等同于数据块DB3。
在步骤S2201到S2203中的任何一个中,建立数据等同性,CPU111确认每个组的三个数据块中的至少两个是彼此等同的,换句话说,建立等同检查,前进到步骤S2300。在步骤S2300,CPU111从每个组的该至少两个数据块中提取一个数据项。
具体地,在步骤S2300的步骤S2301中,当在步骤S2201或S2202中确定数据块DB1等同于其他数据块DB2和DB3中的至少一个时,CPU111从三个数据项DB1-DB3中提取数据块DB1。
另一方面,在步骤S2300的步骤S2302中,当在步骤S2203中确定数据块DB2等同于数据块DB3时,CPU111从三个数据项DB1-DB3中提取数据块DB2。
在已经建立了块[1]到[3]的等同检查之后,CPU111执行用于执行三个块[4]-[6]的下一个组所需的步骤S2400和S2700。
在已经完成了步骤S2700中的任务之后,CPU111再次执行步骤集S2200,S2300,S2400,和S2700。因为在步骤S2700中“1”被加到变量“n”,等同检查被应用于与块[4]到[6]对应的三个块DB4-DB6。
具体地,在步骤S2700中的每次将“1”加到变量“n”,在步骤S2200中,应用了等同检查的三个块的集被按照顺序从三个块[4]到[6]顺序地改变到三个块[3b-2]-[3b]。
作为重复执行步骤集S2200,S2300,S2400,和S2700的结果,在步骤S2400中,如果确定所有的数据块[1]-[3b]经历了等同检查,则CPU111执行步骤集S2500和S2600。
具体地,在步骤S2500中,如图11所示,CPU111读出已经作为有效数据被从改编要素数据和哑数据的数据块DB1-DB3b中提取的数据块DB1,DB4...,DB3b-2。接着,CPU111顺序地组合所读出的数据块DB1,DB4...,DB3b-2以解码改编要素数据,并将组合的数据块DB1,DB4...,DB3b-2存储在数据存储器114的第二存储区114d中。
当作为图12所示的数据提取任务的结果解码改编要素数据时,在步骤S2600,CPU111例如在数据存储器114中发置等同标志;该等同标志表明等同检查被建立。这允许CPU111基于镜像标志的状态来确定改编要素数据是否被解码,并且此后,CPU111退出数据提取处理。
作为重复执行步骤集S2200,S2300,S2400,和S2700的结果,在步骤S2200(步骤S2203),可以确定一个组的所有三个块彼此不等同,换句话说,等同检查没有被建立(不满足预定规则)。在此情况下,CPU111可能会确定从管理中心200发送的数据是未授权的数据和/或非法修改的数据,从而,基于该确定而退出数据提取任务以便不建立等同检查,而不设置等同标志。
在步骤S135中(参见图7),因此,根据等同标志的状态,进行改编要素数据是否被解码的确定。
如上所述,根据第二实施例的车载控制系统100可以获得与根据第一实施例的第一和第二效果基本上相同的效果。
第三实施例
此后将描述根据本发明第三实施例的车载控制系统。第三实施例的车载控制系统具有与第二实施例的车载控制系统基本上相同的结构。为此,在根据第二和第三实施例的车载控制系统中,相同的参考符号被分配给相同的部件以便省略对第三实施例的车载控制系统中的该部件的描述。
基本上类似于第二实施例,在第三实施例中,车载控制系统100被配置成:
接收每个被附加有相同识别符的已经从管理中心200发送的多个改编数据项(改编要素数据和哑数据);
相互彼此验证所接收的改编数据项(改编要素数据和哑数据);和
当基于该验证结果确定至少一个改编数据项相对于至少一个剩余项满足预定规则时,提取该至少一个改编数据项作为有效数据。
注意的是,在第三实施例中,与图10和11相比,如图13和14所示,管理中心如何发送改编要素数据和哑数据的例子以及如何提取改编要素数据的例子不同于第二实施例中的那些。
下面将参照图13A和13B描述由管理中心200进行的改编要素数据和改编数据的镜像数据的发送操作。
图13A示意性地例示了管理中心200和车载控制系统100之间的可传送的数据的结构的例子。图13B示意性地例示了管理中心的存储器的结构的例子,在该存储器中预先存储了改编数据项。图13B还示意性地例示了管理中心200如何发送改编数据的例子。
如图13A所示,在第三实施例中,每个改编数据项在管理中心200和车载控制系统100之间被处理成数据帧DF。数据帧DF是管理中心200和车载控制系统100之间被处理的自含式数据单元。
具体地,数据帧DF由多个字段和校验码组成。数据帧DF被配置成以分组形式发送。注意的是,当每个改编数据项(改编要素数据和哑数据)被处理成数据帧DF时,相同的识别符被附加到每个改编数据项(改编要素数据和哑数据)上。
数据帧DF的数据结构基本上等同于根据第一和第二实施例的数据帧DF的数据结构。
如图13B所示,在根据第三实施例的管理中心200中,使用与改编要素数据(有效数据)不一致的作为非有效数据的第一到第三哑数据。
改编要素数据和第一到第三哑数据中的每个被分割成多个数据块[1]-[c],其中“c”表示预定整数。改编要素数据的数据块[1]-[c]被预先存储在中心200的第一存储区201e中。类似的,第一-第三哑数据的数据块[1]-[c]被分别预先存储在中心200的第二-第四存储区201f-201h中。
在发送改编要素数据和第一-第三哑数据时,管理中心200按照从块[1]-块[c]的顺序,根据下面的第一到第三条件顺序地读出改编要素数据和第一到第三哑数据的每个:
第一条件是,数据块[1]-[c]每个中的五个数据块被组合来读出,
第二条件是,每个五个块组合的组包括第一-第三哑数据中的至少一个,
第三条件是,相对于每个改编要素数据和第一-第三哑数据的一组中的等同块的最大数对应于改编要素数据的等同块的数目。
例如,如图13B所示,一旦从改编要素数据成倍地读出一个块[1],则提取第一-第三哑数据的每个中的一个块[1]。成倍读出的改编要素数据的块[1]与相应的第一-第三哑数据的读出块[1]相组合以形成组G1。
因为组G1包括五个块[1],第一条件被满足,并且因为组G1包括第一-第三哑数据的块[1],满足第二条件。另外,因为相对于每个改编要素数据和第一-第三哑数据的组中(五个组合的块)相对于改编要素数据的等同块的最大数是“2”。
这就允许生成组G1-Gc。组G1包括改编要素数据和第一-第三哑数据的数据块[1]的五个组合的块DB1-DB5。组Gc包括改编要素数据和所生成的第一哑数据的数据块[c]的五个组合的块DB5c-4-DB5c。
管理中心200分类数据块DB1,DB2,DB3,...,DB5c,使得多个数据帧DF分别包含数据块DB1,DB2,DB3,...,DB5c。接着,管理中心200分别以分组或以块的形式顺序地将多个数据帧DF发送到车载控制单元100。
以上述发送方式从管理中心200发送改编要素数据项和第一-第三哑数据项。发动机控制单元110的CPU111接收改编要素数据项和第一-第三哑数据项,并且,如图14所示,将它们存储在数据存储器114的第一存储区114e中,作为与数据块DB1-DB5c对应的数据块[1]-[5c]。
在针对第一存储区114e的数据提取任务中,CPU111在步骤S134中用下面的方式提取具有有效性的改编要素数据项。
具体地,在第三实施例中,CPU111执行对改编要素数据项和第一-第三哑数据项的多数规则检查,以确定在改编要素数据以及每组中的第一-第三哑数据的组(五个组合的项目)中是否存在等同块的最大数。
作为多数规则检查的结果,如果确定在相对于改编要素数据以及第一-第三哑数据的一个组(五个组合的项)中具有等同块的最大数,则建立多数规则,换句话说,满足预定规则。接着,CPU111从每个组的五个数据项中提取每个组的至少一个等同数据项(块)作为有效数据。此后,如图14所示,CPU111顺序地组合所提取的数据块DB1,DB7,...,DB5c-4,从而将它们存储在数据存储器14的第二存储区114f中。这允许在数据存储器114的第二存储区114f中解码改编要素数据。
图15示意性地例示了根据第三实施例的步骤S134中数据提取任务的具体例子。
注意的是,如图15所示,数据块[1]-[5c]中的每个块由[5n-4(n是整数)],[5n-3],[5n-2],[5n-1],或[5n]表示(参见图14)。
如图15所示,在数据提取处理中,在步骤S3001中,CPU111将“1”分配给变量n。
接着,CPU111重复下列的步骤集S3100,S3200,S3300,S3400,和S3700,使得包括改编要素数据和第一-第三哑数据的五个数据块[5n-4]-[5n]的每个组经历上述的多数规则检查:
在步骤S3100中,CPU111确定每个组的五个块[5n-4]-[5n]是否彼此等同。
在步骤S3200中,CPU111执行多数规则检查任务,以:
基于步骤S3100中的等同比较的结果,使每个组的五个块[5n-4]-[5n]经历多数规则检查,和
如果建立多数规则检查,则设置多数规则标志。
在步骤S3300中,CPU111检查多数规则标志的状态。
在步骤S3400中,CPU111确定是否所有的数据块[1]-[5c]经历了多数规则检查。
在步骤S3700中,CPU111将[1]加到变量[n]。
具体地,在步骤S3100中,如图16A所示,五个数据块[5n-4]-[5n]中的数据块[5n-4]被用作相对于其中的剩余数据块的参考,并确定每个剩余的数据块[5n-3]-[5n]是否与参考数据块[5n-4]等同。
在使用数据块[5n-4]作为参考进行等同比较之后,如图16B所示,数据块[5n-3]被用作相对于剩余数据块的参考,并确定每个剩余数据块[5n-4],[5n-2]到[5n]是否与参考数据块[5n-3]等同。
在使用数据块[5n-3]作为参考进行等同比较之后,如图16C所示,数据块[5n-2]被用作相对于剩余数据块的参考,并确定每个剩余数据块[5n-4],和[5n-3],[5n-1]和[5n]是否与参考数据块[5n-2]等同。
在使用数据块[5n-2]作为参考进行等同比较之后,如图16D所示,数据块[5n-1]被用作相对于剩余数据块的参考,并确定每个剩余数据块[5n-4],[5n-3],[5n-2],和[5n]是否与参考数据块[5n-1]等同。
如图16A-16D所示,例如,相对于块[5n-4],[5n-3],[5n-2]的参考,分别获得五个数据块[5n-4]-[5n]由等同块的四个数“2”,“1”,“0”,和“1”。在此情况下,在步骤S3200中,确定在使用参考块[5n-4]的情况下等同块的数目“2”是最大数。接着,从五个数据块[5n-4]-[5n]中提取数据块[5n-4]作为有效数据,并因此设置多数规则标记;该多数规则标记表明多数规则检查被建立。
在步骤S3400中,如果多数规则标记被设置(参见步骤S3300),则确定是否所有的块[1]-[5c]经历多数规则检查。如果确定所有的块[1]-[5c]没有经历多数规则检查,在步骤S3700由CPU111将“1”加到变量“n”,并且此后,再次执行步骤S3100和S3200,以便下一个组的五个数据块经历多数规则检查。
作为重复执行步骤集S3100,S3200,S3300,S3400和S3700的结果,在步骤S3400中,如果确定所有的数据块[1]-[5c]都已经经历多数规则检查,则CPU111执行步骤集S3500和S3600。
具体地,在步骤S3500中,如图14所示,CPU111读出从每个组的改编要素数据和空数据的数据块DB1-DB5c中已经被作为有效数据提取的数据块DB1,DB7,....,DB5c-4。接下来,CPU111顺序地组合所读出的数据块DB1,DB7,....,DB5c-4以解码改编要素数据,并将组合的数据块集DB1,DB7,....,DB5c-4存储在数据存储器114的第二存储区域114f中。
当作为图15所示的数据提取任务的结果改编要素数据被解码时,多数规则标志例如被设置在数据存储器114中。这允许CPU111基于多数规则标志的状态来确定改编要素数据是否被解码,而此后,CPU111定义多数规则标志的状态,退出数据提取处理。
作为重复执行步骤集S3100,S3200,S3300,S3400,和S3700的结果,在步骤S3300中,如果没有多数规则标志被设置,则CPU111可能会确定从管理中心200发送的数据是未授权的数据和/或非法修改的数据。因此,CPU111基于该确定退出数据提取任务以便不建立等同比较,而不用设置多数规则标志。
在步骤S135(参见图7)中,因此,根据多数规则标志的状态,进行改编要素数据是否被解码的确定。
图17是示意性地例示了图15的步骤S3100中的等同比较的算法的例子的流程图,以及图18是示意性地例示了图15的步骤S3200中多数规则检查的算法的例子的流程图。
首先将参考图17描述步骤S3100中的等同比较。
如前所述,在等同比较中,如图16A-16D所示,每个组的组合的五个数据块[5n-4]-[5n]与作为正被改变的参考的块[5n-4]-[5n]的其中之一进行比较。这分别相对于参考[5n-4],[5n-3],[5n-2,和[5n-1]确定了五个数据块[5n-4]-[5n]中的等同块的四个数。所确定的五个数据块[5n-4]-[5n]中的等同块的四个数被存储在数据存储器114中,作为等同比较的比较结果。在存储器114中,所确定的等同块的四个数分别与相应的参考[5n-4]-[5n-1]相关。
在第三实施例中,如图17所示,受控的变量“j”,“k”,以及多个等同数计数器将以后述的方式被操纵以实现等同比较。注意的是,CPU111的内部计数器可以被用作多个等同数计数器,但可以准备外部计数器并用作多个等同数计数器。
如图17所示,在等同比较中,CPU111清零每个等同数计数器的计数值。接着,CPU111将变量“j”设置为“0”,和将变量“k”设置为“1”,并接着,CPU111重复下列步骤集S3103-S3108。这允许五个数据块[5n-4]-[5n]基于作为相对于其中剩余数据块的参考的数据块[5n-4]经历等同比较,从而确定剩余的数据块[5n-3]-[5n]中的每个是否等同于参考数据块[5n-4]。
在步骤S3103中,CPU111计算变量“j”和“k”的总和以将该总和值与五个比较块的组合数“5”进行比较。
在步骤S3104中,作为步骤S3103的比较结果,如果总和值小于组合数“5”,则CPU111将数据块[5n-4+j]与数据块[5n-4+j+k]进行比较。
在步骤S3105中,作为步骤3104的比较结果,如果数据块[5n-4+j]等同于数据块[5n-4+j+k],则CPU111检查数据块[5n-4+j]是否已经被登记为候选数据。候选数据将被提取作为与之等同的块的数目在五个数据块中是最大的数据块。
在步骤S3106中,作为步骤S3105中的检查结果,如果数据块[5n-4+j]还没有被登记为侯选数据,则CPU111将数据块[5n-4+j]登记为侯选数据[5n-4+j]。
在步骤S3107,作为步骤S3104的结果,如果数据块[5n-4+j]等同于数据块[5n-4+j+k],则CPU111技术表示数据块[5n-4+j]的等同数(比较结果)的等同数计数器[5n-4+j]的计数值。
在步骤S3108,CPU111将“1”加到变量“k”。
例如,在步骤S3101和S3102,当等同计数器[5n-4+j]的计数值已经被清零而且变量“j”和“k”已经被分别设置为“0”和“1”时,在步骤S303,确定变量“j”和“k”的总和值小于参考值“5”。
接着,在步骤S3104中,将用作参考的数据块[5n-4]与数据块[5n-3]进行比较,以确定数据块[5n-4]是否等同于数据块[5n-3]。
如果确定数据块[5n-4]等同于数据块[5n-3],则在步骤S3105和3106中,数据块[5n-4]被登记成侯选数据块[5n-4],其应该被作为在组中(五个组合块)与之等同的块的数目是最大的数据块提取。
接着,随着步骤S3107的操作,表示数据块[5n-4]的等同数的等同数计数器[5n-4]的计数值计数(增加)以便获得等同数计数器[5n-4]的计数值“1”。此后,在步骤S3108,“1”被加到变量“k”。
在步骤S3104,可以确定数据块[5n-4]不等同于数据块[5n-3]。在此情况下,CPU111移到步骤S3108而不执行步骤S3106中侯选数据[5n-4]的登记操作和步骤S3107中的计数器操纵操作。就是说,响应于在确定数据块[5n-4]不等同于数据块[5n-3]时,CPU111将“1”加到变量“k”。
在执行了上述的步骤S3108中的操作之后,再次执行相继的步骤集S3103-S3108。注意的是,在执行步骤S3103-S3108的操作中,因为“1”被加到变量“k”,在步骤S3104中,将用作参考的数据块[5n-4]与数据块[5n-2]相比较,以确定数据块[5n-4]是否等同于数据块[5n-2]。
具体地,每次“1”被加到变量“k”,在步骤S3104中,参考数据块[5n-4]的等同比较的目标以数据块[5n-3],数据块[5n-2],数据块[5n-1],和数据块[5n]的顺序被顺序地移位。在使用数据块[5n-4]作为参考的情况下,通过步骤S3103-S3106中的操作而操纵的等同数计数器[5n-4]的计数值最后显示组中等同块的数,比如作为步骤S3107中的例子的图16A中的“2”。
作为重复执行步骤S3103-S3108的操作的结果,在步骤S3103中变量“j”和“k”的总值达到“5”,从而确定总值等于或大于参考值“5”。这使得CPU执行移位到步骤S3111。
具体地,在此情况下,变量“k”是“5”,从而使用数据块[5n-4]作为参考的五个组合数据块[5n-4]-[5n]之间的等同比较已经完成。在步骤S3111中,因此,如图16B所示,作为将相对于剩余数据块用作参考数据块的数据块从数据块[5n-4]移到数据块[5n-3]的任务,“1”被加到变量“j”。与附加任务相并行,变量“k”被设置为“1”,换句话说,被清除,以便使用数据块[5n-3]作为参考来执行五个组合的数据块[5n-4]-[5n]之间的等同比较。
接着,如果变量“j”小于通过从先前的参考值“5”减去“1”获得的参考值“4”,则再次重复执行步骤S3103-S3108的操作。这允许进行使用数据块[5n-3]作为参考的五个组合的数据块[5n-4]之间的等同比较。
注意的是,在第三实施例中,如图16B所示,没有进行数据块[5n-4]和参考数据块[5n-3]之间的等同比较。具体地,通过使用数据块[5n-4]作为参考的等同比较已经进行了数据块[5n-4]和参考数据块[5n-3]之间的等同比较。为此,省略数据块[5n-4]和参考数据块[5n-3]之间的等同比较,这允许降低步骤S135中的数据提取处理的处理负荷。注意的是,这种省略同样被应用于分别使用数据块[5n-2]和[5n-1]作为参考的等同比较。此外,注意的是,不进行使用数据块[5n]作为参考的等同比较。
在通过步骤S3111和S3112中的操作顺序地使用数据块[5n-3],[5n-2],和[5n-1]作为参考来顺序地重复执行步骤集S3103-S3108中的操作之后,在步骤S3112最后确定变量“j”不小于“4”。然后,完成五个组合数据块[5n-4]-[5n]之间的等同比较,以便在确定变量“j”不小于“4”时终止步骤S3100中的等同比较。
然而,如上所述,在步骤S3100之后,在步骤S3700中,当[1]被加到变量“n”时,下一个五个组合的组经历等同比较,如图17所示。
下面,将参照图18描述步骤S3200中的多数规则检查。
如前所述,在等同比较中,如图16A-16D所示,利用等同数计数器[5n-4]-[5n-1]的计数值,分别计算在使用数据块[5n-4]-[5n-1]作为参考的情况下的组中的等同块的数日。
在多数规则检查中,如前所述,确定是否存在一个在组中(五个组合的数据块[5n-4]-[5n])与之等同的块的数目是最大的数据块。另外,如果存在一个在组中(五个组合的数据块)中与之等同的块的数目是最大的数据块,则设置多数规则标志。
在第三实施例中,如图18所示,将以下述的方式操纵被操纵的变量“j”和最大计数器,以实现多数规则检查,其中该最大计数器表示在组中(五个组合的数据块)中与之等同的块的数目是最大的数据块的等同块数。注意的是,CPU111的内部计数器可以被用作最大计数器,但也可以准备外部计数器并被用作最大计数器。
如图18所示,在多数规则检查中,在步骤S3201中,CPU111清零最大计数器的计数值。接着,CPU111将变量“j”设置为“0”,并复位多数规则标志。此后,CPU111重复下列步骤集S3203-S3208,S3211,和S3212。这使得它能够确定是否存在一个在组中(五个组合的数据块[5n-4]-[5n])中与之等同的块的数目是最大的数据块。。
在步骤S3203中,CPU111将变量“j”与通过从参考值“5”减去“1”而获得的值“4”相比较。
在步骤S3204,如果作为步骤S3203中的比较结果,变量“j”小于值“4”,则CPU111将等同数计数器[5n-4+j]的计数值与最大计数器的计数值进行比较。等同数计数器[5n-4+j]的计数值表示相对于参考数据块[5n-4+j]的组中(五个组合的数据块[5n-4]-[5n])的等同块的数目。
在步骤S3205,如果作为步骤S3204中的比较结果,等同数计数器[5n-4+j]的计数值大于最大计数器的计数值,则CPU111计数最大计数器的计数值,以便最大计数器的计数值与等同数计数器[5n-4+j]的计数值匹配。
在步骤S3206,如果作为步骤S3204中的比较结果,等同数计数器[5n-4+j]的计数值大于最大计数器的计数值,则CPU111例如在数据存储器114中将数据块[5n-4+j](候选数据[5n-4+j])登记成有效数据,该有效数据表示其等同数在五个数据块中是最大的数据块。
在步骤S3207中,如果作为步骤S3204的比较结果,等同数计数器[5n-4+j]的计数值大于最大计数器的计数值,则CPU111设置多数规则标志。
在步骤S3208中,CPU111将“1”加到变量“j”。
在步骤S3211中,如果作为步骤S3203中的比较结果,变量“j”不小于值“4”,则CPU111将等同数计数器[5n-4+j]的计数值与最大计数器的计数值相比较。等同数计数器[5n-4+j]的计数值表示相对于参考数据块[5n-4+j]在组中(五个组合数据块[5n-4]-[5n])的等同块的数目。
在步骤S3212中,如果等同数计数器[5n-4+j]的计数值与最大计数器的计数值等同,则CPU111复位多数规则标志。
例如,在步骤S3201和S3202中,当最大计数器的计数值已经被清零而且变量“j”被设置为“0”时,在步骤S3203中,确定变量“j”小于从参考值“5”减去“1”而获得的值“4”。
接下来,在步骤S3204中,将表示相对于侯选数据[5n-4]在组中(五个组合的数据块[5n-4]-[5n])的等同块数的等同数计数器[5n-4]的计数值与最大计数器的计数值相比较。
如果确定相应于侯选数据[5n-4]的等同数计数器[5n-4]的计数值大于最大计数器的计数值,则作为候选数据登记的数据块[5n-4]被确定为在组中(数据块[5n-4]-[5n])与之等同的块数是最大的数据块。
在步骤S3205,因此,最大计数器的计数值被计数,以便最大计数器的计数值与等同数计数器[5n-4]的计数值匹配。随后,在步骤S3206和3207中,侯选数据[5n-4]被登记为在组中(五个组合的数据块)与之等同的块数是最大的有效数据,并且设置多数规则标志。此后,在步骤S3208中,“1”被加到变量“j”。
在步骤S3204中,可以确定等同数计数器[5n-4]的计数值等于或小于最大计数器的计数值。在此情况下,最大计数器已经被用作一个计数器,该计数器表示组中(五个组合的数据块[5n-4]-[5n])的等同块的最大数。
响应于执行步骤S3211或S3212而不执行步骤S3205-S3207的操作,CPU111在步骤S3208将“1”到变量“j”。
在执行了步骤S3208的操作之后,如上所述,再次执行随后的步骤集S3203-S3208,S3211,和S3212。注意的是,在执行步骤S3203-S3208,S3211,和S3212的操作中,因为“1”被加到变量“j”,在步骤S3208中,确定等同数计数器[5n-3]的计数值是否变为有效数据;该等同数计数器[5n-3]的计数值表示相对于参考数据块[5n-3]在组中(五个组合的数据块[5n-4]-[5n])的等同块数。
具体地,在步骤S3208中,每次“1”被加到最大计数器的计数值的比较目标,该目标以等同数计数器[5n-3]的计数值、等同数计数器[5n-2]的计数值、等同数计数器[5n-1]的计数值的顺序被顺序地移位。这些操作使得已经被登记成有效数据的候选数据被最后获得,作为应该在步骤S3207中从五个组合数据块中提取的数据。
在重复执行了步骤集S3203-S3208,S3211,和S3212之后,最后在步骤S3203确定变量“j”不小于“4”。此时,已经完成了是否存在在组中(五个组合的数据块[5n-4]-[5n])与之等同的块的数目是最大的数据块的确定。因此,当确定变量“j”不小于“4”时终止多数规则检查比较。
然而,如上所述,在步骤S3203之后,在步骤S3700中,当[1]被加到变量“n”时,下一个五个组合的组经历多数规则检查,如图18所示。
注意的是,当组中五个组合数据块[5n-4]-[5n]经历如上所述的多数规则检查时,如图19所示,作为一个例子,在步骤S3100中,相对于侯选数据[5n-1]在组中的等同块数和相对于侯选数据[5n-4]在组中的等同块数可以是彼此相同的,并且在组中是最大的。
在多个块在组中的等同块数是彼此相同和最大的情况下,则难于有选择地提取任何一个数据块作为有效数据。
在第三实施例中,因此,在步骤S3204中,如果确定等同数计数器[5n-2]的计数值等于或小于最大计数器的计数值,在随后的步骤S3211中,确定等同数计数器[5n-2]的计数值是否等于最大计数器的计数值。
如果确定等同数计数器[5n-2]的计数值等于最大计数器的计数值(步骤3211中的确定为是),则在随后的步骤S3212中,多数规则标志被复位以便保持步骤S134中的数据提取任务。步骤S3200中的多数规则检查期间所保持的多数规则标志的复位状态允许在步骤S3300中强制终止步骤S134中的数据提取任务。这就使得能够大大提高数据改编的可靠性。
如上所述,根据第三实施例的车载控制系统100获得了与根据第一实施例的第一和第二效果基本上相同的效果。此外,根据第三实施例的车载控制系统100可以获得下述第三效果。
具体地,作为第三效果,当确定存在多个块的等同块数目在组中(五个组合的数据块)彼此相同且是最大时,能够强制终止步骤S134中的数据提取任务。这允许较高地维持了有关数据改编的安全级。
在第三实施例中,根据图15-18所示的程序和算法,利用多数规则检查来进行步骤S134中的数据提取任务。注意的是,如同第三实施例的修改,每个组由三个数据块组成以便多数规则检查被应用于每个组的三个块中。
在此修改中,代替图15-18,根据图21所示的过程和算法,利用多数规则检查来进行步骤S134中的数据提取任务。
具体地,在该修改中,根据类似第二实施例(参看图10A和10B)的过程和算法,管理中心200被配置来将改编数据项(改编要素数据和空数据)发送到车载控制系统100。
如图20所示,发动机控制单元110将改编要素数据项和镜像数据项分割成块[1]-[3d],并将数据块[1]-[3d]作为数据块DB1-DB3d(d是整数)存储在数据存储器114的第一存储器区域114g中。
具体地,组G1-Gd已经被顺序地存储在数据存储器114的第一存储器114g中。组G1包括改编要素数据的数据块[1]的一对DB1和DB2以及哑数据的数据块DB3(数据块[1])。而且,组Gd包括改编要素数据的数据块[d]的一对DB3d-2和DB3d-1以及哑数据的数据块DB3d(数据块[d])。
在该修改中,根据图21所示的过程和算法,CPU111利用多数规则检查来进行相对于数据块DB1-DB3d的步骤S134中的数据提取。
注意的是,如图21所示,数据块[1]-[3d]中的每个块由[3n-2(n是整数)],[3n-1],或[3n]来表示(参见图20)。
如图21所示,在数据提取处理中,在步骤S4100中,CPU111将“1”分配给变量n。
接着,CPU111重复下述步骤集S4200,S4300,S4400,和S4700,这使得包含改编要素数据和哑数据的数据块[3n-2],[3n-1],和[3n]的每个组经历上述多数规则检查:
在步骤S4200中,CPU111确定每个组的三个块[3n-2]-[3n]是否彼此等同。
在步骤S4300中,基于步骤S4200中的等同比较的结果,CPU111提取其等同块数在三个数据块中是最大的数据块。
在步骤S4400中,CPU111确定是否所有的数据块[1]-[3d]经历了多数规则检查。
在步骤S4700中,CPU111将[1]加到变量[n]。
例如,在步骤S4100,[1]被加到变量[n],并且此后,在步骤S4200,执行对与数据块[1]-[3d]中的数据块DB1-DB3对应的数据块[1]-[3]的多数规则检查。
具体地,在步骤S4200的步骤S4201中,CPU111确定数据块DB1是否等同于数据块DB2。在步骤S4201中,如果确定数据块DB1不等同于数据块DB2(步骤S4201中确定为否),则在步骤S4202中,CPU111确定数据块DB1是否等同于数据块DB3。如果确定数据块DB1不等同于数据块DB3(步骤S4202中的确定为否),则在步骤S4203,CPU111确定数据块DB2是否等同于数据块DB3。
在该修改中,CPU111执行对每个组中的数据块[3n-2]-[3n]的多数规则检查。为此,在步骤S4200中,当确定数据块中之一等同于数据块中的另一个时,CPU111可以确定该成对的数据块(数据块的一个和另一个)作为数据块中的一对,其等同块数在相应的三个数据块中是最大的。
基于每个组中成对的等同数据块的检测,当确定存在其等同块数在相应的三个数据块中是最大的数据块时,CPU111因此转移到步骤S4300。
在步骤S4300中,基于多数规则检查的结果,CPU111从成对的等同数据项中提取一个数据项。
具体地,在步骤S4300的步骤S4301中,当在步骤S4201或S4202中确定数据块DB1等同于其他数据块DB2和DB3中的至少一个时,CPU111从三个数据项DB1-DB3中提取数据块DB1。
另一方面,在步骤S4300的步骤S4302中,当步骤S4203中确定数据块DB2等同于数据块DB3时,CPU111从三个数据项DB1-DB3中提取数据块DB2。
在已经建立了对块[1]-[3]的多数规则检查之后,CPU111执行所需的步骤S4400和S4700以便执行下一组三个块[4]-[6]。
在已经完成了步骤S4700的任务之后,CPU111再次执行步骤集S4200,S4300,S4400,和S4700。因为在步骤S2700“1”被加到变量“n”,多数规则检查被应用于与块[4]-[6]对应的三个块DB4-DB6。
具体地,每次在步骤S4700中将“1”加到变量“n”,则在步骤S4200中,应用了多数规则检查的三个块按照从三个块[4]-[6]至三个块[3d-2]-[3d]的顺序而被顺序地改变。
作为重复执行步骤集S4200,S4300,S4400,和S4700中的结果,在步骤S4400中,如果确定所有的数据块[1]-[3d]经历了多数规则检查,则CPU111执行步骤S4500和S4600。
具体地,在步骤S4500中,如图20所示,CPU111读出已经作为有效数据被从改编要素数据和哑数据的数据块DB1-DB3d中提取的数据块DB1,DB4,...,DB3d-2。接着,CPU111顺序地组合所读出的数据块DB1,DB4,...,DB3d-2以解码改编要素数据,并将组合的数据块DB1,DB4,...,DB3d-2存储在数据存储器114的第二存储区域114h中。
当作为数据提取任务的结果解码改编要素数据时,CPU111例如在步骤S4600中在数据存储器114中设置多数规则标志;该多数规则标志表示建立了多数规则检查。这允许CPU111基于多数规则标志的状态来确定改编要素数据是否被解码,并在此后,CPU111退出数据提取处理。
作为重复执行步骤集S4200,S4300,S4400,和S4700的结果,在步骤S4200(步骤S4203)中,可以确定一个组的所有三个块不是彼此等同的。在此情况下,CPU111能够确定从管理中心200发送的数据是未授权的和/或非法修改的数据,借此,基于该确定退出数据提取任务以便不建立多数规则检查而不用设置多数规则标志。
因此,在步骤S135(参见图7),基于多数规则标志的状态,进行改编要素数据是否被解码的确定。
如上所述,根据第三实施例的修改的车载控制系统100可以获得与根据第一实施例的第一和第二效果基本上相同的效果。
另外,根据第三实施例的修改的车载控制系统100可以获得下述第四效果。
具体地,作为第四效果,当确定一个数据块等同于数据块的另一个时,CPU111可以确定该成对的数据块(数据块中的一个和另一个)作为一对数据块,其等同块数在相应的三个数据块中是最大的。这允许减少CPU111的负荷。
第四实施例
下面将描述根据本发明第四实施例的车载控制系统。第四实施例的车载控制系统具有与第三实施例的车载控制系统基本上相同的结构。为此,相同的参考符号被分配给第三和第四实施例的车载控制系统中的相同部件,以便省略对第四实施例的车载控制系统中的该部件的描述。
基本上类似于第三实施例,在第四实施例中,车载控制系统100被配置成:
接收每个被附加有相同识别符的已经从管理中心200发送的多个改编数据项(改编要素数据和哑数据)。
相互彼此验证所接收的改编数据项(改编要素数据和哑数据);和
当基于该验证结果确定至少一个改编数据项相对于至少一个剩余项满足预定规则时,提取该至少一个改编数据项作为有效数据。
注意的是,在第四实施例中,根据类似于第三实施例(参见图13A和13B)的过程和算法,管理中心200被配置来将改编数据项(改编要素数据和哑数据)发送到车载控制系统100。
具体地,在第四实施例中,在发送改编要素数据和第一-第三哑数据时,管理中心200基于下列的第一-第三条件,按照从块[1]-块[e]的顺序,顺序地读出改编要素数据和第一-第三哑数据的每个:
第一条件是,数据块[1]-[e]每个中的五个数据块被组合来读出
第二条件是,每个五个块的组合的组包括第一-第三哑数据中的至少一个。
第三条件是,改编要素数据的数据块数在组中的五个等同块的总数(五)中具有多数。
例如,如图22所示,在从改编要素数据中三次读出一个块[1]后,提取第一和第二哑数据每个中的一个块[1]。三次读出的改编要素数据的块[1]与相应的读出的第一和第二哑数据的块[1]相组合以形成组G1。
因为组G1包括五个块[1],第一条件被满足,又因为组G1包括第一和第二哑数据的块[1],第二条件被满足。另外,因为改编要素数据的数据块[1]的数目(3)在组中的五个等同块的总数(五)中具有多数(参见图22)。
这就允许生成组G1-Ge的集。组G1包括具有改编要素数据和第一-第三哑数据的数据块[1]的五个组合的块DB1-DB5。组Ge包括具有改编要素数据和所生成的第一哑数据的数据块[e]的五个组合的块DB5e-4-DB5e。
管理中心200分类数据块DB1,DB2,DB3,...,DB5e以便多个数据帧DF分别包含数据块DB1,DB2,DB3,...,DB5e。接着,管理中心200以分组或以块的形式分别将多个数据帧DF顺序地发送到车载控制单元100。
当以上述发送方式从管理中心200发送改编要素数据和第一-第三哑数据的项时,如图22所示,发动机控制单元110将它们存储在数据存储器114的第一存储区114i中,作为数据块DB1-DB5e。
在针对第一存储区114i的数据提取任务中,CPU111在步骤S134中用下面方式提取具有有效性的改编要素数据项。
具体地,在第四实施例中,如图22所示,CPU111执行对改编要素数据项和第一-第三哑数据项的多数占用检查,以确定是否在具有改编要素数据和每组的第一-第三哑数据的组(五个组合的项)中存在等同块的多数。
作为多数占用检查的结果,如果确定在一个组(五个组合的项)中具有等同块的多数,则建立多数占用规则,换句话说,满足预定规则。接着,CPU111从五个数据项中提取每个组的至少一个等同数据项(块)作为有效数据。此后,如图22所示,CPU111顺序地组合所提取的数据块DB1,DB7,...,DB5e-4,借此把它们存储在数据存储器14的第二存储区114j中。这允许在数据存储器114的第二存储区114j中解码改编要素数据。
图23示意性地例示了根据第四实施例的步骤S134中数据提取任务的具体例子。
注意的是,如图23所示,数据块[1]-[5e]中的每个块由[5n-4(n是整数)],[5n-3],[5n-2],[5n-1],或[5n]表示(参见图22)。
如图23所示,在数据提取处理中,在步骤S5001中,CPU111将“1”分配给变量n。
接着,CPU111重复下列的步骤集S5100,S5200,S5300,和S5600,这允许由改编要素数据和每个组的第一-第三空数据的五个数据块[5n-4]-[5n]组成的每个组经历上述多数占用检查:
在步骤S5100中,CPU111执行多数占用检查任务:
使每个组的五个块[5n-4]-[5n]经历多数占用检查,和
如果多数占用检查被建立,则设置多数占用标志。
在步骤S5200中,CPU111检查多数占用标志的状态;和
在步骤S5300中,CPU111确定是否所有的数据块[1]-[5e]经历了多数占用检查。
在步骤S5600中,CPU111将[1]加到变量[n]。
在图23中,步骤S5100等效于根据第三实施例的步骤S3100。具体地,如图16A所示,五个数据块[5n-4]-[5n]中的数据块[5n-4]被用作相对于其中剩余数据块的参考,并确定每个剩余数据块[5n-3]-[5n]是否与参考数据块[5n-4]等同。
在使用数据块[5n-4]作为参考进行等同比较之后,如图16B所示,数据块[5n-3]被用作相对于剩余数据块的参考,并确定每个剩余数据块[5n-4],和[5n-2]-[5n]是否与参考数据块[5n-3]等同。
在使用数据块[5n-3]作为参考进行等同比较之后,如图16C所示,数据块[5n-2]被用作相对于剩余数据块的参考,并确定每个剩余数据块[5n-4],[5n-3],[5n-1],和[5n]是否与参考数据块[5n-2]等同。
在使用数据块[5n-2]作为参考进行等同比较之后,如图16D所示,数据块[5n-1]被用作相对于剩余数据块的参考,并确定每个剩余数据块[5n-4],[5n-3],[5n-2],和[5n]是否与参考数据块[5n-1]等同。
在第四实施例中,作为例子,如图16A所示,作为确定每个剩余数据块[5n-3]-[5n]是否与参考数据块[5n-4]等同的结果,当获得等同数“2”时,确定在数据块[5n-4]-[5n]中具有多数的等同块。接着,从五个数据块[5n-4]-[5n]中提取数据块[5n-4]作为有效数据,并因此设置多数占用标志;该多数占用标志表示建立了多数占用检查。
在步骤S5300中,如果多数占用标记被设置(参见步骤S5200),则确定是否所有的块[1]-[5e]经历多数占用检查。如果确定所有的块[1]-[5e]没有经历多数占用检查,则在步骤S5600由CPU111将“1”加到变量“n”,并且此后,再次执行步骤S5100,以便下一个组五个数据块经历多数占用检查。
作为重复执行步骤集S5100,S5200,S5300和S5600的结果,在步骤S5400中,如果确定所有的数据块[1]-[5e]都已经经历了多数占用检查,则CPU111执行步骤集S5400和S5500。
具体地,在步骤S5400中,如图22所示,CPU111读出已经从每个组的改编要素数据和空数据的数据块DB1-DB5e中被作为有效数据提取的数据块DB1,DB7,...,DB5e-4。接下来,CPU111顺序地组合所读出的数据块DB1,DB7,....,DB5e-4以解码改编要素数据,并将组合的一组数据块DB1,DB7,....,DB5e-4存储在数据存储器114的第二存储区域114f中。
当作为数据提取任务的结果解码改编要素数据时,多数占用标志例如被设置在数据存储器114中。这允许CPU111基于多数占用标志的状态来确定改编要素数据是否被解码,而此后,CPU111退出数据提取处理。
作为重复执行步骤集S5100,S5200,S5300,和S5600的结果,在步骤S5200中,如果多数占用标志可以被设置,则CPU111可能会确定从管理中心200发送的数据是未授权的数据和/或非法修改的数据。因此,当确定多数占用标志被复位时,CPU111退出数据提取任务。
在步骤S135(参见图7)中,因此,根据多数占用标志的状态,进行改编要素数据是否被解码的确定。
图24是示意性地例示了图23的步骤S5100中多数占用检查的算法的例子的流程图。
如前所述,在多数占用检查中,如图16A-16D所示,每个组的组合的五个数据块[5n-4]-[5n]与作为正被改变的参考的块[5n-4]-[5n]中之一进行比较。当确定在数据块[5n-4]-[5n]中具有多数的等同块时,终止比较并设置多数占用检查标志。
在第四实施例中,如图24所示,受操纵的变量“j”“k”,以及多个等同数计数器将以后述的方式被操纵以实现多数占用检查。注意的是,CPU111的内部计数器可以被用成多个等同数计数器,但可以准备外部计数器并用作多个等同数计数器。
如图24所示,在多数占用检查中,在步骤S5101,CPU111清零每个等同数计数器的计数值。
接着,CPU111复位多数占用标志,在步骤S5102和S5103中将变量“j”设置为“0”,和将变量“k”设置为“1”。
此后,CPU111重复下列步骤集S5104-S5108。这允许基于数据块[5n-4]相对于剩余数据块作为参考,使五个数据块[5n-4]-[5n]经历等同比较,由此确定每个剩余数据块[5n-3]-[5n]是否等同于参考数据块[5n-4]。
在步骤S5104中,CPU111计算变量“j”和“k”的总和以将该总和值与五个比较块的组合数“5”进行比较。
在步骤S5105中,如果作为步骤S5104的比较结果,总和值小于组合数“5”,则CPU111将数据块[5n-4+j]与数据块[5n-4+j+k]相比较。
在步骤S5106中,如果作为步骤S5105的比较结果,数据块[5n-4+j]等同于数据块[5n-4+j+k],则CPU111计数表示数据块[5n-4+j]的等同数(比较结果)的等同数计数器[5n-4+j]的计数值。
在步骤S5107中,CPU111确定在步骤S5106中计数的等同数计数器[5n-4+j]的计数值是否表示多数占用检查的建立。
在步骤S5108,CPU111将“1”加到变量“k”。
例如,在步骤S5101和S5103,当等同计数器[5n-4+j]的计数值已经被清零而且变量“j”和“k”已经被分别设置为“0”和“1”时,在步骤S5104,确定变量“j”和“k”的总和值小于参考值“5”。
接着,在步骤S5105中,将用作参考的数据块[5n-4]与数据块[5n-3]相比较以确定数据块[5n-4]是否等同于数据块[5n-3]。
如果确定数据块[5n-4]等同于数据块[5n-3],则在步骤S5106中,表示数据块[5n-4]的等同数的等同数计数器[5n-4]的计数值被计数以便获得等同数计数器[5n-4]的计数值“1”。
在步骤S5107中,确定等同数计数器[5n-4]的计数值“1”是否表示多数占用检查的建立。
具体地,如图16A所示,如果数据块[5n-4]的等同数,即,等同数计数器[5n-4]的计数值等于或大于“2”,则确定在五个数据块中的多数的数据块是彼此等同的。因此,对于数据块[5n-4],因为等同数计数器[5n-4]的计数值“1”,所以确定多数占用检查没有被建立。这导致在步骤S5108中“1”被加到变量“k”。
在步骤S5105,可以确定数据块[5n-4]不等同于数据块[5n-3]。在此情况下,CPU111转移到步骤S5108而不执行步骤S5100和S5107中的计数器操纵操作等等。就是说,响应于确定数据块[5n-4]不等同于数据块[5n-3],CPU111将“1”加到变量“k”。
在执行了上述的步骤S5108中的操作之后,再次执行相继的步骤集S5104-S5108。注意的是,在执行步骤S5104-S5108的操作中,因为步骤S5108中“1”被加到变量“k”,将用作参考的数据块[5n-4]与数据块[5n-2]相比较以确定数据块[5n-4]是否等同于数据块[5n-2]。
具体地,每次“1”被加到变量“k”,则在步骤S5104中,参考数据块[5n-4]的等同比较的目标以数据块[5n-3]、数据块[5n-2]、数据块[5n-1],和数据块[5n]的顺序被顺序地移位。通过步骤S5104-S5106中的操作,等同数计数器[5n-4]的计数值最后显示在使用数据块[5n-4]作为参考的情况下的组中等同块的数,比如图16A中的“2”作为步骤S5106中的例子。
作为重复执行步骤S5104-S5108的操作的结果,在步骤S5104中变量“j”和“k”的总值达到“5”,以便确定总值等于或大于参考值“5”。这使得CPU执行转移到步骤S5111。
具体地,在此情况下,变量“k”是“5”,从而使用数据块[5n-4]作为参考的五个组合数据块[5n-4]-[5n]之间的等同比较已经完成。因此,在步骤S5111中,如图16B所示,作为将用作相对于剩余数据块的参考数据块的数据库从数据块[5n-4]移位到数据块[5n-3]的任务,“1”被加到变量“j”。与附加任务相并行,变量“k”被设置为“1”,换句话说,被清零,以便使用数据块[5n-3]作为参考来执行五个组合的数据块[5n-4]-[5n]之间的等同比较。
接着,如果变量“j”小于通过从先前的参考值“5”减去“1”而获得的参考值“4”,则再次重复执行步骤S5104-S5108的操作。这允许使用数据块[5n-3]作为参考进行的五个组合的数据块[5n-4]之间的等同比较。
注意的是,在第四实施例中,类似第三实施例,进行块[5n-4]-[5n]中选择的两个块之间的等同比较而不用复制。
在通过步骤S5111和S5112的操作,顺序地使用数据块[5n-3],[5n-2],和[5n-1]作为参考来顺序地重复执行步骤S5104-S5108的操作之后,在步骤S5112最后确定变量“j”不小于“4”。然后,完成五个组合数据块[5n-4]-[5n]之间的等同比较,以便在确定变量“j”不小于“4”时终止步骤S5100中的等同比较。
然而,如上所述,作为重复执行步骤S5104-S5108以及步骤S5111和S5112的操作的结果,如果确定等同数计数器[5n-4]的计数值达到“2”以至于五个组合的数据块中的多数的数据块是彼此等同的,则CPU111中断步骤S5104-S5108以及步骤S5111和S5112中的系列操作。
在中断之后,在步骤S5121,CPU111例如在数据存储器114中将数据块[5n-4]登记为组中五个组合的数据块中占用的有效数据。此后,CPU111设置多数占用标志,表明多数占用检查的建立,退出多数占用检查。此后,在步骤S5200(参见图23),CPU111确定是否终止步骤S134中的数据提取任务。
如上所述,如果步骤S5600通过CPU111将“1”加到变量“n”,则再次执行步骤S5100(看图24),以便下一组五个数据块经历多数占用检查。
如上所述,根据第四实施例的车载控制系统100可以获得与根据第一实施例的第一和第二效果基本上相同的效果。
另外,根据第四实施例的车载控制系统100可以获得下述第五效果。
具体地,作为第五效果,当确定组中五个组合块中的多数等同块彼此等同时,能够登记一个等同块作为有效数据,这减少了CPU111的负荷。
在第四实施例中,根据图23和24所示的过程和算法,利用多数占用检查,进行步骤S134中的数据提取任务。注意的是,作为第四实施例的修改,每个组由三个数据块组成以便多数占用检查被应用于每个组的三个块。
在该修改中,代替图23和24,根据图26所示的过程和算法,通过使用多数占用检查来进行步骤S134中的数据提取任务。
具体地,在该修改中,根据类似第二实施例(参见图10A和10B)的过程和算法,管理中心200被配置来将改编数据项(改编要素数据和哑数据)发送到车载控制系统100。
如图25所示,发动机控制单元110将改编要素数据项和镜像数据项分割成块[1]-[3f],并将数据块[1]-[3f]作为数据块DB1-DB3f(f是整数)存储在数据存储器114的第一存储器区域114k中。
具体地,组G1-Gf的集已经被顺序地存储在数据存储器114的第一存储器114g中。组G1包括改编要素数据的数据块[1]的一对DB1和DB2以及哑数据的数据块DB3(数据块[1])。而且,组Gf包括改编要素数据的数据块[f]的一对DB3f-2和DB3f-1以及哑数据的数据块DB3f(数据块[f])。
在修改中,根据图26所示的过程和算法,利用多数占用检查来进行相对于数据块DB1-DB3f的步骤S134中的数据提取。
如图26所示,在数据提取处理中,在步骤S6100,CPU111将“1”分配给变量n。
接着,CPU111重复步骤S6200,S6300,S6400,和S6700,使得由改编要素数据和哑数据的数据块[3n-2],[3n-1],和[3n]组成的每个组经历上述多数占用检查:
在步骤S6200中,CPU111执行多数占用检查任务,以:
使每个组的三个块[3n-2]-[3n]经历多数占用检查,和
如果多数占用检查被建立,则设置多数占用标志。
在步骤S6300中,基于步骤S6200中的多数占用检查的结果,CPU111提取三个数据块中占用多数等同块的一个数据块。
在步骤S6400中,CPU111确定是否所有的数据块[1]-[3f]经历了多数占用检查。
在步骤S6700中,CPU111将[1]加到变量[n]。
例如,在步骤S6100,[1]被加到变量[n],并且此后,在步骤S6200,执行对与数据块[1]-[3d]中的数据块DB1-DB3对应的数据块[1]-[3]的多数占用检查。
具体地,在步骤S6200的步骤S6201中,CPU111确定数据块DB1是否等同于数据块DB2。在步骤S6201中,如果确定数据块DB1不等同于数据块DB2(步骤S6201中确定为否),则在步骤S6202中,CPU111确定数据块DB1是否等同于数据块DB3。如果确定数据块DB1不等同于数据块DB3(步骤S6202中的确定为否),则在步骤S6203,CPU111确定数据块DB2是否等同于数据块DB3。
在该修改中,CPU111执行对每个组中的数据块[3n-2]-[3n]的多数占用检查。为此,在步骤S6200中,当确定数据块的其中之一等同于数据块的另一个时,CPU111可以确定该成对的数据块(数据块的一个和另一个)作为数据块的一对,其在相应的三个数据块中占用多数的等同块。
在检测到每个组中成对的等同数据块后,当确定在相应的三个数据块中具有一个数据块占用多数等同块时,CPU111因此转移到步骤S6300。
在步骤S6300中,基于多数占用检查的结果,CPU111从成对的等同数据项中提取一个数据项。
具体地,在步骤S6300的步骤S6301中,当在步骤S6201或S6202中确定数据块DB1等同于其他数据块DB2和DB3的至少其中之一时,CPU111从三个数据项DB1-DB3中提取数据块DB1。
另一方面,在步骤S6300的步骤S6302中,当步骤S6203中确定数据块DB2等同于数据块DB3时,CPU111从三个数据项DB1-DB3中提取数据块DB2。
在已经建立了对块[1]-[3]的多数占用检查之后,CPU111执行所需的步骤S6400和S6700以便执行下一组三个块[4]-[6]。
在已经完成了步骤S6700的任务之后,CPU111再次执行步骤集S6200,S6300,S6400,和S6700。因为在步骤S6700中“1”被加到变量“n”,多数占用检查被应用于与块[4]-[6]对应的三个块DB4-DB6。
具体地,每次步骤S6700中将“1”加到变量“n”,则在步骤S6200中,应用了多数占用检查的三个块按照从三个块[4]-[6]至三个块[3f-2]-[3f]的顺序被顺序地改变。
作为重复执行步骤集S6200,S6300,S6400,和S6700中的结果,在步骤S6400中,如果确定所有的数据块[1]-[3f]经历了多数占用检查,则CPU111执行步骤集S6500和S6600。
具体地,在步骤S6500中,如图25所示,CPU111读出已经作为有效数据被从改编要素数据和空数据的数据块DB1-DB3f中提取的数据块DB1,DB4,...,DB3f-2。接着,CPU111顺序地组合所读出的数据块DB1,DB4,...,DB3f-2以解码改编要素数据,并将组合的数据块DB1,DB4,...,DB3f-2存储在数据存储器114的第二存储区域114m中。
当作为数据提取任务的结果解码改编要素数据时,在步骤S6600中CPU111例如在数据存储器114中设置多数占用标志;该多数占用标志表示建立了多数占用检查。这允许CPU111基于多数占用标志的状态来确定改编要素数据是否被解码,并在此后,CPU111退出数据提取处理。
作为重复执行步骤集S6200,S6300,S6400,和S6700的结果,在步骤S6200(步骤S6203)中,可以确定一个组的所有三个块不是彼此等同的。在此情况下,CPU111能够确定从管理中心200发送的数据是未授权的和/或非法修改的数据,借此,基于该确定退出数据提取任务以便不建立多数占用检查而不用设置多数占用标志。
因此,在步骤S135(图7),基于多数占用标志的状态,进行改编要素数据是否被解码的确定。
如上所述,根据第四实施例的修改的车载控制系统100可以获得与根据第一实施例的第一和第二效果基本上相同的效果。
另外,根据第四实施例的修改的车载控制系统100可以获得下述第五效果。
具体地,作为第五效果,当确定一个数据块等同于数据块的另一个时,CPU111可以确定该成对的数据块(数据块中的一个和另一个)作为一对数据块,它占用三个组合块中的多数等同块。这允许减少了CPU111的负荷。
第五实施例
下面将描述根据本发明第五实施例的车载控制系统。第五实施例的车载控制系统具有与第三实施例的车载控制系统基本上相同的结构。为此,相同的参考符号被分配给第四和第五实施例的车载控制系统中的相同部件,以便省略对第五实施例的车载控制系统中的该部件的描述。
基本上类似于第四实施例,在第五实施例中,车载控制系统100被配置成:
接收每个被附加有相同识别符的已经从管理中心200被发送的多个改编数据项(改编要素数据和哑数据)。
相互彼此验证所接收的改编数据项(改编要素数据和哑数据);和
当基于验证结果确定至少一个改编数据项相对于至少一个剩余项满足任何一个第一-第四预定的规则时,提取该至少一个改编数据项作为有效数据。
注意的是,在第五实施例中,车载控制系统100包括分别在第一-第四实施例中详细描述的第一-第四确定单元:
第一确定单元(镜像确定单元)被配置成,在包括特定数据和作为特定数据的补数的镜像数据的多个改编数据项已经被接收时,当接收的特定数据和镜像数据互为补数时(第一实施例),确定第一预定规则被建立。
第二确定单元(等同确定单元)被配置成,在每个包括至少三个或更多个数据块的多个改编数据项已经被接收时,当每个改编数据项的三个或更多个数据块中的至少两个彼此等同时,确定第二预定规则被建立(第二实施例)。
第三确定单元(多数规则确定单元)被配置成,在每个包括至少三个或更多个数据块的多个改编数据项已经被接收时,当存在与之等同的块的数目在三个或更多数据块中是最大的的至少一个数据块时,确定第三预定规则被建立(第三实施例)。
第四确定单元(多数占用确定单元)被配置成,在每个包括至少三个或更多的数据块的多个改编数据项已经被接收时,当三个或更多个数据块中的多数是彼此等同时,确定第四预定规则被建立(第四实施例)。
在提取至少一个改编数据项时,车载控制系统100被配置成与管理中心200协作动态地确定对第一-第四确定单元中的任何一个的选择。具体地,基于从管理中心200发送的指令,车载控制系统100被配置成动态地确定对第一-第四确定单元中的任何一个的选择。
根据车载控制系统100的结构配置,即使第一-第四预定规则是公知的,也能够保持相关数据改编的安全级。此外,车载控制系统100被配置成与管理中心200协作地动态确定对第一-第四确定单元中的任何一个的选择,这就使得难于解码如何提取改编要素数据。因而可以安全地避免基于非授权的数据和/或非法修改的数据进行的改编。
图27是示意性地例示了例如通过与管理中心200协作的发动机控制单元110所执行的选择处理的流程图。在第五实施例中,经主控制单元140可以建立管理中心200和发动机控制单元110之间的通信,此外,每个预定周期可以重复该选择处理。
当通过管理中心200确定基于任何一个第一-第四确定单元来提取改编要素数据时,从管理中心200发送表示由发动机控制单元110所选择的任何一个第一-第四确定单元的选择信息。例如,作为选择信息,可以利用一个识别符。该识别符可以识别第一-第四确定单元中的任何一个。
在选择第一-第四确定单元中的任何一个时,在步骤S141,发动机控制单元110的CPU111待命,直到通过通信总线101接收到数据为止。
当接收到数据时,步骤S141中的确定为是,以便基于包含在所接收的数据中的识别符,CPU111在步骤S142中识别所接收的数据的类型。
如果识别出所接收的数据是选择信息(步骤S142中的确定为是),则基于所接收的选择信息(识别符),CPU111选择第一-第四确定单元中的任何一个。
在步骤S134中的数据提取任务中,因此,能够使用所选择的一个第一-第四确定单元来验证所接收的改编数据项,因而当基于验证结果确定至少一个改编数据项相对于至少一个剩余项满足相应的第一-第四预定规则中之一时,提取该至少一个改编数据项作为有效数据。
例如,第一-第四识别符,比如“0x01”,“0x02”,“0x03”,和“0x04”,可以当作识别符来分别对应于第一-第四确定单元。在此情况下,每个ECU110,120和130可以具有图28所示的表格T。表格T表示第一-第四识别符与第一-第四确定单元之间的关系。
具体地,通过参考表格T,利用包含在接收数据中的识别符,对于每个ECU110,120,和130能够容易地选择任何一个第一-第四确定单元。
如上所述,根据第五实施例的车载控制系统100可以获得与根据第一实施例的第一和第二效果,根据第三实施例的第三效果,和根据第四实施例的第五效果基本上相同的效果。
另外,根据第五实施例的车载控制系统100可以获得下述第七效果。
具体地,作为第七效果,即使第一-第四预定规则中之一是公知的,也能够保持有关数据改编的安全等级。此外,车载控制系统100和管理中心200使得难于解码如何提取改编要素数据。因而可以安全地避免基于非授权的数据和/或非法修改的数据进行的改编。
在第五实施例中,利用作为多数规则确定单元的第三实施例的修改中所述的确定单元允许获得第四效果。同样,利用作为多数占用确定单元的在第四实施例中的修改所述的确定单元允许获得第六效果。
在本发明范围内可以修改第一-第五实施例。下面将描述一些修改的例子。
当基于验证结果,确定至少一个改编数据项相对于至少一个剩余项满足预定规则时,提取该至少一个改编数据项作为有效数据的数据提取任务与接收改编数据项并行执行,而不存储它们。
在第五实施例中,管理中心200发送选择信息,但另一个单元,比如主控制单元140也可以发送选择信息。在此情况下,基于任何一个第一-第四确定单元,管理中心200可以接收选择信息并确定如何提取改编要素数据。
在第五实施例中,基于选择信息能够选择任何一个第一-第四确定单元,其中该选择信息表示接收改编数据项的定时的信息,比如日期和/或小时。
例如,通过除4获得下列的余数,接收改编数据项的日期可以与第一-第四确定单元相关;该“4”对应于确定单元的类型数:
(a)余数“0”,比如4或8的日期,与第一确定单元相关
(b)余数“1”,比如1或5的日期,与第二确定单元相关
(c)余数“2”,比如2或6的日期,与第三确定单元相关
(d)余数“3”,比如3或7的日期,与第四确定单元相关
在此情况下,根据表示接收改编数据项的日期和/或小时的信息,基于第一-第四确定单元中的任何一个,管理中心200能确定如何提取改编要素数据。
在第五实施例中,车载控制系统100可以配备至少两个第一-第四单元,从而动态地选择第一-第四确定单元的至少两个的任何其中之一。
在第一-第四实施例的每个中,当确定至少一个改编数据项相对于至少一个剩余项满足预定规则时,发动机控制单元1110被配置来执行数据提取任务,以提取该至少一个改编数据项作为有效数据。本发明不限于该结构。
具体地,在将改编数据项发送到发动机控制元110之前,主控制单元140可以执行数据提取任务。
下面将描述主控制单元140所执行的数据提取任务。注意的是,在每个预定周期可以由主控制单元140重复地执行数据提取任务。
如图29所示,在步骤S201,CPU141待命直到通过通信总线201接收到数据项为止。
当通过通信总线201以块的形式接收到改编数据项时,在步骤S202,CPU141确定是否接收每个改编数据项的识别符和指定代码,比如相应车辆的VIN码。
如果确定所接收的每个数据项的识别符匹配相应车辆的指定代码,则基于所接收的在数据存储器144中存储的历史,在步骤S203,CPU141确定是否所接收的改编数据项等效于在数据存储器144中存储的已经被接收的数据项。
如果确定还没有接收到所接收的改编数据项(步骤S203中的确定为否),则在步骤S204,CPU141在数据存储器144中整块存储所接收的项作为接收历史。具体地,CPU141整块地在数据存储器144中存储所接收的数据以便数据项彼此相关。
接着,在步骤S205,CPU141执行数据提取任务(参见图7的步骤S134),并当步骤S205由数据提取任务执行改编要素数据时,CPU141终止图29所示的数据提取处理。
如果在步骤S205没有改编要素数据项被数据提取任务所执行,则在步骤S207,CPU141向管理中心200提供改编数据项的重发请求。
具体地,主控制单元140被配置来将所提取的至少一个改编数据项发送给发动机控制单元110。
在此情况下,根据作为例子的图30所示的算法,基于从主控制单元140发送的所提取的项,发动机单元110的CPU111可以执行数据改编任务。
具体地,在步骤S231,CPU111待命直到接收到数据为止。
当接收到数据时,在步骤S232,基于附加到所接收的数据的识别符,CPU111确定所接收的数据是否是改编要素数据项。
如果确定所接收的数据是改编要素数据项,则在步骤S233,CPU111在数据存储器114中存储所接收的数据,并在步骤S234,基于所接收的数据,改编在程序存储器113中存储的相应的至少一个数据项。此后,在步骤S235,CPU111将表示完成数据改编的数据改编完成信号发送给主控制单元140。
如上所述,主控制单元140可以与接收多个改编数据项相并行来执行数据提取任务。在此情况下,如图31中所示,当满足预定规则的至少一个数据块从组中的数据块被提取时,CPU141优选取消接收除了满足预定规则的数据块外的其余数据块,并开始验证下一个组中的数据块。这就能够有效地利用数据存储器144。下面将描述通过主控制单元140所执行的这样的数据提取任务。
注意的是,对第二-第五实施例可以应用这种修改,其中从管理中心200发送组中的三个或更多个数据块。在此情况下,作为一个例子,修改被应用于根据第二实施例的等同确定单元。此后将参照图31和32描述根据修改的由主控制单元140所执行的数据提取任务。
在管理中心200中,如图31所示,每个改编要素数据和哑数据被分割成多个数据块[1]-[g],其中“g”表示预定整数。
组G1由包括一个哑数据的数据块[1]的五个组合的块DB1-DB5组成。同样的,组G2由包括一个哑数据的数据块[2]的五个组合的块DB6-DB10组成,,...,组Gg由包括一个哑数据的数据块[g]的五个组合的块DB5g-4至5g组成。
管理中心200对数据块DB1,DB2,DB3,...DB5g进行分类,以便多个数据帧DF分别包含数据块DB1,DB2,DB3,...DB5g。接着,管理中心200分别以分组或以块的形式顺序地将多个数据帧DF发送给车载控制系统100,以便每个组中的数据块彼此被配对。此外,管理中心200还顺序地发送多个数据帧DF到车载控制单元100以便包含在每个组的五个组合数据块中的改编要素数据的一个块从剩余数据块中首先被发送。
在主控制单元140中,如图32所示,在步骤S6001,CPU141待命直到接收到数据块为止。
当接收到数据块[1]时,CPU141前进到步骤S6002并确定附加到数据块的识别符是否匹配相应车辆的指定代码,比如VIN码。
如果确定附加到数据块的识别符匹配于相应车辆的指定代码(步骤S6002中的确定为是),则CPU141前进到步骤S6003。在步骤S6003,CPU141确定所接收的数据块的接收数“k”是否小于与每个组中配对的块数对应的“5”。
注意的是,一旦接收到数据块[1],数“k”可以被设置为“0”,并因此,CPU141确定所接收的数据块的数“k”小于“5”。在此情况下,CPU141执行步骤集S6004-S6008以便执行五个数据块[1]-[5]之间的等同比较任务。
在步骤S6004,CPU141检查一旦建立等同检查后被设置的等同标志的状态。
在步骤S6005,如果等同标志被复位,则CPU141确定数据块是否被存储在数据存储器144中。
在步骤S6006中,如果没有数据块被存储在数据存储器144中,则CPU141在数据存储器144中存储所接收的数据块。
在步骤S6007,如果没有数据块被存储在数据存储器144中,则CPU141设置存储标志,表示数据块被存储在数据存储器144中。
在步骤S6008,CPU141将“1”加到接收数“k”。
具体地,所接收的数据块[1]被存储在数据存储器144中(参见步骤S6006),存储标志被设置(参见步骤S6007),并且接收数“k”被操纵到“1”。
当数据块[2]被新接收时,因为存储标志被设置,CPU141确定数据块被预先存储在数据存储器114中。
接着,随着存储在数据存储器144中的数据块和新接收的数据块之间的等同检查,CPU141执行随后的步骤S6011和S6012。
在步骤S6011中,CPU141确定存储在数据存储器144中的数据块是否等同于新接收的数据块。
在步骤S6012中,如果存储在数据存储器144中的数据块等同于新接收的数据块,则CPU141设置等同标志。
具体地,如图31所示,数据块[1]和新接收的数据块[2]是彼此等同的(参见步骤S6011),从而等同标志被设置(参见步骤S6012)。此后,“1”被加到接收数“k”,以便接收数“k”变为“2”。
当数据块[3]-[5]被接收时(参见步骤S600),检查等同标志的状态以便取消接收数据块[3]-[5]。就是说,当检查等同标志时,CPU141进一步将“1”加到接收数“k”(参见步骤S6008)。
相反,当完成组中的五个组合的数据块之间的等同检查时,则接着,接收数据块[6](S6001),确定接收数“k”不小于“5”。在此情况下,为了使下一个组的五个组合数据块经历等同比较,CPU141执行下面的步骤S6021-S6025,和S6031。
在步骤S6021,CPU141清零接收数“k”。
在步骤S6022,CPU141检查等同标志的状态。
在步骤S6023,如果步骤S6022的等同标志被设置,则CPU141复位等同标志。
在步骤S6024,如果步骤S6022中的等同标志被设置,则CPU141在数据存储器144中存储所接收的数据块。
在步骤S6025,如果步骤S6022中的等同标志被设置,则CPU141将接收数“k”设置为“1”。
在步骤S6031,如果步骤S6022中的等同标志被设置,则CPU141向管理中心200提供改编数据的重发请求。
具体地,等同标志被设置(参见步骤S6022),数据块[6]被存储在数据存储器144中(参见步骤S6024),并且接收数“k”被设置为“1”(步骤S6025)。因此,当数据块[7]被重新接收时(参见步骤S6001),在步骤S6003确定接收数“k”小于“5”。此后,再次重复步骤S6004-S6008,S6011,和S6012,以便在数据块[6]-[10]之间执行等同检查,如图31所示。
重复执行步骤集S6001-S6008,S6011,和S6012,以及S6012-S6025,这允许实现图31所示的数据提取任务的例子。
在第二-第五实施例中,可以使用用于等同检查,多数规则检查,以及多数占用检查的作为目标的三个或更多个改编数据项。
在第二-第五实施例中,当组中的三个或更多个块中的至少三个块是彼此等同时,能够确定建立了等同检查。
作为多数规则检查的结果,当确定存在在组中与之等同的块的数目是彼此相同的并且是最大的多个块时,除了第三实施例中所述之外,可以根据各种过程来保持数据提取任务。这能够更好地提高数据改编的可靠性。
在多数规则检查和/或多数占用检查中,能够再执行已经执行了等同检查的指定数据块的等同检查。
管理中心200可以在发送改编数据项时生成哑数据而不存储它们。
当对数据块应用等同比较时,能够以任何数据长度来执行,比如2字节。
除了数据块之外,可以以任何单元来发送数据块。
除了数据块之外,可以以任何单元来验证改编数据项。
根据第一-第五实施例的车载控制系统可以应用于包括经专线相互之间通信链接的多个ECU的系统。
除了镜像检查,等同检查,多数规则检查,和多数占用检查之外的另外的处理可以被使用来实现所配置的数据提取任务,以验证改编数据项,并基于验证结果提取该至少一个改编数据项作为有效数据。使得CPU执行另一个处理的算法可以被自由地确定。
管理中心200可以发送所有的改编数据项来作为有效数据。
在每个第一-第五实施例中,本发明应用于车载控制系统。然而本发明不限于该应用。特别的,本发明可以应用于改编系统,用于改编其中存储的数据。在每个第一-第五实施例和它们的修改中,在单元中提供的元素可以被实现成微型计算机。
根据第一-第五实施例和它们的修改的构成每个单元的一些元素可以从微型计算机独立地提供,或可以被实现成专用硬件设备,比如常规LSI(大规模集成)电路。
另外,本领域技术人员应该清楚的是,本发明能够被分布成程序产品,例如,以各种形式存储在程序存储器中的程序。还要值得注意的是,同等地应用本发明,不管用于实际完成该分布的信号承载媒体的特殊类型。适用的信号承载媒体的例子包括可记录型媒体,比如CD-ROM和DVD-ROM,以及传输类型媒体,比如数字和模拟通信链路。
尽管已经描述了本发明所考虑的实施例以及它们的修改,但应该明白,可以作出还没有描述的各种修改,本发明意在覆盖所附权利要求以及落入本发明的实质精神和范围内的所有修改。

Claims (22)

1、一种可与其中预先存储数据的可重写存储器通信的数据改编系统,所述存储的数据是可基于有效数据改编的,所述数据改编系统包括:
接收单元,用于接收在改编时使用的多个数据项,所述多个数据项被发送到所述接收单元,所述多个数据项被分别附加相同的识别符;和
数据提取单元,用于验证所接收的多个数据项,并且当基于该验证结果确定至少一个数据项相对于至少一个剩余数据项满足预定规则时,提取该至少一个数据项作为有效数据。
2、如权利要求1所述的数据改编系统,其中,所述数据改编系统被安装在车辆中,并且存储在所述可重写存储器中的数据包括用于控制安装在所述车辆内的至少一个设备的控制程序和控制数据。
3、如权利要求1所述的数据改编系统,其中,由所述接收单元接收的所述多个数据项包括至少一个非有效数据项,所述至少一个非有效数据项与所述提取单元所提取的所述至少一个数据项不一致。
4、如权利要求1所述的数据改编系统,其中,由所述接收单元接收的所述多个数据项包括至少一个特定数据项和至少一个镜像数据项,所述至少一个特定数据项和至少一个镜像数据项是彼此互补的,所述至少一个特定数据项和至少一个镜像数据项被发送到所述接收单元同时被彼此配对,并且所述数据提取单元用于:
验证所述至少一个特定数据项和至少一个镜像数据项以检测所述至少一个特定数据项是所述至少一个镜像数据项的补数,从而确定所述至少一个特定数据项相对于所述至少一个镜像数据项满足所述预定规则;和
基于所述确定,提取所述至少一个特定数据项作为有效数据。
5、如权利要求1所述的数据改编系统,其中,由所述接收单元接收的多个数据项包括三个或更多个数据项,所述三个或更多个数据项中的至少两个数据项是彼此等同的,以及所述数据提取单元用于:
验证所述三个或更多个数据项以检测所述三个或更多个数据项中的至少两个数据项是彼此等同的,由此确定所述至少两个等同数据项中的一个数据项相对于所述至少两个等同数据项中的至少另一数据项满足所述预定规则;和
基于该确定,提取所述至少两个等同数据项中的该一个数据项作为有效数据。
6、如权利要求5所述的数据改编系统,其中,所述数据提取单元用于在确定所述三个或更多个数据项中的至少两个数据项彼此等同之后,取消接收所述三个或更多个数据项中的所述至少两个数据项。
7、如权利要求1所述的数据改编系统,其中,由所述接收单元接收的所述多个数据项包括三个或更多个数据项,所述三个或更多个数据项中的多数是彼此等同的,以及所述数据提取单元用于:
验证所述三个或更多个数据项以检测所述三个或更多个数据项中的多数是彼此等同的,从而确定所述三个或更多个数据项的多数中的至少一个数据项相对于所述三个或更多个数据项的多数中的另外至少一个数据项满足所述预定规则;和
基于该确定,提取所述三个或更多个数据项的多数中的该至少一个数据项作为有效数据。
8、如权利要求1所述的数据改编系统,其中,由所述接收单元接收的多个数据项包括三个或更多个数据项,所述三个或更多个数据项包括其中与之等同的项的数目在所述三个或更多个数据项中是最大的至少一个第一项,所述数据提取单元用于:
验证所述三个或更多个数据项以检测与之等同的项的数目在所述三个或更多个数据项中是最大的所述至少一个第一数据项,从而确定所述至少一个第一数据项相对于与之等同的项中的剩余至少一项满足所述预定规则;和
基于该确定,提取所述至少一个第一数据项作为有效数据。
9、如权利要求8所述的数据改编系统,其中,所述数据提取单元用于,除了所述至少一个第一项外,当检测到与之等同的项的数目在所述三个或更多个数据项中是最大的至少一个第二数据项,确定所述三个或更多个数据中的所述至少一个第一项不满足所述预定规则。
10、如权利要求1所述的数据改编系统,其中,所述预定规则包括多个规则,所述数据提取单元包括:
发送单元,用于将所述多个数据项发送到所述接收单元;
多个确定单元,其可与所述发送单元进行通信并用于基于所述验证结果,确定所述至少一个数据项相对于所述至少一个剩余数据项是否分别满足所述多个规则中的至少一个;和
选择单元,用于与所述发送单元相协作来选择所述多个确定单元中之一。
11、如权利要求10所述的数据改编系统,其中,所述发送单元用于将选择信息进一步发送到所述数据提取单元,该选择信息表示应该被选择的多个确定单元中的任何一个,以及所述选择单元用于基于从所述发送单元发送的所述选择信息来选择所述多个确定单元中之
12、如权利要求10所述的数据改编系统,其中,所述数据改编系统被安装在车辆内,所述车辆包括安装在其中的控制单元,以及所述数据提取单元与所述控制单元是可通信的并用于基于选择信息来选择所述多个确定单元中之一,所述选择信息表示应该被选择的所述多个确定单元中的任何一个并被从所述控制单元发送到所述数据提取单元。
13、如权利要求10所述的数据改编系统,其中,所述数据提取单元用于基于选择信息来选择所述多个确定单元中之一,所述选择信息表示接收所述多个数据项时的时刻。
14、如权利要求10所述的数据改编系统,其中,所述多个确定单元包括:
镜像确定单元,用于当由所述接收单元接收的多个数据项包括彼此互补的并被发送到所述接收单元时被彼此配对的至少一个特定数据项和至少一个镜像数据项时,验证所述至少一个特定数据项和所述至少一个镜像数据项以检测所述至少一个特定数据项是所述至少一个镜像数据项的补数,从而确定所述至少一个特定数据项相对于所述至少一个镜像数据项满足所述预定规则;
等同确定单元,用于当由所述接收单元接收的多个数据项包括三个或更多个数据项,其中所述三个或更多个数据项中的至少两个数据项彼此等同时,验证所述三个或更多个数据项以检测所述三个或更多个数据项中的至少两个数据项是彼此等同的,从而确定至少两个等同数据项中的一项相对于所述至少两个等同数据项中的至少另一项满足所述预定规则;
多数占用确定单元,用于当由所述接收单元接收的多个数据项包括三个或更多个数据项,其中所述三个或更多个数据项中的多数彼此等同时,验证所述三个或更多个数据项以检测所述三个或更多个数据项中的多数是彼此等同的,从而确定所述三个或更多个数据项的多数中的至少一项相对于所述三个或更多个数据项的多数中的至少另一项满足所述预定规则;和
多数规则确定单元,用于当由所述接收单元接收的多个数据项包括三个或更多个数据项,其中所述三个或更多个数据项包括与之等同的项的数目在所述三个或更多个数据项中是最大的至少一个第一项时,验证所述三个或更多个数据项以检测与之等同的项的数目在所述三个或更多个数据项中是最大的所述至少一个第一数据项,从而确定所述至少一个第一数据项相对于与之等同的项中的剩余至少一个项满足所述预定规则。
15、如权利要求14所述的数据改编系统,其中,当从所述多个确定单元中选择所述等同确定单元时,在确定所述三个或更多个数据项中的至少两个数据项彼此等同之后,所述数据提取单元用于取消接收所述三个或更多个数据项中的所述至少两个数据项。
16、如权利要求14所述的数据改编系统,其中,当从所述多个确定单元选择所述多数规则确定单元时,所述数据提取单元用于,除了所述至少一个第一项外,在检测与之等同的项的数目在所述三个或更多个数据项中是最大的至少一个第二项数据的情况下,确定所述三个或更多个数据项中的所述至少一个第一项不满足所述预定规则。
17、如权利要求1所述的数据改编系统,其中,由所述接收单元接收的每个数据项被预先分割成多个块并以预定的发送方式以块的形式顺序地发送到所述接收单元,所述预定发送方式是基于所述预定规则来确定的,以及所述数据提取单元用于:
以块的形式验证所接收的多个数据项中的每个;
当基于以块的形式验证的结果确定所述至少一个数据项的多个块相对于所述至少一个剩余数据项的多个块满足所述预定规则时,提取所述至少一个数据项的多个块作为有效块;和
组合所提取的所述至少一个数据项的多个块以解码所述至少一项数据作为所述有效数据。
18、如权利要求17所述的数据改编系统,其中,由所述接收单元接收的多个数据项包括三个或更多个数据项,所述三个或更多个数据项中的至少两个数据项是彼此等同的,由所述接收单元接收的每个数据项被预先分割成多个块以便所述三个或更多个数据项中的至少两个数据项的每个块和所述三个或更多个数据项中剩余的至少一个数据项的每个块被组合以产生一个组,并且所述三个或更多个数据项以组的形式被顺序地发送到所述接收单元。
19、如权利要求1所述的数据改编系统,其中,所述多个数据项中的每个被处理成数据帧同时以分组的形式发送到所述接收单元,所述数据帧具有数据字段,在所述数据字段中包含有所述多个数据项中的各个数据项,包含在所述数据字段中的多个项中的每个被预先分割成多个块,以及所述数据提取单元用于验证所述多个数据项中的一项的多个块和所述多个数据项中的另一项的多个块。
20、如权利要求1所述的数据改编系统,其中所述数据改编系统包括安装在车辆内的多个电子控制单元,所述多个电子控制单元经由通信总线彼此可通信地链接并协作地执行对所述车辆的分布的控制,所述接收单元和所述数据提取单元被安装在至少一个电子控制单元中。
21、一种数据改编程序产品,其嵌入在与可重写存储器通信的计算机的存储器中,其中数据被预先存储在所述存储器中,所存储的数据是可基于有效数据改编的,所述数据改编程序产品包括:
第一装置,用于指示所述计算机接收在改编时使用的多个数据项,所述多个数据项被发送到所述计算机,所述多个数据项被分别附加相同的识别符;和
第二装置,用于指示所述计算机验证所接收的多个数据项,并且当基于所述验证结果确定至少一个数据项相对于至少一个剩余数据项满足预定规则时,提取所述至少一个数据项作为有效数据。
22、一种基于有效数据改编预先存储在可重写存储器中的数据的方法,所述方法包括:
接收在改编时使用的多个数据项,发送所述多个数据项使得所述多个数据项被分别附加相同的识别符;
验证所接收的多个数据项;和
当基于所述验证结果确定至少一个数据项相对于至少一个剩余数据项满足预定规则时,提取所述至少一个数据项作为有效数据。
CN2006101719347A 2005-07-20 2006-07-20 数据改编方法和系统 Expired - Fee Related CN101013405B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005210401A JP4492470B2 (ja) 2005-07-20 2005-07-20 車載制御装置のデータ書き換え方法および車載制御装置
JP210401/2005 2005-07-20

Publications (2)

Publication Number Publication Date
CN101013405A true CN101013405A (zh) 2007-08-08
CN101013405B CN101013405B (zh) 2012-03-07

Family

ID=37715693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101719347A Expired - Fee Related CN101013405B (zh) 2005-07-20 2006-07-20 数据改编方法和系统

Country Status (4)

Country Link
US (1) US8032878B2 (zh)
JP (1) JP4492470B2 (zh)
CN (1) CN101013405B (zh)
DE (1) DE102006033694A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103339603A (zh) * 2011-02-09 2013-10-02 法国大陆汽车公司 计算机重新编程方法、数据存储介质和机动车辆计算机
CN108016381A (zh) * 2016-10-31 2018-05-11 比亚迪股份有限公司 一种汽车电子系统及其程序更新方法
CN110044636A (zh) * 2018-01-15 2019-07-23 本田技研工业株式会社 车辆检查装置和车辆检查方法
CN110169018A (zh) * 2017-01-18 2019-08-23 株式会社自动网络技术研究所 通信装置、通信系统及计算机程序

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2459069B (en) * 2007-03-21 2011-11-30 Gm Global Tech Operations Inc Method and apparatus for jointly controlling multiple devices
JP2013026964A (ja) * 2011-07-25 2013-02-04 Denso Corp 車両用情報更新装置および車両用情報更新方法
JP5594255B2 (ja) * 2011-08-10 2014-09-24 トヨタ自動車株式会社 車両ネットワークの通信管理装置
JP5664562B2 (ja) * 2012-01-17 2015-02-04 株式会社デンソー 中継装置
JP5998689B2 (ja) * 2012-07-10 2016-09-28 スズキ株式会社 車載制御システム
US20140058532A1 (en) * 2012-08-23 2014-02-27 GM Global Technology Operations LLC Method for partial flashing of ecus
KR101438978B1 (ko) * 2012-12-31 2014-09-11 현대자동차주식회사 리프로그래밍 방법 및 시스템
US9324194B2 (en) * 2013-06-11 2016-04-26 Innova Electronics, Inc. Method and system for database compilation on a remote electronic device
US9436456B2 (en) * 2014-04-17 2016-09-06 Myine Electronics, Inc. System and method for management of software updates at a vehicle computing system
US10031740B2 (en) * 2016-10-24 2018-07-24 Lear Corporation Method for programming vehicle electronic control modules
US11967189B2 (en) 2020-04-20 2024-04-23 Innova Electronics Corporation Router for communicating vehicle data to a vehicle resource
US11651628B2 (en) 2020-04-20 2023-05-16 Innova Electronics Corporation Router for vehicle diagnostic system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4070648A (en) 1976-06-18 1978-01-24 Ncr Corporation Computer to computer communication system
JPS5759237A (en) * 1980-09-29 1982-04-09 Toshiba Corp Data transmitting and receiver
JP3648747B2 (ja) * 1992-01-21 2005-05-18 株式会社デンソー 自動車用制御装置
JPH06162377A (ja) * 1992-11-20 1994-06-10 Hochiki Corp 無線防災装置
JP2000163296A (ja) * 1998-11-30 2000-06-16 Casio Comput Co Ltd タイムスタンプ装置
JP2000230454A (ja) 1999-02-10 2000-08-22 Denso Corp エンジン制御装置
JP2001036539A (ja) * 1999-07-21 2001-02-09 Nec Corp 無線接続を用いた移動通信端末及びそのプログラム更新方法並びにその制御プログラムを記録した記録媒体
DE10008974B4 (de) 2000-02-25 2005-12-29 Bayerische Motoren Werke Ag Signaturverfahren
JP3785299B2 (ja) * 2000-03-16 2006-06-14 本田技研工業株式会社 車両制御装置のためのメモリ書き換えシステム
JP2003162454A (ja) * 2001-11-22 2003-06-06 Nti:Kk データ通信方法及びデータ通信装置
JP2004034828A (ja) * 2002-07-03 2004-02-05 Denso Corp 乗員保護装置の起動システム
US20040237081A1 (en) * 2003-05-19 2004-11-25 Homiller Daniel P. Methods and apparatus for generating upgraded software from initial software and software upgrade packages
JP3969494B2 (ja) * 2004-08-31 2007-09-05 三菱電機株式会社 車載電子制御装置
WO2006107243A1 (en) * 2005-04-04 2006-10-12 Volvo Lastvagnar Ab Arrangement and method for programming motor vehicles

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103339603A (zh) * 2011-02-09 2013-10-02 法国大陆汽车公司 计算机重新编程方法、数据存储介质和机动车辆计算机
CN103339603B (zh) * 2011-02-09 2017-10-13 法国大陆汽车公司 计算机重新编程方法、数据存储介质和机动车辆计算机
CN108016381A (zh) * 2016-10-31 2018-05-11 比亚迪股份有限公司 一种汽车电子系统及其程序更新方法
CN108016381B (zh) * 2016-10-31 2020-06-19 比亚迪股份有限公司 一种汽车电子系统及其程序更新方法
CN110169018A (zh) * 2017-01-18 2019-08-23 株式会社自动网络技术研究所 通信装置、通信系统及计算机程序
CN110169018B (zh) * 2017-01-18 2021-09-10 株式会社自动网络技术研究所 通信装置、通信系统及数据处理方法
CN110044636A (zh) * 2018-01-15 2019-07-23 本田技研工业株式会社 车辆检查装置和车辆检查方法
CN110044636B (zh) * 2018-01-15 2021-10-26 本田技研工业株式会社 车辆检查装置和车辆检查方法

Also Published As

Publication number Publication date
US20070036021A1 (en) 2007-02-15
US8032878B2 (en) 2011-10-04
CN101013405B (zh) 2012-03-07
JP2007028434A (ja) 2007-02-01
DE102006033694A1 (de) 2007-03-01
JP4492470B2 (ja) 2010-06-30

Similar Documents

Publication Publication Date Title
CN101013405B (zh) 数据改编方法和系统
Sallet et al. EuGene: an automated integrative gene finder for eukaryotes and prokaryotes
US9324194B2 (en) Method and system for database compilation on a remote electronic device
CN107295039A (zh) 数据接入处理方法和装置
CN109299724B (zh) 基于深度学习的智能家居用户操控习惯挖掘与推荐方法
CN101855620A (zh) 数据处理设备和数据处理方法
CN101150585A (zh) 一种控制数字内容使用的方法、系统和客户端设备
CN101212634A (zh) 用于编辑数字内容的装置和方法
CN112529321B (zh) 基于用户数据的风险预测方法、装置及计算机设备
CN110009118A (zh) 一种诊断数据管理方法及区块链节点设备
CN1195287C (zh) 带有可拆卸的快闪存贮器的验证机
KR20200053138A (ko) 건축물대장 주소와 에너지계량기 주소의 자동매칭 방법, 시스템 및 컴퓨터프로그램
CN102473328B (zh) 货币识别装置的程序安装系统以及程序安装方法
US6167345A (en) Method and a device for finalizing data carrying communication equipment in traffic control systems
US20140147030A1 (en) Sensor for checking value documents
US20040193590A1 (en) Method of determining database search path
CN108205888A (zh) 一种判断乘客进出站的方法及装置
JP5890882B2 (ja) データ照合装置、データ照合方法及びプログラム
CN112486984B (zh) 一种收费车型库的更新方法、装置、设备和存储介质
US10928220B2 (en) Meter reader and meter reading system
CN105653525B (zh) 账套之间数据导入的方法和系统
CN101794216B (zh) 构建引擎的流程的方法和设备
CN115495911B (zh) 模型重命名的方法、设备及存储介质
CN117575046B (zh) 多液压支架载荷模型训练和多液压支架载荷预测方法
EP0992960A2 (en) Transfer system, method, and recording medium therefor

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120307