一种can数据接口建模自动生成方法及系统的制作方法

文档序号:8527642阅读:1337来源:国知局
一种can数据接口建模自动生成方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种建模方法及系统,具体地说是一种CAN数据接口建模自动生成方法及系统。
【背景技术】
[0002]目前,电子控制单元ECU的开放主要采用基于模型的控制算法开发方式,在进行建模时,首先要定义模型的输入输出接口,输入输出接口中大部分都是通过CAN总线传输的数据。在手动建模时,定义模型的输入输出接口工作量大,并且在配置数值精度和偏移量时容易出错。
[0003]中国专利文献CN 103777934 A公开了一种基于MATLAB生成控制器CAN交互层的方法,该专利包括如下步骤:
[0004]步骤SOI,获取运行信号;
[0005]步骤S02,根据运行信号,查找CAN数据库的文本信息;
[0006]步骤S03,将查找到的CAN数据库的文本信息进行处理,得到生成交互层所需的CAN数据库信息;
[0007]步骤S04,根据生成交互层所需的CAN数据库信息以及按照CAN数据库的格式,生成交互层代码文件。该专利不需要手动编写交互层代码,能够减少开发代码的时间,但是不适用于基于模型开发的应用层软件。

【发明内容】

[0008]为此,本发明所要解决的技术问题在于克服现有技术中不适用于应用层软件开发的问题,提供一种CAN数据接口建模自动生成方法及系统。
[0009]为解决上述技术问题,本发明是一种CAN数据接口建模自动生成方法,包括如下步骤:
[0010]建立CAN协议标准文件步骤:建立标准格式的CAN协议标准文件,所述CAN协议标准文件中包含CAN总线通讯协议信息;
[0011]建立公共函数模型步骤:建立转换公式的公共函数模型,所述公共函数模型用于对CAN总线上的总线数值和物理数值进行转换;
[0012]协议信息提取步骤:从所述CAN协议标准文件中提取CAN总线通讯协议信息,
[0013]报文选择步骤:根据所述CAN总线通讯协议信息通过界面库分别选择电子控制单元要发送和接收的报文;
[0014]模型框架生成步骤:根据选择的电子控制单元要发送和接收的报文以及CAN总线通讯协议信息,调用simulink模块库中相应的基础模块,并自动生成模型框架,根据生成的模型框架生成输入子系统和输出子系统;
[0015]信号转换模型生成步骤:调用所述转换公式公共函数模型,对所述CAN总线通讯协议信息进行参数转换赋值,并自动生成信号转换模型。
[0016]一种CAN数据接口建模自动生成方法,所述CAN总线通讯协议信息进一步包括CAN报文标识符、信号名称、信号精度以及信号偏移量。
[0017]一种CAN数据接口建模自动生成方法,所述公共函数模型包括to_VMS_CAN公共函数和from_VMS_CAN公共函数,其中,所述to_VMS_CAN公共函数为输入子系统中的公共函数,所述from_VMS_CAN公共函数为输出子系统中的公共函数。
[0018]一种CAN数据接口建模自动生成方法,所述to_VMS_CAN公共函数的参数以及所述from_VMS_CAN公共函数的参数进一步包括信号精度和信号偏移量。
[0019]一种CAN数据接口建模自动生成方法,所述输入子系统包括电子控制单元接收的报文子模块,所述输出子系统包括电子控制单元发送的报文子模块。
[0020]一种CAN数据接口建模自动生成系统,包括:
[0021 ] 建立CAN协议标准文件装置,用于建立标准格式的CAN协议标准文件,所述CAN协议标准文件中包含CAN总线通讯协议信息;
[0022]建立公共函数模型装置,用于建立转换公式的公共函数模型,所述公共函数模型用于对CAN总线上的总线数值和物理数值进行转换;
[0023]协议信息提取装置,用于从所述CAN协议标准文件中提取CAN总线通讯协议信息,
[0024]报文选择步骤装置,用于根据所述CAN总线通讯协议信息通过界面库分别选择电子控制单元要发送和接收的报文;其中,所述界面库主要实现为根据CAN协议标准文件中描述的CAN数据帧生成类似列表的控件,将CAN数据标识符名称显示在列表中。例如生成图2所示的界面。
[0025]模型框架生成装置,用于根据选择的电子控制单元要发送和接收的报文以及CAN总线通讯协议信息,调用simulink模块库中相应的基础模块,并自动生成模型框架,根据生成的模型框架生成输入子系统和输出子系统;
[0026]信号转换模型生成装置,用于调用所述转换公式公共函数模型,对所述CAN总线通讯协议信息进行参数转换赋值,并自动生成信号转换模型。
[0027]一种CAN数据接口建模自动生成系统,所述CAN总线通讯协议信息进一步包括CAN报文标识符、信号名称、信号精度以及信号偏移量。
[0028]一种CAN数据接口建模自动生成系统,所述公共函数模型包括to_VMS_CAN公共函数和from_VMS_CAN公共函数,其中,所述to_VMS_CAN公共函数为输入子系统中的公共函数,所述from_VMS_CAN公共函数为输出子系统中的公共函数。
[0029]一种CAN数据接口建模自动生成系统,所述to_VMS_CAN公共函数的参数以及所述from_VMS_CAN公共函数的参数进一步包括信号精度和信号偏移量。
[0030]一种CAN数据接口建模自动生成系统,所述输入子系统包括电子控制单元接收的报文子模块,所述输出子系统包括电子控制单元发送的报文子模块。
[0031]本发明的上述技术方案相比现有技术具有以下优点:
[0032]1、本发明是一种CAN数据接口建模自动生成方法及系统,通过建立具有标准的文件格式定义的包含CAN通信协议信息的CAN协议标准文件(一般是DBC文件),参照标准的文件格式定义提取CAN协议标准文件中的CAN通信协议信息,调用Simulink模块库中相应的基础模块搭建CAN数据接口模型。本发明适用于应用层软件的开发,并且由于所有CAN通信协议信息都以DBC文件形式编写,保证了 CAN数据接口模型与CAN协议开发的一致性,并且CAN总线数据量很大,采用此模型自动生成方法大大降低了 CAN数据接口模型的开发时间以及出错概率。
【附图说明】
[0033]为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
[0034]图1是本发明一个实施例的流程图;
[0035]图2是本发明实施例中的界面库示意图;
[0036]图3是本发明实施例中的ECU需要接收的CAN数据示意图;
[0037]图4是本发明实施例中的E⑶需要发送的CAN数据示意图;
[0038]图5-1和图5-2是本发明实施例中的CAN_IN和CAN_0UT子系统的示意图;
[0039]图6-1和图6-2分别是本发明实施例公开的CAN_IN和CAN_0UT子系统包含的子丰旲块的不意图;
[0040]图7-1和图7-2分别是本发明实施例中公开的子模块内包含的信号转换模型的示意图。
【具体实施方式】
[0041]以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0042]实施例1
[0043]如图1所示,本发明一种CAN数据接口建模自动生成方法,包括如下步骤:
[0044]建立CAN协议标准文件步骤:建立标准格式的CAN协议标准文件,一般都是以DBC文件的形式存储,所述CAN协议标准文件中包含CAN总线通讯协议信息;
[0045]建立公共函数模型步骤:建立转换公式的公共函数模型,所述公共函数模型用于对CAN总线上的总线数值和物理数值进行转换;
[0046]协议信息提取步骤:从所述CAN协议标准文件如DBC文件中提取CAN总线通讯协议信息;
[0047]报文选择步骤:根据所述CAN总线通讯协议信息通过界面库分别选择电子控制单元(Electronic Control Unit电子控制单元,简称EOJ)要发送和接收的报文;
[0048]模型框架生成步骤:根据选择的电子控制单元ECU要发送和接收的报文以及CAN总线通讯协议信息,调用simulink模块库中相应的基础模块,并自动生成模型框架,根据生成的模型框架生成输入子系统和输出子系统。模型框架中使用到Simulink模型库中的Subsystem、BusCreator> BusSelector三种基本模块,可以通过调用Simulink模块的API函数(如add_block、add_line、set_param)添加子模块,并对添加的模块名称和位置进行设置,并完成模块之间的连线。
[0049]信号转换模型生成步骤:调用所述转换公式公共函数模型,对所述CAN总线通讯协议信息进行参数转换赋值,并自动生成信号转换模型。所述信号转换模型示意图,如图7-1、7-2 所示。
[0050]所述CAN总线通讯协议信息进一步包括CAN报文标识符、信号名称、信号精度以及信号偏移量。
[0051 ] 所述公共函数模型包括to_VMS_CAN公共函数和from_VMS_CAN公共函数,其中,所述to_VMS_CAN公共函数为输入子系统中的公共函数,所述from_VMS_CAN公共函数为输出子系统中的公共函数。作为一种具体的实施方式,所述输入子系统为CAN_IN子系统,所述输出子系统为CAN_0UT子系统。两个子系统包含的子模块,如图5_1、5_2所不。
[0052]所述to_VMS_CAN公共函数的参数以及所述from_VMS_CAN公共函数的参数进一步包括信号精度和信号偏移量。
[0053]所述输入子系统包括电子控制单元ECU接收的报文子模块,所述输出子系统包括电子控制单元ECU发送的报文子模块。以CAN报文标识符对CAN_IN和CAN_0UT中的相应的子模块进行自动规范命名。即每一帧CAN报文形成一个子模块,子模块命名为对应这一帧报文的标识符。假设电子控制单元ECU需要接受的CAN数据,如图3所示;假设电子控制单元ECU需要发送的CAN数据,如图4所示。同时对输入输出信号自动进行规范的命名。如图6-1、6-2所示,例如:CAN_IN子系统中,提取所述DBC文件中的信号名称为BCU_DC_voltage,经过命名规范后形成的输入信号名字为hld_BCU_DC_Voltage,经过总线数值换算成物理值后输出的名字为cipt_BCU_DC_V0ltage ;CAN_0UT子系统中提取所述DBC文件中的信号名称为BMSJlVConnect,经过命名规范后形成的输入信号名字为hld_BMS_HVConnect,经过物理值换算成总线数值后输出的名字为copt_BMS_HVConnect。
[0054]本发明通过建立具有标准的文件格式定义的包含CAN通信协
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1