AUTOSAR以太网通信架构中从最底层到最上层包含了Eth Driver,EthIf,TCPIP,SoAd等模块,下面分别介绍每个模块的作用:
4.1 Eth Driver
硬件驱动层的Eth Driver负责与外部PHY芯片的数据交互,实现了MAC 的初始化,内容主要包含了buffer的设置,中断的设置,部分芯片中还包含了复用的一些设置,该模块提供了相关的接口给EthIf模块进行调用实现对MAC的控制。
4.2 Eth Interface
硬件抽象层的Eth Interface实现了:
- 对底层MAC模块以及外设模块(TRCV,Switch)的控制接口的封装,向上提供了接口给TCPIP,EthSM模块;
- 上层模块通过调用EthIf的接口来访问MAC模块以及外设模块(TRCV,Switch);
- EthSM模通过EthIf实现了相关的以太网状态控制;
实现VLAN的划分和管理。
4.3 TCP/IP
传输控制协议/互联网协议 (Transmission Control Protocol/Internet Protocol)(简称TCP/IP),是车载以太网最基本的协议之一。
TCP/IP由很多协议组成,其中包含了TCP(传输控制协议)、UDP(用户数据报协议)、IP(互联网协议)、ARP(地址解析协议)、ICMP(Interne控制报文协议)、DHCP等,ARP则使用了静态配置表。
在AUTOSAR(AUTomotive Open System ARchitecture)中,TcpIp(Transmission Control Protocol/Internet Protocol)模块是用于实现TCP/IP网络协议栈的模块之一。它提供了在汽车电子系统中进行网络通信的功能。
配置TcpIp模块需要以下几个方面的配置:
- IP地址和子网掩码:配置汽车电子系统的IP地址和子网掩码。IP地址用于唯一标识系统在网络中的位置,而子网掩码用于定义子网的范围。
- 网关地址:配置网关地址,即将数据包从一个子网传输到另一个子网所需的路由器地址。网关充当两个不同网络之间的桥梁。
- DNS服务器地址:配置DNS(Domain Name System)服务器的地址。DNS用于将域名解析为IP地址,使得系统可以使用域名进行网络通信。
- TCP/IP协议栈参数:配置TCP/IP协议栈的相关参数,例如TCP最大连接数、TCP超时时间、IP数据包大小等。这些参数影响着网络通信的性能和可靠性。
- 端口配置:配置TCP/IP协议栈中的端口号。端口号用于标识应用程序之间的通信端点,不同的应用程序使用不同的端口号进行通信。
- 网络接口配置:配置网络接口的相关参数,包括接口名称、速度、工作模式等。这些参数与底层硬件相关,用于与网络接口进行通信。
配置TcpIp模块的具体方式和工具可能会因AUTOSAR软件供应商的不同而有所差异。一般情况下,可以通过AUTOSAR开发工具链提供的配置工具或编辑配置文件来进行TcpIp模块的配置。配置完成后,TcpIp模块就能够根据配置参数来建立和管理TCP/IP网络连接,并提供相应的网络通信功能。
4.4 SoAd
数据传输的TCP/IP概念,特别是使用以太网作为物理层,已经成为计算和电信环境中的事实上的标准。应用程序的寻址、端点的逻辑寻址和物理寻址都覆盖在一套分层的协议和数字分配中。动态配置和路由是实现这些概念的核心。
AUTOSAR遵循静态通信关系(static communication relations)的概念,该概念在编译时预先确定,在运行时严格执行。传输的数据被认为与它需要往返的源和接收一样是预先确定的。
Socket Adaptor模块旨在弥合这两个概念之间的差距。通过建立一个包含AUTOSAR所需信息的预先确定的配置,并保留一些项,以便在运行时进行更新,就可以利用相互冲突的概念。此外,SoAd将基于回调(call-back based)的软件体系结构与TCP/IP世界中的基于套接字(socket based)的通信处理解耦。
SoAd模块的主要目的是在使用PDU(如PDU Router)的AUTOSAR通信服务模块和基于socket的TCP/IP堆栈之间创建一个接口。它将I-PDU ID映射到socket连接,反之亦然。TCP/IP协议栈在TcpIp SWS中指定,如下图所示。为了便于了解,本文略示了TCP/IP堆栈的内部功能结构。
SoAd模块实现PDU和套接字转换的过程,包含了源端口,目的端口,源IP地址,目的IP地址等的设置。在SoAd配置中,首先需要定义发送和接收使用到的SoAdPduRoutes和SoAdSocketRoutes,这两个选项分别代表了发送和接收UDP报文的步骤。
Extended AUTOSAR Communication Stack.
扩展的AUTOSAR通信堆栈。
AutoSAR SoAd模块的配置参数关系图如下: