System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,特别是涉及一种多cpu间通信方法及相关装置。
技术介绍
1、随着智能网联车辆的发展,车辆上会搭载各种控制单元以实现不同的功能。由于功能的复杂程度不同,一些控制单元内部可能包括多个cpu(central processing unit,中央处理器),多个cpu共同配合完成所需实现的功能。
2、在相关技术中,多个cpu间一般是基于spi(serial peripheral interface,串行外设接口)总线进行通信,spi通信的工作原理为多个cpu分为master(主节点)和slave(从节点),cpu间的通信由master发起和控制,但是由于master无法确定slave所发送的通信数据的数据量的大小,一般会提供最大数量的时钟,此时若slave所发送的通信数据的数据量较小,则会造成时钟的浪费,进一步降低了spi通信的数据传输效率。
技术实现思路
1、基于上述问题,本申请提供了一种多cpu间通信方法及相关装置,旨在解决spi通信的数据传输效率低的问题。
2、本申请实施例公开了如下技术方案:
3、第一方面,本申请实施例提供一种多cpu间通信方法,所述方法应用于通信节点为主节点的第一cpu,包括:
4、向第二cpu发送预设字节的第一时钟信号;所述第二cpu为通信节点为从节点的cpu;其中,所述第一cpu与所述第二cpu之间建立通信连接;
5、接收所述第二cpu基于所述第一时钟信号发送的响应数据;所述响应数据指示
6、向所述第二cpu发送第二时钟信号;所述第二时钟信号的字节数量基于所述数据长度确定;
7、接收所述第二cpu基于所述第二时钟信号发送的所述目标数据。
8、可选地,所述接收所述第二cpu基于所述第一时钟信号发送的响应数据,包括:
9、接收所述第二cpu基于所述第一时钟信号发送的目标响应数据;所述目标响应数据指示所述第二cpu待发送的拼接数据的拼接数据长度;所述拼接数据长度小于或等于预设数据长度;所述预设数据长度为所述第一cpu与所述第二cpu单次通信的最大数据长度;所述拼接数据为多个业务数据拼接后的数据;所述多个业务数据的业务类型相同;
10、所述向所述第二cpu发送第二时钟信号,包括:
11、向所述第二cpu发送第二目标时钟信号;所述第二目标时钟信号的字节数量基于所述拼接数据长度确定;
12、所述接收所述第二cpu基于所述第二时钟信号发送的目标数据,包括:
13、接收所述第二cpu基于所述第二目标时钟信号发送的所述拼接数据。
14、可选地,在接收到所述拼接数据后,所述方法还包括:
15、对所述拼接数据中的多个业务数据进行数据校验;
16、若所述多个业务数据中存在数据校验未通过的目标业务数据,则向所述第二cpu发送重发请求;所述重发请求指示所述第二cpu重新发送所述目标业务数据的请求。
17、可选地,若所述第二cpu还包括待发送的第二目标数据,所述方法还包括:
18、在接收所述目标数据的预设时间间隔后,向所述第二cpu发送预设字节的第三时钟信号;
19、接收所述第二cpu基于所述第三时钟信号发送的第二响应数据;所述第二响应数据指示所述第二cpu待发送的第二目标数据的第二数据长度;
20、向所述第二cpu发送第四时钟信号;所述第四时钟信号的字节数量基于所述第二数据长度确定;
21、接收所述第二cpu基于所述第四时钟信号发送的所述第二目标数据。
22、可选地,所述第一cpu与所述第二cpu通过以下方式建立通信:
23、接收所述第二cpu发送的数据发送请求;所述数据发送请求指示所述第二cpu向所述第一cpu发送数据的请求;
24、若所述数据发送请求校验通过,则向所述第二cpu发送确认结果;所述确认结果指示所述第一cpu与所述第二cpu建立通信。
25、第二方面,本申请实施例提供一种多cpu间通信方法,所述方法应用于通信节点为从节点的第二cpu,包括:
26、接收第一cpu发送的预设字节的第一时钟信号;所述第一cpu为通信节点为主节点的cpu;其中,所述第一cpu与所述第二cpu之间建立通信连接;
27、基于所述第一时钟信号向所述第一cpu发送响应数据;所述响应数据指示待发送的目标数据的数据长度;
28、接收所述第一cpu发送的第二时钟信号;所述第二时钟信号的字节数量基于所述数据长度确定;
29、基于所述第二时钟信号向所述第一cpu发送所述目标数据。
30、可选地,所述目标数据,通过以下方式确定:
31、获取一个业务数据,将所述业务数据作为目标数据;
32、或者,
33、获取多个业务数据,并将所述多个业务数据进行拼接,得到拼接数据;所述拼接数据作为目标数据;所述多个业务数据的业务类型相同;所述拼接数据的拼接数据长度小于或等于预设数据长度;所述预设数据长度为所述第一cpu与所述第二cpu单次通信的最大数据长度。
34、可选地,若所述目标数据为拼接数据,所述基于所述第一时钟信号向所述第一cpu发送响应数据,包括:
35、基于所述第一时钟信号向所述第一cpu发送目标响应数据;所述目标响应数据指示所述拼接数据的拼接数据长度;
36、所述接收所述第一cpu发送的第二时钟信号,包括:
37、接收所述第一cpu发送的第二目标时钟信号;所述第二目标时钟信号的字节数量基于所述拼接数据长度确定;
38、所述基于所述第二时钟信号向所述第一cpu发送所述目标数据,包括:
39、基于所述第二时钟信号向所述第一cpu发送所述拼接数据。
40、第三方面,本申请实施例提供一种多cpu间通信装置,所述装置应用于通信节点为主节点的第一cpu,包括:
41、第一发送模块,用于向第二cpu发送预设字节的第一时钟信号;所述第二cpu为通信节点为从节点的cpu;其中,所述第一cpu与所述第二cpu之间建立通信连接;
42、第一接收模块,用于接收所述第二cpu基于所述第一时钟信号发送的响应数据;所述响应数据指示所述第二cpu待发送的目标数据的数据长度;
43、第二发送模块,用于向所述第二cpu发送第二时钟信号;所述第二时钟信号的字节数量基于所述数据长度确定;
44、第二接收模块,用于接收所述第二cpu基于所述第二时钟信号发送的所述目标数据。
45、第四方面,本申请实施例提供一种多cpu间通信装置,所述装置应用于通信节点为从节点的第二cpu,包括:
46、第三接收模块,用于接收第一cpu发送的预设字节的第一时钟信号;所述第一cpu为通信节点为主节点的cpu;其中本文档来自技高网...
【技术保护点】
1.一种多CPU间通信方法,其特征在于,所述方法应用于通信节点为主节点的第一CPU,包括:
2.根据权利要求1所述的方法,其特征在于,所述接收所述第二CPU基于所述第一时钟信号发送的响应数据,包括:
3.根据权利要求2所述的方法,其特征在于,在接收到所述拼接数据后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,若所述第二CPU还包括待发送的第二目标数据,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述第一CPU与所述第二CPU通过以下方式建立通信:
6.一种多CPU间通信方法,其特征在于,所述方法应用于通信节点为从节点的第二CPU,包括:
7.根据权利要求6所述的方法,其特征在于,所述目标数据,通过以下方式确定:
8.根据权利要求7所述的方法,其特征在于,若所述目标数据为拼接数据,所述基于所述第一时钟信号向所述第一CPU发送响应数据,包括:
9.一种多CPU间通信装置,其特征在于,所述装置应用于通信节点为主节点的第一CPU,包括:
10.一种多
...【技术特征摘要】
1.一种多cpu间通信方法,其特征在于,所述方法应用于通信节点为主节点的第一cpu,包括:
2.根据权利要求1所述的方法,其特征在于,所述接收所述第二cpu基于所述第一时钟信号发送的响应数据,包括:
3.根据权利要求2所述的方法,其特征在于,在接收到所述拼接数据后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,若所述第二cpu还包括待发送的第二目标数据,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述第一cpu与所述第二cpu通过以下方式建立通信:
...【专利技术属性】
技术研发人员:苏民,
申请(专利权)人:天津经纬恒润科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。