基于UDS的自动化标定系统及方法与流程

文档序号:16261400发布日期:2018-12-14 21:34阅读:645来源:国知局
本发明涉及嵌入式
技术领域
:,尤其涉及自动化标定
技术领域
:,具体是指一种基于uds的自动化标定系统及方法。
背景技术
:随着我国汽车工业的迅速发展,车辆上的ecu个数、每个ecu上标定参数的数量和内容日益复杂。已有的标定方法或着眼于标定参数本身标定值的自动化计算,或着眼于标定参数文件或数据库的维护。本发明给出了从标定参数定义、配置到生成匹配的ecu模块和pc模块标定数据库的工具链,整个过程无自动化生成,可以准确快速的完成标定参数从设计到实施的任务。自动化生成标定参数并标定是基于软件分层架构的。应用层被划分为一个个相对独立的模块,每个模块拥有独立的标定参数。内核层完成共通的、基本的功能:任务调度(scheduler),模式管理(modemanagement),协议栈(comstack),内存管理(memorymanagement),以及为标定和诊断而设的uds(unifieddiagnosticservices),等等。bsp负责向上层软件屏蔽具体的硬件细节(如声音,上层无需知道该声音是无源蜂鸣器、有源蜂鸣器还是录音播放,只需发布播放何种声音的指令即可),而保持对上层软件是独立、透明的。因而通过接口文件bsp_if对bsp进行抽象。由于应用层模块根据不同的项目变化较大,也意味着fdf的个数和内容变化较大。内核则相对稳定,可以将其标定项“硬编码”到配置中。上层软件不需知道bsp(boardsupportpackage)内的模块分布和相互关系,因而由接口文件bsp_if描述bsp的所有标定参数。技术实现要素:本发明的目的是克服了上述现有技术的缺点,提供了一种能够自动化生成标定参数并标定的基于uds的自动化标定系统及方法。为了实现上述目的,本发明的基于uds的自动化标定系统及方法具有如下构成:该基于uds的自动化标定系统,其主要特点是,所述的系统包括:可视化标定配置模块,根据系统预设条件将收集到的标定项配置成标定数据库;标定加载模块,与所述的可视化标定配置模块相连接,加载所述的标定数据库,并将标定值写入至标定数据库;ecu标定模块,烧录有待标定单元,所述的ecu标定模块基于uds协议完成与所述标定管理模块的通信后,实现对所述待标定单元的自动化标定。该基于uds的自动化标定系统的可视化标定配置模块内置存储器,所述的系统预设条件包括用户需求和存储器性能。该基于uds的自动化标定系统的ecu标定模块存储有ecu可执行文件,且所述ecu标定模块用于将所述的待标定单元烧录至所述的ecu可执行文件中,并生成与所述ecu可执行文件相匹配的标定配置文件,且通过所述的标定配置文件实现所述待标定单元的自动化标定。该基于上述系统实现基于uds的自动化标定方法,其主要特点是,所述的方法包括:(1)所述的可视化标定配置模块根据系统预设条件将收集到的标定项配置成标定数据库;(2)所述的标定加载模块加载所述的标定数据库,并将标定值写入至标定数据库;(3)所述的ecu标定模块基于无线通信协议完成与所述标定管理模块的通信后,实现所述待标定单元的自动化标定。该基于uds的自动化标定方法的步骤(1)中,通过系统的应用层、内核层以及bsp板级支持包中收集所述的标定项。该基于uds的自动化标定方法的步骤(1)中,所述的标定数据库包括所述标定项的扩展属性,所述的扩展属性包括数据标识、存储位置和访问权限。该基于uds的自动化标定方法的内核层内置一uds单元,通过所述的uds单元管理所述标定项的扩展属性。该基于uds的自动化标定方法的步骤(1)中,所述收集的标定项仅包括标定项基本属性,所述的标定项基本属性包括名称、数据类型、数据个数和默认值。该基于uds的自动化标定方法的步骤(3)中,所述的ecu标定模块存储有ecu可执行文件,且所述ecu标定模块用于将所述的待标定单元烧录至所述的ecu可执行文件中,并生成与所述ecu可执行文件相匹配的标定配置文件,且通过所述的标定配置文件实现所述待标定单元的自动化标定。采用了该发明中的基于uds的自动化标定系统及方法,从模块设计到车辆售后维修一条完整的标定工具链,保证了标定数据各个环节的一致性,同时自动化的过程更节约了开发者的开发时间。附图说明图1为本发明的基于uds的自动化标定系统的结构示意图。图2为本发明的可视化标定配置模块的主要uml示意图。图3为本发明的ecu标定模块执行过程的流程示意图。图4为本发明的uds协议标定流程的流程示意图。具体实施方式为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。本发明给出一种基于uds的自动化标定系统及方法,包括标定项定义、标定项收集和配置、标定项配置文件和自动标定。一般的汽车嵌入式软件构架会将软件分为应用层、内核层和bsp。每一个都拥有一些标定项,以适应整车匹配和不同的行车工况。将这些标定项收集起来,让开发者在图形化界面下根据客户需求对这些标定项进行某些配置,如分配uds要求的did,分配存储位置,划分标定项的安全访问级别等等。这些配置与嵌入式模块结合最终生成可烧录到ecu的可执行文件;同时生成与ecu可执行文件匹配的标定配置文件,被标定加载模块解析,从而实现标定时上位机和下位机自动匹配。本发明涉及一种基于uds的自动化标定系统(参阅图1),其包括:可视化标定配置模块,根据系统预设条件将收集到的标定项配置成标定数据库;标定加载模块,与所述的可视化标定配置模块相连接,加载所述的标定数据库,并将标定值写入至标定数据库;ecu标定模块,烧录有待标定单元,所述的ecu标定模块基于uds协议完成与所述标定管理模块的通信后,实现对所述待标定单元的自动化标定。该基于uds的自动化标定系统的可视化标定配置模块内置存储器,所述的系统预设条件包括用户需求和存储器性能。该基于uds的自动化标定系统的ecu标定模块存储有ecu可执行文件,且所述ecu标定模块用于将所述的待标定单元烧录至所述的ecu可执行文件中,并生成与所述ecu可执行文件相匹配的标定配置文件,且通过所述的标定配置文件实现所述待标定单元的自动化标定。本发明还涉及一种基于上述系统实现基于uds的自动化标定方法,该方法包括:(1)所述的可视化标定配置模块根据系统预设条件将收集到的标定项配置成标定数据库;(2)所述的标定加载模块加载所述的标定数据库,并将标定值写入至标定数据库;(3)所述的ecu标定模块基于无线通信协议完成与所述标定管理模块的通信后,实现所述待标定单元的自动化标定。该基于uds的自动化标定方法的步骤(1)中,通过系统的应用层、内核层以及bsp板级支持包中收集所述的标定项。该基于uds的自动化标定方法的步骤(1)中,所述的标定数据库包括所述标定项的扩展属性,所述的扩展属性包括数据标识、存储位置和访问权限。该基于uds的自动化标定方法的内核层内置一uds单元,通过所述的uds单元管理所述标定项的扩展属性。该基于uds的自动化标定方法的步骤(1)中,所述收集的标定项仅包括标定项基本属性,所述的标定项基本属性包括名称、数据类型、数据个数和默认值。该基于uds的自动化标定方法的步骤(3)中,所述的ecu标定模块存储有ecu可执行文件,且所述ecu标定模块用于将所述的待标定单元烧录至所述的ecu可执行文件中,并生成与所述ecu可执行文件相匹配的标定配置文件,且通过所述的标定配置文件实现所述待标定单元的自动化标定。在一具体实施方式中,本发明的基于uds的自动化标定系统及方法中,一个标定项cal_item应当包含基本属性:名称name,数据类型datatype,数据个数size,默认值(defaultvalue)。此外,还应当包含扩展属性:数据标识(did),存储位置(storage),访问权限(security)。使用四元组cal_item<name,datatype,size,defaultvalue>表述基本标定项,使用三元组cal_uds<name,did,storage,security,currentvalue>描述扩展标定项,其中name和cal_item中的name是一一对应的。每个fdf中包含若干条cal_item,被可视化标定配置模块收集起来。可视化标定配置模块固定写入内核层的cal_item。最后可视化标定配置模块收集bsp_if中列出的cal_item。在一具体实施方式中,在可视化标定配置模块中的前三列列出基本属性name,datatype,size,为不可编辑列。要修改它们只能通过修改fdf文件和bsp_if,当然对应的模块代码和bsp代码也要修改。可以定义接口:cal_read(cal_name,datatype,size,rbuffer)读取标定参数到rbuffer中。定义接口:cal_write(cal_name,datatype,size,wbuffer)将wbuffer写入到标定存储介质中。后三列为扩展属性,为可编辑列。did是uds中利用0x22和0x2e服务读写数据要求的标识;storage指示该标定项可以存储在eeprom,外部flash,内部flash还是ram,可视化标定配置模块据此对标定项进行分类排列,便于bsp读写真正的存储设备;security用来在uds中指示标定加载模块标定的角色,从而决定哪些客户端可以访问哪些标定数据,通过uds的0x27服务进行检查。在一具体实施方式中,本发明的标定加载模块读取标定项列表,name,datatype,size,defaultvalue三列是不可编辑的,扩展属性仅需要显示currentvalue并可编辑。标定开始后标定加载模块依次利用uds的0x27服务鉴定身份,0x2e服务写入参数的currentvalue,0x22服务读取参数的currentvalue。参数读写过程中ecu标定模块的uds单元根据标定加载模块的安全等级判定该标定参数是否可以暴露,进而执行指令或报错处理。在一具体实施方式中,fdf和bsp_if以xml的形式存储,可视化标定配置模块利用qt的xmlreader解析出标定项,存储到类calitem的列表中,可视化标定配置模块的model类将该列表封装,提供该tableview类显示,可视化标定配置模块主要的uml类图如附图2所示。在一具体实施方式中,标定数据库以xml的形式存储,可视化标定配置模块利用qt的xmlreader解析出标定数据库项到一个临时列表,再根据标定项name比对已经生成的calitem列表,拼合为完整的calitem。注意,如因为fdf和bsp_if对标定项定义的修改可能导致收集的标定项与标定数据库不一致,则需要警示开发者已经产生变更。calitem全部load成功后,开发者可以根据用户需求和ecu存储器配置情况修改calitem的属性。根据calitem列表生成如下内容。(1)一个enum类型列出所有的datatype:typedefenum{cal_u8,cal_s8,cal_u16,cal_s16,cal_s32,cal_u32}caldatatype;(2)一个enum类型列出所有的标定名:typedefenum{calname1,calname2,calname3,…,calcnt}calid;(3)一个存储所有默认标定字节数据的标定参数defaultvalue数组:constuint8cal_defaultvalues[cal_parameter_bytes];(4)一个存储所有当前标定字节数据标定参数currentvalue数组:uint8cal_currentvalues[cal_parameter_bytes];(5)一个描述标定项属性的结构体:typedefstruct{calidcalname,uint32udsdid,uint8security,caldatatypedatatype,uint32size}uds_calitem;(6)一个uds_calitem数组:uds_calitemuds_calitemcfg[calcnt];(7)一个二维数组描述标定项在cal_defaultvalues和cal_currentvalues中的分布:constuint32cal_layout[2][calcnt];计算方式如下:cal_layout[0][0]=0;cal_layout[0][1]=bytesofdatatype(uds_calitemcfg[0].datatype)*uds_calitemcfg[0].size;其中,bytesofdatatype计算datatype得到的字节数,如bytesofdatatype(cal_s16)==2。后续的计算按下式递推:cal_layout[i][0]=cal_layout[i-1][0]+cal_layout[i-1][1];cal_layout[i][1]=bytesofdatatype(uds_calitemcfg[i].datatype)*uds_calitemcfg[i].size;(8)若干存储位置分界符的宏,例如:cal_parameter数组用来描述标定数据在字节数组cal_defaultvalues中的分布。bsp存储设备驱动模块则通过比对calname和存储位置分界符,确定哪些区域的标定参数存储在哪个存储设备。运行在ecu标定模块上的待标定单元的标定初始化流程如附图3所示,其中,当标定过的标识未读取成功时,说明存储设备发生过意外故障(可能是电磁干扰引起的),此时,需要将defaultvalue彻底写一遍。如果读取“是否标定过标识”成功了,但该标识指示尚未标定过,那么也将defaultvalue写一遍,因此如图3所示的标定初始化流程中,无论读取成功与否,均需要将所有defaultvalues写入存储设备。用户配置完毕后,利用qt的xmlwriter将它们写入标定数据库中。与可视化标定配置模块类似,标定加载模块load标定数据库,生成(1)至(7)中所列的数据结构。可视化标定配置模块至少能够驱动一种can设备,用户只可编辑currentvalue,编辑完毕后执行附图4所示的uds协议标定流程,完成标定。一致性校验通过后,设置附图2给出的是否标定过标识。采用了该发明中的基于uds的自动化标定系统及方法,从模块设计到车辆售后维修一条完整的标定工具链,保证了标定数据各个环节的一致性,同时自动化的过程更节约了开发者的开发时间。在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1