技术新讯 > 电子通信装置的制造及其应用技术 > AUTOSAR协议栈的通信方法、装置、设备及车辆与流程  >  正文

AUTOSAR协议栈的通信方法、装置、设备及车辆与流程

  • 国知局
  • 2024-08-02 13:50:58

本技术属于车辆,尤其涉及一种autosar协议栈的通信方法、装置、设备及车辆。

背景技术:

1、随着车辆的发展,传统的车载网络技术无法满足当前业务传输的需求。因此,汽车行业联盟(open alliance)引入了车载以太网标准,可以提供高带宽、低延迟的传输性能,已被汽车厂商广泛地采纳与应用。

2、现有车载以太网中的网络协议栈,通常是以套接字接口(socket api)的方式适配汽车开放系统架构(automotive open system architecture,autosar)标准。由于autosar标准对于传输控制协议(transmission control protocol,tcp)/网际协议(internetprotocol,ip)的需求与socket api对于tcp/ip封装的不匹配,基于socket编程模型实现的网络协议栈代码量大以及内存操作偏多。例如,相关技术中不仅需要在传输层的缓存队列对tcp数据进行缓存,还需要在协议栈的autosar适配层对tcp数据进行缓存,导致基于socket编程模型实现的网络协议栈代码量大以及内存操作偏多,不能满足车载运行环境对网络协议栈内存可控的需求。

技术实现思路

1、本技术实施例提供一种autosar协议栈的通信方法、装置、设备及车辆,能够解决现有技术中基于socket编程模型实现的网络协议栈代码量大以及内存操作偏多,不能满足车载运行环境对网络协议栈内存可控的需求的问题,能够减少网络协议栈代码量和内存操作,进而能够更好的满足车载运行环境对网络协议栈内存可控的需求。

2、第一方面,本技术实施例提供一种autosar协议栈的通信方法,

3、第一协议栈包括依次通信连接的第一上层应用层、第一tcpip接口层、第一autosar适配层、第一传输层、第一ip层、第一虚拟接口层和第一网络接口层,方法包括:

4、通过第一tcpip接口层将用户数据传输至第一autosar适配层,用户数据由第一上层应用层生成;

5、在用户数据为第一tcp数据的情况下,通过第一autosar适配层将第一tcp数据拷贝至第一传输层的缓存队列;

6、依次通过第一ip层、第一虚拟接口层和第一网络接口层,向第二设备发送缓存队列中的第一tcp数据。

7、在一些可选的实施方式中,通过第一tcpip接口层将用户数据传输至第一autosar适配层之后,方法还包括:

8、在用户数据为udp数据的情况下,通过第一autosar适配层将udp数据拷贝至驱动网卡的网口内存;

9、向第二设备发送网口内存的udp数据。

10、在一些可选的实施方式中,第一autosar适配层中包括发送成功回调函数;

11、依次通过第一ip层、第一虚拟接口层和第一网络接口层,向第二设备发送缓存队列中的第一tcp数据之后,方法还包括:

12、在第一autosar适配层接收到第二设备发送的第一确定字符数据的情况下,调用发送成功回调函数,第一确认字符数据为第一tcp数据对应的确认字符数据,第一确认字符数据用于表征第二设备已成功接收到第一tcp数据。

13、在一些可选的实施方式中,在用户数据为第一tcp数据的情况下,通过第一autosar适配层将第一tcp数据拷贝至第一传输层的缓存队列之前,方法还包括:

14、通过第一autosar适配层对第一tcp数据进行预发送处理,预发送处理包括检测第二设备与第一设备的连接状态,以及检测第一设备的目标缓存中是否存在数据;

15、通过第一autosar适配层将第一tcp数据拷贝至第一传输层的缓存队列,包括:

16、在连接状态为连接,且目标缓存中存在数据的情况下,通过第一autosar适配层将第一tcp数据拷贝至第一传输层的缓存队列。

17、在一些可选的实施方式中,依次通过第一ip层、第一虚拟接口层和第一网络接口层,向第二设备发送缓存队列中的第一tcp数据之前,方法还包括:

18、通过第一传输层获取第一tcp数据的网卡信息,网卡信息用于选择第一设备发送至第二设备的网口;

19、通过第一传输层对第一tcp数据运行算法控制,以及填充第一tcp数据的报文头部,得到调整后的第一tcp数据,报文头部包括源端口、目的端口、报文序号、报文确认号、报文数据偏移、报文窗口、报文校验和和报文紧急指针;

20、依次通过第一ip层、第一虚拟接口层和第一网络接口层,向第二设备发送缓存队列中的第一tcp数据,包括:

21、依次通过第一ip层、第一虚拟接口层、第一网络接口层和网口信息对应的网口,向第二设备发送缓存队列中调整后的第一tcp数据。

22、在一些可选的实施方式中,第一传输层包括第一协议控制块,通过第一autosar适配层将udp数据拷贝至驱动网卡的网口内存之前,方法还包括:

23、通过第一autosar适配层检测第一传输层中第一协议控制块是否绑定udp数据对应的第一地址和udp数据对应的第一端口,第一协议控制块用于保存udp协议通信相关的上下文信息;

24、通过第一autosar适配层将udp数据拷贝至驱动网卡的网口内存,包括:

25、在第一协议控制块绑定第一地址和第一端口的情况下,通过第一autosar将udp数据拷贝至驱动网卡的网口内存。

26、在一些可选的实施方式中,第一autosar适配层包括接受回调函数,通过第一tcpip接口层将用户数据传输至第一autosar适配层之前,方法还包括:

27、依次通过第一网络接口层、第一虚拟接口层、第一ip接口层和第一传输层,接收第二设备发送的握手信号;

28、在第一传输层包括第二协议控制块的情况下,依次通过第一传输层、第一ip层、第一虚拟接口层和第一网络接口层,向第二设备发送握手信号和第二确认字符数据,第二确认字符数据为握手信号对应的确认字符数据,第二确认字符数据用于表征第一设备已成功接收到握手信号,第二协议控制块用于保存协议通信相关的上下文信息;

29、在第一传输层接收到第二设备发送的第二确认字符数据的情况下,调用接受回调函数;

30、在接受回调函数内设置接收回调函数、轮询间隔和回调函数和出错回调函数。

31、在一些可选的实施方式中,调用接受回调函数之前,方法还包括:

32、在第一传输层创建第三协议控制块,第三协议控制块用于保存tcp协议通信相关的上下文;

33、在第一传输层中第三协议控制块与第一tcp数据对应的第二地址和第一tcp数据对应的第二端口绑定,且第三协议控制块为监听状态的情况下,设置接受回调函数。

34、第二方面,本技术实施例提供一种autosar协议栈的通信方法,

35、第二协议栈包括依次通信连接的第二上层应用层、第二tcpip接口层、第二autosar适配层、第二传输层、第二ip层、第二虚拟接口层和第二网络接口层,方法包括:

36、依次通过第二网络接口层、第二虚拟接口层、第二ip层、第二传输层、第二autosar适配层、第二tcpip接口层以及第二上层应用层,接收缓存队列中的第一tcp数据,第一tcp数据由第一autosar适配层拷贝至第一传输层的缓存队列。

37、在一些可选的实施方式中,方法还包括:

38、依次通过第二网络接口层、第二虚拟接口层、第二ip层、第二传输层、第二autosar适配层、第二tcpip接口层以及第二上层应用层,接收第一设备发送的网口内存的udp数据。

39、在一些可选的实施方式中,依次通过第二网络接口层、第二虚拟接口层、第二ip层、第二传输层、第二autosar适配层、第二tcpip接口层以及第二上层应用层,接收缓存队列中的第一tcp数据之后,方法还包括:

40、依次通过第二上层应用层、第二tcpip接口层、第二autosar适配层、第二传输层、第二ip层、第二虚拟接口层和第二网络接口层,向第一设备发送第一确认字符数据,第一确认字符数据为第一tcp数据对应的确认字符数据,第一确认字符数据用于表征第二设备已成功接收到第一tcp数据。

41、在一些可选的实施方式中,依次通过第二网络接口层、第二虚拟接口层、第二ip层、第二传输层、第二autosar适配层、第二tcpip接口层以及第二上层应用层,接收缓存队列中的第一tcp数据,包括:

42、依次通过第二网络接口层、第二虚拟接口层、第二ip层、第二传输层、第二autosar适配层、第二tcpip接口层以及第二上层应用层,接收第一设备发送的缓存队列中调整后的第一tcp数据。

43、在一些可选的实施方式中,依次通过第二网络接口层、第二虚拟接口层、第二ip层、第二传输层、第二autosar适配层、第二tcpip接口层以及第二上层应用层,接收缓存队列中的第一tcp数据之前,方法还包括:

44、依次通过第二上层应用层、第二tcpip接口层、第二autosar适配层、第二传输层、第二ip层、第二虚拟接口层和第二网络接口层向第一设备的发送握手信号,第二确认字符数据为握手信号对应的确认字符数据,第二确认字符数据用于表征第一设备已成功接收到握手信号;

45、在接收到握手信号和第二确认字符数据的情况下,向第一设备发送第二确认字符数据。

46、第三方面,本技术实施例提供一种autosar协议栈的通信装置,

47、第一协议栈包括依次通信连接的第一上层应用层、第一tcpip接口层、第一autosar适配层、第一传输层、第一ip层、第一虚拟接口层和第一网络接口层,装置包括:

48、第一传输模块,用于通过第一tcpip接口层将用户数据传输至第一autosar适配层,用户数据由第一上层应用层生成;

49、第一拷贝模块,用于在用户数据为第一tcp数据的情况下,通过第一autosar适配层将第一tcp数据拷贝至第一传输层的缓存队列;

50、第一发送模块,用于依次通过第一ip层、第一虚拟接口层和第一网络接口层,向第二设备发送缓存队列中的第一tcp数据。

51、第四方面,本技术实施例提供一种autosar协议栈的通信装置,第二协议栈包括依次通信连接的第二上层应用层、第二tcpip接口层、第二autosar适配层、第二传输层、第二ip层、第二虚拟接口层和第二网络接口层,装置包括:

52、第一接收模块,用于依次通过第二网络接口层、第二虚拟接口层、第二ip层、第二传输层、第二autosar适配层、第二tcpip接口层以及第二上层应用层,接收缓存队列中的第一tcp数据,第一tcp数据由第一autosar适配层拷贝至第一传输层的缓存队列。

53、第五方面,本技术实施例提供一种电子设备,电子设备包括处理器以及存储有计算机程序指令的存储器;

54、处理器读取并执行计算机程序指令,以实现如第一方面的autosar协议栈的通信方法。

55、第六方面,本技术实施例提供一种车辆,包括至少以下一种:

56、如第三方面或第四方面的autosar协议栈的通信装置;

57、如第五方面的电子设备。

58、根据本技术实施例提供的autosar协议栈的通信方法,第一设备通过第一tcpip接口层将用户数据传输至第一autosar适配层,在用户数据为第一tcp数据的情况下,通过第一autosar适配层将第一tcp数据拷贝至第一传输层的缓存队列;依次通过第一ip层、第一虚拟接口层和第一网络接口层,向第二设备发送缓存队列中的第一tcp数据。也就是说,本技术实施例只需要直接将第一tcp数据拷贝至第一传输层的缓存队列,即,只需要对第一tcp数据进行一次缓存,相对于相关技术中不仅需要在第一传输层的缓存队列对第一tcp数据进行缓存,还需要在协议栈的第一autosar适配层对第一tcp数据进行缓存,减少了网络协议栈代码量和内存操作,进而能够更好的满足车载运行环境对网络协议栈内存可控的需求。

本文地址:https://www.jishuxx.com/zhuanli/20240801/240836.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。