欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 一种基于CCP或XCP协议的控制方法独创技术27425字

一种基于CCP或XCP协议的控制方法

2021-02-01 00:57:47

一种基于CCP或XCP协议的控制方法

  技术领域

  本发明涉及汽车领域,具体涉及汽车的电子控制装置的通讯及控制。

  背景技术

  随着技术的发展,当前的汽车广泛采用电子控制装置(Electronic ControlUnit, ECU)用于车辆各种部件的控制。为了解决汽车中大量电子控制装置之间的通讯和减少不断增加的信号线,车辆采取了控制器局域网络(Controller Area Network, CAN)总线来实现车载电子控制系统的通讯和控制。

  为此,自动化及测量系统标准协会(ASAM)提出了一种基于CAN的ECU标定协议,即CCP协议(CAN Calibration Protocol)。

  在当前技术中,存在众多利用CCP协议对车辆的ECU进行标定的方案。

  在CN110166337A中,提出了一种基于CCP协议的标定通信方法,其以CANape为上位机,通过修改RAM数据,实现在线标定参数的修改,同时监控CAN信号,在线看到修改标定参数后CAN信号是否达到目标值,达到目标值后将修改的标定参数下载到ECU EEPROM里,从而达到在线标定的功能。然而,CANape作为特定的工具软件,限制了该标定通信方法的广泛应用,尤其是无法与广泛适用的总线开发工具结合使用。

  此外,在一些方案中,基于CCP协议的标定往往需要总线分析工具通过车辆诊断功能发送CCP秘钥的方式来激活CCP连接,再通过标定工具读取相关标定参数数据。但是随着车辆信息化程度的提高,汽车网络安全等级不断升级,固定的简单的CCP秘钥激活CCP 的方式已经无法满足网络安全的需求。在一些方案中,还提出借助客户的软件协助来进行CCP激活,这导致读取标定数据的过程复杂化。

  此外,ECU程序使用的参数或者数据的属性通过A2L格式文件进行描述,包括但不限于参数显示名,长度,物理单位,转换关系以及映射到ECU的地址。

  在CN108415406A中,提出一种基于LabVIEW的BCU的CCP标定系统,包括初始化PCAN模块,所述初始化PCAN模块分别通信连接A2L文件读取模块、标定量查找模块、DAQ_List初始化模块、设定模块、恢复初值模块、标定量读取模块和停止模块,所述 A2L文件读取模块、标定量查找模块、DAQ_List初始化模块、设定模块、恢复初值模块、标定量读取模块和停止模块均通信连接PCAN反初始化模块。然而,该CCP标定系统中A2L文件读取并非是自动进行的。在CN110262289A和CN110362361A中分别提出了A2L文件中变量的处理方法以及文件的制作方法,它们的读取和处理也并非是以自动化的形式进行。

  因此,希望能够提供一种在保证安全性的情况下,仍能够便利操作的标定控制系统和方法。

  本背景技术仅为了便于了解本领域的相关技术,并不视作对现有技术的承认。

  发明内容

  本发明实施例意图提供一种在保证安全性的情况下,仍能够便利操作的标定控制系统和方法。

  有利地但非限制性地,本发明实施例还希望该标定控制系统和方法可以具有广泛的适用性和/或具有更高的集成度。

  有利地但非限制性地,本发明实施例还希望提高标定控制系统和方法的自动化程度。

  在一个技术方案中,提供一种基于CCP或XCP协议的电子控制装置(ECU)标定方法,包括:

  调用诊断工程工具以解锁目标ECU;

  通过发送诊断报文,激活并维持基于CCP或XCP协议的主机与目标单元之间的CAN通讯;

  解析标定参数文件以获取ECU的标定参数的信息;

  基于获取的标定参数的信息来获取和/或设置所述目标ECU的标定参数的值。

  在所述实施例中,以极高的集成度实现了一种集合目标设备的解密,CCP解析、查找和设置的实现方案,且同时能够保证标定作业的安全性。

  在一个实施例中,可以在专设的或改造的软件平台或应用工具中实现上述方案。根据一个优选的实施例,所述电子控制装置(ECU)标定方法可以各种常规使用的总线开发工具中实现的,例如在CANoe中实现的。在一些实施例中,这可以通过改造或调用CANoe或其他总线开发工具来实现。

  根据一个实施例,解析标定参数文件为解析A2L文件,包括读取所述A2L文件内的标定参数的物理内存地址、长度、物理单位和转换公式中的至少一些并以结构体的形式存储。

  根据一个实施例,所述获取所述目标ECU的标定参数包括:

  响应于接收的标定参数,查询所述结构体以获得接收的标定参数的物理内存地址和转换公式;

  在诊断报文中加载所述接收的标定参数的物理地址和转换公式以向目标ECU询问标定参数的值;

  提取并解析目标ECU所回复的通讯报文内容,获得所述接收的标定参数的实际值并更新所述接收的标定参数的值。

  根据一个实施例,所述设置所述目标ECU的标定参数包括:

  响应于接收的标定参数和标定参数的预定值,查询所述结构体以确定所述接收的标定参数是否可设置;

  若可设置,在诊断报文中加载所述接收的标定参数的物理地址以及所述标定参数的预定值以发送至目标ECU;

  设置所述目标ECU 的相应的标定参数的值为所述预定值。

  根据一个实施例,所述方法被设置为以自动化的方式实施,包括:调用自动化测试脚本,以执行所述解锁、激活并维持、解析、获取和/或设置步骤。

  在所述实施例中,实现了高度自动化测试的要求。

  在一个技术方案中,提供一种基于CCP或XCP协议的ECU标定系统,包括:主机;至少一个目标ECU,每个目标ECU包括各自的具备CCP或XCP 协议的CAN通讯模块;以及连接所述主机和CAN通讯模块的CAN总线分析工具,其中所述主机安装有CANoe和诊断工程工具。

  根据一个实施例,所述主机配置为调用所述诊断工程工具解锁所述CAN通讯模块。

  根据一个实施例,所述主机配置为借助于所述诊断工程工具发送诊断报文以激活并维持所述主机与所述CAN通讯模块经所述CAN总线分析工具的通讯。

  根据一个实施例,所述主机配置为借助于CANoe解析至少一标定参数文件以获取至少一个目标ECU的标定参数的信息。

  根据一个实施例,所述主机配置为借助于CANoe以基于获取的标定参数的信息来获取和/或设置所述至少一个目标ECU的标定参数的值。

  根据一个实施例,所述主机还包括集成在CANoe中或与所述CANoe通信连接的操作界面,所述操作界面配置为接收用户输入的标定参数及其预定值和/或显示从所述至少一个目标ECU读取的标定参数及其实际值。

  根据一个实施例,所述主机还包括集成在CANoe中或与所述CANoe通信连接的自动化测试脚本读取接口,所述自动化测试脚本读取接口配置为读取自动化测试脚本以自动解锁所述CAN通讯模块、激活并维持所述通讯、获取和/或设置标定参数。

  在一个技术方案中,提供一种电子设备,包括处理器和与所述处理器通讯连接的存储器,所述存储器存储有可被所述处理器执行的指令,所述处理器配置为能执行存储器中的所述指令以实施根据本发明实施例所述方法。

  在一个技术方案中,提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被配置为被执行时实施根据本发明实施例所述方法。

  在一个实施例中,所述计算机可读存储介质存储有集成本发明实施例功能的CANoe软件工具。

  本发明的优选特征部分在下文描述,部分可通过阅读本文而明白。

  附图说明

  以下,结合附图来详细说明本文的实施例,其中:

  图1示出了根据本发明实施例的电子控制装置(ECU)标定方法的流程图;

  图2示出了根据本发明实施例的获取所述目标ECU的标定参数的子步骤的流程图;

  图3示出了根据本发明实施例的设置所述目标ECU的标定参数的子步骤的流程图;

  图4示出了根据本发明实施例的系统示意图;

  图5示出了根据本发明实施例的电子设备的示意图。

  在附图中,相同或相似的附图标记将表示相同或相似的特征。

  具体实施方式

  为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

  定义

  在本文中,汽车具有本领域的常规含义。本文并不打算限制本发明实施例所适用的汽车种类、驱动类型、应用场合等,例如乘用汽车、商用汽车、燃油车、电动车、自动驾驶车辆等。在本文中,汽车和车辆可以互换使用。

  在本文中,电子控制装置或电子控制单元(Electronic Control Unit, ECU),具有本领域已知的常规含义。根据在汽车开放系统架构(AUTomotive Open SystemArchitecture),ECU意指用于车辆或其部件的控制的微控制器及周边连同响应的软件。对于汽车而言,可能存在大量在车辆内工作的ECU,包括但不限于ABS(防抱死系统)、ACC(自适应巡航控制)、BMS(电池管理系统)、EMS(发动机管理系统)、自动驾驶控制器、VCU(整车控制器)等。本文并不打算限定本发明实施例所适用的ECU的具体类型。

  在本文中,控制器局域网络(Controller Area Network, CAN)具有本领域已知的常规含义,是ISO国际标准化的串行通信协议。

  在本文中,CCP(CAN Calibration Protocol)具有本领域已知的常规含义,为自动化及测量系统标准协会(ASAM)提出了一种基于CAN的ECU标定协议。

  在本文中,XCP(Universal Measurement and Calibration Protocol)具有本领域已知的常规含义,为自动化及测量系统标准协会(ASAM)提出了一种基于CAN的ECU标定协议。XCP协议是在CCP的基础上可以进一步多种运行在多种传输层上(CAN,Ethernet,FlexRay,SCI,SPI,USB)。在本文中,除非特别指明,所有描述用于CCP协议的实施例可在本发明的范围内经改造获得用于XCP协议的新的实施例;反之亦然。

  在本文中,CANoe也可称为CAN open environment,具有本领域已知的常规含义,为德国Vector公司出的一款总线开发环境软件工具,用于建模、仿真、开发和分析各独立ECU或整个ECU网络的整体性的软件工具。CANoe支持在系统层面从规划到测试的整个过程。

  在本文中,A2L文件是由ASAM MCD-2 MC标准定义的用于测量和标定目的的内部ECU变量的描述格式,并具有本领域已知的常规含义。

  在本发明的实施例中,针对现有技术中的不足,提供了基于总线分析工具,如CANoe的CCP或XCP协议以控制、更具体地标定ECU的方法。

  如图1所示,在一个实施例中,提供一种基于CCP或XCP协议的电子控制装置(ECU)标定方法。在一个具体的实施例中,在专设的或改造的软件平台或应用工具中实现上述方案。根据一个优选的实施例,所述电子控制装置(ECU)标定方法可以各种常规使用的总线开发工具中实现的,例如在CANoe中实现的。在一些实施例中,这可以通过改造或调用CANoe或其他总线开发工具来实现。

  如图1所示,所述方法包括如下步骤:

  S101:调用诊断工程工具(Diagnostic Engineering Tool)以解锁目标ECU。

  S102:通过发送诊断报文,激活并维持基于CCP或XCP协议的主机与目标单元之间的CAN通讯。

  S103:解析标定参数文件以获取ECU的标定参数的信息。

  S104:基于获取的标定参数的信息来获取和/或设置所述目标ECU的标定参数的值。

  在所述实施例中,以极高的集成度实现了一种集合目标设备的解密,CCP解析、查找和设置的实现方案,且同时能够保证标定作业的安全性。

  根据一个实施例,所述标定参数文件为A2L文件。

  在一个实施例中,解析A2L文件包括读取所述A2L文件内的标定参数的物理内存地址、长度、物理单位和转换公式中的至少一些并以结构体的形式存储。

  在一些实施例中,解析A2L文件包括通过脚本读取A2L文件每一行内容,并且通过查询特定字符串,识别此行内容的类型,获取特定字符串地址,定位相关参数内容,包括但不限于物理内存地址,长度,物理单位,转换公式等,并将参数内容构建结构体以存储。在一些实施例中,解析A2L文件包括提取文件中所有的目标参数,并为每一个目标参数创建结构体。

  参考图2示出的实施例中,获取所述目标ECU的标定参数包括:

  S201:响应于接收的标定参数,查询所述结构体以获得接收的标定参数的物理内存地址和转换公式。

  S202:在诊断报文中加载所述接收的标定参数的物理地址以向目标ECU询问标定参数的值。

  S203:提取并解析目标ECU所回复的通讯报文内容,获得所述接收的标定参数的实际值并更新所述接收的标定参数的值。

  参考图3示出的实施例中,设置所述目标ECU的标定参数包括:

  S301:响应于接收的标定参数和标定参数的预定值,查询所述结构体以确定所述接收的标定参数是否可设置。

  S302:若可设置,在诊断报文中加载所述接收的标定参数的物理地址以及所述标定参数的预定值以发送至目标ECU。

  S303:设置所述目标ECU 的相应的标定参数的值为所述预定值。

  在一些实施例中,获取和/或设置所述目标ECU的标定参数的值可以以手动或自动的方式实施。

  在一些以手动获取和/或设置的实施例中,接收的标定参数和/或预定值是由用户例如在操作界面中输入的。更具体地,获取所述目标ECU的标定参数包括:用户在操作界面中输入的目标参数查询结构体,获得目标参数的物理地址和转换公式;并把物理地址加载在通讯报文中,向目标单元询问;提取并解析目标单元所回复的通讯报文内容,获得目标参数的实际值,并将标定参数的(实际)值实时更新在操作界面中。

  在一些以手动获取和/或设置的实施例中,能通过用户输入的关键字搜索来找到所有含有关键字的参数,从而实现参数的查找。在一些实施例中,操作界面支持同一时间实时读取或输入多个、例如20个标定参数数据和设置标定参数的功能。在一些实施例中,能够导入和导出用户所需要的目标参数队列作为配置文件。这解决可操作性差,集成度低,安全性低的问题。

  根据一个实施例,所述方法被设置为以自动化的方式实施,包括:调用自动化测试脚本,以执行所述解锁、激活并维持、解析、获取和/或设置步骤。这实现了高度自动化测试的要求。

  在一些实施例中,接收的标定参数和/或预定值是通过调用自动化测试脚本来自动读取的。

  该发明还可提供读取和设置目标参数的函数接口,解决基于CANoe的自动化脚本无法读取和设置目标参数的缺点。

  在一个自动设置目标标定参数的实施例中,所述标定方法包括如下具体步骤:

  通过调用激活函数,如Active_CCP(char DiagNodeName[],char DETPath[]),调用诊断工程工具(Diagnostic engineering tool)激活和开始CCP通讯。

  通过调用解析A2L文件函数,如A2l_Read(char A2LPath[]),解析A2L文件。

  通过调用读取标定参数函数,如Read_CCP_Data(char ccp_name[]),获得目标标定参数,如ccp_name1的数据。

  通过调用设置判断函数,如Set_ccp_Switch(char ccp_name[], int ext_control),判断目标标定参数,如ccp_name1的可设置属性。

  通过调用标定参数设置函数,如Set_ccp_data(char ccp_name[], float data),设置目标标定参数,如ccp_name1的值或者数据为data。

  可选地,所述方法可以基于CAPL开发的自动化测试平台实现。

  参考图4,示出一种基于CCP或XCP协议的ECU标定系统400的实施例,包括:主机410;至少一个目标ECU420(有时也称为从机),如图所示为3个,每个目标ECU420包括各自的具备CCP或XCP 协议的CAN通讯模块422;以及连接所述主机和CAN通讯模块的CAN总线分析工具430,其中所述主机安装有CANoe和诊断工程工具(Diagnostic engineering tool)。所述ECU可以是上文所述的那些,或者车辆中的各种ECU,例如用于控制车门锁的ECU等,本发明不受限于ECU的种类。

  在本实施例的系统中,通过采用CANeo的ECU标定系统400,能够提供高度集成化的平台,可以在常用的总线开发环境软件工具,实现建模、仿真、开发和分析的同时,获取或设置(改变)终端ECU的标定参数。

  在一些实施例中,主机包括PC。在一些实施例中,主机410、如PC通过线缆440、如USB线连接CAN总线分析工具430,CAN总线分析工具使用线束450连接目标ECU420。

  在一些实施例中,CAN通讯模块422可通过直流电源供给电压工作。

  根据一个实施例,所述主机配置为调用所述诊断工程工具解锁所述CAN通讯模块。

  根据一个实施例,所述主机配置为借助于所述诊断工程工具发送诊断报文以激活并维持所述主机与所述CAN通讯模块经所述CAN总线分析工具的通讯。

  根据一个实施例,所述主机配置为借助于CANoe解析至少一标定参数文件以获取至少一个目标ECU的标定参数的信息。

  根据一个实施例,所述主机配置为借助于CANoe以基于获取的标定参数的信息来获取和/或设置所述至少一个目标ECU的标定参数的值。

  根据一个实施例,所述主机还包括集成在CANoe中或与所述CANoe通信连接的操作界面,所述操作界面配置为接收用户输入的标定参数及其预定值和/或显示从所述至少一个目标ECU读取的标定参数及其实际值。

  根据一个实施例,所述主机还包括集成在CANoe中或与所述CANoe通信连接的自动化测试脚本读取接口,所述自动化测试脚本读取接口配置为读取自动化测试脚本以自动解锁所述CAN通讯模块、激活并维持所述通讯、获取和/或设置标定参数。在一些实施例中,在CANoe软件工具中可集成用于自动测试脚本调用的函数接口,如上文所述的那些。

  如图5所示,提供一种电子设备500的实施例,处理器(processor)510和存储器530,还可以包括通信接口520和总线540。其中,处理器510、通信接口520、存储器530可以通过总线540完成相互间的通信。通信接口520可以用于信息传输。处理器510可以调用存储器530中的逻辑指令。所述存储器存储有可被所述处理器执行的指令,所述处理器配置为能执行存储器中的所述指令以实施根据本发明实施例所述方法。

  在一个技术方案中,提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被配置为被执行时实施根据本发明实施例所述方法。

  在一个实施例中,所述计算机可读存储介质存储有集成本发明实施例功能的CANoe软件工具。

  此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

  存储器530可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器530可以包括高速随机存取存储器,还可以包括非易失性存储器。

  上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。

  本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例的方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

  以上描述和附图充分地示出了本公开的实施例,以使本领域技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。本公开实施例的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样第,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”及其变型等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括该要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。

  本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

  本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

  附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

《一种基于CCP或XCP协议的控制方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)