报文发送方法、系统及装置与流程

文档序号:11479532阅读:782来源:国知局
报文发送方法、系统及装置与流程

本发明涉及报文传输技术领域,尤其涉及报文发送方法、系统及装置。



背景技术:

can(controllerareanetwork,控制器局域网)通信是汽车常用的通信方式。一条can总线上通常会有多个can节点,当多个can设备同时向总线发送数据时,部分设备由于抢占不到总线,会出现报文延迟或丢帧,同时发送报文的can设备越多时,情况越严重。对于电动车主从式bms(batterymanagementsystem,电池管理系统)来说,上电后多个从板向主板发送电池数据,数据量大,报文周期短,上电后会出现个别can设备较长时间才能将报文发送到总线的问题,所以需要一种can报文的发送机制,使多个can设备发送时间错开。

目前,在主从式bms中,通常使用的通信机制有如下两种:

一、上电默认发送机制:从板上电后,各自以自己的报文周期向总线发送报文。这种机制在从板数量较少时,不会对通信产生影响,随着从板数量增多,报文周期变短,丢帧或数据延迟的问题出现。

二、点名机制:由主板发送点名报文,被点名的从板将数据发送至can总线。这种机制的数据传送效率比较低,用于总线上can设备比较少,报文周期较长的情形。当总线上can设备较多,要求发送报文周期较短时,这种机制是无法完成数据传送任务的。

三、每个can设备在上电后延迟固定时间后,再向总线发送报文。例如:1号从板上电延时3ms后发送报文,2号从板上电延时6ms后发送报文,以此类推。每个设备都以固定的报文周期发送数据,这时总线上的报文会按时间分布开,每3ms有一个设备发送数据。这种机制需要每个从板烧写不同的代码,不利于生产和维护。另外,由于从板硬件的个体差异性,硬件上电时间存在一定差异,总线上出现的报文间距很难保持3ms,不完全排除同时发送的情况。



技术实现要素:

本发明提供报文发送方法、系统及装置,以避免报文在can总线上冲突,并提高报文在can总线上的传送效率。

本发明的技术方案是这样实现的:

一种报文发送方法,应用于包含一个主板和多个从板的通信系统中,且主板和从板之间通过控制器局域网can总线连接,该方法包括:

主板周期性地在can总线上广播can同步报文;

从板接收到主板广播的can同步报文时,根据自己的同步延迟时长,延迟该同步延迟时长后通过can总线向主板发送报文,其中,各从板的同步延迟时长互不相同,且都小于can同步报文的广播周期。

所述从板接收到主板广播的can同步报文时,启动一定时器,该定时器的定时时长等于自己的同步延迟时长,

且所述从板延迟该同步延迟时长后通过can总线向主板发送报文包括:

从板在所述定时器到时时,通过can总线向主板发送报文。

所述从板接收到主板广播的can同步报文之后、延迟该同步延迟时长后通过can总线向主板发送报文之前进一步包括:

所述从板将预设的单位同步延迟时长与自己的编号的乘积作为自己的同步延迟时长,其中,各个从板的编号为:按照从1开始,依次递增1的规则分配的。

所述通信系统为电动汽车的电池管理系统bms。

一种报文发送系统,包括:一个主板和多个从板,且主板和从板之间通过can总线连接,

主板:周期性地在can总线上广播can同步报文;

从板:接收到主板广播的can同步报文时,根据自己的同步延迟时长,延迟该同步延迟时长后通过can总线向主板发送报文,其中,各从板的同步延迟时长互不相同,且都小于can同步报文的广播周期。

所述从板接收到主板广播的can同步报文之后、延迟该同步延迟时长后通过can总线向主板发送报文之前进一步用于,

将预设的单位同步延迟时长与自己的编号的乘积作为自己的同步延迟时长,其中,各个从板的编号为:按照从1开始,依次递增1的规则分配的。

所述主板和从板位于电动汽车的电池管理系统bms中。

一种报文发送装置,位于包含一个主板和多个从板的通信系统中的从板上,且从板和主板之间通过can总线连接,该装置包括:

同步报文接收模块:接收主板广播的can同步报文,其中,can同步报文为主板周期性地在can总线上广播的;

发送模块:当同步报文接收模块接收到主板广播的can同步报文时,根据本板的同步延迟时长,延迟该同步延迟时长后通过can总线向主板发送报文,其中,各从板的同步延迟时长互不相同,且都小于can同步报文的广播周期。

所述发送模块在同步报文接收模块接收到主板广播的can同步报文时,启动一定时器,该定时器的定时时长等于本板的同步延迟时长,

且所述发送模块延迟该同步延迟时长后通过can总线向主板发送报文包括:

在所述定时器到时时,通过can总线向主板发送报文。

所述发送模块在同步报文接收模块接收到主板广播的can同步报文之后、延迟该同步延迟时长后通过can总线向主板发送报文之前进一步用于,

将预设的单位同步延迟时长与本板的编号的乘积作为本板的同步延迟时长,其中,各个从板的编号为:按照从1开始,依次递增1的规则分配的。

本发明中,每个从板都以主板广播的can同步报文为基准,在不同的时间向can总线发出报文,从而避免了报文在can总线上冲突;且报文传送效率高,也无需每个从板分别维护不同的代码版本。

附图说明

图1为本申请一实施例提供的报文发送方法流程图;

图2为本申请另一实施例提供的报文发送方法流程图;

图3为本申请实施例提供的报文发送系统的组成示意图;

图4为本申请实施例提供的报文发送装置的组成示意图。

具体实施方式

下面结合附图及具体实施例对本发明再作进一步详细的说明。

图1为本申请一实施例提供的报文发送方法流程图,该方法应用于包含一个主板和多个从板的通信系统中,且主板和从板之间通过can总线连接,其具体步骤如下:

步骤101:主板周期性地在can总线上广播can同步报文。

步骤102:从板接收到主板广播的can同步报文时,根据自己的同步延迟时长,延迟该同步延迟时长后通过can总线向主板发送报文,其中,各从板的同步延迟时长互不相同,且都小于can同步报文的广播周期。

在实际应用中,步骤102中,从板接收到主板广播的can同步报文时,可启动一定时器,该定时器的定时时长等于自己的同步延迟时长;且从板在定时器到时时,通过can总线向主板发送报文。

另外,在实际应用中,可预先按照:从1开始,依次递增1的规则为各从板分配编号,即为各从板依次分配编号:1、2、3、4、…;并预设一个单位同步延迟时长,例如:3ms;步骤102中,从板接收到主板广播的can同步报文时,将预设的单位同步延迟时长与自己的编号的乘积作为自己的同步延迟时长。例如:从板1将3ms*1作为自己的同步延迟时长,从板2将3ms*2作为自己的同步延迟时长,…,这样,从板1在接收到can同步报文时,延迟3ms后向主板发送报文,从板2在接收到can同步报文时,延迟6ms后向主板发送报文,…。

本申请适用的通信系统包括储能系统如:电动汽车的bms等。

从板向主板发送的报文中包含:从板的运行状态、运行参数等信息。例如:对于bms,从板向主板发送的报文中包含:电池单体电压、电池监测点温度、从板运行状态等等。

图2为本申请另一实施例提供的报文发送方法流程图,该方法应用于包含一个主板和多个从板的通信系统中,且主板和从板之间通过can总线连接,其具体步骤如下:

步骤201:预先按照:从1开始,依次递增1的规则为各从板分配编号,且预先在每个从板上配置单位同步延迟时长,其中,单位同步延迟时长*从板的最大编号<主板的can同步报文广播周期。

步骤202:主板上电后,周期性地在can总线上广播can同步报文。

步骤203:任一从板上电后,等待主板通过can总线广播的can同步报文。

步骤204:当从板接收到can同步报文时,将单位同步延迟时长与自己的编号的乘积作为自己的同步延迟时长,延迟该同步延迟时长后,通过can总线向主板发送报文。

例如:设单位同步延迟时长为3ms,主板每100ms广播一次can同步报文,则,编号为1的从板接收到can同步报文时,延迟3ms后发送报文;编号为2的从板接收到can同步报文时,延迟6ms后发送报文;编号为3的从板接收到can同步报文时,延迟9ms后发送报文;以此类推。

本申请的有益技术效果如下:

每个从板都以主板广播的can同步报文为基准,在不同的时间向can总线发出报文,从而避免了报文在can总线上冲突;且报文传送效率高,也无需每个从板分别维护不同的代码版本。

图3为本申请实施例提供的报文发送系统的组成示意图,该系统包括:一个主板31和多个从板321~32n(n为整数且n>1),且主板和从板之间通过can总线连接,其中:

主板31:周期性地在can总线上广播can同步报文。

从板321~32n:当接收到主板广播的can同步报文时,根据自己的同步延迟时长,延迟该同步延迟时长后通过can总线向主板发送报文,其中,各从板的同步延迟时长互不相同,且都小于can同步报文的广播周期。

一实施例中,从板321~32n接收到主板广播的can同步报文之后、延迟该同步延迟时长后通过can总线向主板发送报文之前进一步用于,

将预设的单位同步延迟时长与自己的编号的乘积作为自己的同步延迟时长,其中,各个从板的编号为:按照从1开始,依次递增1的规则分配的。

一实施例中,主板31和从板321~32n位于电动汽车的bms中。

图4为本申请实施例提供的报文发送装置的组成示意图,该装置位于包含一个主板和多个从板的通信系统中的从板上,且从板和主板之间通过can总线连接,该装置主要包括:同步报文接收模块41和发送模块42,其中:

同步报文接收模块41:当接收到主板广播的can同步报文时,通知发送模块42,其中,can同步报文为主板周期性地在can总线上广播的。

发送模块42:当同步报文接收模块41接收到主板广播的can同步报文时,根据本板的同步延迟时长,延迟该同步延迟时长后通过can总线向主板发送报文,其中,各从板的同步延迟时长互不相同,且都小于can同步报文的广播周期。

一实施例中,发送模块42在同步报文接收模块接收到主板广播的can同步报文时,启动一定时器,该定时器的定时时长等于本板的同步延迟时长,

且发送模块42延迟该同步延迟时长后通过can总线向主板发送报文包括:在所述定时器到时时,通过can总线向主板发送报文。

一实施例中,发送模块42在同步报文接收模块41接收到主板广播的can同步报文之后、延迟该同步延迟时长后通过can总线向主板发送报文之前进一步用于,

将预设的单位同步延迟时长与本板的编号的乘积作为本板的同步延迟时长,其中,各个从板的编号为:按照从1开始,依次递增1的规则分配的。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1