System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请的实施例涉及控制器局域网的,尤其涉及一种控制器局域网的报文发送、接收方法、相关设备及车辆。
技术介绍
1、在相关的控制器局域网(can)的通信技术中,当can控制器在一个任务周期中发送路由报文和多个不同周期的周期报文时,会出现一次所需发送的周期报文过多的现象,由于处理发送任务的单核can控制器同时还需处理其他任务,在此情况下,有限的运行能力会导致报文丢帧或任务抖动等情况。
2、可以看出,在单核的can控制器无法满足周期报文和路由报文的发送需求。
3、进一步地,在can控制器接收相关的接收报文时,单核的can控制器在处理大量的接收任务时,同样还要处理其他任务,因此,单核的can控制器也无法满足执行大量接收任务所需的运行能力。
4、可以看出,在单核的can控制器也无法满足对大量接收报文的接收需求。
技术实现思路
1、有鉴于此,本申请的目的在于提出一种控制器局域网的报文发送、接收方法、相关设备及车辆。
2、基于上述目的,本申请提供了控制器局域网的报文发送方法,应用于控制器局域网的控制器,所述控制器包括第一核和第二核;
3、所述方法包括:
4、在所述第一核中设置多个周期报文通道,在每个所述周期报文通道中存储多个周期报文,在所述第二核中设置对应所述每个周期报文通道各自的发送队列和路由队列,并在所述第一核和所述第二核间设置共享内存;
5、在预设的每个任务周期中,执行操作:
6、令所述第一核将所
7、响应于确定所述共享内存中存入所述多个周期报文,令所述第二核将所述多个周期报文映射至对应所述每个周期报文通道各自的发送队列,并令各个所述发送队列接收至少一个任意所述路由队列发来的路由报文;
8、令各个所述发送队列向所述控制器外部发送所述任务周期的所述周期报文和所述路由报文。
9、进一步地,将所述每个周期报文通道中的所述多个周期报文存储至所述共享内存,包括:
10、对于所述多个周期报文中的每一个,执行操作:
11、确定所述周期报文的发送周期;
12、根据所述发送周期,确定在所述任务周期中发送的所述多个周期报文;
13、将确定的所述多个周期报文发送至所述共享内存进行存储。
14、进一步地,令所述第二核将所述多个周期报文映射至对应所述每个周期报文通道各自的发送队列,包括:
15、令所述第二核确定所述多个周期报文各自在所述共享内存中的内存地址;
16、令所述发送队列从所述共享内存中提取与该发送队列对应的周期报文的内存地址;
17、令所述发送队列按照获得每个内存地址的先后顺序,由先到后,将所述每个内存地址依次存储至所述发送队列自身的各个队列位置中。
18、进一步地,令各个所述发送队列接收至少一个任意所述路由队列发来的路由报文,包括:
19、令所述发送队列按照获得每个路由报文的先后顺序,由先到后,将所述每个路由报文依次存储至所述发送队列自身的各个队列位置中。
20、基于同一专利技术构思,本申请提供了控制器局域网的报文接收方法,应用于局域网络控制器,所述局域网络控制器包括第一核和第二核;
21、所述方法包括:
22、在所述第一核中设置多个周期报文通道,在所述第二核中设置对应所述每个周期报文通道各自的接收队列和路由队列,并在所述第一核和所述第二核间设置共享内存;
23、令所述第二核中的每个所述接收队列接收所述控制器外部发送至该接收队列的至少一个接收报文和至少一个路由报文;
24、令所述每个接收队列将全部所述接收报文存储至所述共享内存,并将全部所述路由报文发送至指定的路由队列;
25、响应于确定所述共享内存中存入任意所述接收报文,令所述第一核将所述接收报文存储至对应所述每个接收队列各自的所述周期报文通道。
26、进一步地,令所述第二核中的每个所述接收队列接收所述控制器外部发送至该接收队列的至少一个接收报文和至少一个路由报文,包括:
27、对于每个所述接收队列,执行操作:
28、按照接收到各个接收报文的先后顺序,由先到后,将所述各个接收报文依次存储至所述接收队列自身的各个队列位置中;
29、按照获得各个路由报文的先后顺序,由先到后,将所述各个路由报文依次存储至所述发送队列自身的各个队列位置中。
30、进一步地,令所述每个接收队列将全部所述接收报文存储至所述共享内存,包括:
31、对于每个所述接收队列,执行操作:
32、按照所述各个队列位置的顺序,依次将所述各个队列位置中的接收报文发送至所述共享内存。
33、基于同一专利技术构思,本申请还提供了一种控制器局域网的报文发送装置,包括:双核发送的架构模块、第一发送模块、第二发送模块和第三发送模块;
34、其中,所述双核发送的架构模块,被配置为,在所述第一核中设置多个周期报文通道,在每个所述周期报文通道中存储多个周期报文,在所述第二核中设置对应所述每个周期报文通道各自的发送队列和路由队列,并在所述第一核和所述第二核间设置共享内存;
35、所述第一发送模块,被配置为,在预设的每个任务周期中,令所述第一核将所述每个周期报文通道中的所述多个周期报文存储至所述共享内存;
36、所述第二发送模块,被配置为,在预设的每个任务周期中,响应于确定所述共享内存中存入所述多个周期报文,令所述第二核将所述多个周期报文映射至对应所述每个周期报文通道各自的发送队列,并令各个所述发送队列接收至少一个任意所述路由队列发来的路由报文;
37、所述第三发送模块,被配置为,各个所述发送队列向所述控制器外部发送所述任务周期的所述周期报文和所述路由报文。
38、基于同一专利技术构思,本申请还提供了一种控制器局域网的报文接收装置,包括:双核接收的架构模块、第一接收模块、第二接收模块和第三接收模块;
39、其中,所述双核接收的架构模块,被配置为,在所述第一核中设置多个周期报文通道,在所述第二核中设置对应所述每个周期报文通道各自的接收队列和路由队列,并在所述第一核和所述第二核间设置共享内存;
40、所述第一接收模块,被配置为,令所述第二核中的每个所述接收队列接收所述控制器外部发送至该接收队列的至少一个接收报文和至少一个路由报文;
41、所述第二收模块,被配置为,令所述每个接收队列将全部所述接收报文存储至所述共享内存,并将全部所述路由报文发送至指定的路由队列;
42、所述第三接收模块,被配置为,响应于确定所述共享内存中存入任意所述接收报文,令所述第一核将所述接收报文存储至对应所述每个接收队列各自的所述周期报文通道。
43、基于同一专利技术构思,本申请还提供了一种电子设备,包括存本文档来自技高网...
【技术保护点】
1.一种控制器局域网的报文发送方法,其特征在于,应用于控制器局域网的控制器,所述控制器包括第一核和第二核;
2.根据权利要求1所述的方法,其特征在于,所述将所述每个周期报文通道中的所述多个周期报文存储至所述共享内存,包括:
3.根据权利要求1所述的方法,其特征在于,所述令所述第二核将所述多个周期报文映射至对应所述每个周期报文通道各自的发送队列,包括:
4.根据权利要求1所述的方法,其特征在于,所述令各个所述发送队列接收至少一个任意所述路由队列发来的路由报文,包括:
5.一种控制器局域网的报文接收方法,其特征在于,应用于局域网络控制器,所述局域网络控制器包括第一核和第二核;
6.根据权利要求1所述的方法,其特征在于,所述令所述第二核中的每个所述接收队列接收所述控制器外部发送至该接收队列的至少一个接收报文和至少一个路由报文,包括:
7.根据权利要求2所述的方法,其特征在于,所述令所述每个接收队列将全部所述接收报文存储至所述共享内存,包括:
8.一种控制器局域网的报文发送装置,其特征在于,包括:双核发送
9.一种控制器局域网的报文接收装置,其特征在于,包括:双核接收的架构模块、第一接收模块、第二接收模块和第三接收模块;
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8中任意一项所述的方法。
11.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至8中任意一项所述的方法。
12.一种车辆,其特征在于,包括如权利要求9和10中所述的控制器局域网的报文发送装置和接收装置,以及,权利要求11所述的电子设备。
...【技术特征摘要】
1.一种控制器局域网的报文发送方法,其特征在于,应用于控制器局域网的控制器,所述控制器包括第一核和第二核;
2.根据权利要求1所述的方法,其特征在于,所述将所述每个周期报文通道中的所述多个周期报文存储至所述共享内存,包括:
3.根据权利要求1所述的方法,其特征在于,所述令所述第二核将所述多个周期报文映射至对应所述每个周期报文通道各自的发送队列,包括:
4.根据权利要求1所述的方法,其特征在于,所述令各个所述发送队列接收至少一个任意所述路由队列发来的路由报文,包括:
5.一种控制器局域网的报文接收方法,其特征在于,应用于局域网络控制器,所述局域网络控制器包括第一核和第二核;
6.根据权利要求1所述的方法,其特征在于,所述令所述第二核中的每个所述接收队列接收所述控制器外部发送至该接收队列的至少一个接收报文和至少一个路由报文,包括:
7.根据权利要求2所述的方法,其特...
【专利技术属性】
技术研发人员:贾若,
申请(专利权)人:北京车和家信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。