当前位置:首页 > 汽车电子1 > 糖果Autosar
[导读]以太网即 ETH (Ethernet) 是 MICROSAR (*MICROSAR 是由Vector 开发的一套符合 AUTOSAR 标准的基础软件代码包

本文综合自张弛Autosar以太网实现

MICROSAR ETH 简介

以太网即 ETH (Ethernet) 是 MICROSAR (*MICROSAR 是由Vector 开发的一套符合 AUTOSAR 标 准的基础软件代码包,包含了 MICROSAR.RTE 以及 MICRO- SAR.BSW,覆盖了 AUTOSAR 的所有标准,还具有一些扩展功能模块,每一个AUTOSAR 的BSW 模块都能对应到具体的 MICROSAR 模块。Vector DaVinci Configurator Pro 工具用于对 MICROSAR 模块进行具体配置,并生成代码。*)中的一个 BSW 模块,其概念是由 Xerox 公司创建并由 Xerox、Intel 和 DEC/' 公司联合开发的基带局域网规范,是当今现有局域网 采用的最通用的通信协议标准。

图1 汽车以太网

图2 以太网无线充电
以太网包括标准的以太网 (10Mbit/s)、快速以太网(100Mbit/s)和 10G(10Gbit/s)以太网。IEEE 组织的 IEEE 802.3 标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。

图3 Vector全栈解决方案
AUTOSAR 对于车载以太网的架构提出了新的解决方案,不同于计算机网络通信的 7 层 OSI 架构模型,AUTOSAR 规范首次提出了一种适用于车载以太网的 TCP/IP 模型。如图 4 所示,以太网在 OSI 七层模型定义于物理层和数据链路层,相对应地在 TCP/IP 模型中处于网络接口层。由于 OSl 七层模型对于车用网络架构而言过于复杂,而 AUTOSAR 使用的TCP/IP 模型更贴近实用,故其在车载以太网领域获得了更广泛的应用。

图4 OSI 模型与车载以太网 TCP/IP 模型
在 TCP/IP 模型中,网络通信架构被分为 4 层,其中应用层是应用程序访问网络的通道,常见FTP、HTTP、DNS 和TEL- NET 协议,AUTOSAR 内还包含了 SOME/IP、DoIP 和 XCP 等 协议;传输层主要指的是 TCP 协议和 UDP 协议;网络层包括 IP 协议,ARP、RARP 协议,ICMP 协议等;网络接口层是 TCP/ IP 协议的基层,负责数据帧的发送和接收。

车载以太网 SOME/IP 协议简介

SOME/IP(Scalable service-Oriented MiddlewarE over IP) 是车载以太网通信领域的一个概念,是一种位于应用层的通信协议。在目前主流的以 CAN 总线为主的车载网络中,通信过程是面向信号的(除了诊断通信之外),这是一种根据发送者需求实现的通信过程,当发送者发现信号的值变化了或者到达预定的发送周期,就会向外发送该信号,而不考虑接收者是否有需求。而 SOME/IP 则不同,它是在接收方有需求的时候才发送,这种协议使得总线上不会出现过多不必要的数据收发,从而有效地降低总线负载。在车载网络中,某个 ECU 有时会需要调用实现在其他 ECU 上的服务,此时两个ECU 就分别扮演了网络通信中client 和 server 的角色,而 SOME/IP 就是实现这种远程服务调用的接口,如图 5 所示。

5 SOME/IP 通信示意图
从图 5 和图 6 可以看出,SOME/IP 本质上是构架在传输层之上的应用层通信协议,它是位于TCP/UDP 报文的Payload 部分内的。

图 6    SOME/IP报文位置
SOME/IP数据的 Header 部分的 Message Type  字段是 SOME/IP 功能实现的重要部分,其长度为 8 bit,有以下五种取值:REQUEST(期待响应的请求)、REQUEST_NO_RETURN (不期待响应的请求)、NOTIFICATION     (事件通知)、RE- SPONSE(响应消息)和 ERROR(报错消息)。

图 7 SOME/IP 协议通信方法
如图 7 所示,当 ECU A 作为 Client 端对 ECU B 的某个服务有需求时,发送一个Request 消息,之后ECU B 作为Ser- ver 端根据接收到的 Request 类型决定是否返回一个 Re- sponse 消息。在二者经过上述通信没有发生错误后,首先由 Client 向 Server 订阅服务内容,然后 Server 向 Client 自动发 布服务内容。3 实现方法 MICROSAR ETH 模块功能的实现需要一个上位机与单片机上的 ETH 模块进行信息交互,为了更好的进行交互过程观察和单片机上的变量观察,本文使用德国 Vector 公司的产品 VN5640 配合电脑上的 CANoe 软件作为上位机。

8 实现方法示意图
在 MICROSAR 中,DaVinci 配置工具将以太网相关的配置内容分为如图 9 所示的多个分层模块结构。用户需要自下而上进行配置,即从底层的Eth 收发器、接口和驱动模块开始, 之后配置网络传输协议 TCP/IP 模块,配置对 TCP/IP 协议进行封装的SoAd 模块,然后将其和信号相关的PduR、Com 模块相互配合,最后和上层的 SOME/IP 协议应用相关联。其设计路线与上文 MICROSAR 提出的车载以太网 TCP/IP 模型结构的顺序基本符合。

图 9 MICROSAR 配置工具的分层模块架构
因此,本文采用的技术路线如下:(1)使用Vector DaVinci 开发工具搭建操作系统,实现RTE、任务配置和运行实体的映射,配置应用层用于测试的简单应用;
(2)配置 Eth/EthIf/EthTrcv 模块,即以太网通信底层模块,包括以太网接口、以太网收发器和以太网驱动的相关配置;
(3)配置 TCP/IP 模块,即以太网通信协议,对传输层和网络层进行配置。
(4)配置 SoAd 模块,每一条 TCP 连接通过一个双向的通信连接实现数据的交换,连接的两个端点称为一个 Socket。其本质是编程接口(API),即一种对 TCP/IP 的封装。
(5)配置信号定义(该步骤用于SOME/IP 通信),主要通过以太网描述文件(.arxml)完成,通过 Com 相关模块和 Pdu 相关模块进行配置实现其具体功能。
(6)在 Tasking 编译器中集成静态代码以及配置工具生成 的代码,生成可执行文件;
(7)使用调试工具进行测试验证,使用 CANoe 对所需变量进行观测;
本文设计了如下方案以验证 ETH 基础通信及 SOME/IP 通信的功能的正确性。在验证ETH 基础通信功能时,如下图所示,设计了一个以太网接收数据的中断服务,即每当单片机成功接收到上位机发来的以太网报文后,产生一个二类中断。为了验证以太网 基础通信在UDP 和TCP 两种协议下均可正常工作,故设计适用于 UDP 和 TCP 两种协议的中断服务程序,在其内部调用以太网发送函数SoAd_IfTransmit(),即当单片机成功接收到上位机发来的以太网报文后,立刻向外发出一个以太网报文,本文设计发送内容与接收到的数据一致,以此验证以太网基础通信的收发功能。

图 10 验证通信功能的中断服务程序及任务的简单代码

在验证SOME/IP 通信功能时,如图 10 所示,设计了一个包含一个Runnable 的TASK,该Runnable 运行周期为 20ms。在Runnable 外部预先定义两个信号,分别对应单片机向外发送的信号 A 和单片机接收到的信号 B。信号 A 的数据为图中的结构体 aSOAData_RDA_HSC4_S00,而信号 B 的数据对应为图中的结构体aSOAData_IECU_HSC4_RDA_FrP01。每当单片机上的操作系统运行 20ms,即进行一次对信号 B 的读取和对信号 A 的写入并发送。通过观察单片机是否正确接收上位机发来的信号 B 数据,以及上位机是否正确接收单片机发出的信号 A 数据,以此验证以太网 SOME/IP 通信的收发功能。
测试与验证
测试与验证 本文测试硬件平台为英飞凌公司生产的 Aurix TC397 单片机,通过 Mini-Wiggler 与计算机上的 pls 公司的 UDE 调试软件相连,另以德国 Vector 公司生产的 VN5610 控制器作为测试上位机,配合该公司的 CANoe 软件进行测试。

图 11 测试系统示意图

  • ETH 基础通信测试
通过网线将 VN5610 与 TC397 单片机相连接,另一端通过数据线将 VN5610 与电脑相连接。保持单片机上的程序正常运行,建立的 CANoe 工程,测试 UDP 与 TCP 协议通信,其中单片机的 IP 地址设置为 192.168.1.50,上位机 CANoe 的 IP地址设置为 192.168.1.254,另外设置上位机的 UDP/TCP 报文以周期 1000ms 进行发送,发送的报文 Payload 部分内容为十六进制数值“112233445566778899AABB”。

图 12 UDP Message
在单片机运行的程序中添加代码,目的是使单片机收到上位机CANoe 发送来的数据时,直接将收到的数据转发出去, 即发回 CANoe。这样只要分别对比在 UDP 与 TCP 协议下, 发送与接收到的 UDP/TCP 的 Payload 数据是否一致,以及 UDP/TCP 的Header 部分是否相互匹配,即可确认以太网基础 通信功能是否正常。点击 CANoe 的运行按键,在 Trace 窗口可以看到以太网网络的数据帧,Trace 结果的片段如下图所示。在 Trace 窗口中点击任意一帧接收报文Rx,可以在Detail View 中查看UDP报文和 TCP 报文的详细信息,从图 13 中可以看到帧类型、物理地址、本地和目标地址及其端口,在 UDP 与 TCP 下的 Pay- load 是主要的用户数据。

图 13 UDP 报文 Trace

在 UDP 协议下,将 CANoe 接收到的数据报文与之前预设在 CANoe 中发送的数据报文进行对比,可以看出两者的 Payload 部分相同,其他部分严格对应无误。在 UDP 协议下,将 CANoe 接收到的数据报文与之前预设在 CANoe 中发送的数据报文进行对比,可以看出两者的 Payload 部分相同,其他部分严格对应无误。

图 14 TCP 报文 Trace

在 TCP 协议下,可以看出 TCP 协议特有的识别过程,首先进行 ARP 协议传输,根据 IP 地址解析 MAC 地址,之后是客户端(CANoe)与服务端(TC397)建立连接的“三次握手”。与 UDP 协议不同的是,TCP 协议中的任何以此收发均会给对方产生一个反馈信息,由于在代码中设置了将单片机收到的报文数据立刻发送出去,因此该报文数据会与反馈信息相结合形成一个报文,故在上位机中以此完整通信只收到一次 Rx 报文。将 CANoe 接收到的数据报文与之前预设在 CANoe 中发送的数据报文进行对比,可以看出两者的Payload 部分相同, 其他部分严格对应无误。综上所述,验证了以太网基础通信功能的正确实现。
  • 以太网 SOME/IP 通信测试

通过网线将 VN5610 与 TC397 单片机相连接,另一端通过数据线将 VN5610 与电脑相连接。首先测试从 TC397 单片机向外发送数据,在代码中声明要发送的信号为如图 10 所示结构体 aSOAData_RDA_HSC4_S00,赋值为{1,0,0,4}。正常运行单片机之后,可以在 UDE 调试器中通过 Watches 窗口查看到代码中设置好的信号的值。保持单片机上的程序正常运行,建立 CANoe 工程。只要分别对比:(1)上位机 CANoe 发送出的报文,即上述结构体的值,是否被单片机正确接收,即单片机内存中该结构体的值与发送 报文的相应值是否一致。(2)上位机 CANoe 接收到的报文,即上述结构体的值,是否与单片机发出的报文相应值一致,即上位机中收到的数据 是否与单片机内存中该结构体的值一致。以及各自的 Header 部分是否相互匹配,即可确认以太网SOME/IP 通信功能是否正常。

图 15 SOME/IP 通信接收测试

使用 CANoe 的 Trace 窗口观测报文,和 UDE 调试器中看到的单片机预设数据进行对比。可以看到 CANoe 收到的信号中的结构体与代码中设置的名称相同,数据{1,0,0,4}一致,报文其他部分互相对应无误。之后测试从上位机CANoe 向单片机发送数据,在CANoe 中利用 CAPL 语言手写代码,声明要发送的信号为如图 10 所示结构体 aSOAData_IECU_HSC4_RDA_FrP01,赋值为{1, 34,51,68}。正常运行单片机和 CANoe 工程之后,可以在 CA- Noe 的 Trace 窗口查看在 CAPL 语言中设置好的信号的内容。

图 16 SOME/IP 通信发送测试

使用 UDE 调试器的 Watches 窗口查看单片机收到的结构体数据,和 CANoe 中预设的报文数据进行对比。可以看到单片机收到的信号中的结构体与 CANoe 中设置的名称相同,数据{1,34,51,68}一致,报文其他部分互相对应无误。综上所述,验证了以太网 SOME/IP 通信功能的正确实现。

小结

本文概述了 AUTOSAR 规范的架构,基于该规范内容 在 Aurix TC397 单片机上实现了 ETH 基础通信和 SOME/ IP 通信。本文为两类通信模式分别设计了技术路线和测试方案,并通过测试验证了以太网 TCP/UDP 基础通信和SOME/IP 通信功能的正确性和有效性。基于 AUTOSAR 的以太网通信软件开发可以为智能交通、ADAS 等领域的信息交互提供极大便利,具有广阔的发展前途和极高的实际应用价值。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

新的IEEE汽车以太网标准不断涌现,10BASE-T1S是最新的以太网标准之一。本文讨论汽车行业影响汽车电子/电气(E/E)架构变化的发展趋势,以及新10BASE-T1S标准如何支持和推动这种新架构的部署。

关键字: 以太网 汽车电子 传感器

该解决方案采用全新 1.6T 以太网控制器 IP、经过硅验证的224G PHY IP和验证IP,助力未来基础设施的升级建设

关键字: 数据中心 芯片 以太网

模拟与混合信号事业部将提供行业领先的技术为汽车、工业和云端市场提供全面的系统解决方案

关键字: 电源管理 传感器 以太网

2024年3月4日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 与Analog Devices联手推出全新电子书,详细分析用于支持可持续制造实践的技术。

关键字: 以太网 工业物联网 放大器

10BASE-T1L是在2019年11月7日经过IEEE认证的新以太网物理层标准(IEEE 802.3cg-2019)。这将通过与现场级器件(传感器和执行器)的无缝以太网连接显著提高工厂运营效率,彻底变革过程自动化行业。...

关键字: 以太网 传感器 自动化

第七期免费电子杂志全面介绍了未来工业的技术发展、趋势与技术

关键字: 工业4.0 电机编码器 以太网

本文介绍如何利用10BASE-T1L MAC-PHY连接越来越多的低功耗现场设备和边缘设备。此外,本文还将详细说明何时使用MAC-PHY与10BASE-T1L PHY以及这些系统如何满足未来的以太网互联制造和楼宇安装要求...

关键字: 处理器 以太网 传感器

采取适当的预防措施,可以防止雷击对以太网连接设备造成损坏。使用保护元器件的传统方法可能不完全有效,我们还需要辅以另外一种方法,其灵感基于对雷击能量传递给以太网电缆和相连设备的基础机制的深入分析,本文会详细介绍这些内容。

关键字: 以太网 浪涌 长电缆

为增进大家对以太网的认识,本文将对以太网中的车载以太网予以介绍。

关键字: 以太网 指数 车载以太网

为增进大家对以太网的认识,本文将对以太网的传输介质以及以太网应用与工业控制时存在的问题予以介绍。

关键字: 以太网 指数 高速以太网
关闭
关闭