汽车用电子控制装置以及数据通信方法

文档序号:6496345阅读:181来源:国知局
汽车用电子控制装置以及数据通信方法
【专利摘要】汽车用电子控制装置具备能够电气地进行数据的消去以及写入的非易失性存储器,通过使用通信缓冲器的通信,能够按照每个规定尺寸取得写入非易失性存储器的程序。然后,汽车用电子控制装置使用超过在车载状态的通信环境中使用的通信缓冲器的数目的通信缓冲器,接收程序。
【专利说明】汽车用电子控制装置以及数据通信方法
【技术领域】
[0001]本发明涉及汽车用电子控制装置以及数据通信方法。
【背景技术】
[0002]汽车用的电子控制装置(ECU,Electronic Control Unit)搭载有能够电气地进行数据的消去以及写入的非易失性存储器(例如,闪速ROM (Read-Only Memory,只读存储器))。电子控制装置通过在非易失性存储器中存储的控制程序等控制车载装置(例如,燃料喷射装置)。
[0003]在将控制程序等数据写入非易失性存储器的情况下,如特开2008 - 146521号公报(专利文献I)中记载,把用于将写入数据转发至电子控制装置的写入工具连接至电子控制装置。然后,从写入工具向电子控制装置转发写入数据,同时电子控制装置将写入数据写入非易失性存储器。
[0004]现有技术文献
[0005]专利文献
[0006]专利文献1:特开2008 - 146521号公报
【发明内容】

[0007]发明要解决的课题
[0008]然而,电子控制装置根据每个成为通信对象的装置使用不同的通信缓冲器(buffer)而通信。因此,在接收从写入工具转发的写入数据时,电子控制装置只能使用为了与该写入工具的通信用而分配的通信缓冲器,在一次通信中所能接收的数据的尺寸被限制。从而,例如,在每一次将数据从写入工具接收时,将该响应发送至写入工具那样的取得同步的通信的情况下,电子控制装置变为发送与写入数据的接收次数相同次数的响应的情况。因此,在电子控制装置和写入工具之间通信的次数变多,成为使转发写入数据的时间变长的原因之一。
[0009]因此,本技术的目的在于,在电子控制装置中缩短写入数据的转发所需的时间。
[0010]用于解决课题的手段
[0011]汽车用电子控制装置具备能够电气地进行数据的消去以及写入的非易失性存储器,通过使用通信缓冲器的通信,按照每个规定尺寸取得写入非易失性存储器的程序。然后,汽车用电子控制装置使用超过在车载状态的通信环境中使用的通信缓冲器的数目的通信缓冲器,接收程序。
[0012]发明效果
[0013]能够在电子控制装置中缩短写入数据的转发所需的时间。
【专利附图】

【附图说明】
[0014]图1是E⑶制造工序以及应用程序与入工序的说明图。[0015]图2是E⑶以及写入工具的结构图。
[0016]图3是通信缓冲器区域的细节图。
[0017]图4是应用程序写入工序的步骤的流程图。
[0018]图5是程序写入整体处理的概要图。
[0019]图6是通信环境被变更后的通信缓冲器区域的细节图。
[0020]图7是写入工具的数据转发程序执行的处理的流程图。
[0021]图8是写入工具的数据转发程序执行的处理的流程图。
[0022]图9是写入工具的数据转发程序执行的处理的流程图。
[0023]图10是写入工具的数据转发程序执行的处理的流程图。
[0024]图11是E⑶的RAM展开程序执行的处理的流程图。
[0025]图12是E⑶的写入主程序执行的处理的流程图。
[0026]图13是E⑶的写入主程序执行的处理的流程图。
[0027]图14是E⑶的写入主程序执行的处理的流程图。
[0028]图15是E⑶的写入主程序执行的处理的流程图。
[0029]图16是E⑶的写入子程序执行的处理的流程图。
[0030]图17是应用程序的转发以及写入处理的实施例的时序图。
【具体实施方式】
[0031]以下,参照附图,详细叙述用于实施本发明的实施方式。
[0032]图1表示用于对在E⑶100中搭载的ROM (例如,闪速ROM)写入应用程序(例如,弓丨擎控制程序)的E⑶制造工序10以及应用程序写入工序20。
[0033]在E⑶制造工序10中,工人能够对在E⑶100中搭载的ROM写入如能够执行硬件的检查程序,且在之后的工序中能够进行应用程序的写入那样的所需最小限度的程序(最小限度程序)而检查。另外,E⑶制造工序10是例如E⑶供应厂家等中的作业工序的一部分。
[0034]在应用程序写入工序20中,工人使用写入工具200,对E⑶100上的ROM写入与车型相应的应用程序。由此,从E⑶制造工序10提供的E⑶100成为各车型用的E⑶100。另夕卜,在之后的检查工序中,工人检查在汽车中组装的ECU100的ROM中是否写入了与该汽车相应的应用程序。此外,应用程序写入工序20是例如与汽车工场等ECU组装工序关联而进行的作业工序的一部分。
[0035]像这样,由于E⑶100直至应用程序写入工序20的ROM写入之前是各车型共通的,因此例如,E⑶供应厂家等制造各车型共通的E⑶,向汽车工场等交货即可。从而,E⑶供应厂家等不需要按各个车型进行ECU100的编程、制造以及交货管理等。此外,直至应用程序写入工序20的ROM写入之前,汽车工场等不需要按各个车型进行E⑶100的保持以及管理(库存状况等)。因此,通过这些工序,具有E⑶供应厂家以及汽车工场等中能够大幅度地削减制造以及管理等的优点。
[0036]但是,在汽车工场等中,新追加以往不存在的应用程序写入工序20。在该应用程序写入工序20中,要求将与车型相应的应用程序迅速地写入ROM。用于满足该要求的E⑶100以及写入工具200的结构如图2所示。[0037]E⑶100控制车辆用引擎中的燃料喷射或点火等,包含R0M110、微机120、以及作为易失性存储器的RAM (Random Access Memory,随机存取存储器)130、通信电路140而构成。EQJ100经由CAN (Controller Area Network,控制器区域网络)等通信线路300,可装卸地连接到写入工具200。
[0038]微机120具备CPU以及高速缓存存储器等,执行在R0M110以及RAM130中存储的各种程序。
[0039]在RAM130中,预先确保第一缓冲器区域133以及第二缓冲器区域134。在将数据写入R0M110时第一缓冲器区域133以及第二缓冲器区域134被使用。
[0040]在通信电路140中,预先确保通信缓冲器区域141。在E⑶100通过通信电路140与其他装置通信时通信缓冲器区域141被使用。
[0041]写入工具200包含存储器(storage) 210 (例如,硬盘)以及通信电路240而构成。此外,写入工具200包含终端(例如,个人计算机)以及与E⑶100连接的装置,工人能够以对话方式对写入工具200发出指示。写入工具200对E⑶100转发在存储器210中存储的写入数据。
[0042]在存储器210中,存储了要被转发至E⑶100的应用程序等。
[0043]在通信电路240中,预先确保通信缓冲器区域241。在写入工具200通过通信电路240与E⑶100通信时通信缓冲器区域241被使用。
[0044]在此,在E⑶100与写入工具200通信时使用的通信缓冲器区域141的细节如图3所示。
[0045]在E⑶100的通信缓冲器区域141中,存在多个一定尺寸的通信缓冲器(例如,CAN中的邮箱(mailbox))。在与各装置通信的情况下,E⑶100使用在通信缓冲器区域141的通信缓冲器之中的、作为与成为通信对象的装置的通信用而预先分配的通信缓冲器。另外,各自的通信缓冲器被区分为用于数据发送的发送缓冲器(TX)、用于数据接收的接收缓冲器(RX)0在此,将作为与成为通信对象的装置的通信用而预先分配的通信缓冲器的数目设为在车载状态的通信环境中使用的缓冲器的数目。
[0046]另一方面,在写入工具200的通信缓冲器区域241中,存在多个一定尺寸的通信缓冲器。另外,通信缓冲器区域241的各通信缓冲器的尺寸与E⑶100的通信缓冲器区域141的各通信缓冲器的尺寸相同。
[0047]图3中,在E⑶100的通信缓冲器区域141中,作为用于E⑶100与写入工具200通信的通信缓冲器(写入工具用通信缓冲器),分配了 2个通信缓冲器(I个TX,I个RX)。此外,通信缓冲器区域141的其他通信缓冲器被分配为用于与写入工具200以外的装置的通信。
[0048]从而,在通信缓冲器的尺寸为8字节,且E⑶100以每当接收I个数据时将该响应返回至写入工具200的方式,在E⑶100和写入工具200之间取得同步并进行通信的情况下,由于对于I个数据的接收使用I个RX,因此直至E⑶100取得64字节的数据,需要16次通信。即,写入工具200将64字节的数据分为每8字节而转发,E⑶100每当接收8字节时将响应返回至写入工具200,因此通信次数成为16次。
[0049]图4表示应用程序写入工序20中的步骤。
[0050]在步骤I (图中简写为“SI”。以下同样)中,工人将E⑶100连接至写入工具200。若被连接则电源被接通,E⑶100通过微机120执行最小限度程序,能够与写入工具200通信,成为等待接收从写入工具200转发的数据的状态。
[0051]在步骤2中,工人指定写入R0M110的应用程序(例如,车型A用的引擎控制程序)等。若应用程序被指定,则写入工具200将指定的应用程序转发至ECU100。ECU100接收被转发的应用程序等,同时将应用程序写入R0M110。以下,将该步骤2的处理称为程序写入整体处理。
[0052]在步骤3中,工人从写入工具200卸下E⑶100。
[0053]另外,之后,E⑶100被组装至各汽车。此外,在检查工序中,检验在E⑶100的ROMllO中是否写入了正确的应用程序(例如,是否是与组装的汽车相应的应用程序)。若未写入正确的应用程序,则对在汽车中组装的E⑶100再次连接写入工具200,写入正确的应用程序。
[0054]在图5中,表示程序写入整体处理的概要。
[0055]在步骤11中,若工人指定写入程序以及写入R0M110的应用程序,则写入工具200启动用于转发写入程序以及应用程序的数据转发程序。然后,写入工具200通过数据转发程序,对ECU100,发送用于开始写入程序(例如,写入程序2)的转发的消息,同时转发被指定的写入程序。
[0056]在此,工人指定的写入程序在存在于存储器210内的写入程序数据库211中存储。写入程序被转发至E⑶100,在E⑶100上执行通信环境的变更等初始化处理、写入数据的接收处理、以及将写入数据写入R0M110的处理。此外,写入程序由写入主程序以及写入子程序构成。
[0057]写入主程序在被转发至E⑶100后在E⑶100上动作,在写入工具200和E⑶100之间确立与写入程序相应的通信环境(通信缓冲器的使用方法、通信速度、加密方式等)。此夕卜,写入主程序将从写入工具200转发的应用程序根据与写入程序相应的写入条件(写入的ROM的区域地址等)写入R0M110。写入子程序从写入主程序启动,将处于通信缓冲器区域141的接收数据复制到第一缓冲器区域以及第二缓冲器区域。
[0058]进而,工人指定的应用程序在存在于存储器210内的应用程序数据库212中存储。各应用程序是与各自的车型相应的引擎控制用程序等。
[0059]在步骤12中,若从作为写入程序的转发源的写入工具200接收用于开始写入程序的转发的消息,则ECU100启动在R0M110中存储的RAM展开程序。在此,RAM展开程序进行将E⑶100接收到的写入程序在RAM130上展开的处理。从而,E⑶100接收写入程序,同时通过RAM展开程序,将接收到的写入程序在RAM130中展开。
[0060]在步骤13中,若写入程序的展开完成,则E⑶100通过RAM展开程序,启动在RAMl30中展开的写入程序。
[0061]在步骤14中,E⑶100通过写入程序,将E⑶100和写入工具200之间的通信环境变更为与该写入程序相应的通信环境,对写入工具200发送用于请求应用程序的发送的消
肩、O
[0062]在步骤15中,若接收用于请求应用程序的发送的消息,则写入工具200通过数据转发程序,对ECU100开始进行由工人指定的应用程序(例如,应用程序I)的转发。
[0063]在步骤16中,E⑶100从写入工具200接收应用程序,同时通过写入主程序以及写入子程序,基于写入条件,将接收到的应用程序写入R0M110。[0064]另外,在写入结束后,从写入工具200卸下E⑶100,电源变为断开。接着,在接通E⑶100的电源时,E⑶100的通信环境返回初始状态(与步骤I时相同的通信环境)。此外,在程序写入整体处理的途中产生某种异常(例如,在写入程序动作时与写入工具200的通信被切断等)的情况下,E⑶100对自身进行复位。然后,E⑶100的通信环境返回初始状态。
[0065]从而,通过选择写入程序,在程序写入整体处理中,能够使适于使用的通信环境以及应用程序的写入条件等的写入程序动作。因此,例如,通过使通信速度更高速的写入程序进行动作从而高速地进行通信,能够使程序写入整体处理高速化。
[0066]此外,在程序写入整体处理中,由于写入程序被转发至E⑶100,因此变得不需要将写入程序存储至R0M110,能够削减R0M110的使用量。
[0067]进而,能够通过变更写入程序而向程序写入整体处理追加新的功能。
[0068]另外,在除了写入工具200之外,其他装置也被连接至E⑶100的状况下,若E⑶100切断与其他装置的通信,仅与写入工具200通信,则能够执行程序写入整体处理。
[0069]在除了写入工具200之外,其他装置也被连接至E⑶100的状况下,作为进行程序写入整体处理的例,可列举在ECU100被组装至汽车的状态下,实施应用程序的写入的情况。
[0070]此时,为了防止通信路径的竞争,需要在E⑶100和写入工具200通信的情况下使用的通信环境是与其他装置共通的通信环境(例如,通信速度共通)。因此,工人指定确立与其他装置共通的通信环境的程序作为写入程序,实施程序写入整体处理。此时,E⑶100仅与写入工具200通信,切断与其他装置的通信。
[0071]接着,说明在E⑶100接收从写入工具200转发的应用程序时使用的、通信缓冲器区域141的使用方法。
[0072]由于在应用程序写入工序20中,E⑶100未与写入工具200以外的装置通信,因此未使用为了与写入工具200以外的装置通信而预先分配的通信缓冲器(其他装置用通信缓冲器)。
[0073]因此,写入程序能够变更为除了写入工具用通信缓冲器之外还将其他装置用通信缓冲器用于E⑶100和写入工具200之间的通信。
[0074]图6是表示了变更后的通信缓冲器区域141的细节的图。
[0075]在图6的例中,在与写入工具200通信时,E⑶100使用2个通信缓冲器、以及其他装置用通信缓冲器之中的7个通信缓冲器作为写入工具用通信缓冲器。此时,作为ECU100使用的9个通信缓冲器,TX被设定为I个,RX被设定为8个。另外,此时,关于写入工具200的通信缓冲器区域241的通信缓冲器,TX成为8个,RX成为I个。
[0076]例如,I个通信缓冲器的尺寸为8字节,且E⑶100以每当接收I个数据时将该响应返回至写入工具200的方式,在E⑶100和写入工具200之间取得同步并进行通信的情况下,由于对于I个数据的接收能够使用8个RX,因此直至E⑶100从写入工具200取得64字节的数据,9次通信即可。即,写入工具200将64字节的数据作为I个数据分为每8字节而转发,E⑶100每当接收8个8字节的数据时将响应返回至写入工具200,因此通信次数成为9次。
[0077]另外,写入程序也可以使E⑶100用于与写入工具200通信的通信缓冲器的数目为与数据的发送接收的尺寸、数据的发送接收的尺寸的整数倍、对ROMllO的一次写入的尺寸或对ROMllO的一次写入的尺寸的整数倍等相应的数目。
[0078]像这样,由于除了写入工具用通信缓冲器之外,还能够使用其他装置用通信缓冲器进行通信,因此在取得同步的通信中,通信次数变少,数据的转发所需的时间减少,从而实现数据的转发的高速化。此外,由于使用其他装置用通信缓冲器,因此不需在乎通信缓冲器的覆盖,而写入工具200能够连续转发数据。
[0079]另外,在通信缓冲器区域141之中,若有未分配给任何装置的未使用的通信缓冲器,则写入程序还能够将未使用的通信缓冲器在E⑶100和写入工具200之间的通信中使用。若这样,则由于为了接收I个数据能够使用的通信缓冲器的尺寸变大,因此能够使通信次数更少。
[0080]接着,说明在程序写入整体处理中动作的各程序。
[0081]图7以及图8表不在与入工具200中,以工人指定了与入程序以及应用程序为契机,通过写入工具200执行数据转发程序的处理的流程图。
[0082]在步骤31中,数据转发程序将表示用于开始进行写入程序的转发的消息(写入程序的转发开始消息)发送至E⑶100。
[0083]在步骤32中,数据转发程序将被指定的写入程序的数据以E⑶100能够通过一次通信接收的尺寸依次转发。
[0084]在步骤33中,数据转发程序判定是否从ECU100接收到下一个数据的请求消息。若数据转发程序从ECU100接收到下一个数据的请求消息,则将处理前进至步骤34(是),另一方面,若未从ECU100接收到下一个数据的请求消息,则将处理返回至步骤33 (否)。
[0085]在步骤34中,数据转发程序判定是否完成了被指定的写入程序的转发。若完成了被指定的写入程序的转发,则数据转发程序将处理前进至步骤35 (是)另一方面,若未完成被指定的写入程序的转发,则将处理返回至步骤32 (否)。
[0086]在步骤35中,数据转发程序将表示写入程序的转发完成的消息(写入程序的转发完成消息)发送至E⑶100。
[0087]在步骤36中,数据转发程序判定是否从ECU100接收到消息。若从ECU100接收到消息,则数据转发程序将处理前进至步骤37 (是),另一方面,若未从ECU100接收消息,则将处理返回步骤36 (否)。
[0088]在步骤37中,数据转发程序判定从ECU100接收到的消息是否是表示写入程序被合法地转发的消息。若接收到的消息是表示写入程序被合法地转发的消息,则数据转发程序将处理前进至步骤38 (是),另一方面,若接收到的消息不是表示写入程序被合法地转发的消息,则将处理前进至步骤39 (否)。
[0089]在步骤38中,数据转发程序执行应用转发处理子例程。另外,应用转发处理子例程进行将被指定的应用程序的数据分割而转发的处理。以下,将该分割而转发的数据称为分割数据。
[0090]在步骤39中,数据转发程序设定为将写入程序再次从开头起转发(例如,将写入程序的索引返回开头等)。之后,数据转发程序将处理返回至步骤32。
[0091]图9以及图10表示应用转发处理子例程的处理的流程图。
[0092]在步骤41中,数据转发程序判定写入工具200是否从E⑶100接收到消息。若从E⑶100接收消息,则数据转发程序将处理前进至步骤42 (是),另一方面,若未从E⑶100接收到消息,则将处理返回至步骤41 (否)。
[0093]在步骤42中,数据转发程序判定接收到的消息是否是表示分割数据的发送请求的消息(分割数据的发送请求消息)。若接收到的消息不是分割数据的发送请求消息,则数据转发程序将处理前进至步骤43 (是),另一方面,若接收到的消息是分割数据的发送请求消息,则将处理前进至步骤44 (否)。
[0094]在步骤43中,数据转发程序判定接收到的消息是否是表示分割数据的重发请求的消息(分割数据的重发请求消息)。若接收到的消息不是分割数据的重发请求消息,则数据转发程序将处理前进至步骤47 (是),另一方面,若接收到的消息是分割数据的重发请求消息,则将处理前进至步骤46 (否)。
[0095]在步骤44中,数据转发程序从表示被指定的应用程序的索引的读出指针指示的位置起读出数据,生成对该读出的数据附加了校验和(check sum)的分割数据。在此,设为数据的读出尺寸是从转发的写入程序在ECU100中确立的通信环境中使用的各RX的尺寸的总计减去了校验和的尺寸后的值。
[0096]此外,读出指针的初始值是应用程序的开头的地址。读出指针在每次执行步骤44时,加上数据的读出尺寸。
[0097]例如,在转发的写入程序确立的通信环境中使用的各RX的尺寸的总计为64字节,以及校验和的尺寸为2字节的情况下,数据的读出尺寸成为62字节,分割数据的尺寸成为64字节。
[0098]另外,作为数据验证用,除了校验和还有CRC (Cyclic Redundancy Check,循环冗余校验)。此外,也可以是,对于分割数据,在写入工具200侧,在分割数据中包含表示是第几个转发的分割数据的序列号,在ECU100侧,检验接收到的分割数据的序列号,从而检验是否以正确的顺序接收了分割数据。
[0099]在步骤45中,数据转发程序将生成的分割数据转发至E⑶100。此时,由于转发分割数据,因此数据转发程序将分割数据按照通信缓冲器区域241的TX的尺寸分开,存储至通信缓冲器区域241的各TX。例如,在分割数据为64字节、以及每I个8字节的TX在通信缓冲器区域241中有8个的情况下,数据转发程序将分割数据按照每8字节分为8个数据,并存储至各TX。
[0100]另外,在TX中存储的数据通过通信电路240,被转发至E⑶100。
[0101]在步骤46中,数据转发程序将生成的分割数据再次转发至E⑶100。
[0102]在步骤47中,数据转发程序判定接收到的消息是否是表示没有将分割数据正常地写入E⑶100的R0M110的消息(分割数据的写入NG消息)。若接收到的消息不是分割数据的写入NG消息,则数据转发程序将处理前进至步骤48 (是),另一方面,若接收到的消息是分割数据的写入NG消息,则将处理前进至步骤50 (否)。
[0103]在步骤48中,数据转发程序经由读出指针是否到达了应用程序的最后,从而判定是否已将应用程序的转发完成至最后。若已将应用程序的转发完成至最后,则数据转发程序将处理前进至步骤49 (是),另一方面,若尚未将应用程序的转发完成至最后,则将处理返回至步骤41 (否)。
[0104]在步骤49中,数据转发程序将表示应用程序的转发已完成的消息(应用的转发完成消息)发送至E⑶100。[0105]在步骤50中,为了将应用程序再次从开头起转发,数据转发程序将读出指针的值设定为应用程序的开头地址。之后,数据转发程序将处理返回至步骤41。
[0106]图11表示以E⑶100接收到写入程序的转发开始消息为契机,RAM展开程序通过E⑶100执行的处理的流程图。
[0107]在步骤51中,RAM展开程序判定E⑶100是否从写入工具200接收到数据。若从写入工具200接收到数据,则RAM展开程序将处理前进至步骤52 (是),另一方面,若未从写入工具200接收数据,则将处理返回至步骤51 (否)。
[0108]在步骤52中,RAM展开程序判定接收到的数据是否是写入程序的转发完成消息。若接收到的数据是写入程序的转发完成消息,则RAM展开程序将处理前进至步骤53 (是),另一方面,若接收到的数据不是写入程序的转发完成消息,则将处理前进至步骤56 (否)。
[0109]在步骤53中,RAM展开程序通过校验和等,判定被转发的写入程序是否合法。若被转发的写入程序合法,则RAM展开程序将处理前进至步骤54 (是),另一方面,若被转发的写入程序不合法,则将处理前进至步骤58 (否)。
[0110]在步骤54中,RAM展开程序对写入工具200发送表示写入程序被合法地转发的消
肩、O
[0111]在步骤55中,RAM展开程序启动在RAMl30中展开的写入程序中的写入主程序。
[0112]在步骤56中,RAM展开程序将接收到的写入程序的数据从通信缓冲器区域141的RX展开至RAM130。
[0113]在步骤57中,RAM展开程序对写入工具200发送下一个数据的请求消息。之后,RAM展开程序将处理返回至步骤51。
[0114]在步骤58中,RAM展开程序对写入工具200发送写入程序未被合法地转发的消息。之后,RAM展开程序将处理返回至步骤51。
[0115]图12表示以启动写入主程序为契机,写入主程序通过E⑶100执行的处理的流程图。
[0116]在步骤61中,写入主程序根据被转发的写入程序,变更用于E⑶100与写入工具200通信的通信环境。另外,在E⑶100能够与写入工具200以外的其他装置通信的情况下,也可以不变更通信环境。
[0117]在步骤62中,写入主程序执行ROM写入处理子例程。另外,ROM写入处理子例程从作为分割数据的转发源的写入工具200接收分割数据,并基于分割数据将应用程序的数据写入R0M110。
[0118]图13?图15表示ROM写入处理子例程。
[0119]在步骤71中,写入主程序将第一缓冲器区域133设定为用于复制从写入工具200接收的分割数据的复制用的区域。
[0120]在步骤72中,写入主程序启动写入子程序。
[0121]在步骤73中,写入主程序将I代入作为表示在写入R0M110的数据(应用程序的数据)之中第几个数据在处理中的计数器的变量η。
[0122]在步骤74中,为了取得初次的分割数据,写入主程序将分割数据的发送请求消息发送至写入工具200。
[0123]在步骤75中,写入主程序判定表示从写入工具200接收到的分割数据被复制到复制用的区域的消息(分割数据的复制完成消息)是否从写入子程序通知。若分割数据的复制完成消息被通知,则写入主程序将处理前进至步骤76 (是),另一方面,若分割数据的复制完成消息未被通知,则将处理返回至步骤75 (否)。
[0124]在步骤76中,写入主程序参照在复制用的区域中存储的初次的分割数据,通过利用分割数据所包含的校验,判定初次的分割数据是否已正常地接收。若初次的分割数据已正常地接收,则写入主程序将处理前进至步骤77 (是),另一方面,若初次的分割数据未能正常地接收,则将处理前进至步骤78 (否)。
[0125]在步骤77中,写入主程序将第一缓冲器区域133设定为在将分割数据写入ROMl 10时使用的写入用的区域,同时将第二缓冲器区域134设定为复制用的区域。
[0126]在步骤78中,为了再次取得初次的分割数据,写入主程序将分割数据的重发请求消息发送至写入工具200。之后,写入主程序将处理返回至步骤75。另外,也可以将表示未能正常地接收分割数据的消息(分割数据的接收NG消息),与分割数据的重发请求消息一起发送至写入工具200。
[0127]在步骤79中,为了取得第2个分割数据,写入主程序将分割数据的发送请求消息发送至写入工具200。另外,也可以将表示已正常地接收了上次的分割数据的消息(分割数据的接收OK消息),与分割数据的发送请求消息一起发送至写入工具200。
[0128]在步骤80中,写入主程序从在写入用的区域中存储的第η个分割数据去除校验和,并根据写入条件,将在写入用的区域中存储的数据写入R0M110。
[0129]在步骤81中,写入主程序通过执行写入数据的确认(verify),判定第η个数据是否被正常地写入R0M110。若第η个数据被正常地写入R0M110,则写入主程序将处理前进至步骤82 (是),另一方面,若第η个数据未被正常地写入R0M110,则将处理前进至步骤84(否)。
[0130]另外,写入数据的确认例如通过比较写入用的区域的内容和已写入的R0M110的区域的内容而进行。
[0131]在步骤82中,写入主程序判定分割数据的复制完成消息是否从写入子程序被通知。若分割数据的复制完成消息被通知,则写入主程序将处理前进至步骤83 (是),另一方面,若分割数据的复制完成消息未被通知,则将处理返回至步骤82 (否)。
[0132]在步骤83中,写入主程序判定在复制用的区域中存储的数据是否是应用的转发完成消息。若在复制用的区域中存储的数据是应用的转发完成消息,则写入主程序结束处理(是),另一方面,若在复制用的区域中存储的数据不是应用的转发完成消息,则将处理返回至步骤87 (否)。
[0133]在步骤84中,写入主程序将分割数据的写入NG消息发送至写入工具200。
[0134]在步骤85中,写入主程序消去已写入的R0M110的区域的数据。
[0135]在步骤86中,写入主程序将第一缓冲器区域133设定为复制用的区域。
[0136]在步骤87中,写入主程序通过校验和而验证在复制用的区域中复制的第η + I个分割数据,从而判定第η + I个分割数据是否已正常地接收。若第η + I个分割数据已正常地接收,则写入主程序将处理前进至步骤88 (是),另一方面,若第η + I个分割数据未能正常地接收,则将处理前进至步骤91 (否)。另外,关于第η + I个分割数据的验证,也可以在接收到第η + I个分割数据之后立即由写入子程序执行。[0137]在步骤88中,写入主程序将被设定为复制用的缓冲器区域变更为写入用的区域,同时将被设定为写入用的缓冲器区域变更为复制用的区域。
[0138]在步骤89,为了取得第η + 2个分割数据,写入主程序将分割数据的发送请求消息发送至写入工具200。
[0139]另外,也可以将表示已将第η个分割数据写入R0M110的消息(分割数据的写入OK消息)以及表示接收到第η + I个分割数据的消息(分割数据的接收OK消息),与分割数据的发送请求消息一起发送至写入工具200。
[0140]在步骤90中,写入主程序对η加I后,将处理返回至步骤80。
[0141]在步骤91中,为了再次取得第η+ I个分割数据,写入主程序将分割数据的重发请求消息发送至写入工具200。之后,写入主程序将处理返回至步骤82。另外,也可以将表示第η + I个分割数据未能正常地接收的消息(分割数据的接收NG消息),与分割数据的重发请求消息一起发送至写入工具200。
[0142]图16表示以E⑶100从写入工具200接收到数据为契机,写入子程序通过E⑶100执行的处理的流程图。
[0143]在步骤101中,写入子程序将接收到的分割数据从通信缓冲器区域141的RX复制到复制用的区域。
[0144]在步骤102中,写入子程序将分割数据的复制完成消息通知给写入主程序。
[0145]另外,也可以将复制用的区域设定为与通信缓冲器区域141的RX相当的区域,ECU100使用复制用的区域接收数据。此时,不需要从通信缓冲器区域141的RX将分割数据复制到复制用的区域的处理。
[0146]此外,在从分割数据的发送请求至复制完成的处理时间、和将数据写入至R0M110以及验证处理所需的时间存在差异的情况下,也可以在任一个时间长的处理完成时,开始进行下一个分割数据的接收处理、将数据写入ROMllO的处理。
[0147]像这样,为了与经由RX接收分割数据并行地,将接收完毕的分割数据写入ROMllOJfI 2个缓冲器区域。然后,在2个缓冲器区域之中,将一方的缓冲器区域用于对ROMllO的写入处理的期间,将另一方的缓冲器区域用于复制ECU100接收到的分割数据的处理。在此,用于写入处理的缓冲器区域和用于复制处理的缓冲器区域在每次进行各处理时切换。由此,在E⑶100中,能够并行进行使用一方的缓冲器区域将数据写入R0M110的处理、和分割数据的接收以及将接收到的分割数据复制到另一方的缓冲器区域的处理。因此,能够缩短程序写入整体处理所需的时间。
[0148]此外,由于实现这些处理只要变更E⑶100侧的处理即可,因此不用大幅度变更写入工具200就能够缩短程序写入整体处理所需的时间。
[0149]应用程序的转发以及写入处理的实施例的时序如图17所示。在此,写入工具200转发的程序的大小为180字节。此外,E⑶100的各RX的尺寸的总计为64字节。
[0150]E⑶100将初次的分割数据的发送请求消息发送至写入工具200。
[0151]写入工具200读取应用程序的数据之中最初的62字节的数据,生成附加了 2字节的校验和的初次的分割数据,并转发至ECU100。
[0152]ECU100在接收到初次的分割数据后,将初次的分割数据从通信缓冲器区域141的RX复制到第一缓冲器区域133。接着,ECU100验证初次的分割数据,将第二分割数据的发送请求消息发送至写入工具200。此外,E⑶100使用第一缓冲器区域133进行将数据写入ROMllO的处理、以及写入数据的验证。
[0153]若接收第二分割数据的发送请求消息,则写入工具200读取接着要转发的62字节的数据,生成附加了校验和的第二分割数据,并转发至ECU100。
[0154]ECU100在接收到第二分割数据后,将第二分割数据从通信缓冲器区域141的RX复制到第二缓冲器区域134。接着,E⑶100验证第二分割数据。此外,若第二分割数据的验证以及初次写入数据的验证完成,则E⑶100将第三分割数据的发送请求消息发送至写入工具200。进而,E⑶100使用第二缓冲器区域134进行将数据写入R0M110的处理、以及写入的验证。
[0155]写入工具200在接收到第三分割数据的发送请求消息后,读取剩余的56字节的数据,生成附加了校验和的第三分割数据,并转发至ECU100。
[0156]E⑶100接收到第三分割数据后的处理与接收到第二数据后的处理相同。
[0157]若接收第四分割数据的发送请求消息,则写入工具200将应用的转发完成消息发送至 ECU100。
[0158]另外,本实施方式也能够应用于搭载了非易失性存储器的各种电子控制装置。此夕卜,也可以是,将多个E⑶100连接至I个写入工具200,I个写入工具200对各E⑶100以分时方式转发用于写入ROMllO的数据。
[0159]标号说明
[0160]100 ECU
[0161]110 ROM
[0162]141通信缓冲器区域
【权利要求】
1.一种汽车用电子控制装置,具备能够电气地进行数据的消去以及写入的非易失性存储器,通过使用通信缓冲器的通信,能够按照每个规定尺寸取得写入所述非易失性存储器的程序,其特征在于, 使用超过在车载状态的通信环境中使用的通信缓冲器的数目的通信缓冲器,接收所述程序。
2.如权利要求1所述的汽车用电子控制装置,其特征在于, 所述程序的接收中使用的通信缓冲器是在所述车载状态的通信环境中成为通信对象的多个装置使用的通信缓冲器。
3.如权利要求1所述的汽车用电子控制装置,其特征在于, 所述程序的接收中使用的通信缓冲器的尺寸基于所述规定尺寸或者至所述存储器的写入尺寸而设定。
4.如权利要求1所述的汽车用电子控制装置,其特征在于, 所述程序的接收中使用的通信缓冲器包含在所述车载状态的通信环境中未使用的通信缓冲器。
5.一种数据通信方法,其特征在于, 汽车用电子控制装置使用超过在车载状态的通信环境中使用的通信缓冲器的数目的通信缓冲器,接收程序, 所述汽车用电子控制装置具备能够电气地进行数据的消去以及写入的非易失性存储器,通过使用通信缓冲器的通信,能够按照每个规定尺寸取得写入所述非易失性存储器的所述程序。
6.如权利要求5所述的数据通信方法,其特征在于, 所述程序的接收中使用的通信缓冲器是在所述车载状态的通信环境中成为通信对象的多个装置使用的通信缓冲器。
7.如权利要求5所述的数据通信方法,其特征在于, 所述程序的接收中使用的通信缓冲器的尺寸基于所述规定尺寸或者至所述存储器的写入尺寸而设定。
8.如权利要求5所述的数据通信方法,其特征在于, 所述程序的接收中使用的通信缓冲器包含在所述车载状态的通信环境中未使用的通信缓冲器。
【文档编号】G06F11/00GK103890731SQ201280042274
【公开日】2014年6月25日 申请日期:2012年8月29日 优先权日:2011年9月21日
【发明者】阿部雄介, 汤浅康司, 新井敏央 申请人:日立汽车系统株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1