CAN总线数据发送方法、装置、存储介质及电子设备制造方法及图纸

技术编号:36328315 阅读:55 留言:0更新日期:2023-01-14 17:37
本公开涉及一种CAN总线数据发送方法、装置、存储介质及电子设备,方法包括:响应于接收到路由单元分发的数据,将该数据进行分片组装得到帧数据,并发送该帧数据中的首帧至CAN总线,以使得电子控制单元通过CAN总线接收该首帧;在接收到流程控制帧的情况下,根据该流程控制帧解析出STmin,并将该STmin输入计时函数,该流程控制帧是该电子控制单元响应于接收到该首帧发送的;将该帧数据中的第一序列帧发送至CAN总线,以使得电子控制单元通过CAN总线接收该第一序列帧;在接收到第一确认标志的情况下,调用该计时函数,该第一确认标志是该电子控制单元响应于接收到该第一序列帧发送的;在该计时函数的返回值表征计时完成的情况下,发送第二序列帧至CAN总线。发送第二序列帧至CAN总线。发送第二序列帧至CAN总线。

【技术实现步骤摘要】
CAN总线数据发送方法、装置、存储介质及电子设备


[0001]本公开涉及控制器局域网络领域,具体地,涉及一种CAN总线数据发送方法、装置、存储介质及电子设备。

技术介绍

[0002]域控制器诊断刷新时,CAN总线多帧数据发送时存在时序STmin要求,例如STmin为10ms时,两序列帧之间的时间差要大于10ms。域控制器将待发送的报文存入缓存单元中,等待总线空闲时进行发送,到总线空闲时,存入缓存单元的报文会以最快的速度抛送到总线上,然而总线上发送的报文是按照优先级进行抢占,若总线被其它模块的高优先级报文抢占,而抢占的时长还未到达STmin总线就进入了空闲状态,这可能造成序列帧之间的时间小于STmin,导致接收方接收失败导致多帧数据丢帧。
[0003]在相关技术中,一般通过将STmin设置为0以满足接收要求,然而, STmin设置的越小,主控制单元需要分配的算力,存储资源的要求就越高,这将造成需要使用成本更高的芯片。

技术实现思路

[0004]为了解决相关技术中缓存单元抛出序列帧的时间不可控的问题,本公开提供一种CAN总线数据发送方法、装置、存储介质及电子设备。
[0005]本公开第一方面提供CAN总线数据发送方法,所述方法应用于域控制器的CAN TP单元,所述方法包括:
[0006]响应于接收到路由单元分发的数据,将所述数据进行分片组装得到帧数据,并发送所述帧数据中的首帧至CAN总线,以使得电子控制单元通过CAN 总线接收所述首帧;
[0007]在接收到流程控制帧的情况下,根据所述流程控制帧解析出STmin,并将所述STmin输入计时函数,所述流程控制帧是所述电子控制单元响应于接收到所述首帧发送的;并,
[0008]将所述帧数据中的第一序列帧发送至CAN总线,以使得电子控制单元通过CAN总线接收所述第一序列帧;
[0009]在接收到第一确认标志的情况下,调用所述计时函数,所述第一确认标志是所述电子控制单元响应于接收到所述第一序列帧发送的;
[0010]在所述计时函数的返回值表征计时完成的情况下,发送所述帧数据中的第二序列帧至CAN总线,以使得电子控制单元通过CAN总线接收所述第二序列帧。
[0011]可选地,所述域控制器还包括缓存单元以及CAN驱动单元,所述在所述计时函数的返回值表征计时完成的情况下,发送所述帧数据中的第二序列帧至CAN总线包括:
[0012]确定缓存单元的存储空间是否为空;
[0013]在确定所述缓存单元的存储空间不为空的情况下,将所述第二序列帧发送至所述缓存单元,所述缓存单元能够在CAN总线空闲的情况下将所述缓存单元的存储空间中的所
述第二序列帧发送至CAN驱动单元,以使得所述 CAN驱动单元将所述第二序列帧中的数据转换为电压信号发送至CAN总线;
[0014]在确定所述缓存单元的存储空间为空的情况下,将所述第二序列帧发送至CAN驱动单元,以使得所述CAN驱动单元将所述第二序列帧中的数据转换为电压信号发送至CAN总线。
[0015]可选地,所述帧数据除所述第一序列帧、第二序列帧外,还包括多个序列帧,所述方法还包括:
[0016]在接收到第N确认标志的情况下,调用所述计时函数,所述第N确认标志是所述电子控制单元响应于接收到所述第N序列帧发送的;
[0017]在所述计时函数的返回值表征计时完成的情况下,发送所述帧数据的第 N+1序列帧至CAN总线;
[0018]其中,N为大于1且小于所述序列帧的总数量的任意自然数。
[0019]可选地,所述响应于接收到路由器分发的数据,将所述数据进行分片组装得到帧数据,并发送所述帧数据中的首帧至CAN总线包括:
[0020]响应于接收到路由器分发的数据,确定所述数据是否需要分片;
[0021]在所述数据需要分片的情况下,将所述数据进行分片组装得到帧数据,并发送所述帧数据中的首帧至CAN总线;
[0022]在所述数据不需要分片的情况下,将所述数据转化为单帧数据,并发送所述单帧数据至CAN总线。
[0023]本公开第二方面提供一种CAN总线数据发送装置,所述装置为域控制器的CAN TP单元的一部分,所述装置包括:
[0024]第一发送模块,用于响应于接收到路由单元分发的数据,将所述数据进行分片组装得到帧数据,并发送所述帧数据中的首帧至CAN总线,以使得电子控制单元通过CAN总线接收所述首帧;
[0025]解析模块,用于在接收到流程控制帧的情况下,根据所述流程控制帧解析出STmin,并将所述STmin输入计时函数,所述流程控制帧是所述电子控制单元响应于接收到所述首帧发送的;
[0026]第二发送模块,用于将所述帧数据中的第一序列帧发送至CAN总线,以使得电子控制单元通过CAN总线接收所述第一序列帧;
[0027]计时模块,用于在接收到第一确认标志的情况下,调用所述计时函数,所述第一确认标志是所述电子控制单元响应于接收到所述第一序列帧发送的;
[0028]第三发送模块,用于在所述计时函数的返回值表征计时完成的情况下,发送所述帧数据中的第二序列帧至CAN总线,以使得电子控制单元通过 CAN总线接收所述第二序列帧。
[0029]可选地,所述域控制器还包括缓存单元以及CAN驱动单元,所述第三发送模块具体用于:
[0030]确定缓存单元的存储空间是否为空;
[0031]在确定所述缓存单元的存储空间不为空的情况下,将所述第二序列帧发送至所述缓存单元,所述缓存单元能够在CAN总线空闲的情况下将所述缓存单元的存储空间中的所
述第二序列帧发送至CAN驱动单元;
[0032]在确定所述缓存单元的存储空间为空的情况下,将所述第二序列帧发送至CAN驱动单元。
[0033]可选地,所述帧数据除所述第一序列帧、第二序列帧外,还包括多个序列帧,所述计时模块还用于:
[0034]在接收到第N确认标志的情况下,调用所述计时函数,所述第N确认标志是所述电子控制单元响应于接收到所述第N序列帧发送的;
[0035]所述装置还包括:
[0036]第四发送模块,在所述计时函数的返回值表征计时完成的情况下,发送所述帧数据的第N+1序列帧至CAN总线;
[0037]其中,N为大于1且小于所述序列帧的总数量的任意自然数。
[0038]可选地,所述第一发送模块具体用于:
[0039]响应于接收到路由器分发的数据,确定所述数据是否需要分片;
[0040]在所述数据需要分片的情况下,将所述数据进行分片组装得到帧数据,并发送所述帧数据中的首帧至CAN总线;
[0041]在所述数据不需要分片的情况下,将所述数据转化为单帧数据,并发送所述单帧数据至CAN总线。
[0042]本公开第三方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面中任一项所述方法的步骤。
[0043]本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CAN总线数据发送方法,其特征在于,所述方法应用于域控制器的CAN TP单元,所述方法包括:响应于接收到路由单元分发的数据,将所述数据进行分片组装得到帧数据,并发送所述帧数据中的首帧至CAN总线,以使得电子控制单元通过CAN总线接收所述首帧;在接收到流程控制帧的情况下,根据所述流程控制帧解析出STmin,并将所述STmin输入计时函数,所述流程控制帧是所述电子控制单元响应于接收到所述首帧发送的;并,将所述帧数据中的第一序列帧发送至CAN总线,以使得电子控制单元通过CAN总线接收所述第一序列帧;在接收到第一确认标志的情况下,调用所述计时函数,所述第一确认标志是所述电子控制单元响应于接收到所述第一序列帧发送的;在所述计时函数的返回值表征计时完成的情况下,发送所述帧数据中的第二序列帧至CAN总线,以使得电子控制单元通过CAN总线接收所述第二序列帧。2.根据权利要求1所述的方法,其特征在于,所述域控制器还包括缓存单元以及CAN驱动单元,所述在所述计时函数的返回值表征计时完成的情况下,发送所述帧数据中的第二序列帧至CAN总线包括:确定缓存单元的存储空间是否为空;在确定所述缓存单元的存储空间不为空的情况下,将所述第二序列帧发送至所述缓存单元,所述缓存单元能够在CAN总线空闲的情况下将所述缓存单元的存储空间中的所述第二序列帧发送至CAN驱动单元,以使得所述CAN驱动单元将所述第二序列帧中的数据转换为电压信号发送至CAN总线;在确定所述缓存单元的存储空间为空的情况下,将所述第二序列帧发送至CAN驱动单元,以使得所述CAN驱动单元将所述第二序列帧中的数据转换为电压信号发送至CAN总线。3.根据权利要求1

2任一项所述的方法,其特征在于,所述帧数据除所述第一序列帧、第二序列帧外,还包括多个序列帧,所述方法还包括:在接收到第N确认标志的情况下,调用所述计时函数,所述第N确认标志是所述电子控制单元响应于接收到所述第N序列帧发送的;在所述计时函数的返回值表征计时完成的情况下,发送所述帧数据的第N+1序列帧至CAN总线;其中,N为大于1且小于所述序列帧的总数量的任意自然数。4.根据权利要求1

2任一项所述的方法,其特征在于,所述响应于接收到路由器分发的数据,将所述数据进行分片组装得到帧数据,并发送所述帧数据中的首帧至CAN总线包括:响应于接收到路由器分发的数据,确定所述数据是否需要分片;在所述数据需要分片的情况下,将所述数据进行分片组装得到帧数据,并发送所述帧数据中的首帧至CAN总线;在所述数据不需要分片的情况下,将所述数据转化为单帧数据,并发送所述单帧数据至CAN总线。5.一种CAN总线数据发送装置,其特征在于,所述装置为域控制器的CAN TP单元的一部分...

【专利技术属性】
技术研发人员:赵豪
申请(专利权)人:诺博汽车科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1