【技术实现步骤摘要】
一种基于CAN通讯的DBC文件解析及其程序设计方法
本专利技术涉及电气测控领域,尤其是涉及一种应用于汽车网络的基于CAN通讯的DBC文件解析及其程序设计方法。
技术介绍
CAN总线协议是ISO国际标准化的一种串行通信协议,由于它具有极好的抗干扰能力、极强的差错检测和处理能力,能够满足信息传输实时性的要求,同时具有控制接口结构简单、易于配置的优点,因此在汽车电子等领域得到了日益广泛的应用。随着技术的进步及人们对驾驶要求的不断提高,汽车网络中的CAN节点不断增加,网络中的数据也越来越庞大。因此,为了便于整车的设计和维护,现有技术中提出了采用DBC数据库文件对汽车CAN数据进行解析和管理的技术方案。DBC文件是一个标准的数据库文件,绝大多数汽车生产厂家都有相应的DBC文件数据库。DBC解析的过程就是将汽车CAN网络传输的十六进制数据转换成通常熟知的物理量,比如车速、转速、温度等。在现有技术中,多采用USB转CAN卡2进行上位机1与汽车控制器3之间的通讯,以实现对汽车运行状态的实时监测,如附图1所示。而在现有技术中,对CAN文件进行读取主要由以下几种方式:现有方案1为用户直接根据既有的CAN通讯协议逐一进行Bit位解析。用户在上位机软件中逐一对报文的格式进行详细解析,完成包括移位、比例、偏移等程序编写。这种方案的缺陷是:通过CAN通讯协议在上位机软件中逐一进行报文详细解析的方法,当CAN节点数量较多时,人工输入代码工作量大,且繁琐容易出错。一旦协议稍有改动,代码修改也是费时费力。同时,应对不同的通讯协议,用户需建立其特定的一套上位机软件,通用性较弱。现有方案2为购 ...
【技术保护点】
一种基于CAN通讯的DBC文件解析程序设计方法,其特征在于,包括以下步骤:S101:设置CAN通讯参数配置,以实现CAN通讯正常连接;S102:创建DBC文件,所述DBC文件包括帧信息报文;S103:编写DBC文件解析程序,解析给定变量赋值帧的数量、帧名称及帧ID号;S104:动态创建与所述帧信息报文中帧数量相同的控件及帧字符显示;S105:动态创建所述DBC文件中信号名称的控件及名称显示;S106:动态创建所述DBC文件中信号值的控件及信号值显示;S107:实现所述帧信息报文中每一帧数据的接收或发送。
【技术特征摘要】
1.一种基于CAN通讯的DBC文件解析程序设计方法,其特征在于,包括以下步骤:S101:设置CAN通讯参数配置,以实现CAN通讯正常连接;S102:创建DBC文件,所述DBC文件包括帧信息报文;S103:编写DBC文件解析程序,解析给定变量赋值帧的数量、帧名称及帧ID号;S104:动态创建与所述帧信息报文中帧数量相同的控件及帧字符显示;S105:动态创建所述DBC文件中信号名称的控件及名称显示;S106:动态创建所述DBC文件中信号值的控件及信号值显示;S107:实现所述帧信息报文中每一帧数据的接收或发送。2.根据权利要求1所述的基于CAN通讯的DBC文件解析程序设计方法,其特征在于,所述步骤S101进一步包括以下过程:设置CAN通讯包括波特率、验收码、屏蔽码、帧类型在内的配置。3.根据权利要求1或2所述的基于CAN通讯的DBC文件解析程序设计方法,其特征在于,所述步骤S102进一步包括以下过程:根据CAN网络通讯协议定义数据,新建包括帧ID号、帧类型在内的帧信息报文,再对每一帧信息新建包括名称、类型、起始位、位长度、偏移值、最大值、最小值和变换比例在内的信号信息,待所需数据全部定义完成之后,将定义数据另存为所需的DBC文件。4.根据权利要求3所述的基于CAN通讯的DBC文件解析程序设计方法,其特征在于,所述步骤S103进一步包括以下过程:解析所述DBC文件中以BO_和SG_开头的所有行,解析给定变量赋值帧的数量、帧名称及帧ID号,并解析给定变量赋值每一帧内所有信号的名称、类型、起始位、位长度、偏移值、最大值、最小值和变换比例。5.根据权利要求1、2或4中任一项所述的基于CAN通讯的DBC文件解析程序设计方法,其特征在于,所述步骤S107中实现每一帧数据发送的过程进一步包括以下步骤:S108:实现每一帧数据的单次发送;S109:实现每一帧数据按一定时间间隔连续发送。6.根据权利要求5所述的基于CAN通讯的DBC文件解析程序设计方法,其特征在于,所述步骤S104进一步包括以下过程:通过所述步骤S103的解析,根据所述帧信息报文中的帧数量,在上位机界面动态创建与帧数量相同的帧控件;通过所述步骤S103的解析,根据所述帧信息报文中的帧数量,在创建的帧控件内各添加一个下拉列表,所述下拉列表的名称包括发送、单次发送和连续发送;通过所述步骤S103的解析,根据所述帧信息报文中的帧数量,在创建的帧控件内各添加一个发送按钮,进行发送数据时的操作;通过所述步骤S103的解析,根据所述帧信息报文中的帧数量,在创建的帧控件内各添加一个时间间隔输入框,通过设定时间间隔,实现帧信息报文的连续发送;通过所述步骤S103的解析,根据所述帧信息报文中的帧名称、帧ID号,将帧名称_ID号的连接字符作为标签添加至创建的各自帧控件。7.根据权利要求6所述的基于CAN通讯的DBC文件解析程序设计方法,其特征在于,所述步骤S105进一步包括以下过程:通过所述步骤S103的解析,在上位机界面动态创建的每一个帧控件内,再动态创建与每一帧信号相同数量的信号控件,所述信号控件在所述帧控件内排列;通过所述步骤S103的解析,每一个信号控件显示相应的信号名称。8.根据权利要求7所述的基于CAN通讯的DBC文件解析程序设计方法,其特征在于,所述步骤S106进一步包括以下过程:通过所述步骤S103的解析,在上位机界面动态创建的每一个帧控件内,动态创建与每一帧信号...
【专利技术属性】
技术研发人员:陈建明,何伟,周成,
申请(专利权)人:株洲南车时代电气股份有限公司,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。