以太网的概念有DoIP,SOME/IP,13400,1000Base-T/Tx,PHY,MII,AVB、gPTP
(一)车载以太网OSI层级划分。
如下图,即为基于车载以太网的车载网络所使用的各种通信协议。
(二)DoIP是什么?
DoIP:Diagnostic over Internet Protocol,字面含义:基于IP协议的诊断。与之画风非常相似的就是DoCAN:Diagnostic over Controller Area Network,基于CAN协议的诊断
DoIP技术,在UDS诊断服务基础上,通过TCP/IP及以太网来进行远程车辆诊断。协议定义在ISO 13400,文档中详细描述了外部测试及刷新设备如何与整车内部ECU通过以太网及TCP/IP协议进行通讯。
文档共5份:
-
— Part 1: General information and use case definition
-
— Part 2: Transport protocol and network layer services
-
— Part 3: Wired vehicle interface based on IEEE 802.3
-
— Part 4: Ethernet Diagnostic Connector
-
— Part 5: Conformance test specification
可以看到,ISO13400涉及到的主要分布在传输层、网络层、数据链路层、物理层四层中。
ISO13400-1处于应用层(层7)之上,是对一些通用信息、应用场景的描述。
应用层基于ISO14229-1和ISO14229-5,前者是UDS的完整定义,后者是UDS通过网络协议IP传输的实现。
会话层(层5),ISO14229-2对于所有的诊断通信都是一样的,目的是为上层提供统一的接口,使上层应用不需要随着底层通信技术的变化而改变。
传输层和网络层(层4和层3)由ISO13400-2定义,ISO13400-2中规定了DoIP通信在传输层中使用TCP和UDP协议,在网络层中使用IPv4或IPv6。此标准中还定义了专属于DoIP通信的信息内容,这些信息和上层的诊断命令共同构成了传给TCP或UDP协议的SDU。
ISO13400-2定义了DoIP诊断通信对Ethernet数据链路层(层2)和物理层(层1)的要求,比如,规定DoIP通信在这两层上支持100BASE-T1(100 Mbit/s Ethernet) 和10BASE-T (10 Mbit/s Ethernet) 两种方案。
(三)SOME/IP是什么?
SOME/IP缩写的全称扩展:Scalable service-Oriented MiddlewarE over IP。字面理解:基于IP协议的面向服务的可扩展的中间层。它的核心词是中间层,主要用于控制报文通信。
SOME/IP数据在以太网报文结构中的位置。
由此可见,SOME/IP其实是构架在传输层之上的应用层通信协议,它的内容虽然很多很杂,但本质上也就是定义了SOME/IP 包头和数据的内容而已。
具体来说,SOME/IP位于OSI 7层模型的会话层。
下面是SOME/IP的重点内容总结:
服务是SOME/IP的最核心概念。在车载网络中,某个ECU有时会需要调用实现在其他ECU上的个服务,这个时候它俩就分别扮演了client和server的角色,而SOME/IP就是实现这种远程服务调用的接口。对于同一个服务,只能存在一个Server,但可以同时存在多个Client调用服务。
与CAN相比,面向服务的通讯方式能够大大降低总线的负载率。这是由于:在以CAN总线为主的车载网络中,通信过程是面向信号的(除了诊断通信之外),这是一种根据发送者需求实现的通信过程,当发送者发现信号的值变化了,或者发送周期到了,就会发送信息,而不考虑接收者是否有需求。而SOME/IP则不同,它是在接收方有需求的时候才发送,这种方法的优点在于总线上不会出现过多不必要的数据,从而降低负载。
上面是SOME/IP的传输数据帧,Payload是原始数据(SOME/IP的data),此外的其他结构都属于SOME/IP的header
Message Type(报文类型):
(1)REQUEST,REQUEST_NO_RETURN,RESPONSE属于同一类远程过程调用方法,当client有需求的时候,发送一个request消息,server根据这个消息类型(REQUEST或REQUEST_NO_RETURN)来决定是否发送response消息。过程如下图所示。
(2)NOTIFICATION属于事件通知类的服务,首先由client向server订阅服务内容,然后server向client自动发布服务内容。
NOTIFICATION又分为Event和Field 两类,这两类通知都需要首先使用SOME/IP-SD(Service Discovery)来进行服务订阅,然后才能发布通知。区别在于,Event是某一时刻的快照,只是事件通知,而Field除了事件通知之外,还具有Getter和Setter的功能,即对信息进行读写的操作。
关于SOME/IP的数据结构和通信模式
https://blog.csdn.net/AgingMoon/article/details/104166715?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase
文章结构:
1. 总体说明
2. 服务说明
2.1 Method
2.2 Event
2.3 Field
3. 解析SOME/IP格式
3.1 Message Type说明
3.2 Payload说明
4. SOME/IP 服务发现SD
4.1 主要功能
4.2 SD报文解析
4.2.1 Entry
4.2.2 Options
4.3 SD状态机
5. SOME/IP序列化
5.1 概念
5.2 说明
5.3 举例
(四)车载以太网物理层及链路层:
PHY/MAC控制器/MII/100BASE-T1/1000BASE-T1等概念都发生在以太网的最下两层:物理层和数据链路层。
物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY;
数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。数据链路层的芯片称之为MAC控制器;
车载以太网固定为全双工通信方式(名词解释:全双工就是双方同时可以互发消息,比如打电话可以双方同时讲话;半双工是对讲机,可以双向,但不能同时说话。所以远程开会最好还是使用对讲机,以免出现“同时有话说-又同时等对方说-对方都不说又同时有话说”的尴尬场景。说到这里又需要提到一个概念:CSMA/CD,载波侦听多路访问/冲突检测协议,它是以太网的MAC数据传输协议,但全双工关闭端口上的冲突检测功能CD,这是由于全双工模式下两个节点间的传送和接收链路实际是分开的。通过单对非屏蔽或屏蔽电缆连接,与之对应的100M的MDI接口为100Base-T1,以此满足EMC要求。
CSMA/CD的参考文章:https://www.cnblogs.com/mayuechang/articles/1496695.html
介绍以太网物理层的文章,原文链接:
https://blog.csdn.net/LEON1741/article/details/105914478?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.nonecase
1、MAC介绍
MAC(Media Access Control)即媒体访问控制子层协议,该部分有两个概念:MAC可以是一个硬件控制器,也可以指MAC通信及协议。它位于OSI七层模型中数据链路层的下半部分,主要负责控制与连接物理层的物理介质,它一端通过总线连接MCU/MPU,另一端通过MII连接到PHY。
在发送数据时,MAC协议会判断当前是否适合发送数据,若能,它会在将要发送的数据上附加一些控制信息,最终使数据以规定的格式到达物理层;在接收数据时,它会判断数据是否有错误,如果没有错误的话,它会去掉附加的控制信息发送至LCC(逻辑链路控制)子层。所以说,以太网数据链路层其实包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层这两层。
2、PHY介绍
PHY(Physical Layer,物理层)是IEEE802.3中定义的一个标准模块。STA(station management entity,管理实体,一般为MAC或CPU)通过SMI(Serial Manage Interface)对PHY的行为、状态进行管理和控制,而具体管理和控制动作是通过读写PHY内部的寄存器实现的。
PHY是物理接口收发器,它实现OSI模型的物理层。IEEE-802.3标准定义了以太网PHY包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。
PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说都是数据,而不管什么地址、数据还是CRC),然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去。收数据时的流程反之。
PHY还有个重要的功能就是实现CSMA/CD的部分功能。
3、MAC与PHY的接口连接
MCU/MPU接到MAC总线、MAC接PHY、PHY接网线(当然也不是直接接上的,还有一个变压装置)。MAC与PHY之间通过两个接口连接,分别为SMI接口和MII接口。MII叫做介质独立接口,以太网MAC通过该接口发出数据帧经过PHY后传输到其他网络节点上,同时其他网络节点的数据先经过PHY后再由MAC接收;SMI叫做是串行管理接口,以太网MAC通过该接口可以访问PHY的寄存器,通过对这些寄存器操作可对PHY进行控制和管理。SMI接口包括MDIO(控制和管理PHY以获取PHY的状态)和MDC(为MDIO提供时钟)。MDC由MAC提供,MDIO是一根双向的数据线。用来传送MAC层的控制信息和物理层的状态信息。MDIO数据与MDC时钟同步,在MDC上升沿有效。
关于车载以太网的物理层https://zhuanlan.zhihu.com/p/35662570
4、100BASE-T1/1000BASE-T1
100BASE-T1:IEEE组织对于传输速率为100Mbps的车载以太网物理层的正式命名。区别于100BASE-TX(标准民用100Mbps以太网).
1000BASE-T1 —— IEEE组织对于传输速率为1000Mbps(或者1Gbps)的车载以太网物理层的正式命名。区别于1000BASE-TX(标准民用1000Mbps以太网)。
对于100Mbps和1000Mbps的单位,进一步说明一下:bps,比特率(bit rate)又称“二进制位速率”,俗称“码率”。比特率指的是每秒传输比特数,又称数据信号速率,单位为比特/秒(bit/s或bps)、千比特/秒(kbit/s或kbps,k=1000)或兆比特/秒(Mbit/s或Mbps,M=1000000)。比特率越高,表示单位时间传送的数据就越多。
1000 bit/s = 1 kbit/s (一千位每秒)
1000 kbit/s = 1 Mbit/s (一兆或一百万位每秒)
1000 Mbit/s = 1 Gbit/s (一吉比特或十亿位每秒)。
(此处K和M分别为1000和1000000,而不是涉及计算机存储器容量时的1024和1048576)
比特率和波特率的差别,用一句话说明:波特率可以被理解为一个设备在一秒钟内发送(或接收)了多少码元的数据,它是对符号传输速率的一种度量,表示单位时间内传输符号的个数(传符号率)。通过不同的调制方法可以在一个符号上负载多个比特信息。
(五)AVB 和gPTP
AVB:以太网音视频桥接技术(Ethernet Audio/VideoBridging,又称“EthernetAVB”,以下简称AVB)是一项新的IEEE802标准,其在传统以太网络的基础上,通过保障带宽(Bandwidth),限制延迟(Latency)和精确时钟同步(Time synchronization),以支持各种基于音频、视频的网络多媒体应用。
IEEE 802.1音视频桥接(Audio Video Bridging, AVB)工作组定义了一种基于一套独立于TCP/IP协议族的通信协议的实现方法。涉及到的协议大体如下:
1、IEEE802.1Qat,流预留协议(Stream Reservation Protocol, SRP),为特定的数据流预留带宽的标准;
2、IEEE802.1Qav,时间敏感流的转发和排队规则(Forwarding and Queuing for Time-Sensitive Streams, FQTSS),流量整形的标准,可保证带宽和QoS的延迟参数。
以及其他的上层通信方案:
3、IEEE1722,音视频桥接传输协议(Audio/Video Bridging Transport Protocol, AVBTP)
4、IEEE 1733,实时传输协议(Real-time Transport Protocol, RTP);
5、IEEE802.1AS, 广义精确时钟协议(Generalized Precision Time Protocol, gPTP),确保收发的终端之间严格时间同步的标准。
gPTP协议位于OSI模型的层2之上,可以依赖于以太网传输
gPTP的用途是将车载网络中各个节点的时钟进行同步,因为各个节点的时钟都是互相独立运行的,而有些应用需要各个节点步调一致地执行。比如播放音频和视频的任务可能在不同的节点上实现,那么这两个设备必须要有相同的时钟基准,否则可能出现画面和声音对不上的情况。时钟同步本质上就是各方对一下表。
其他gPTP报文类型及工作任务详细内容参考https://zhuanlan.zhihu.com/p/101003490