CN101739012B - 汽车电子控制单元及其控制方法和上位机 - Google Patents
汽车电子控制单元及其控制方法和上位机 Download PDFInfo
- Publication number
- CN101739012B CN101739012B CN2009102424731A CN200910242473A CN101739012B CN 101739012 B CN101739012 B CN 101739012B CN 2009102424731 A CN2009102424731 A CN 2009102424731A CN 200910242473 A CN200910242473 A CN 200910242473A CN 101739012 B CN101739012 B CN 101739012B
- Authority
- CN
- China
- Prior art keywords
- command message
- global variable
- message
- electronic control
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明公开了一种汽车电子控制单元及其控制方法和上位机。该方法包括:电子控制单元接收上位机发送的命令报文;判断命令报文中的标定标识,若与本机一致或若不包含标定标识,则识别本机记录的钥匙全局变量是否为命令报文中钥匙全局变量的前驱标识,若是则识别命令报文中的命令类型代码为连接时,产生连接应答报文;将本机记录的钥匙全局变量更新为连接命令报文中的钥匙全局变量,且将连接命令报文中的钥匙全局变量设置在产生的连接应答报文中而后返回给上位机。本发明基于应答模式实现上位机和电子控制单元之间的交互通讯,可以防止数据在传输和擦写等过程中发生的错误,以简单、便捷的技术手段实现了便捷、可靠操作。
Description
技术领域
本发明实施例涉及汽车电子控制技术,尤其涉及一种汽车电子控制单元及其控制方法和上位机。
背景技术
随着现代汽车电子技术的发展,汽车上多装设有各种车载仪表控制显示装置,还装设有多个电子控制单元(Electronic Control Unit,简称ECU),以便分别对汽车的各个部件或功能进行控制。对ECU的标定已成为汽车电子控制装置开发的一个重要环节。大多数ECU都需要经过匹配标定的过程,从而确定其运行参数和控制参数。实现在线标定是标定技术的发展趋势,为了实现在线标定,现有技术提出了对ECU进行便捷、可靠操作的要求。
发明内容
本发明实施例提供一种汽车电子控制单元及其控制方法和上位机,以实现对汽车电子控制单元进行便捷和可靠性高的操作。
本发明实施例提供了一种汽车电子控制单元的控制方法,包括:
步骤101、汽车电子控制单元接收上位机发送的命令报文,并判断所述命令报文中是否存在标定标识,若是,则执行步骤201,若否,则执行步骤301;
步骤201、所述汽车电子控制单元判断所述命令报文中的标定标识是否与本机标识一致,若是,则执行步骤301,若否,则丢弃所述命令报文;
步骤301、所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则执行步骤401,若否,则丢弃所述命令报文;其中,所述钥匙全局变量的状态显示了上位机当前对该汽车电子控制单元进行处理时的进展状态,设置钥匙全局变量为依次递增加一的数值,则某个数值与其递增加一后的数值即互为前驱标识和后继标识;
步骤401、所述汽车电子控制单元识别所述命令报文中的命令类型代码为连接,即所述命令报文为连接命令报文时,根据所述连接命令报文产生连接应答报文;
步骤501、所述汽车电子控制单元将本机记录的钥匙全局变量更新为所述连接命令报文中的钥匙全局变量,且将所述连接命令报文中的钥匙全局变量设置在产生的连接应答报文中,而后将所述连接应答报文返回给所述上位机。
如上所述的控制方法,优选的是采用同一标识作为所述钥匙全局变量和所述命令类型代码,或者采用不同标识分别作为所述钥匙全局变量和所述命令类型代码。
如上所述的控制方法,优选的是在步骤501之后,还包括:
步骤102、汽车电子控制单元接收上位机发送的命令报文,并判断所述命令报文中是否存在标定标识,若是,则执行步骤202,若否,则执行步骤302;
步骤202、所述汽车电子控制单元判断所述命令报文中的标定标识是否与本机标识一致,若是,则执行步骤302,若否,则丢弃所述命令报文;
步骤302、所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则执行步骤402,若否,则丢弃所述命令报文;
步骤402、所述汽车电子控制单元识别所述命令报文中的命令类型代码为地址设置,即所述命令报文为地址设置命令报文时,产生地址设置应答报文,从所述地址设置命令报文中解析获取目标修改地址,并将所述目标修改地址存入全局变量;
步骤502、所述汽车电子控制单元将本机记录的钥匙全局变量更新为所述地址设置命令报文中的钥匙全局变量,且将所述地址设置命令报文中的钥匙全局变量设置在产生的地址设置应答报文中,而后将所述地址设置应答报文返回给所述上位机。
如上所述的控制方法,优选的是在步骤502之后,还包括:
步骤103、汽车电子控制单元接收上位机发送的命令报文,并判断所述命令报文中是否存在标定标识,若是,则执行步骤203,若否,则执行步骤303;
步骤203、所述汽车电子控制单元判断所述命令报文中的标定标识是否与本机标识一致,若是,则执行步骤303,若否,则丢弃所述命令报文;
步骤303、所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则执行步骤403,若否,则丢弃所述命令报文;
步骤403、所述汽车电子控制单元识别所述命令报文中的命令类型代码为参数下载,即所述命令报文为参数下载命令报文时,产生参数下载应答报文,从所述参数下载命令报文中解析获取目标下载参数,并将所述目标下载参数存入全局变量中与所述目标修改地址对应;
步骤503、所述汽车电子控制单元将本机记录的钥匙全局变量更新为所述参数下载命令报文中的钥匙全局变量,且将所述参数下载命令报文中的钥匙全局变量设置在产生的参数下载应答报文中,而后将所述参数下载应答报文返回给所述上位机。
如上所述的控制方法,优选的是在将所述目标下载参数存入全局变量中与所述目标修改地址对应之后,还包括:
所述汽车电子控制单元将所述目标修改地址的下一个待写入地址设置在所述参数下载应答报文中。
如上所述的控制方法,优选的是在步骤503之后,还包括:
步骤104、汽车电子控制单元接收上位机发送的命令报文,并判断所述命令报文中是否存在标定标识,若是,则执行步骤204,若否,则执行步骤304;
步骤204、所述汽车电子控制单元判断所述命令报文中的标定标识是否与本机标识一致,若是,则执行步骤304,若否,则丢弃所述命令报文;
步骤304、所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则执行步骤404,若否,则丢弃所述命令报文;
步骤404、所述汽车电子控制单元识别所述命令报文中的命令类型代码为断开连接,即所述命令报文为断开连接命令报文时,在本机的电可擦只读存储器中查询所述目标修改地址所属的数据扇区,将查询到的数据扇区中的全部数据拷贝至内存中,并擦除所述数据扇区,根据内存中存储的目标修改地址和目标下载参数修改拷贝的数据,将修改后的数据写入所述电可擦只读存储器中,并产生断开连接应答报文;
步骤504、所述汽车电子控制单元将本机记录的钥匙全局变量更新为所述断开连接命令报文中的钥匙全局变量,且将所述断开连接命令报文中的钥匙全局变量设置在产生的断开连接应答报文中,而后将所述断开连接应答报文返回给所述上位机。
如上所述的控制方法,优选的是所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识包括:
所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量减一。
如上所述的控制方法,优选的是若所述汽车电子控制单元识别本机记录的钥匙全局变量不是所述命令报文中钥匙全局变量的前驱标识时,还包括:
所述汽车电子控制单元产生错误应答报文,将错误钥匙全局变量设置在所述错误应答报文中并返回给所述上位机。
如上所述的控制方法,优选的是所述汽车电子控制单元与所述上位机之间交互的报文基于控制器区域网络总线协议实现。
本发明实施例还提供了一种汽车电子控制单元,包括:
命令接收模块,用于接收上位机发送的命令报文;
第一标识判断模块,用于判断所述命令报文中是否存在标定标识,若是,则触发第二标识判断模块,若否,则触发钥匙识别模块;
第二标识判断模块,用于判断所述命令报文中的标定标识是否与本机标识一致,若是,则触发钥匙识别模块,若否,则丢弃所述命令报文;
钥匙识别模块,用于识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则触发命令应答模块,若否,则丢弃所述命令报文;其中,所述钥匙全局变量的状态显示了上位机当前对该汽车电子控制单元进行处理时的进展状态,设置钥匙全局变量为依次递增加一的数值,则某个数值与其递增加一后的数值即互为前驱标识和后继标识;
命令应答模块,包括代码识别单元和连接应答单元,其中,
所述代码识别单元,用于识别所述命令报文中的命令类型代码;
所述连接应答单元,用于识别所述命令类型代码为连接,即所述命令
报文为连接命令报文时,根据所述连接命令报文产生连接应答报文;
应答反馈模块,用于将本机记录的钥匙全局变量更新为所述命令报文中的钥匙全局变量,且将所述命令报文中的钥匙全局变量设置在产生的应答报文中,而后将所述应答报文返回给所述上位机。
如上所述的汽车电子控制单元,优选的是所述命令应答模块还包括:
地址设置单元,用于识别所述命令类型代码为地址设置,即所述命令报文为地址设置命令报文时,产生地址设置应答报文,并从所述地址设置命令报文中解析获取目标修改地址,将所述目标修改地址存入全局变量;
参数下载单元,用于识别所述命令类型代码为参数下载,即所述命令报文为参数下载命令报文时,产生参数下载应答报文,并从所述参数下载命令报文中解析获取参数长度和目标下载参数,根据所述参数长度将所述目标下载参数存入全局变量中与所述目标修改地址对应,且将所述目标修改地址的下一个待写入地址设置在所述应答报文中;
断开连接单元,用于识别所述命令类型代码为断开连接,即所述命令报文为断开连接命令报文时,产生断开连接应答报文;
数据拷贝单元,用于识别所述命令报文为断开连接命令报文时,在本机的电可擦只读存储器中查询所述目标修改地址所属的数据扇区,将查询到的数据扇区中的全部数据拷贝至内存中,并擦除所述数据扇区,根据内存中存储的目标修改地址和目标下载参数修改拷贝的数据,且将修改后的数据写入所述电可擦只读存储器中。
如上所述的汽车电子控制单元,优选的是还包括:
错误反馈模块,用于在所述第二标识判断模块识别出本机记录的钥匙全局变量不是所述命令报文中钥匙全局变量的前驱标识时,产生错误应答报文,且将错误钥匙全局变量设置在所述错误应答报文中并返回给所述上位机。
本发明实施例还提供了一种与汽车电子控制单元交互报文的上位机,包括:
标定命令接收模块,用于接收输入的标定命令;
连接命令模块,用于在识别到输入的标定命令时,产生连接命令报文,根据所述标定命令中指定的汽车电子控制单元标识设置所述连接命令报文中的标定标识,并设置所述连接命令报文的钥匙全局变量为初始标识,而后将所述连接命令报文发送给所述汽车电子控制单元;其中,所述钥匙全局变量的状态显示了上位机当前对该汽车电子控制单元进行处理时的进展状态;
地址指定模块,用于在接收到汽车电子控制单元返回的连接应答报文时产生地址设置命令报文,将所述标定命令中指定的目标修改地址设置在所述地址设置命令报文中,将钥匙全局变量递变为初始标识的后继标识后设置在所述地址设置命令报文中,而后将所述地址设置命令报文发送给所述汽车电子控制单元;其中,设置钥匙全局变量为依次递增加一的数值,则某个数值与其递增加一后的数值即互为前驱标识和后继标识;
参数指定模块,用于在接收到汽车电子控制单元返回的地址设置应答报文时产生参数下载命令报文,将所述标定命令中指定的目标下载参数设置在所述参数下载命令报文中,将钥匙全局变量递变为后继标识后设置在所述参数下载命令报文中,而后将所述参数下载命令报文发送给所述汽车电子控制单元;
断开命令模块,用于在接收到汽车电子控制单元返回的参数下载应答报文时产生断开连接命令报文,将钥匙全局变量递变为后继标识后设置在所述断开连接命令报文中,而后将所述断开连接命令报文发送给所述汽车电子控制单元。
如上所述的上位机,优选的是所述上位机与各汽车电子控制单元通过控制器区域网络总线相连。
分析上述技术方案可知,本发明提供的汽车电子控制单元控制方案,基于应答模式实现上位机和汽车ECU之间的交互通讯,可以防止数据在传输和擦写等过程中发生的错误。汽车ECU会时刻检查钥匙全局变量的状态,防止在操作过程中发生复位重启所导致的操作错误。本发明以简单、便捷的技术手段实现了对汽车ECU实时可靠操作。
附图说明
图1为本发明实施例一提供的汽车电子控制单元的控制方法流程图;
图2为本发明实施例二提供的汽车电子控制单元的控制方法流程图;
图3为本发明实施例三提供的汽车电子控制单元的控制方法流程图;
图4为本发明实施例四提供的汽车电子控制单元的控制方法流程图;
图5为本发明实施例五提供的汽车电子控制单元的控制方法流程图;
图6为本发明实施例六提供的汽车电子控制单元的结构示意图;
图7为本发明实施例七提供的上位机的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的汽车电子控制单元的控制方法流程图。通常汽车中会设置有多个汽车ECU,分别控制各个部件或功能,例如控制发动机、后处理器或发电系统等。本实施例的方法可以应用于通过上位机对汽车中的各个汽车ECU进行实时的操作。上位机通常是具有监控界面的、由操作人员控制的可以输入命令的计算机,上位机与作为下位机的各个汽车ECU交互的报文可以基于控制器区域网络(Controller Area Network,简称CAN)总线协议来实现。本实施例方法由汽车ECU来执行,包括如下步骤:
步骤101、汽车ECU接收上位机发送的命令报文,具体可以是在汽车ECU执行对汽车部件的控制过程中,若接收到上位机发送的命令报文则触发中断程序以执行后续步骤,接收到命令报文后判断命令报文中是否存在标定标识,若是,则执行步骤201,若否则执行步骤301;
步骤201、汽车ECU判断命令报文中的标定标识是否与本机标识一致,若是,则执行步骤301,若否,则丢弃该命令报文;
步骤301、汽车ECU识别本机记录的钥匙全局变量是否为命令报文中钥匙全局变量的前驱标识,若是则执行步骤401,若否,则丢弃该命令报文;
步骤401、汽车ECU识别命令报文中的命令类型代码为连接,即命令报文为连接命令报文时,根据连接命令报文产生连接应答报文;
步骤501、汽车ECU将本机记录的钥匙全局变量更新为连接命令报文中的钥匙全局变量,且将连接命令报文中的钥匙全局变量设置在产生的连接应答报文中,而后将连接应答报文返回给上位机。
本实施例中,汽车ECU和上位机之间交互命令报文和应答报文来实现相应的操作,命令报文中的标定标识和汽车ECU的本机标识均用于在汽车中唯一标识汽车ECU,当汽车ECU识别到该命令报文中的标定标识与本机标识不同时,即意味着该命令报文是提供给其他汽车ECU的,所以应该不予处理。若命令报文中不包含标定标识,则应该继续执行后续步骤来识别钥匙全局变量的状态。
钥匙全局变量的状态显示了上位机当前对该汽车ECU进行处理时的进展状态,在初始时刻钥匙全局变量为初始状态,例如在上电启动初始化或复位重启时,钥匙全局变量复位为初始状态。由于上位机在同一时刻仅能对一个汽车ECU进行操作,所以若钥匙全局变量的状态不为初始状态,意味着当前正在对该汽车ECU进行操作。在建立连接时,上位机可以通过向汽车ECU提供握手信号来确定当前正在操作的汽车ECU。
钥匙全局变量表征当前对汽车ECU操作的进展状态,则可以采用前驱标识和后继标识来显示状态进展,例如,设置钥匙全局变量为依次递增加一的数值,则某个数值与其递增加一后的数值即互为前驱标识和后继标识,所以,汽车ECU识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识的步骤具体可以为:汽车ECU识别本机记录的钥匙全局变量是否为命令报文中钥匙全局变量减一。
钥匙全局变量的前驱后继关系能反映命令的处理进展状态,命令类型代码也同样能够反映当前的处理进展状态,汽车ECU可以将上一次执行的命令类型代码记录在本机中,而后判断本机记录的命令类型代码是否为接收到的命令报文中的命令类型代码的前驱命令。该方案可以采用多种形式实现,例如在汽车ECU中预存序列表,记录命令类型代码之间的前驱后继关系。所以可以采用同一标识作为钥匙全局变量和命令类型代码,或者也可以采用不同标识分别作为钥匙全局变量和命令类型代码。
采用本实施例所提供的汽车汽车ECU的控制方法,基于应答模式实现上位机和汽车ECU之间的交互通讯,可以防止数据在传输和擦写等过程中发生的错误。汽车ECU会时刻检查钥匙全局变量的状态,防止在操作过程中发生复位重启所导致的操作错误。汽车在工作过程中,发动机启动、硬件复位、电磁干扰或程序看门狗等因素都会导致汽车ECU复位重启以便对汽车ECU进行自我保护。当汽车ECU复位重启时会断开与上位机的连接,在重启后可能会漏掉命令报文而导致执行错误。本实施例引入钥匙全局变量可以防止出现上述错误,实现了对汽车ECU的可靠操作。
若汽车ECU识别本机记录的钥匙全局变量不是命令报文中钥匙全局变量的前驱标识时,还可以包括下述步骤:汽车ECU产生错误应答报文,将错误钥匙全局变量设置在错误应答报文中并返回给上位机。通过采用该技术手段,不仅可以避免汽车ECU执行错误的操作,也可以让上位机及时获知操作错误信息,以便重新执行操作。
上位机发送给汽车ECU的命令报文通常可以包括四种命令报文,即:
连接命令报文(CONNECT),用于建立上位机和汽车ECU之间的会话连接。上位机可以设定连接命令报文中的钥匙全局变量(BIAODINGKEY)为“01”;
地址设置命令报文(SET_MAT),用于在汽车ECU中指定需要修改参数的地址,即目标修改地址(MAT)。上位机可以设定地址设置命令报文中的钥匙全局变量为“02”;
参数下载命令报文(DOWNLOAD),用于向汽车ECU中传送指定的参数,即目标下载参数,并与前述的目标修改地址相对应。上位机可以设定参数下载命令报文中的钥匙全局变量为“03”;
断开连接命令报文(DISCONNECT),用于断开上位机与汽车ECU之间的会话连接。上位机可以设定断开连接命令报文中的钥匙全局变量为“04”。
汽车ECU需要顺序执行上述命令,在实施例一中,为汽车ECU首先执行连接命令报文的操作。
在初始时,汽车ECU中的钥匙全局变量初始状态可以默认设置为“0x55”,初始状态相当于是连接命令报文中钥匙全局变量的前驱标识。当接收到连接命令报文时,汽车ECU中的钥匙全局变量更新为与连接命令报文中的钥匙全局变量一致,例如为“01”。
以修改仪表类型汽车ECU中的参数为例进行说明,所发送的连接命令报文可以如表1所示:
表1
其中,报文标识表示该报文在上位机和汽车ECU之间的发送状态,“0XBE5600”表示是由上位机发送至汽车ECU的。数据场中共包括八个字节,高四位均默认为“0X”。第一个字节为命令类型代码,以“0X01”代表“连接”;第二个字节为钥匙全局变量,连接命令报文中的钥匙全局变量为“01”;第三和第四个字节为标定标识,仪表类型汽车ECU的标定标识为“0017”,在第三和第四个字节中采用“intel format”形式倒置放置地址,其他数据可以均采用“motoral format”顺序放置。后四个字节无具体意义,默认为“00”。
基于表1所示的连接命令报文,汽车ECU所产生的连接应答报文可以如表2所示:
表2
报文标识“0XBE5601”表示该报文是从汽车ECU发送至上位机的。数据场中的八个字节,第三个字节为钥匙全局变量,能够正确连接时,汽车ECU会将应答报文中的钥匙全局变量更新为与命令报文中的钥匙全局变量相同;其他字节均为默认值“FF”或“00”。
实施例二
图2为本发明实施例二提供的汽车电子控制单元的控制方法流程图,本实施例可以以实施例一为基础,在步骤501之后,还包括汽车ECU对地址设置命令报文的处理流程,包括如下步骤:
步骤102、汽车ECU接收上位机发送的命令报文,并判断命令报文中是否存在标定标识,若是,则执行步骤202,若否,则执行步骤302;
步骤202、汽车ECU判断命令报文中的标定标识是否与本机标识一致,若是,则执行步骤302,若否,则丢弃该命令报文;
步骤302、汽车ECU识别本机记录的钥匙全局变量是否为命令报文中钥匙全局变量的前驱标识,若是则执行步骤402,若否,则丢弃该命令报文;
步骤402、汽车ECU识别命令报文中的命令类型代码为“地址设置”,即命令报文为地址设置命令报文时,产生地址设置应答报文,从地址设置命令报文中解析获取目标修改地址,并将目标修改地址存入全局变量,汽车ECU在进行修改之前优选采用内存存储全局变量等待修改的数据。
步骤502、汽车ECU将本机记录的钥匙全局变量更新为地址设置命令报文中的钥匙全局变量,且将地址设置命令报文中的钥匙全局变量设置在产生的地址设置应答报文中,而后将地址设置应答报文返回给上位机。
仍以仪表类型的汽车ECU为例,地址设置命令报文如表3所示:
表3
与表1中区别的是,数据场中的八个字节,第一个字节的命令类型代码为“02”,表示为“地址设置”;第二个字节的钥匙全局变量为“02”;第三和第四个字节默认为“00”,第七和第八为目标修改地址“1400”。
汽车ECU根据地址设置命令报文返回的地址设置应答报文如表4所示:
表4
各数据值的含义与表2中数据类似,其中,第三个字节的钥匙全局变量已经更新为“02”。
实施例三
图3为本发明实施例三提供的汽车电子控制单元的控制方法流程图,本实施例可以以实施例二为基础,在步骤502之后,还包括汽车ECU对参数下载命令报文的处理流程,包括如下步骤:
步骤103、汽车ECU接收上位机发送的命令报文,并判断该命令报文中是否存在标定标识,若是,则执行步骤203,若否,则执行步骤303;
步骤203、汽车ECU判断该命令报文中的标定标识是否与本机标识一致,若是,则执行步骤303,若否,则丢弃该命令报文;
步骤303、汽车ECU识别本机记录的钥匙全局变量是否为命令报文中钥匙全局变量的前驱标识,若是则执行步骤403,若否,则丢弃该命令报文;
步骤403、汽车ECU识别命令报文中的命令类型代码为“参数下载”,即命令报文为参数下载命令报文时,产生参数下载应答报文,从参数下载命令报文中解析获取目标下载参数,并将目标下载参数存入全局变量中与目标修改地址对应,其中,还可以从参数下载命令报文中解析获取参数长度,根据参数长度存入目标下载参数;
步骤503、汽车ECU将本机记录的钥匙全局变量更新为参数下载命令报文中的钥匙全局变量,且将参数下载命令报文中的钥匙全局变量设置在产生的参数下载应答报文中,而后将参数下载应答报文返回给上位机。
在将目标下载参数存入全局变量中与目标修改地址对应之后,优选的是汽车ECU还可以将目标修改地址的下一个待写入地址设置在参数下载应答报文中。下一个待写入地址是存储全局变量的内存中下一个可以供写入的地址。
仍以仪表类型的汽车ECU为例,参数下载命令报文如表5所示:
表5
其中,数据场中的第一个字节命令类型代码设置为“03”,表示“参数下载”;第二个字节钥匙全局变量设置为“03”;第三个字节用于设置待下载参数长度“01”;第七和第八个字节用于设置目标下载参数“0011”。
汽车ECU基于参数下载命令报文返回的参数下载应答报文如表6所示:
表6
数据场中第三个字节为钥匙全局变量“03”;第七和第八个字节为下一个待写入地址“1401”。
实施例四
图4为本发明实施例四提供的汽车电子控制单元的控制方法流程图,本实施例可以以实施例三为基础,在步骤503之后,还包括汽车ECU对断开连接命令报文的处理流程,包括如下步骤:
步骤104、汽车ECU接收上位机发送的命令报文,并判断命令报文中是否存在标定标识,若是,则执行步骤204,若否,则执行步骤304;
步骤204、汽车ECU判断命令报文中的标定标识是否与本机标识一致,若是,则执行步骤304,若否,则丢弃该命令报文;
步骤304、汽车ECU识别本机记录的钥匙全局变量是否为命令报文中钥匙全局变量的前驱标识,若是则执行步骤404,若否,则丢弃该命令报文;
步骤404、汽车ECU识别命令报文中的命令类型代码为“断开连接”,即命令报文为断开连接命令报文时,在本机的电可擦只读存储器(Electronically Erasable Read-Only Memory,简称EEROM)中查询目标修改地址所属的数据扇区(SECTOR),数据扇区是EEROM中可以独立擦除的物理数据块单位,将查询到的数据扇区中的全部数据拷贝至内存中,并从EEROM中擦除该数据扇区,根据内存中存储的目标修改地址和目标下载参数修改拷贝的数据,将修改后的数据写入EEROM中,并产生断开连接应答报文;
步骤504、汽车ECU将本机记录的钥匙全局变量更新为断开连接命令报文中的钥匙全局变量,且将断开连接命令报文中的钥匙全局变量设置在产生的断开连接应答报文中,而后将断开连接应答报文返回给上位机。
上述拷贝的过程中,内存是随机存取存储器(Random Access Memory,简称RAM)中的存储空间,上位机对汽车ECU的数据修改可以暂时存储在RAM中。当断开连接时再根据RAM中的修改数据修改EEROM中的数据。由于EEROM中的数据不能独立修改,必须是整个数据扇区进行擦除和写入,所以先将EEROM中包含待修改数据的数据扇区拷贝至RAM中,在RAM中修改相应数据后再复制回EEROM中。在上述技术方案的基础上,进一步可以采用计数器的手段,在进行拷贝之前,首先判断接收到的断开连接命令报文中的计数器(COUNTER,简称CTR)是否为本地记录的CTR加一,若是,则继续执行后续步骤,同时将本机记录的CTR加一。在上位机一侧会在每次执行一次数据修改后将计数值加一,同步修改的计数值可以作为进一步保证数据修改同步的手段。
仍以仪表类型的汽车ECU为例,断开连接命令报文如表7所示:
表7
其中,数据场中的第一个字节命令类型代码为“07”,代表“断开连接”;第二个字节钥匙全局变量为“04”;第五和第六个字节代表标定标识“0017”;其他字节默认为“00”。
汽车ECU基于断开连接命令报文产生的断开连接应答报文如表8所示:
表8
断开连接应答报文的数据场中,第三个字节的钥匙全局变量为“04”,其他字节为默认值。
对于上述步骤识别到错误时所产生的错误钥匙全局变量,则可以在错误应答报文中为钥匙全局变量赋于默认错误值,例如数据场的八个字节可以设置为“0XFF 0X220X450X000X000X000X000X00”。
在标定过程中,上位机发送CAN协议报文的通信速率为大于或等于20ms/帧,具体待标定数据的格式和相应信息可以如表9所示,但并不限于下述数据:
表9
除了上述对于仪表类型汽车ECU中“1401”地址中数据进行修改之外,基于燃油箱容积值修改所交互的命令报文和应答报文如下表10~13所示,其中燃油箱对应汽车ECU的标定标识仍为“0017”,燃油箱容积所对应参数的目标修改地址为“1401”,目标下载参数的长度为“02”,参数为“0355”:
表10连接命令报文和连接应答报文
表11地址设置命令报文和地址设置应答报文
表12参数下载命令报文和参数下载应答报文
表13断开连接命令报文和断开连接应答报文
基于燃油-催化剂比例修改所交互的命令报文和应答报文如下表14~17所示,其中对应汽车ECU的标定标识为“0017”,比例值所对应参数的目标修改地址为“1405”,目标下载参数的长度为“01”,参数为“0014”:
表14连接命令报文和连接应答报文
表15地址设置命令报文和地址设置应答报文
表16参数下载命令报文和参数下载应答报文
表17断开连接命令报文和断开连接应答报文
基于尿素报警液位百分比修改所交互的命令报文和应答报文如下表18~21所示,其中对应汽车ECU的标定标识为“0017”,比例值所对应参数的目标修改地址为“1409”,目标下载参数的长度为“01”,参数为“000A”:
表18连接命令报文和连接应答报文
表19地址设置命令报文和地址设置应答报文
表20参数下载命令报文和参数下载应答报文
表21断开连接命令报文和断开连接应答报文
本实施例的控制方法可以实现的实时修改任务是在中断函数中完成设计,可以制定具体的通信协议和数据实时修改流程。主要实现的功能是对汽车ECU进行数据的实时修改。基于应答模式实现的数据实时修改,在汽车ECU内部,通过CAN总线通讯收到相应的数据后,汽车ECU根据协议对相应数据进行解析。在标定过程中如果通讯成功,则会返回相应的数据帧。
能够进行实时修改的数据典型的可以包括:仪表类型、燃油箱容积、尿素报警液位百分比三个具体的标定应答过程,其他还可以包括催化剂箱容积、百公里油耗、燃油-催化剂比例、油箱空数字量(AD)值、油箱满AD值和油箱1/2AD值等数据的标定应答过程。当然,实际应用中并不限于对上述数据的修改,还可以为任意汽车ECU中的数据实时修改,以便进行在线标定等操作。
本发明所提供的控制方法尤其适应于汽车电控系统进行标定操作。经过多次不断的实时修改来调试,监控每次参数改变后对系统的影响,可以优化汽车ECU运行参数和控制参数,并可以针对不同用户需求提供不同的定制功能。该方法应用于标定系统操作时具有简单可靠、通用性好、对不同硬件与不同需求适应性强的特点,因此有很好的开发应用前景。
实施例五
图5为本发明实施例五提供的汽车电子控制单元的控制方法流程图,本实施例可以基于上述实施例来实现,对于任意一个汽车ECU,其控制方法可以包括如下流程:
步骤1、汽车ECU判断本机的EEROM中是否包含标定数据,若是,则执行步骤3,若否,则执行步骤2;
步骤2、汽车ECU将默认数据写入EEROM的标定数据中,而后执行步骤4;
步骤3、汽车ECU将EEROM中的标定数据复制到内存RAM中从而对RAM进行初始化设置以便使RAM能够正常工作,而后执行步骤4。RAM在上电时也可以采用其他默认数据进行初始化;
步骤4、汽车ECU根据EEROM中的标定数据对汽车中的相应部件执行常规的控制,即汽车ECU的主循环操作,当汽车ECU接收到CAN协议命令报文时,在主循环中设置中断标志位,触发中断程序,执行步骤5;
步骤5、汽车ECU判断命令报文中是否存在标定标识,若是,则执行步骤6,若否,则执行步骤7;
步骤6、汽车ECU判断命令报文中的标定标识是否与本机标识一致,若是,则执行步骤7,若否,则丢弃该命令报文;
步骤7、汽车ECU识别本机记录的钥匙全局变量是否为命令报文中钥匙全局变量的前驱标识,若是则执行步骤8,若否,则丢弃该命令报文;
步骤8、汽车ECU识别命令报文中的命令类型代码,根据命令报文进行操作并产生应答报文,具体的可以根据命令报文的类型执行实施例一~实施例四中步骤401、402、403和404中所描述的各项操作;
步骤9、汽车ECU将本机记录的钥匙全局变量更新为命令报文中的钥匙全局量,且将命令报文中的钥匙全局变量设置在产生的应答报文中,而后将应答报文返回给上位机;
步骤10、汽车ECU清中断标志位,退出中断,返回步骤4执行主循环。
本实施例的方法具有简单可靠、通用性好、对不同硬件与不同需求适应性强的优点。
实施例六
图6为本发明实施例六提供的汽车电子控制单元的结构示意图,该汽车ECU包括:命令接收模块90、第一标识判断模块100、第二标识判断模块20、钥匙识别模块30、命令应答模块40和应答反馈模块50。其中,命令接收模块90用于接收上位机发送的命令报文。第一标识判断模块100用于判断命令报文中是否存在标定标识,若是,则触发第二标识判断模块20,若否,则触发钥匙识别模块30。第二标识判断模块20用于判断命令报文中的标定标识是否与本机标识一致,若是,则触发钥匙识别模块30,若否,则丢弃该命令报文。钥匙识别模块30用于识别本机记录的钥匙全局变量是否为命令报文中钥匙全局变量的前驱标识,若是则触发命令应答模块40,若否,则丢弃该命令报文。命令应答模块40用于识别命令报文中的命令类型代码,根据命令报文进行操作并产生应答报文。具体的,命令应答模块40包括代码识别单元41和连接应答单元42,其中,代码识别单元41用于识别命令报文中的命令类型代码;连接应答单元42用于识别命令类型代码为连接,即命令报文为连接命令报文时,根据连接命令报文产生连接应答报文。应答反馈模块50用于将本机记录的钥匙全局变量更新为命令报文中的钥匙全局变量,且将命令报文中的钥匙全局变量设置在产生的应答报文中,而后将应答报文返回给上位机。对于处理连接应答报文的流程而言,应答反馈模块50处理的应答报文即相应地为连接应答报文。
具体地,该命令应答模块40还可以包括:地址设置单元43、参数下载单元44、断开连接单元45和数据拷贝单元46。其中,地址设置单元43用于识别命令类型代码为地址设置,即命令报文为地址设置命令报文时,产生地址设置应答报文,并从地址设置命令报文中解析获取目标修改地址,将目标修改地址存入全局变量;参数下载单元44用于识别命令类型代码为参数下载,即命令报文为参数下载命令报文时,产生参数下载应答报文,并从参数下载命令报文中解析获取参数长度和目标下载参数,根据参数长度将目标下载参数存入全局变量中与目标修改地址对应,且将目标修改地址的下一个待写入地址设置在应答报文中;断开连接单元45用于识别命令类型代码为断开连接,即命令报文为断开连接命令报文时,产生断开连接应答报文;数据拷贝单元46用于识别命令报文为断开连接命令报文时,在本机的电可擦只读存储器中查询目标修改地址所属的数据扇区,将查询到的数据扇区中的全部数据拷贝至内存中,并擦除数据扇区,根据内存中存储的目标修改地址和目标下载参数修改拷贝的数据,且将修改后的数据写入电可擦只读存储器中。
进一步的,该汽车电子控制单元还可以包括:错误反馈模块。错误反馈模块用于在第二标识判断模块识别出本机记录的钥匙全局变量不是命令报文中钥匙全局变量的前驱标识时,产生错误应答报文,且将错误钥匙全局变量设置在错误应答报文中并返回给上位机。
本实施例的汽车电子控制单元可以执行本发明各实施例所提供的汽车电子控制单元的控制方法,具备相应的功能模块,以便以应答模式对汽车ECU进行实时数据修改,简化修改过程,且降低错误发生概率,提高实时操作的可靠性。
实施例七
图7为本发明实施例七提供的上位机的结构示意图,汽车电子控制系统可以包括本发明任意实施例所提供的汽车电子控制单元80和上位机70。其中上位机70包括:标定命令接收模块71、连接命令模块72、地址指定模块73、参数指定模块74和断开命令模块75。其中,标定命令接收模块71用于接收操作人员输入的标定命令,具体可以为按钮、按键和触摸屏等形式;连接命令模块72用于在识别到输入的标定命令时,产生连接命令报文,根据标定命令中指定的汽车ECU标识设置连接命令报文中的标定标识,并设置连接命令报文的钥匙全局变量为初始标识,而后将连接命令报文发送给汽车ECU 80;地址指定模块73用于在接收到汽车ECU 80返回的连接应答报文时产生地址设置命令报文,将标定命令中指定的目标修改地址设置在地址设置命令报文中,将钥匙全局变量递变为初始标识的后继标识后设置在地址设置命令报文中,而后将地址设置命令报文发送给汽车ECU 80,后继标识与前驱标识为成对出现的能够表示前后关系的概念,例如递增加一的钥匙全局变量即互为前驱和后继标识;参数指定模块74用于在接收到汽车ECU 80返回的地址设置应答报文时产生参数下载命令报文,将标定命令中指定的目标下载参数设置在参数下载命令报文中,将钥匙全局变量递变为后继标识后设置在参数下载命令报文中,而后将参数下载命令报文发送给汽车ECU 80;断开命令模块75用于在接收到汽车ECU 80返回的参数下载应答报文时产生断开连接命令报文,将钥匙全局变量递变为后继标识后设置在断开连接命令报文中,而后将断开连接命令报文发送给汽车ECU 80。
在汽车电子控制系统,汽车ECU的数量为一个以上,优选的是上位机与各汽车ECU通过CAN总线相连。
本实施例中,上位机即可以用于标定系统程序,主要按照以下顺序进行:首先是CAN总线初始化,上位机要对CAN总线参数进行设置,需要对CAN通道和总线波特率进行设置,使得上位机与下位机的编程一致,启动软件(Go on Bus)控制上位机与CAN总线的连接,当设置完毕,软件与CAN总线进行连接,“bus status”状态灯将由红色变成黄色表示连接成功;其次是监控界面,上位机对汽车ECU进行运行数据实时监控,当下位机将相关数据发送到上位机,监控界面将实时的显示该数据状态;再次是标定下载,可以设置了数个标定按钮作为标定命令接收模块,通过CAN总线匹配标定协议(CAN Calibration Protocol,简称CCP)对下位机汽车ECU进行标定,需要对数据进行标定时,只需点击相关按钮即实现对下位机标定数据的发送,最后系统会通过提示框显示标定是否成功。
本实施例的上位机可以实现对汽车中汽车ECU数据的在线实时修改,通过设置钥匙全局变量的技术手段避免命令操作出错,其操作便捷,且可靠性高。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种汽车电子控制单元的控制方法,其特征在于,包括:
步骤101、汽车电子控制单元接收上位机发送的命令报文,并判断所述命令报文中是否存在标定标识,若是,则执行步骤201,若否,则执行步骤301;
步骤201、所述汽车电子控制单元判断所述命令报文中的标定标识是否与本机标识一致,若是,则执行步骤301,若否,则丢弃所述命令报文;
步骤301、所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则执行步骤401,若否,则丢弃所述命令报文,其中,所述钥匙全局变量的状态显示了上位机当前对该汽车电子控制单元进行处理时的进展状态,设置钥匙全局变量为依次递增加一的数值,则某个数值与其递增加一后的数值即互为前驱标识和后继标识;
步骤401、所述汽车电子控制单元识别所述命令报文中的命令类型代码为连接,即所述命令报文为连接命令报文时,根据所述连接命令报文产生连接应答报文;
步骤501、所述汽车电子控制单元将本机记录的钥匙全局变量更新为所述连接命令报文中的钥匙全局变量,且将所述连接命令报文中的钥匙全局变量设置在产生的连接应答报文中,而后将所述连接应答报文返回给所述上位机。
2.根据权利要求1所述的控制方法,其特征在于:
采用同一标识作为所述钥匙全局变量和所述命令类型代码。
3.根据权利要求1所述的控制方法,其特征在于:
采用不同标识分别作为所述钥匙全局变量和所述命令类型代码。
4.根据权利要求1所述的控制方法,其特征在于,在步骤501之后,还包括:
步骤102、汽车电子控制单元接收上位机发送的命令报文,并判断所述命令报文中是否存在标定标识,若是,则执行步骤202,若否,则执行步骤302;
步骤202、所述汽车电子控制单元判断所述命令报文中的标定标识是否与本机标识一致,若是,则执行步骤302,若否,则丢弃所述命令报文;
步骤302、所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则执行步骤402,若否,则丢弃所述命令报文;
步骤402、所述汽车电子控制单元识别所述命令报文中的命令类型代码为地址设置,即所述命令报文为地址设置命令报文时,产生地址设置应答报文,从所述地址设置命令报文中解析获取目标修改地址,并将所述目标修改地址存入全局变量;
步骤502、所述汽车电子控制单元将本机记录的钥匙全局变量更新为所述地址设置命令报文中的钥匙全局变量,且将所述地址设置命令报文中的钥匙全局变量设置在产生的地址设置应答报文中,而后将所述地址设置应答报文返回给所述上位机。
5.根据权利要求4所述的控制方法,其特征在于,在步骤502之后,还包括:
步骤103、汽车电子控制单元接收上位机发送的命令报文,并判断所述命令报文中是否存在标定标识,若是,则执行步骤203,若否,则执行步骤303;
步骤203、所述汽车电子控制单元判断所述命令报文中的标定标识是否与本机标识一致,若是,则执行步骤303,若否,则丢弃所述命令报文;
步骤303、所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则执行步骤403,若否,则丢弃所述命令报文;
步骤403、所述汽车电子控制单元识别所述命令报文中的命令类型代码为参数下载,即所述命令报文为参数下载命令报文时,产生参数下载应答报文,从所述参数下载命令报文中解析获取目标下载参数,并将所述目标下载参数存入全局变量中与所述目标修改地址对应;
步骤503、所述汽车电子控制单元将本机记录的钥匙全局变量更新为所述参数下载命令报文中的钥匙全局变量,且将所述参数下载命令报文中的钥匙全局变量设置在产生的参数下载应答报文中,而后将所述参数下载应答报文返回给所述上位机。
6.根据权利要求5所述的控制方法,其特征在于,在将所述目标下载参数存入全局变量中与所述目标修改地址对应之后,还包括:
所述汽车电子控制单元将所述目标修改地址的下一个待写入地址设置在所述参数下载应答报文中。
7.根据权利要求5所述的控制方法,其特征在于,在步骤503之后,还包括:
步骤104、汽车电子控制单元接收上位机发送的命令报文,并判断所述命令报文中是否存在标定标识,若是,则执行步骤204,若否,则执行步骤304;
步骤204、所述汽车电子控制单元判断所述命令报文中的标定标识是否与本机标识一致,若是,则执行步骤304,若否,则丢弃所述命令报文;
步骤304、所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则执行步骤404,若否,则丢弃所述命令报文;
步骤404、所述汽车电子控制单元识别所述命令报文中的命令类型代码为断开连接,即所述命令报文为断开连接命令报文时,在本机的电可擦只读存储器中查询所述目标修改地址所属的数据扇区,将查询到的数据扇区中的全部数据拷贝至内存中,并擦除所述数据扇区,根据内存中存储的目标修改地址和目标下载参数修改拷贝的数据,将修改后的数据写入所述电可擦只读存储器中,并产生断开连接应答报文;
步骤504、所述汽车电子控制单元将本机记录的钥匙全局变量更新为所述断开连接命令报文中的钥匙全局变量,且将所述断开连接命令报文中的钥匙全局变量设置在产生的断开连接应答报文中,而后将所述断开连接应答报文返回给所述上位机。
8.根据权利要求1所述的控制方法,其特征在于,所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识包括:
所述汽车电子控制单元识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量减一。
9.根据权利要求1~7任一所述的控制方法,其特征在于,若所述汽车电子控制单元识别本机记录的钥匙全局变量不是所述命令报文中钥匙全局变量的前驱标识时,还包括:
所述汽车电子控制单元产生错误应答报文,将错误钥匙全局变量设置在所述错误应答报文中并返回给所述上位机。
10.根据权利要求1~7任一所述的控制方法,其特征在于:所述汽车电子控制单元与所述上位机之间交互的报文基于控制器区域网络总线协议实现。
11.一种汽车电子控制单元,其特征在于,包括:
命令接收模块,用于接收上位机发送的命令报文;
第一标识判断模块,用于判断所述命令报文中是否存在标定标识,若是,则触发第二标识判断模块,若否,则触发钥匙识别模块;
第二标识判断模块,用于判断所述命令报文中的标定标识是否与本机标识一致,若是,则触发钥匙识别模块,若否,则丢弃所述命令报文;
钥匙识别模块,用于识别本机记录的钥匙全局变量是否为所述命令报文中钥匙全局变量的前驱标识,若是则触发命令应答模块,若否,则丢弃所述命令报文,其中,所述钥匙全局变量的状态显示了上位机当前对该汽车电子控制单元进行处理时的进展状态,设置钥匙全局变量为依次递增加一的数值,则某个数值与其递增加一后的数值即互为前驱标识和后继标识;
命令应答模块,包括代码识别单元和连接应答单元,其中,
所述代码识别单元,用于识别所述命令报文中的命令类型代码;
所述连接应答单元,用于识别所述命令类型代码为连接,即所述命
令报文为连接命令报文时,根据所述连接命令报文产生连接应答报文;
应答反馈模块,用于将本机记录的钥匙全局变量更新为所述命令报文中的钥匙全局变量,且将所述命令报文中的钥匙全局变量设置在产生的应答报文中,而后将所述应答报文返回给所述上位机。
12.根据权利要求11所述的汽车电子控制单元,其特征在于,所述命令应答模块还包括:
地址设置单元,用于识别所述命令类型代码为地址设置,即所述命令报文为地址设置命令报文时,产生地址设置应答报文,并从所述地址设置命令报文中解析获取目标修改地址,将所述目标修改地址存入全局变量;
参数下载单元,用于识别所述命令类型代码为参数下载,即所述命令报文为参数下载命令报文时,产生参数下载应答报文,并从所述参数下载命令报文中解析获取参数长度和目标下载参数,根据所述参数长度将所述目标下载参数存入全局变量中与所述目标修改地址对应,且将所述目标修改地址的下一个待写入地址设置在所述应答报文中;
断开连接单元,用于识别所述命令类型代码为断开连接,即所述命令报文为断开连接命令报文时,产生断开连接应答报文;
数据拷贝单元,用于识别所述命令报文为断开连接命令报文时,在本机的电可擦只读存储器中查询所述目标修改地址所属的数据扇区,将查询到的数据扇区中的全部数据拷贝至内存中,并擦除所述数据扇区,根据内存中存储的目标修改地址和目标下载参数修改拷贝的数据,且将修改后的数据写入所述电可擦只读存储器中。
13.根据权利要求11或12所述的汽车电子控制单元,其特征在于,还包括:
错误反馈模块,用于在所述第二标识判断模块识别出本机记录的钥匙全局变量不是所述命令报文中钥匙全局变量的前驱标识时,产生错误应答报文,且将错误钥匙全局变量设置在所述错误应答报文中并返回给所述上位机。
14.一种与汽车电子控制单元交互报文的上位机,其特征在于,包括:
标定命令接收模块,用于接收输入的标定命令;
连接命令模块,用于在识别到输入的标定命令时,产生连接命令报文,根据所述标定命令中指定的汽车电子控制单元标识设置所述连接命令报文中的标定标识,并设置所述连接命令报文的钥匙全局变量为初始标识,而后将所述连接命令报文发送给汽车电子控制单元,其中,所述钥匙全局变量的状态显示了上位机当前对该汽车电子控制单元进行处理时的进展状态;
地址指定模块,用于在接收到汽车电子控制单元返回的连接应答报文时产生地址设置命令报文,将所述标定命令中指定的目标修改地址设置在所述地址设置命令报文中,将钥匙全局变量递变为初始标识的后继标识后设置在所述地址设置命令报文中,而后将所述地址设置命令报文发送给所述汽车电子控制单元,其中,设置钥匙全局变量为依次递增加一的数值,则某个数值与其递增加一后的数值即互为前驱标识和后继标识;
参数指定模块,用于在接收到汽车电子控制单元返回的地址设置应答报文时产生参数下载命令报文,将所述标定命令中指定的目标下载参数设置在所述参数下载命令报文中,将钥匙全局变量递变为后继标识后设置在所述参数下载命令报文中,而后将所述参数下载命令报文发送给所述汽车电子控制单元;
断开命令模块,用于在接收到汽车电子控制单元返回的参数下载应答报文时产生断开连接命令报文,将钥匙全局变量递变为后继标识后设置在所述断开连接命令报文中,而后将所述断开连接命令报文发送给所述汽车电子控制单元。
15.根据权利要求14所述的上位机,其特征在于:所述上位机与各汽车电子控制单元通过控制器区域网络总线相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102424731A CN101739012B (zh) | 2009-12-14 | 2009-12-14 | 汽车电子控制单元及其控制方法和上位机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102424731A CN101739012B (zh) | 2009-12-14 | 2009-12-14 | 汽车电子控制单元及其控制方法和上位机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101739012A CN101739012A (zh) | 2010-06-16 |
CN101739012B true CN101739012B (zh) | 2011-08-10 |
Family
ID=42462580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102424731A Active CN101739012B (zh) | 2009-12-14 | 2009-12-14 | 汽车电子控制单元及其控制方法和上位机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101739012B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5918004B2 (ja) * | 2012-04-27 | 2016-05-18 | 株式会社東海理化電機製作所 | 電子キー登録システム |
CN102749912B (zh) * | 2012-06-25 | 2015-07-08 | 湖北航天技术研究院特种车辆技术中心 | 一种自动变速器电控单元的标定方法及标定系统 |
CN103020865A (zh) * | 2012-11-23 | 2013-04-03 | 深圳市元征科技股份有限公司 | 一种汽车发动机个性化定制系统及方法 |
CN103856288B (zh) * | 2012-12-04 | 2017-06-06 | 北汽福田汽车股份有限公司 | 用于汽车的can通讯信号校验与传输方法和系统 |
CN103019792A (zh) * | 2012-12-21 | 2013-04-03 | 北京经纬恒润科技有限公司 | 一种应用程序的重编程方法及系统 |
CN103746843A (zh) * | 2013-12-31 | 2014-04-23 | 百度在线网络技术(北京)有限公司 | 一种用于处理rpc命令的方法与设备 |
CN105374083B (zh) * | 2015-10-23 | 2018-06-26 | 深圳市元征软件开发有限公司 | 车辆识别方法及装置 |
CN106375175B (zh) * | 2016-11-18 | 2020-10-16 | 广州汽车集团股份有限公司 | 一种汽车诊断刷写电子控制单元的方法及系统 |
CN106850798B (zh) * | 2017-01-24 | 2020-09-08 | 南京越博动力系统股份有限公司 | 一种基于远程无线控制的汽车监控、诊断和标定的方法及系统 |
GB2571779A (en) * | 2018-03-09 | 2019-09-11 | Supply Point Systems Ltd | A method of configuring a storage system |
CN111443683B (zh) * | 2018-12-29 | 2022-12-02 | 北京奇虎科技有限公司 | 基于车辆can总线结构的电子控制单元测试方法及装置 |
CN110727536A (zh) * | 2019-10-09 | 2020-01-24 | 上海元城汽车技术有限公司 | 控制器自检方法、装置、计算机设备和可读存储介质 |
CN113805559A (zh) * | 2020-06-17 | 2021-12-17 | 北京新能源汽车股份有限公司 | 一种控制参数处理方法、装置及设备 |
CN114513475B (zh) * | 2022-02-15 | 2024-03-19 | 一汽解放汽车有限公司 | 报文交互方法、装置、控制器、存储介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003042573A2 (de) * | 2001-11-10 | 2003-05-22 | Luk Lamellen Und Kupplungsbau Beteiligungs Kg | Fahrzeugsysteme |
CN1422360A (zh) * | 2000-04-04 | 2003-06-04 | 罗伯特-博希股份公司 | 汽车驱动装置的控制方法及装置 |
CN101055228A (zh) * | 2007-05-31 | 2007-10-17 | 上海依波尔汽车电子有限公司 | 基于k线的电控发动机故障诊断系统 |
CN101334662A (zh) * | 2008-07-25 | 2008-12-31 | 重庆邮电大学 | 基于asap标准的汽车电控单元标定系统及方法 |
CN101332818A (zh) * | 2008-07-25 | 2008-12-31 | 重庆邮电大学 | 汽车电子控制单元通用标定装置 |
-
2009
- 2009-12-14 CN CN2009102424731A patent/CN101739012B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1422360A (zh) * | 2000-04-04 | 2003-06-04 | 罗伯特-博希股份公司 | 汽车驱动装置的控制方法及装置 |
WO2003042573A2 (de) * | 2001-11-10 | 2003-05-22 | Luk Lamellen Und Kupplungsbau Beteiligungs Kg | Fahrzeugsysteme |
CN101055228A (zh) * | 2007-05-31 | 2007-10-17 | 上海依波尔汽车电子有限公司 | 基于k线的电控发动机故障诊断系统 |
CN101334662A (zh) * | 2008-07-25 | 2008-12-31 | 重庆邮电大学 | 基于asap标准的汽车电控单元标定系统及方法 |
CN101332818A (zh) * | 2008-07-25 | 2008-12-31 | 重庆邮电大学 | 汽车电子控制单元通用标定装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101739012A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101739012B (zh) | 汽车电子控制单元及其控制方法和上位机 | |
CN107562513B (zh) | 一种基于java的智能合约生命周期的管理方法 | |
US8131827B2 (en) | PLC with web-accessible program development software | |
EP1351108B1 (en) | Method and apparatus for programming | |
US5513324A (en) | Method and apparatus using network variables in a multi-node network | |
CN103942061B (zh) | 电池固件更新方法、便携式电子装置及充电电池模块 | |
CN107820603A (zh) | 一种固件更新方法及控制器 | |
CN110134415A (zh) | 一种控制器及其软件升级方法和装置 | |
CN108958787B (zh) | 区块链系统升级方法、装置、设备及存储介质 | |
CN109522033B (zh) | 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法 | |
CN111381844A (zh) | 更新车辆ecu固件的方法及装置 | |
CN102314369A (zh) | 一种远程在线监控系统中设备自升级方法 | |
CN109002310A (zh) | 固件升级方法 | |
CN102602811B (zh) | 一种起重机gps终端防拆除的方法、装置及系统 | |
JPH10171681A (ja) | オブジェクト指向装置管理システム | |
CN109189445A (zh) | 一种物联网设备程序升级的方法 | |
CN112698857B (zh) | 一种数据刷写的方法及设备 | |
CN110780909A (zh) | 分布式嵌入式系统升级方法及装置 | |
US6925365B2 (en) | Flash loader for vehicle electronic control units | |
CN109309592A (zh) | 远程升级plc固件的方法和装置 | |
CN108510287A (zh) | 客户回访的判断方法、电子装置及计算机可读存储介质 | |
CN101593123A (zh) | 闪存烧录插件的固化方法以及终端设备 | |
CN103862880B (zh) | 成像设备、成像盒和验证方法 | |
CN100359485C (zh) | 嵌入式系统的测试装置及测试方法 | |
JP2007269181A (ja) | 車両の電子制御システムの車両情報の設定方法 |
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 |