查看原文
其他

从“通信”走向“沟通”,智能汽车交互机制的演进

殷玮 九章智驾 2022-07-29

当我们谈论智能汽车通信时,我们在谈论什么?热门SOA技术是不是智能汽车交互机制的“终局”我们用一篇文章来、讲这些概念

通信的基本概念

通信技术是非常多样的,每种技术传输速率成本成熟度、时延、稳定性、安全性等上的特性也不同但其结构是类似的

讨论通信技术,一般都会从开放式系统互联通信参考模型(Open System Interconnection Reference Model,OSI)开始。
  • 应用层:面向用户的一些服务接口

  • 表示层:对数据进行翻译、加密和压缩

  • 会话层:建立、管理和终止会话

  • 传输层:提供端到端的通信连接方式,包括分包、重组、流控等 (段Segment)

  • 网络层:负责数据包端到端地传递和互联过程,类似邮寄的起终点(包PackeT

  • 数据链路层:负责实际的传输管路,将数据可靠地传输到相邻节点,类似物流中转站(帧Frame

  • 物理层:负责物理媒介上的传递,类似货车(比特Bit)


通信技术的选择是根据业务要求以及技术本身的特点来决定的。比如以太网(TCP/IP协议层次设计更加复杂因此可以支撑互联网业务多样需求而车端的CAN协议则简化了各层的设计,以满足车辆可靠性和低时延的要求。

整车常用通信技术

进一步,我们罗列目前主流智能汽车采用的一些通信手段,如下表所示

LIN网络是一种低成本的串行通信网络,主要起到辅助CAN的功能。很多对带宽和功能要求不高的通信场景使用LIN总线能够节省成本。LIN采用单主控制器/多从设备的模式,一般会和CAN配合使用处于整个电气架构的末梢位置连接一些实时性要求不高的终端设备(门、座椅等)

FlexRay网络是一种高速可确定性的具备故障容错的总线系统,一般为双线连接。用户可以配置静态传输,发送安全性较高的周期信息,使用时分多(Time Division Multiple Access,TDMA)方法对每个通信节点进行计划性的时间分配也可以配置动态传输,发送频率不稳定的非安全消息,使用柔性时分多路 (Flexible Time Division Multiple Access,FT-DMA)方法,轮询每个通信节点,确认是否有信息发送。相比CAN通讯,FlexRay的成本更高但实时性更好一般用在高安全要求的控制器通信上

低电压差分信号(Low-Voltage Differential SignalingLVDS)是一种低功耗、低误码率、低串扰和低辐射的差分信号技术具有功耗小、抗噪声能力强、电子干扰小等优势一般用于高速I/O(比如相机视频流)的传输任务。

除了上述通信技术外,行业内目前最热门的的,目前来看仍然CAN/CAN-FD网络以及基于以太网的SOA(SOC)通信,我们重点展开

CAN/CAN-FD通信

CAN/CAN-FD网络是目前智能汽车通信的绝对主力,拥有较好的性能、极高的可靠性和低廉的价格。不同于以太网通信,CAN/CAN-FD网络更多地是为了适应分布式构架下的多个控制器之间的互联而存在
CAN的原理很多文章都已经介绍过了本文作为重点去重复讨论

 

CAN-FD协议可以理解成CAN协议的升级版,物理层未改变,但协议层的传输速率、数据长度、帧格式等均有改变比如,将CAN的每帧8字节数据提高到64字节,波特率从最高的1Mbps提高到5Mpbs大大提升了车辆的通信效率。

CAN-FD提高了数据包组织的灵活性,可以支持AutoSAR框架下的PDU概念PDU分为Container PDU和Signal PDU两类,前者是后者的容器后者用于存放具体信号。相比传统固定长度的CAN信息,CAN-FD可以根据需求在发送时动态配置内嵌Signal PDU位置和个数,由此可以更灵活适配负载和业务要求。

这种灵活性往往需要测试人员具有更高的专业素质,因为,配置灵活性增强同时加大信号解析和检查的难度。

无论是CAN还是CAN-FD其本质上仍然是一种基于信号的通信,无论PDU增加了多少灵活性,CAN/CAN-FD依然带着浓厚的“通信”烙印,本质上发送方、接收方的组织仍然是固定的,调整是缓慢的。而我们接下来要说的基于以太网的SOA,相对来说就更为灵活SOA虽然常被用于和CAN进行对比,其实已经不是一种通信手段

以太网通信

智能汽车以太网通信的协议栈相比CAN更为复杂,当然其覆盖业务也更宽,灵活性也更高,是目前域控制器之间通信的主流方案。如下图所示


当前智能汽车以太网通信有两条发展路线。
一条路线就是时间敏感网络(Time Sensitive Networking,TSN是从链路层往上的一次全面改进,是未来具有较大潜力的一种以太网通信协议,但目前应用仍在探索当中采用更多是另一条技术路线,即对常规以太网技术的改进,主要调整底层和应用层的设计,保留了绝大部分网络层及传输层的设计,可以和传统互联网无缝衔接。

以太网之上的SOA

了解完以太网通信的基本构成,紧接着我们可以讨论SOA面向服务的架构(Service-Oriented Architecture)。SOA实际上并不是一种具体的技术,而是一种架构策略层面的指导思想或者范式,为了更好组织利用处于不同所有权范围控制下信息的一种分布式设计。
SOA不是一种单纯的通信机制虽然看上去CAN这类基于信号的通信类似。但仔细比对会发现两者有着本质上的区别。下图所示

面向服务的通信定义了“服务方”和“消费方”“服务方”传统意义上的发送者,而“消费方”是一种接受者。

在整车应用当中,我们可以通过AutoSAR AP或者自主研发的生成工具,完成类似CAN的通信矩阵生成,满足各个域控制器之间的通信需求。CAN相比较为明显的区别除了通信载体不同外,SOA有以太网SOME/IP所支持的服务发现功能可以动态建立域控制器之间的传输链路,从而实现动态拓扑的构建由此提升软件更新过程中的灵活性

不同于固定的信息传输,消费方可以利用“服务发现”订阅某几个服务方准备好的信息输出服务。应用程序之间是一种松耦合的连接,消费方的需求发生变化,服务方往往不需要作出变。但这往往只达到了面向服务通信(Service-Oriented Communication,SOC)的程度,还没有上升到SOA依然还是一种从“通信”角度出发的思考。

由于SOA更多被拿来和CAN进行类比,因此很多负责通信网络配置的从业者也往往习惯从“通信”角度对其展开思考,这让SOA的作用大打折扣。在接触SOA的初期人们对SOA的很多定义和设计也非常不理解,很大程度上也是因为受制于“通信”这个固有思维模式。

其实理解SOA非常简单,如果从“计算”这个视角出发,很多问题就会迎刃而解。

如下图所示,如果我们软件开发人员视角来看SOA其实更多是一种函数交互。一个函数的调用看上去是一种“计算”过程,当然其背后也隐藏了“通信”的概念般情况下通过内存指针的牵引,我才能在调用某个函数时,找到对应的方法和数据,而SOA很大程度上更像是将函数调用的“指针和内存”变成了“ID和网络”。

用面向对象编程的思想理解SOA
从“函数”这个角度继续分析如下图所示,我们看SOME/IP所提供的服务类型,其所描述的服务(Service),更多是一种“类”的概念。例(Instance)是对的方法做调整,而接口(Interface)以及事件组(EventGroup)的标记是对的数据结构调整。而Interface之下的Event、Method和Field更像是对某个数据结构读写权限的约束以及输出方法的设计。类的交互往往是“双向”的,SOA其实也是双向的。然而,由于受到“通信”概念的约束,SOA常常被强制设计为一个“单向”过程。

SOME/IP的服务类型
认为SOA设计之初,实际上是希望实现在多个域控制器上的开发可以做到像在一个域控制器上开发一样方便。如果从软件设计模式角度出发看SOA设计,确实可以更为容易地达成这个目标。但在实践中,同时做过软件开发的网络配置工程师非常少,且不同域控的配置工程师也大都不了解彼此的业务领域可以统筹多个域控制器的软件架构工程师更是凤毛麟角,SOA实现往往就在这个点上。

SOA智能汽车的终局

那么SOA是不是就是智能汽车的终局?
其实并不是。如下图所示,我们将交通出行业务的演进和通信架构的演进做了对比。


在交通系统中,私家车代表了人和车的固定映射关系,在不约束需求的情况下,交通系统的整体负载以及负载的均衡都是很难实现的,交通拥堵以及停车资源不匹配等问题,必然频现。共享车逻辑出现后,打破了人和车的固定关系,情况有所改善,交通系统的利用率提升了。但毕竟开车的还是司机,虽有奖励系统的调节,但其仍然受到个人生活作息以及营运偏好的影响。共享出行的下一步是基于无人驾驶的智能出行,因为解绑了人和车的关系,并且从能源补充到行驶路线都是系统全局规划最优结果,所以极有可能成为交通系统发展的终局。

通信的发展其实也是一个道理,基于信号的CAN通信,反映的是一种固定的信号交互过程,无法有效满足业务的变化 

SOA改变了这个过程,其建立了信号交互的可变关系,超市购物一样,不管你选择超市里的哪种货品(服务),这个通信过程都是成立的。但其也存在不的约束第一,通信的带宽负载和计算消耗伴随链路的调整仍然会产生运算的不稳定,因此还需要工程师参与进行一些适配性的设计第二,无论服务设计如何灵活,其接口仍然依赖人工设计,所能提供的服务仍然需要人去设计,不可能超越开发人员的认知范围。

未来是否有一种交互过程更加细腻,变更后仍能保证运算稳定性的通信机制存在呢?答案是肯定的,那就是深度学习。

举个典型例子想象有一天,你愁容满面地坐进车里,汽车主动给你放了一首你悲伤时常听的歌曲。你在诧异其表现时,似乎还有点感动。但机器可能并没有这么感性,它只不过一直在分析你和车内所有接口的交互数据,发现了表情识别结果和这首歌的播放之间存在明显的相关性。我们可以通过深度学习模型来捕捉这种相关性,这种级别的网络模型训练甚至可以在车上完成。当系统发现你的行为模式存在规律性时,便可以在下次满足触发条件时,主动完成后续的操作。

在这个案例里我们能看到深度学习相对SOA又有了新的优势。每个人不只是订阅既有的服务,拥有了私人定制的粒度更细的服务。并且这种变更可能不需要通过OTA升级获得,而是由用户在本地自行培养。

基于上面分析总结得出了智能驾驶服务的三个阶段。第一阶段是构建固定且稳定的关系,第二阶段是构建可变但不一定稳定的关系,第三阶段是构建可变且稳定的关系。我们当前处在第一阶段向第二阶段的过中,进入第三阶段,核心就是要尽可能的去除人对服务执行的干预。

智能汽车从通信沟通”

对通信的一般理解一直停留在无损地将一个信息从一处传输到另一处的整个过程。但这并不是通信的全部。

如果我们对一个基本的通信过程建模就会发现其存在两个基本条件。第一、编码器和解码器之间共享一个密码本,用于保证信息一致第二、接受者和发送者存在一种共同的理解,促使行动一致。整个过程中噪声一直存在,编解码过程的噪声更多是一种传递上的损失,而发送与接收者之间的偏差往往是一种理解上的差异。

将这个模型引入人和人的沟通以及机器与机器之间的沟通情况是类似的。人和人之间的理解存在偏差,机器和机器之间同样如此。信息传输虽然是单向的,但信息的理解和转换往往是反复双向磨合的过程

真实的交互过程是通信和计算共同作用的结果。所示

有一个网络诈骗的例子,也许能让我们更深体会,信息传递一致和行动一致之间的差异和关系。曾经有个男性诈骗人员将自己包装成女性和另一男性交往,骗取了大量钱财,其中有一段聊天记录曝光,女方(假扮)说:“你自己都没钱了,不要借给我了,我不喜欢男生身上没钱这句话非常有意思。诈骗人员要确保自己的想法和对方的行动保持一致,即让受害人交出钱财,但其实际传递的信息却和自己的想法完全相反。可耐人寻味的是,由于这句话刺激了受害人作为男性的自尊心,使其更愿意将钱借出去,从而行动上让诈骗人员达成了自己的目的。

对当下的智能汽车来说也是一样的,除了保证,底层通信的无损还要挖掘沟通过程体验。从CAN到SOA再到深度学习,智能汽车演进过程通信和计算的概念会进一步模糊化,机器更多需要信息传递沟通交流转移。

九章智驾目前正在做一份汽车行业的匿名调查问卷:关于“好工作”、“好老板”、“好公司”的评判标准;调查对象主要面向从事于自动驾驶相关行业的人士。希望能够耽误您两分钟左右的时间,扫描下方二维码,帮忙给做个简单的问卷调查。


写在最后


关于投稿如果您有兴趣给《九章智驾》投稿(“知识积累整理”类型文章),请扫描右方二维码,添加工作人员微信。

注:加微信时务必备注您的真实姓名、公司、现岗位

以及意向岗位等信息,谢谢!



“知识积累”类稿件质量要求:

A:信息密度高于绝大多数券商的绝大多数报告,不低于《九章智驾》的平均水平;

B:信息要高度稀缺,需要80%以上的信息是在其他媒体上看不到的,如果基于公开信息,需要有特别牛逼的独家观点才行。多谢理解与支持。





推荐阅读:

九章 - 2021年度文章大合集


我们的个人命运,三分靠打拼,七分靠产业红利——《九章智驾》创刊词


“好工作”的最关键指标:场景足够复杂、数据量足够大、杠杆率足够高


转型经验分享|我为什么放弃做VC投资,去做自媒体?


自动驾驶人才眼中的“差老板”与“好老板”,分别有哪些特质?


为什么自动驾驶产业对操作系统的关注比芯片晚两三年?


什么是激光雷达的“发动机技术”?一文讲透行业技术壁垒


AVP的商业化之路还有多远?


第1000辆无人小车下线后,行深智能接受了九章智驾的独家专访


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存