CN106950864B - 一种整车控制器的can通信程序生成方法及装置 - Google Patents

一种整车控制器的can通信程序生成方法及装置 Download PDF

Info

Publication number
CN106950864B
CN106950864B CN201710233533.8A CN201710233533A CN106950864B CN 106950864 B CN106950864 B CN 106950864B CN 201710233533 A CN201710233533 A CN 201710233533A CN 106950864 B CN106950864 B CN 106950864B
Authority
CN
China
Prior art keywords
signal
communication
frame
code
generating
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
Application number
CN201710233533.8A
Other languages
English (en)
Other versions
CN106950864A (zh
Inventor
林富
田雪勇
袁昌荣
李宗华
周安健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deep Blue Automotive Technology Co ltd
Original Assignee
Chongqing Changan New Energy Automobile Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing Changan New Energy Automobile Technology Co Ltd filed Critical Chongqing Changan New Energy Automobile Technology Co Ltd
Priority to CN201710233533.8A priority Critical patent/CN106950864B/zh
Publication of CN106950864A publication Critical patent/CN106950864A/zh
Application granted granted Critical
Publication of CN106950864B publication Critical patent/CN106950864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种整车控制器的CAN通信程序生成方法及装置,该方法包括:获取CAN协议的dbc文件,利用所述dbc文件中的关键字读取用于生成代码的需求信息;从所述需求信息中获取整车控制器的所有通信帧,调用CAN通信帧解码函数对整车控制器的所有通信帧进行解码,得到CAN通信解码语句;从CAN通信解码语句中获取整车控制器的接收信号的长度和标识,依据所述接收信号的长度和标识判断接收信号的数据类型,利用接收信号的长度和标识以及接收信号的数据类型生成CAN信号接收函数代码。该方法实现将CAN协议的dbc文件自动生成为软件代码,提升软件发开效率。

Description

一种整车控制器的CAN通信程序生成方法及装置
技术领域
本发明涉及CAN通信技术领域,特别是涉及一种整车控制器的CAN通信程序生成方法及装置。
背景技术
目前,整车控制器是新能源汽车的通信和控制中枢,对车辆的运行状态起到了决策作用,是新能源汽车中最核心的零部件之一。整车控制器作为新能源汽车的通信中枢,承担了成百上千个CAN信号的接收和发送任务,且每个信号都是控制车辆安全运行的重要信号,当某一个信号的接收或发送处理出现错误都会给车辆造成极大的安全危害。当前控制器CAN信号的接收和发送一般由控制器软件工程师根据CAN协议的dbc文件,手动编写软件代码,实现CAN信号的接收和发送,由于整车控制器CAN信号量特别大,涉及到的软件异常的复杂,需要耗费软件工程师大量的时间进行软件代码编写,且容易出现错误,采用人工方式生成代码的工作效率很低。
目前还没有一种高效的方法将CAN协议的dbc文件直接生成为软件源代码,以提升软件开发的效率和质量,保证控制器CAN信号收发的正确性。鉴于整车控制器CAN信号收发的复杂性和重要性,因此需要一种将CAN协议的dbc文件自动生成为软件代码的方法来提升软件开发效率和质量,保证控制器CAN信号接收和发送的正确性,以保证车辆的运行安全。
发明内容
本发明的目的是提供一种整车控制器的CAN通信程序生成方法及装置,以实现将CAN协议的dbc文件自动生成为软件代码,提升软件发开效率。
为解决上述技术问题,本发明提供一种整车控制器的CAN通信程序生成方法,该方法包括:
获取CAN协议的dbc文件,利用所述dbc文件中的关键字读取用于生成代码的需求信息;
从所述需求信息中获取整车控制器的所有通信帧,调用CAN通信帧解码函数对整车控制器的所有通信帧进行解码,得到CAN通信解码语句;
从CAN通信解码语句中获取整车控制器的接收信号的长度和标识,依据所述接收信号的长度和标识判断接收信号的数据类型,利用接收信号的长度和标识以及接收信号的数据类型生成CAN信号接收函数代码。
优选的,所述方法还包括:
从所述dbc文件中获取整车控制器的发送帧,判断整车控制器的发送帧的信号是否全部更新,若全部更新,将发送帧的信号的数值传递给缓存变量,并调用组包函数将发送帧的信号进行组包,生成CAN信号发送函数代码。
优选的,所述方法还包括:
从所述dbc文件中获取整车控制器接收和发送的信号,将整车控制器接收和发送的信号以宏的方式进行定义,得到信号标识文件代码。
优选的,所述方法还包括:
调用控制器的基础软件层的通信接收函数,将缓存在基础软件层的数据读取出来并传递给应用软件层,生成第一数据传递代码。
优选的,所述方法还包括:
按照整车控制器的通信帧的发送周期生成对应的发送函数,将应用层软件的数据传递给控制器的基础软件层,生成第二数据传递代码。
本发明还提供一种整车控制器的CAN通信收发程序生成装置,该装置包括:
读取模块,用于获取CAN协议的dbc文件,利用所述dbc文件中的关键字读取用于生成代码的需求信息;
解码模块,用于从所述需求信息中获取整车控制器的所有通信帧,调用CAN通信帧解码函数对整车控制器的所有通信帧进行解码,得到CAN通信解码语句;
接收函数代码生成模块,用于从CAN通信解码语句中获取整车控制器的接收信号的长度和标识,依据所述接收信号的长度和标识判断接收信号的数据类型,利用接收信号的长度和标识以及接收信号的数据类型生成CAN信号接收函数代码。
优选的,所述装置还包括:
发送函数代码生成模块,用于从所述dbc文件中获取整车控制器的发送帧,判断整车控制器的发送帧的信号是否全部更新,若全部更新,将发送帧的信号的数值传递给缓存变量,并调用组包函数将发送帧的信号进行组包,生成CAN信号发送函数代码。
优选的,所述装置还包括:
标识代码生成模块,用于从所述dbc文件中获取整车控制器接收和发送的信号,将整车控制器接收和发送的信号以宏的方式进行定义,得到信号标识文件代码。
优选的,所述装置还包括:
第一传递代码生成模块,用于调用控制器的基础软件层的通信接收函数,将缓存在基础软件层的数据读取出来并传递给应用软件层,生成第一数据传递代码。
优选的,所述装置还包括:
第二传递代码生成模块,按照整车控制器的通信帧的发送周期生成对应的发送函数,将应用层软件的数据传递给控制器的基础软件层,生成第二数据传递代码。
本发明所提供的一种整车控制器的CAN通信程序生成方法及装置,获取CAN协议的dbc文件,利用所述dbc文件中的关键字读取用于生成代码的需求信息;从所述需求信息中获取整车控制器的所有通信帧,调用CAN通信帧解码函数对整车控制器的所有通信帧进行解码,得到CAN通信解码语句;从CAN通信解码语句中获取整车控制器的接收信号的长度和标识,依据所述接收信号的长度和标识判断接收信号的数据类型,利用接收信号的长度和标识以及接收信号的数据类型生成CAN信号接收函数代码。可见,直接将CAN协议的dbc文件生成软件代码即CAN信号接收函数代码,将CAN协议的dbc文件自动生成为软件代码,不用人工方式进行软件编写,提升软件发开效率,提升控制器CAN通信接收和发送信号软件设计的效率及正确性,保证整车控制器的通信正确及车辆安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明所提供的一种整车控制器的CAN通信程序生成方法的流程图;
图2是dbc文件解析流程示意图;
图3是信号标识文件生成流程示意图;
图4是CAN信号接收函数生成流程示意图;
图5是CAN信号发送函数生成流程示意图;
图6是接收CAN信号与应用层软件数据传递函数生成流程示意图;
图7是发送CAN信号与应用层软件数据传递函数生成流程示意图;
图8为本发明所提供的一种整车控制器的CAN通信程序生成装置的结构示意图。
具体实施方式
本发明的核心是提供一种整车控制器的CAN通信程序生成方法及装置,以实现将CAN协议的dbc文件自动生成为软件代码,提升软件发开效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明所提供的一种整车控制器的CAN通信程序生成方法的流程图,该方法包括:
S11:获取CAN协议的dbc文件,利用dbc文件中的关键字读取用于生成代码的需求信息;
S12:从需求信息中获取整车控制器的所有通信帧,调用CAN通信帧解码函数对整车控制器的所有通信帧进行解码,得到CAN通信解码语句;
S13:从CAN通信解码语句中获取整车控制器的接收信号的长度和标识,依据接收信号的长度和标识判断接收信号的数据类型,利用接收信号的长度和标识以及接收信号的数据类型生成CAN信号接收函数代码。
可见,该方法直接将CAN协议的dbc文件生成软件代码即CAN信号接收函数代码,将CAN协议的dbc文件自动生成为软件代码,不用人工方式进行软件编写,提升软件发开效率,提升控制器CAN通信接收和发送信号软件设计的效率及正确性,保证整车控制器的通信正确及车辆安全。
具体的,CAN(Controller Area Network,控制器局域网总线)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
其中,dbc文件用于描述单一CAN网络中各逻辑节点信息,依据dbc文件能够监视或分析CAN网络中所有逻辑节点的运行状态。
基于上述方法,其中,步骤S11中,dbc文件解析过程为打开dbc文件后,通过dbc文件中的关键字,读取生成代码的需求信息,并将读取到的需求信息存储到数据缓存中。
其中,CAN信号接收函数生成过程中,需调用CAN通信帧解码函数将dbc文件中获取的整车控制器的所有帧进行解码,然后读取解码的信号值。
其中,需求信息包括通信帧的帧ID、帧名称、帧周期、信号名称、信号长度、信号的符号属性、接收方控制器名称、发送方控制器名称。
进一步的,所述方法还包括:从dbc文件中获取整车控制器的发送帧,判断整车控制器的发送帧的信号是否全部更新,若全部更新,将发送帧的信号的数值传递给缓存变量,并调用组包函数将发送帧的信号进行组包,生成CAN信号发送函数代码。
其中,CAN信号发送函数即函数代码的生成过程中,按照整车控制器的发送帧判断该帧的信号是否全部更新,更新后将信号值传递给缓存变量,然后调用组包函数将信号按照dbc文件进行组包。
进一步的,所述方法还包括:从dbc文件中获取整车控制器接收和发送的信号,将整车控制器接收和发送的信号以宏的方式进行定义,得到信号标识文件代码。
其中,信号标识文件即文件代码的生成过程中,将dbc文件中获取的整车控制器接收和发送的信号以宏的方式进行定义,宏的值按照信号类型依次进行编号。
进一步的,所述方法还包括:调用控制器的基础软件层的通信接收函数,将缓存在基础软件层的数据读取出来并传递给应用软件层,生成第一数据传递代码。
其中,第一数据传递代码为接收CAN信号与应用层软件数据传递的代码,第一数据传递代码的生成过程中,调用控制器基础软件层的通信接收函数,按照信号标识将缓存在基础软件层的数据读取出来并传递给应用软件。
进一步的,所述方法还包括:按照整车控制器的通信帧的发送周期生成对应的发送函数,将应用层软件的数据传递给控制器的基础软件层,生成第二数据传递代码。
其中,第二数据传递代码为发送CAN信号与应用层软件数据传递的代码,第二数据传递代码的生成过程中,将应用层软件的数据按照信号标识传递到控制器的基础软件层,并按照CAN信号帧的发送周期生成不同时间周期的发送函数。
基于上述方法,最终生成的源代码包括了信号标识文件的代码、CAN信号接收函数的代码、CAN信号发送函数的代码、VCU接收信号与应用层软数据传递的代码以及VCU发送信号与应用层软数据传递的代码,即采用CAN协议的dbc文件生成软件代码包括CAN信号接收函数、CAN信号发送函数、第一数据传递代码和第二数据传递代码这些代码。
基于上述方法,详细的,在整车控制器CAN通信软件生成操作界面上通过鼠标点击“load dbc”按钮加载需要生成代码的dbc文件,选择需要生成的代码文件,再点击“开始”按钮生成代码,生成代码的过程信息及错误信息会显示在界面中。即软件生成工具的界面操作过程为通过点击一个按钮加载dbc文件,然后选择需要生成的代码文件,再点击一个按钮生成C语言格式的软件代码。其中,可选择生成的代码文件包括ComRteSig.h文件、Rte_CanRTAutoCode.c文件、Com-CanRTAutoCode.c文件、Com_CanRTAutoCode.h文件和Rte_CanRTAutoCode.h文件这五个代码文件,这五个代码文件的内容分别为信号标识文件的代码、CAN信号接收函数的代码、CAN信号发送函数的代码、第一数据传递代码和第二数据传递代码。
参考图2,对于dbc文件解析过程,具体的,打开dbc文件后,按行读取dbc文件,查找并匹配关键字“BO_”这个字符,找到该行后获取帧名称、帧ID和发送方控制器名称,即获取CAN通信帧的名称、CAN通信帧的ID和发送这一帧的控制器的名称;查找并匹配关键字“SG_”这个字符,找到该行后获取信号名称、长度、符号和接收方控制器名称;查找并匹配关键字“BA_"GenMsgCycleTime"BO_”这个字符,找到该行后获取帧ID和对应的帧周期。
参考图3,对于信号标识文件生成过程,具体的,从缓存数据结构体中缓存的第1个信号开始循环,获取信号对应的长度、发送控制器和接收控制器,判断该信号是否为VCU发送或接收的信号,如果是VCU的信号,则判断信号长度是否大于等于1小于等于8,同时该信号符号属性为“+”,如果所有条件都满足,则按照信号定义规则生成该信号的宏定义,如不满足条件则获取下一个信号,并判断下一个信号是否满足条件。其中,若信号属性为“+”,则该信号为正数,若信号属性为“-”,则该信号为负数。8位无符号类型的信号标识宏定义生成完成后,按照相同的方法分别生成16位无符号类型的信号标识的宏定义,32位无符号类型的信号标识的宏定义,8位有符号类型的信号标识的宏定义,16位有符号类型的信号标识的宏定义,32位有符号类型的信号标识的宏定义。其中,VCU(Vehicle Control Unit,整车控制器)是汽车动力系统的总成控制器。
其中,将bdc文件解析后,获得了dbc文件中的帧名称、帧ID和发送方控制器、信号名称、长度、符号和接收方控制器等信息,然后将这些信息将缓存在一个数据结构体缓存中,从dbc文件中提取到的多个信号都存储在数据结构体缓存中第一个信号指该缓存数据结构体中缓存的第一个信号,后续信号依次等待。
参考图4,对于CAN信号接收函数生成过程,具体的,首先按信号定义规则生成VCU接收帧的局部变量定义,然后从第一个信号开始循环,获取当前信号对应的帧名称,如果当前帧为VCU接收帧,且未生成代码,则获取当前帧的名称及ID,按语句组成规则生成Case判断语句及CAN通信解码语句。CAN通信解码语句生成后,获取信号的长度及符号,判断信号数据类型,按函数组成规则生成代码,将解码后的CAN接收信号值读取到缓存中。
参考图5,对于CAN信号发送函数生成过程,具体的,首先按信号定义规则生成VCU发送帧的局部变量定义,然后从第一个信号开始循环,获取当前信号对应的帧名称,如果当前帧为VCU发送帧,则获取信号名称、信号长度及信号的符号属性,按语句组成格式先后生成Case语句,if判断条件代码,并判断信号更新标志位是否置位。然后按语句组成格式生成赋值语句,将CAN发送信号的值传递给用于CAN通信组包的局部变量,生成清除信号更新标志位的代码,并生成组包函数,将信号进行组包。
参考图6,对于接收CAN信号与应用层软件数据传递函数生成过程,具体的,首先按照信号类型定义所有VCU接收信号的缓存变量,然后第一个信号开始循环,获取当前信号对应的帧名称,检查当前帧的接收方控制器,当前帧如果为VCU接收帧,则按照指定的函数组成格式生成代码,读取并缓存当前信号的值,然后将所有的缓存信号传递给应用软件。
参考图7,对于发送CAN信号与应用层软件数据传递函数生成过程,具体的,先获取所有VCU发送帧的发送周期类型,然后按照周期类型分别生成不同周期的发送函数。生成发送函数时,首先生成函数头和函数名称,然后进行函数代码生成,首先检查当前帧的发送方控制器,如果当前帧为VCU发送帧,获取当前信号的帧周期,并比较帧周期是否与当前发送函数的周期一致,如果周期一致,则获取当前帧的名称,按函数组成规则生成发送函数的代码,将应用层软件的信号值传递到基础软件的数据缓存中。
图8为本发明所提供的一种整车控制器的CAN通信程序生成装置的结构示意图,该装置包括:
读取模块101,用于获取CAN协议的dbc文件,利用dbc文件中的关键字读取用于生成代码的需求信息;
解码模块102,用于从需求信息中获取整车控制器的所有通信帧,调用CAN通信帧解码函数对整车控制器的所有通信帧进行解码,得到CAN通信解码语句;
接收函数代码生成模块103,用于从CAN通信解码语句中获取整车控制器的接收信号的长度和标识,依据接收信号的长度和标识判断接收信号的数据类型,利用接收信号的长度和标识以及接收信号的数据类型生成CAN信号接收函数代码。
可见,该装置直接将CAN协议的dbc文件生成软件代码即CAN信号接收函数代码,将CAN协议的dbc文件自动生成为软件代码,不用人工方式进行软件编写,提升软件发开效率,提升控制器CAN通信接收和发送信号软件设计的效率及正确性,保证整车控制器的通信正确及车辆安全。
基于上述装置,进一步的所述装置还包括:发送函数代码生成模块,用于从dbc文件中获取整车控制器的发送帧,判断整车控制器的发送帧的信号是否全部更新,若全部更新,将发送帧的信号的数值传递给缓存变量,并调用组包函数将发送帧的信号进行组包,生成CAN信号发送函数代码。
进一步的,所述装置还包括:标识代码生成模块,用于从dbc文件中获取整车控制器接收和发送的信号,将整车控制器接收和发送的信号以宏的方式进行定义,得到信号标识文件代码。
进一步的,所述装置还包括:第一传递代码生成模块,用于调用控制器的基础软件层的通信接收函数,将缓存在基础软件层的数据读取出来并传递给应用软件层,生成第一数据传递代码。
进一步的,所述装置还包括:第二传递代码生成模块,按照整车控制器的通信帧的发送周期生成对应的发送函数,将应用层软件的数据传递给控制器的基础软件层,生成第二数据传递代码。
以上对本发明所提供的一种整车控制器的CAN通信程序生成方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (8)

1.一种整车控制器的CAN通信程序生成方法,其特征在于,包括:
获取CAN协议的dbc文件,利用所述dbc文件中的关键字读取用于生成代码的需求信息;其中,所述需求信息包括通信帧的帧ID、帧名称、帧周期、信号名称、信号长度、信号的符号属性、接收方控制器名称、发送方控制器名称;
从所述需求信息中获取整车控制器的所有通信帧,调用CAN通信帧解码函数对整车控制器的所有通信帧进行解码,得到CAN通信解码语句;
从CAN通信解码语句中获取整车控制器的接收信号的长度和标识,依据所述接收信号的长度和标识判断接收信号的数据类型,利用接收信号的长度和标识以及接收信号的数据类型生成CAN信号接收函数代码;
还包括:
从所述dbc文件中获取整车控制器的发送帧,判断整车控制器的发送帧的信号是否全部更新,若全部更新,将发送帧的信号的数值传递给缓存变量,并调用组包函数将发送帧的信号进行组包,生成CAN信号发送函数代码。
2.如权利要求1所述的方法,其特征在于,还包括:
从所述dbc文件中获取整车控制器接收和发送的信号,将整车控制器接收和发送的信号以宏的方式进行定义,得到信号标识文件代码。
3.如权利要求2所述的方法,其特征在于,还包括:
调用控制器的基础软件层的通信接收函数,将缓存在基础软件层的数据读取出来并传递给应用软件层,生成第一数据传递代码。
4.如权利要求1至3中任意一项所述的方法,其特征在于,还包括:
按照整车控制器的通信帧的发送周期生成对应的发送函数,将应用层软件的数据传递给控制器的基础软件层,生成第二数据传递代码。
5.一种整车控制器的CAN通信收发程序生成装置,其特征在于,包括:
读取模块,用于获取CAN协议的dbc文件,利用所述dbc文件中的关键字读取用于生成代码的需求信息;其中,所述需求信息包括通信帧的帧ID、帧名称、帧周期、信号名称、信号长度、信号的符号属性、接收方控制器名称、发送方控制器名称;
解码模块,用于从所述需求信息中获取整车控制器的所有通信帧,调用CAN通信帧解码函数对整车控制器的所有通信帧进行解码,得到CAN通信解码语句;
接收函数代码生成模块,用于从CAN通信解码语句中获取整车控制器的接收信号的长度和标识,依据所述接收信号的长度和标识判断接收信号的数据类型,利用接收信号的长度和标识以及接收信号的数据类型生成CAN信号接收函数代码;
还包括:
发送函数代码生成模块,用于从所述dbc文件中获取整车控制器的发送帧,判断整车控制器的发送帧的信号是否全部更新,若全部更新,将发送帧的信号的数值传递给缓存变量,并调用组包函数将发送帧的信号进行组包,生成CAN信号发送函数代码。
6.如权利要求5所述的装置,其特征在于,还包括:
标识代码生成模块,用于从所述dbc文件中获取整车控制器接收和发送的信号,将整车控制器接收和发送的信号以宏的方式进行定义,得到信号标识文件代码。
7.如权利要求6所述的装置,其特征在于,还包括:
第一传递代码生成模块,用于调用控制器的基础软件层的通信接收函数,将缓存在基础软件层的数据读取出来并传递给应用软件层,生成第一数据传递代码。
8.如权利要求5至7中任意一项所述的装置,其特征在于,还包括:
第二传递代码生成模块,按照整车控制器的通信帧的发送周期生成对应的发送函数,将应用层软件的数据传递给控制器的基础软件层,生成第二数据传递代码。
CN201710233533.8A 2017-04-11 2017-04-11 一种整车控制器的can通信程序生成方法及装置 Active CN106950864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710233533.8A CN106950864B (zh) 2017-04-11 2017-04-11 一种整车控制器的can通信程序生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710233533.8A CN106950864B (zh) 2017-04-11 2017-04-11 一种整车控制器的can通信程序生成方法及装置

Publications (2)

Publication Number Publication Date
CN106950864A CN106950864A (zh) 2017-07-14
CN106950864B true CN106950864B (zh) 2019-12-13

Family

ID=59474181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710233533.8A Active CN106950864B (zh) 2017-04-11 2017-04-11 一种整车控制器的can通信程序生成方法及装置

Country Status (1)

Country Link
CN (1) CN106950864B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304192B (zh) * 2017-08-10 2021-06-15 北京普莱德新能源电池科技有限公司 一种自动生成can交互层代码的方法及系统
CN107465695A (zh) * 2017-09-21 2017-12-12 扬州航盛科技有限公司 一种基于数据库动态更新can解析参数的方法和系统
CN109753277A (zh) * 2017-11-06 2019-05-14 联合汽车电子有限公司 Can总线代码的自动生成装置及方法
CN111291443B (zh) * 2018-12-07 2021-04-06 广州汽车集团股份有限公司 整车控制器软件的i/o模块模型自动生成方法、装置及设备
CN109918063A (zh) * 2019-03-26 2019-06-21 重庆长安新能源汽车科技有限公司 整车控制器i/o接口软件生成方法、系统、装置及存储介质
CN110351295A (zh) * 2019-07-22 2019-10-18 百度在线网络技术(北京)有限公司 报文检测方法和装置、电子设备、计算机可读介质
CN110320896A (zh) * 2019-08-09 2019-10-11 上海星融汽车科技有限公司 车辆诊断设备的命令发送方法
CN112422391A (zh) * 2020-12-04 2021-02-26 北京新能源汽车技术创新中心有限公司 一种控制器平台化软件可标定can设计方法
CN112653607B (zh) * 2020-12-26 2022-09-23 潍柴动力股份有限公司 报文的传输方法、装置、电子设备及计算机存储介质
CN112714134B (zh) * 2021-01-19 2023-09-26 广州导远电子科技有限公司 Can报文的解析方法、适配方法、装置、设备及介质
CN113190783A (zh) * 2021-04-27 2021-07-30 北京车和家信息技术有限公司 用于整车控制器的数据处理方法、装置、介质和设备
CN114355799A (zh) * 2021-12-02 2022-04-15 中国第一汽车股份有限公司 一种基于新能源电机台架的can总线移动调试方法
CN114448744B (zh) * 2022-01-28 2024-05-03 航天科工火箭技术有限公司 复用标识号的can数据解析方法、装置、设备及介质
CN115022414B (zh) * 2022-04-20 2023-08-22 华东师范大学 一种面向车辆电子控制单元的can id逆向及确定方法
CN115242861B (zh) * 2022-07-06 2023-07-18 深蓝汽车科技有限公司 一种rte层通信数据映射配置文件的生成方法及系统、计算机可读存储介质、电子设备
CN118034704A (zh) * 2023-02-01 2024-05-14 浙江万里扬新能源驱动有限公司杭州分公司 一种基于dbc的协议层代码生成装置
CN116820798B (zh) * 2023-05-23 2024-06-11 广州汽车集团股份有限公司 数据处理方法、装置以及车辆

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108043A (zh) * 2013-01-31 2013-05-15 厦门雅迅网络股份有限公司 一种应用数据库文件自适应采集ecu报文的方法
CN104331292A (zh) * 2014-11-03 2015-02-04 重庆邮电大学 一种车联网中间件协议转换的配置生成方法
CN105703990A (zh) * 2014-11-28 2016-06-22 联创汽车电子有限公司 车载控制器can通信报文解析方法和构建方法
CN106020191A (zh) * 2016-05-26 2016-10-12 百度在线网络技术(北京)有限公司 无人车的控制方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108043A (zh) * 2013-01-31 2013-05-15 厦门雅迅网络股份有限公司 一种应用数据库文件自适应采集ecu报文的方法
CN104331292A (zh) * 2014-11-03 2015-02-04 重庆邮电大学 一种车联网中间件协议转换的配置生成方法
CN105703990A (zh) * 2014-11-28 2016-06-22 联创汽车电子有限公司 车载控制器can通信报文解析方法和构建方法
CN106020191A (zh) * 2016-05-26 2016-10-12 百度在线网络技术(北京)有限公司 无人车的控制方法、装置及系统

Also Published As

Publication number Publication date
CN106950864A (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN106950864B (zh) 一种整车控制器的can通信程序生成方法及装置
US8983714B2 (en) Failsafe communication system and method
CN111818136B (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN113612654B (zh) 一种基于数据库的车载网关功能测试方法
US9552279B2 (en) Data bus network interface module and method therefor
CN115242689B (zh) 一种车载网关测试方法、系统及计算机可读存储介质
CN115757483A (zh) 一种自动化测试方法、装置、电子设备和存储介质
CN114089713A (zh) 一种基于uds的通信方法、ecu及上位机
CN115827928A (zh) 车辆数据处理方法、装置、设备、介质及产品
CN110850452A (zh) 一种卫星遥测数据的处理方法、装置及系统
CN116893912B (zh) 车载软件核间通信方法及系统、装置、设备、介质
CN111443688B (zh) 基于can总线的汽车诊断服务网络层测试系统及方法
KR20200062594A (ko) 차량용 디버깅 시스템의 동작 방법
CN115980554B (zh) 一种芯片测试的方法及其电子设备
CN115657646B (zh) 一种can控制器的测试方法及装置
CN112202798A (zh) 数据的协议转化方法、系统、电子设备及存储介质
CN113377363B (zh) 对多种电控端私有协议自动生成源代码的云端实现方法
CN111221841A (zh) 基于大数据的实时处理方法及装置
WO2014027223A1 (en) Data bus network interface module and method therefor
CN108648298B (zh) 消息处理方法及装置、存储介质、电子设备
CN113341853A (zh) 一种ip核、fpga芯片、交流伺服驱动器及通讯方法
CN113645052A (zh) 一种固件调试方法及相关设备
CN111030907B (zh) 一种机器人串口总线的多设备数据解析及管理方法
CN114500679B (zh) can协议转换方法、装置、电子设备和存储介质
CN117395097A (zh) 一种总线报文的转发方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170714

Assignee: CHONGQING CHANGAN NEW ENERGY AUTOMOBILE TECHNOLOGY Co.,Ltd.

Assignor: Chongqing Changan Automobile Co.,Ltd.|CHONGQING CHANG'AN NEW ENERGY AUTOMOBILE Co.,Ltd.

Contract record no.: 2018500000022

Denomination of invention: Method and device for generating CAN communication program of vehicle control unit

License type: Exclusive License

Record date: 20181130

EE01 Entry into force of recordation of patent licensing contract
TA01 Transfer of patent application right

Effective date of registration: 20190107

Address after: 401133 room 208, 2 house, 39 Yonghe Road, Yu Zui Town, Jiangbei District, Chongqing

Applicant after: CHONGQING CHANGAN NEW ENERGY AUTOMOBILE TECHNOLOGY Co.,Ltd.

Address before: 400023, No. 260, Jianxin East Road, Jiangbei District, Chongqing

Applicant before: Chongqing Changan Automobile Co.,Ltd.

Applicant before: CHONGQING CHANG'AN NEW ENERGY AUTOMOBILE Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 401133 room 208, 2 house, 39 Yonghe Road, Yu Zui Town, Jiangbei District, Chongqing

Patentee after: Deep Blue Automotive Technology Co.,Ltd.

Address before: 401133 room 208, 2 house, 39 Yonghe Road, Yu Zui Town, Jiangbei District, Chongqing

Patentee before: CHONGQING CHANGAN NEW ENERGY AUTOMOBILE TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder