首页> 中国专利> 用于车载控制单元的存储数据重写系统

用于车载控制单元的存储数据重写系统

摘要

一种重写系统,在所述重写系统中,重写单元按照每个预定数据传输单位传输作为数据传输指令的重写数据和指定的位置数据,所述指定的位置数据表示对应于所述重写数据的将被重写的部分,并且,当按照所述预定的数据传输单位传输的重写数据的整体表示预定值时,禁止包含所述重写数据的数据传输指令的传输,并且,车载控制单元将包含在接收的数据传输指令中的重写数据写到由所述接收的数据传输指令中的指定的位置数据表示的、非易失性存储器的重写部分,并且,对于不能从所述数据传输指令获得所述重写数据的部分,车载控制单元将表示所述预定值的数据写入所述非易失性存储器的所有这样的部分。

著录项

  • 公开/公告号CN1700190A

    专利类型发明专利

  • 公开/公告日2005-11-23

    原文格式PDF

  • 申请/专利权人 株式会社京浜;

    申请/专利号CN200510073958.4

  • 发明设计人 渡边英树;奥山史彦;

    申请日2005-05-19

  • 分类号G06F12/00;B60R16/02;F02D45/00;

  • 代理机构永新专利商标代理有限公司;

  • 代理人王英

  • 地址 日本东京

  • 入库时间 2023-12-17 16:46:38

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-07

    未缴年费专利权终止 IPC(主分类):G06F12/00 授权公告日:20071010 终止日期:20180519 申请日:20050519

    专利权的终止

  • 2007-10-10

    授权

    授权

  • 2006-01-18

    实质审查的生效

    实质审查的生效

  • 2005-11-23

    公开

    公开

说明书

技术领域

本发明涉及用于重写存储在车载控制单元的存储器中的数据的重写系统。

背景技术

车辆提供了指定为ECU的车载控制单元,所述车载控制单元用于控制驾驶状况,例如:发动机的点火时间、空气燃油混合比、喷油量等等,并且用于控制车载设备的操作,例如:电动车窗、空调等等。车载控制单元通常由以下部件构成:包含CPU(中央处理器)的微型计算机和包含ROM(只读存储器)的存储器。例如程序这样的数据被写入ROM,以便使CPU能够执行控制操作。

存储在ROM中的数据会被不时的更新以利于更好的控制。当更新数据时,将重写单元连接到车载控制单元,所以能够在车载控制单元和重写单元间建立起通信。用于重写操作的数据被传输到车载控制单元,由此重写车载控制单元的ROM中的存储数据(JP-A-2003-122622)。

然而,在常规的重写系统中,从重写单元将重写数据顺序地传输到车载控制单元,在车载控制单元被接收,然后,将所接收的数据写入ROM。因此,由于根据重写数据的量,需要重写时间,所以希望能缩短重写时间。

发明内容

因而,本发明的目的是提出一种重写系统、一种车载控制单元和一种重写单元,从而能够缩短将数据重新写入车载控制单元的存储器所需的重写时间。

根据本发明,提出了一种重写系统,在所述重写系统中,从外部重写单元将重写数据传输到具有非易失性存储器的车载控制单元以便重写非易失性存储器中的存储数据,所述非易失性存储器存储着用于至少对车辆的发动机执行控制的数据,其中,重写单元包括传输控制装置,所述传输控制装置用于按照每个预定数据传输单位传输作为数据传输指令的重写数据和指定的位置数据,所述指定的位置数据表示对应于按照所述预定的数据传输单位传输的重写数据的、所述非易失性存储器的将被重写的部分,所述传输控制装置还用于:当按照预定的数据传输单位传输的重写数据的整体表示预定的值时,禁止包含重写数据的数据传输指令的传输,并且其中,车载控制单元包括用于接收从重写单元传输来的数据传输指令的接收装置,以及写控制装置,用于将包含在由接收装置接收的数据传输指令中的重写数据写到由数据传输指令中的指定的位置数据表示的、非易失存储器的重写部分,并且,对于不能从所述接收装置接收的所述数据传输指令获得所述重写数据的部分,写控制装置将表示所述预定值的数据写入所述非易失性存储器的、所有这样的部分。

根据本发明,提出了一种具有非易失性存储器的车载控制单元,所述非易失性存储器存储用于至少对车辆的发动机执行控制的数据,所述车载控制单元包括:用于接收从外部重写单元传输来的数据传输指令的接收装置;以及写控制装置,所述写控制装置用于将包含在由接收装置接收的数据传输指令中的重写数据,写到由接收的数据传输指令中的指定的位置数据表示的、非易失性存储器的将被重写的部分,并且,对于不能从所述接收装置接收的数据传输指令获得重写数据的部分,所述写控制装置将表示所述预定值的数据写入所述非易失性存储器的、将被重写的所有这样的部分。

根据本发明,提出了一种重写单元,所述重写单元用于将重写数据传输到具有非易失性存储器的车载控制单元,所述非易失性存储器存储用于至少对车辆的发动机执行控制的数据,所述重写数据用于重写非易失性存储器中的存储数据,所述重写单元包括:传输控制装置,所述传输控制装置用于按照每个预定数据传输单位传输作为数据传输指令的重写数据和指定的位置数据,所述指定的位置数据表示对应于按照所述预定的数据传输单位传输的重写数据的、所述非易失性存储器的重写部分,并且,所述传输控制装置还用于,当按照所述预定的数据传输单位传输的重写数据的整体表示预定值时,禁止包含所述重写数据的数据传输指令的传输。

附图说明

图1是示出了本发明实施例的框图;

图2是示出了RAM的存储区域的图;

图3是示出了ROM的存储区域的图;

图4是示出了当重写数据时,在重写单元与ECU间发生的通信的图;

图5是示出了数据传输指令的结构的图;

图6是示出了数据传输指令的传输过程的流程图;

图7是示出了ECU控制操作的流程图;

图8是示出了ROM删除请求接收过程的流程图;

图9是示出了重写模式转换(transition)过程的流程图;

图10是示出了ECU重写控制过程的流程图;

图11是示出了ROM删除过程的流程图;

图12是示出了ROM写过程的流程图;

图13是示出了传输的数据接收过程的流程图;

图14是示出了数据传输完成接收过程的流程图;并且

图15A至15C是说明重写操作的图。

发明详述

下面,参照附图描述本发明的实施例。

图1示出了一种应用了根据本发明的重写方法的重写系统。该系统包括用于内燃机控制系统的ECU1和重写单元2。

ECU1被安装到车辆中,并且包含CPU(中央处理器)3、I/O接口和存储器。CPU3从曲柄转角传感器、进气歧管气压传感器、发动机冷却液温度传感器等等,经由输入接口接收检测信号,计算控制值,例如:喷油量和内燃机点火时间,并且经由输出接口,将基于计算结果的控制信号提供给喷油嘴和点火系统。存储器由ROM(只读存储器)10和RAM(随机存取存储器)11构成。ROM10由闪存ROM构成。将控制CPU的程序和数据以及ROM10自身的重写程序写入ROM10。在本实施例中,重写ROM10中的程序和数据。CPU3的操作所需的程序和数据被临时存储在ROM10中。另外,如图2所示,当重写ROM10时,重写程序被写入RAM11,此外,RAM11的一部分被用作接收缓冲区13和写缓冲区15,如图1所示。

图1仅仅示出了ECU1中的与ROM10的重写相关的一部分。除ROM10以外,与重写相关的部分还包括:传输和接收模块12、接收缓冲区13、传输模块14、重写缓冲区15和写模块16。传输和接收模块12是用于经由线缆5与重写单元2进行串行通信的I/O接口。接收缓冲区13连接到传输和接收模块12。当在所述传输和接收模块12接收到由重写单元2发送的数据时,将接收到的数据临时保存在接收缓冲区13中。传输模块14被置于接收缓冲区13和写缓冲区15之间,并且将保存于接收缓冲区13的数据写到写缓冲区15。写缓冲区15由n个字节构成,并且具有与ROM10的将被重写的页的大小相同的存储区域。将被重写的页构成了数据重写单元。写模块16将保留在写缓冲区15的数据写到ROM10中对应的将被重写的页。

ECU1的CPU用作所述重写相关部分中的传输模块14和写模块16。

如图3所示,ROM10的存储区域具有引导区域、程序区域和校准区域,并且包括将被重写的页1至页m。ROM10的存储容量为m×n字节。引导区域是用于存储ROM10自身的重写程序的区域。程序区域是用于存储发动机控制程序的区域。校准区域是用于存储发动机控制纠正程序的区域。

重写单元2包括存储器21、在存储器21和ECU1间进行串行通信的传输和接收模块(未示出),所述存储器21能存储将被写到ECU1的ROM10的数据。

如图4所示,当重写数据时,在重写单元2和ECU1之间执行传输和接收。即,根据来自重写单元2的操作模块(未示出)的输入操作,将连接请求指令从重写单元2传输到ECU1(步骤S101)。针对所述连接请求,将接受应答从ECU1传输到重写单元2(步骤S102),并且当重写单元2接收到接受应答时,将安全保护取消请求指令从重写单元2传输到ECU1(步骤S103)。

从ECU1传输对所述安全保护取消请求指令的接受应答(步骤S104),并且当重写单元2接收到该应答时,进一步将删除指令从重写单元2传输到ECU1(步骤S105)。删除指令指明将执行重写的ROM10的区域。ECU1将针对ROM删除请求接收过程中的删除指令的接受应答传输到重写单元2,该步骤将在稍后描述(步骤S106)。当重写单元2从ECU1接收针对删除指令的接受应答时,将重写模式转换指令从重写单元2传输到ECU1(步骤S107)。ECU1将针对重写模式转换过程中的重写模式转换指令的接受应答传输到重写单元2,该步骤将在稍后描述。

当重写单元2从ECU1接收针对重写模式转换指令的接受应答时(步骤S108),数据传输指令从重写单元2传输到ECU1(步骤S109)。当接收数据传输指令时,ECU1临时将所述指令保存在接收缓冲区13,之后,将包含在数据传输指令中的数据写到写缓冲区15。在ECU1中,当在写缓冲区15中形成某页的数据时,由ROM写过程执行对ROM10的写。此外,当数据被写入写缓冲区15时,将针对数据传输指令的接受应答从ECU1传输到重写单元2(步骤S110)。重复数据传输指令和其接受应答的通信,直到重写ROM10中数据所需的所有数据被传输完为止。

当为重写ROM10中数据所需的数据,传输最后的数据传输指令并且从ECU1接收针对该指令的接受应答时,重写单元2将数据传输完成指令传输到ECU1(步骤S111)。在ECU1中,响应于所述数据传输完成指令,执行数据传输完成接收过程,并且,如果ROM10中的数据已经完全被重写,那么将接受应答传输到重写单元2(步骤S112)。然后,重写单元2将ECU复位指令传输到ECU1(步骤S113),并且,响应于该ECU复位指令,ECU1被恢复到初始状态,并且将接受应答传输到重写单元2(步骤S114)。

如图5所示,由重写单元2传输到ECU1的数据传输指令由头(header)、指定的地址、字节数和将被传输的数据构成,这些数据以所述顺序排放。所述头表示所述指令是数据传输指令。所述指定的地址是表示ROM10的地址的位置数据,所述ROM10中写入了将要被传输的数据。字节数是一个数据传输单位,并且表示将被传输的数据的字节数。将被传输的数据是将被写入ROM10的数据。

假定由重写单元2的数据传输指令一次传输的数据的大小,即字节数,是A字节,A字节等于或少于n字节,所述n字节对应于将被重写的页,并且n/A的余数是0。A字节不必是常量,但却可以是完全可变的字节数。

如图6所示,当重写单元传输数据传输指令时,以将被重写的页的顺序,首先从存储器21读出与所述A字节对应的数据(步骤S121),并且确定如此读出的与A字节对应的数据的整体是否表示一个初始值(步骤S122)。也就是说,确定A字节的每一条字节数据是否处于其初始值。这里,初始值对应于重写模式转换过程中、在步骤S25中,用于初始化写缓冲区15的整个存储区域的初始值,这将在稍后描述,或者对应于在ROM写过程中、在步骤S56中,用于初始化写缓冲区15的整个存储区域的初始值,这两个过程都是在ECU 1中执行的,并且对于每一个字节,所述初始值例如是十六进制数FF。

如果A字节数据的整体不处于初始值,那么在重写单元2中创建包括已经被读取的A字节数据的数据传输指令,以传输到ECU1(步骤S123)。然后,确定存储于存储器21中的所有重写数据是否已经被读取(步骤S124)。如果重写数据还没有被完全读取,则该流程返回到步骤S121以读取接下来A字节的数据。

另一方面,如果所有已经被读取的A字节数据都处于初始值,那么为了运行程序,绕开步骤S123,跳转到步骤S124。也就是说,所读取的A字节初始值序列数据不被传输到ECU1。因此,当已经被读取的所有A字节数据都处于初始值这种情况出现时,导致将被发送到ECU1的重写数据的地址不连续。这个数据传输指令传输过程对应于重写单元2的传输控制装置。

接下来,将描述ECU1对于重写单元2的操作,所述操作执行上述数据传输操作。

如图7所示,ECU1的CPU执行对包含车载设备的发动机的控制(步骤S1),从重写单元2接收指令(步骤S2),之后,响应于接收到的指令,执行ROM删除请求接收过程(步骤S3)和重写模式转换过程(步骤S4)。当在传输和接收模块12接收到来自重写单元2的指令时,将接收到的指令保留在接收缓冲区13中。要注意:重写模式转换过程对应于写控制装置。

如图8所示,在ROM删除请求接收过程中,CPU3首先确定所接收的指令是否是整个区域删除指令(步骤S11)。因为来自重写单元2的指令具有一个表示指令类型的头,所以可以从指令的头确定所接收的指令的类型。整个区域删除意味着删除引导区域、程序区域和校准区域。如果所接收的指令是整个区域删除指令,那么将整个区域删除请求标记设置为开(即,设置为1)(步骤S12)。如果所接收的指令不是整个区域删除指令,那么确定所接收的指令是否是程序和校准区域两者的删除指令(步骤S13)。如果所接收的指令是程序和校准区域两者的删除指令,那么将程序和校准删除请求标记设置为开(步骤S14)。如果所接收的指令不是程序和校准区域两者的删除指令,那么确定所接收的指令是否是校准区域的删除指令(步骤S15)。如果所接收的指令是校准区域的删除指令,那么将校准删除请求标记设置为开(步骤S16)。当执行步骤S12、S14或者S16时,将接受应答传输到重写单元2(步骤S17)。

如图9所示,在重写模式转换过程中,CPU3首先确定所接收的指令是否是重写模式转换指令(步骤S21)。如果所接收的指令不是重写模式转换指令,则立即终止重写模式转换过程。另一方面,如果所接收的指令是重写模式转换指令,那么将接受应答传输到重写单元2(步骤S22)。然后,CPU3从ROM10读出重写程序,将该程序写入RAM11(步骤S23),并且切换到执行RAM11中的重写程序(步骤S24)。直到步骤S24开始执行,所述CPU3都是根据ROM10的程序运行,现在开始,CPU3根据RAM11中的重写程序运行。此外,初始化写缓冲区15(步骤S25)。即,将写缓冲区15的整个存储区设置为初始值(例如,十六进制数FF)。在执行完步骤S25之后,CPU3重复执行ECU重写控制过程(步骤S26)。

如图10所示,在ECU重写控制过程中,CPU3执行ROM删除过程(步骤S31)和ROM写过程(步骤S32),从重写单元2接收指令(步骤S33),此外,执行传输数据接收过程(步骤S34)和数据传输完成接收过程(步骤S35)。由写模块16执行步骤S31中的ROM删除过程和步骤S32中的ROM写过程。由传输模块14执行步骤S34中的传输数据接收过程和步骤S35中的数据传输完成接收过程。另外,由传输模块14执行步骤S32中的部分ROM写过程(步骤S59至S62,稍后将对其进行描述)。

如图11所示,在ROM删除过程中,CPU3确定删除请求标记是否为开(步骤S41)。在ROM删除请求接收过程中,确定是否有整个区域删除请求标记、程序和校准删除请求标记以及校准删除请求标记中的任何一个为开。如果所述删除请求标记中的任何一个为开,则确定是否已经执行指定区域的删除(步骤S42)。如果关于指定区域中的数据的删除操作还未被执行,则删除指定区域中的数据,所述指定区域由ROM10的删除请求标记中的一个来表示(步骤S43)。另一方面,如果关于指定区域中的数据的删除操作已被执行,则确认对指定区域中数据的删除,所述指定区域由ROM10的删除请求标记中的一个来表示(步骤S44),并且确定是否已经完成数据删除(步骤S45)。如果还未完成指定区域的数据删除,则进行到步骤S43以删除指定区域中的数据。如果已经完成数据删除,则将删除请求标记中的这一个标记设置为开(或者,设置为0)(步骤S46)。

如图12所示,在ROM写过程中,CPU3确定页写请求标记是否为开(步骤S51)。如果该页写请求标记为关,则立即终止ROM写过程,并且在步骤33,从重写单元2接收指令并且该过程转移到对应于所接收指令的传输数据接收过程。

如图13所示,在传输数据接收过程中,CPU3确定接收的指令是否是数据传输指令(步骤S71)。如果接收的指令是数据传输指令,则确定页写请求标记是否为开(步骤S72)。如果页写请求标记为开,由于对应于在写缓冲区15中形成的页的数据还未被写到ROM10,所以将拒绝响应传输到重写单元2(步骤S83)。当接收到拒绝响应时,重写单元2保持于排队状态,直到其接收到接受应答。

另一方面,如果页写请求标记为关,则确定是否已经更新了页开始地址(步骤S73)。如果页开始地址还未被更新,则分别更新页开始地址和页结束地址(步骤S74、S75)。根据数据传输指令中的指定地址,计算并更新页开始地址和页结束地址。另一方面,如果页开始地址已经被更新,则绕过步骤S74和S75,跳转到步骤S76。

在步骤S76,确定在接收的数据传输指令中的指定地址是否在正在执行写操作的页中。如果指定地址是正在执行写操作的页中的地址,则将传输数据写到由指定地址指定的、写缓冲区15的一个位置(步骤S77)。然后,确定写操作是否进行到页末(步骤S78)。如果写操作进行到页末,则将页写请求标记设置为开(步骤S79)。如果写操作未进行到页末,则绕过步骤S79,跳转到步骤S82。

如果在步骤S76中确定的结果指明:所述指定地址不是正在执行写操作的页中的地址,则接收的数据传输指令中的指定地址作为预取地址保留(步骤S80),并且,接收的数据传输指令中的传输数据作为预取数据保留(步骤S81)。预取地址和预取数据可以保留在接收缓冲区13中。然后,该流程进行到步骤S79,以将页写请求标记设置为开。

在执行完步骤S79之后,将接受应答传输到重写单元2(步骤S82)。

在这个传输数据接收过程中,未被写到写缓冲区15的地址部分是这样一个部分,对于该部分,没有数据从重写单元2传输到ECU1,并且在那个部分中的数据仍保持为其初始值。由于未被传输的数据保持为初始值,所以作为步骤S77的结果被写到写缓冲区15的数据与存储在存储器21中的重写数据相等。

此外,如果执行了步骤S79,在执行下一个ROM写过程的步骤S51中,CPU3确定页写请求标记为开。因此,在那种情况下,确定是否已经执行了对ROM10的指定页的数据写操作(步骤S52)。如果对ROM10的指定页的数据写操作还未被执行,则将写缓冲区15中的传输数据写到ROM10的指定页(步骤S53)。当在步骤S53写入传输数据时,ROM写过程结束。

如果已经执行了对ROM10的指定页的数据写操作,则确认ROM10的指定页(步骤S54),并且确定是否已经完成对于指定页的数据写操作(步骤S55)。如果由于写操作错误等等原因而导致数据写操作未被完成,则转移到步骤S53,将写缓冲区15中的传输数据写到ROM10的指定页。另一方面,如果数据写操作已经完成,则初始化写缓冲区15(步骤S56)。在步骤S56,如同在步骤S25,进行将写缓冲区15的整个存储区域设置到初始值的操作。

在执行步骤S56之后,确定是否保留了预取数据(步骤S57)。如果还未保留预取数据,则页写请求标记被重置为关(步骤S58)。如果保留了预取数据,则分别更新页开始地址和页结束地址(步骤S59、S60),将预取数据写到写缓冲区15中的指定地址的位置(步骤S61)。然后,确定写操作是否进行到页末(步骤S62)。如果写操作还未进行到页末,则执行步骤S58,将页写请求标记重置为关。

如图14所示,在数据传输完成过程中,CPU3确定所接收的指令是否是数据传输完成指令(步骤S91)。如果所接收的指令是数据传输完成指令,则确定页写请求标记是否为开(步骤S92)。如果页写请求标记为开,因为将在写缓冲区15中形成的、对应于一页的数据写入ROM10的操作还未完成,所以将拒绝应答传输到重写单元(步骤S93)。

如果在步骤S92确定页写请求标记为关,则确定还未被写到ROM10的数据是否仍保留在写缓冲区15中(步骤S94)。如果未被写的数据保留在写缓冲区15中,则将页写请求标记设置为开(步骤S95),并且,将接受应答传输到重写单元2(步骤S96)。如果未被写的数据不再保留在写缓冲区15中,则绕过步骤S95,跳转到步骤S96,并且将接受应答传输到重写单元2。

假定将被之前所述的ECU1的操作重写的ROM10的页X的内容或者重写前的数据内容是如图15A所示。数据内容用十六进制数表示。此外,一行组成A字节,所述A字节是数据传输单位。通过写缓冲区15的初始化,页X的内容都变成了图15B的左侧所示的初始值FF的序列。假定以对应于页X的方式存储于重写单元2的存储器21中的数据是例如图15B的右侧所示的数据,在第一行的A字节数据被传输,接着,在第二行的A字节数据也被传输。如图15C所示,用传输数据重写写缓冲区15的页X中的第一行和第二行的内容。因为第三行上的A字节数据都是FF,并且与初始值相等,所以不被传输。因此,写缓冲区15的页X中的第三行的内容不被重写并且仍为初始值FF的序列。此外,类似地,第四行的A字节数据被传输,并且用它们重写写缓冲区15的页X中的第四行的内容。因为在存储器21的第五行的A字节数据都是FF,并且与初始值相等,不被传输,所以,写缓冲区15的页X中的第五行的内容不被重写并且仍为初始值FF的序列。结果,写缓冲区15的页X中的数据变为与存储在存储器21中的数据相等,然后,将该数据写到ROM10。

应注意到,虽然在本实施例中,将被重写的ROM10的所有部分都被初始化,但是可以用初始值仅仅替代那些没有数据从重写单元传输到其的部分。

此外,虽然在本实施例中,使用ROM作为其中进行存储数据的重写操作的非易失性存储器,但是也可以使用非易失性RAM或硬盘装置。

因此,如同在这之前已经描述的,根据本发明,重写单元以数据传输指令的方式,通过预定的传输单元,传输重写数据和指定的位置数据,所述指定的位置数据表示对应于由所述预定的传输单元传输的重写数据的、所述非易失性存储器的将被重写的部分,并且,当由所述预定的传输单元传输的重写数据的整体表示初始值时,禁止包含所述重写数据的数据传输指令的传输,并且车载控制单元接收从重写单元传送的数据传输指令,将所接收的每个数据传输指令中的重写数据写到由数据传输指令中的指定的位置数据表示的、非易失性存储器的将被重写的部分,并且,对于不能从数据传输指令获得重写数据的部分,将初始值写到所述非易失性存储器的、将被重写的所有这样的部分。从而,因为能减少从重写单元传输到车载控制单元的数据量,所以,能够实现缩短重写时间。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号