从“通信”走向“沟通”,智能汽车交互机制的演进
当我们谈论智能汽车的通信时,我们在谈论什么?热门的SOA技术是不是智能汽车交互机制的“终局”?让我们用一篇文章来深挖、讲透这些概念。
通信的基本概念
通信技术是非常多样的,每种技术在传输速率、成本、成熟度、时延、稳定性、安全性等上的特性也不同,但其结构是类似的。
应用层:面向用户的一些服务接口
表示层:对数据进行翻译、加密和压缩
会话层:建立、管理和终止会话
传输层:提供端到端的通信连接方式,包括分包、重组、流控等 (段Segment)
网络层:负责数据包端到端地传递和互联过程,类似邮寄的起终点(包PackeT)
数据链路层:负责实际的传输管路,将数据可靠地传输到相邻节点,类似物流中转站(帧Frame)
物理层:负责物理媒介上的传递,类似货车(比特Bit)
整车常用通信技术
LIN网络是一种低成本的串行通信网络,主要起到辅助CAN的功能。在很多对带宽和功能要求不高的通信场景,使用LIN总线能够节省成本。LIN采用单主控制器/多从设备的模式,一般会和CAN配合使用,处于整个电气架构的末梢位置,连接一些实时性要求不高的终端设备(门、座椅等)。
FlexRay网络是一种高速可确定性的、具备故障容错的总线系统,一般为双线连接。用户可以配置静态传输,发送安全性较高的周期信息,使用时分多路(Time Division Multiple Access,TDMA)方法,对每个通信节点进行计划性的时间分配;也可以配置动态传输,发送频率不稳定的非安全消息,使用柔性时分多路 (Flexible Time Division Multiple Access,FT-DMA)方法,轮询每个通信节点,确认是否有信息发送。相比CAN通讯,FlexRay的成本更高但实时性更好,一般用在高安全要求的控制器通信上。
除了上述通信技术外,行业内目前最热门的的,目前来看仍然是CAN/CAN-FD网络以及基于以太网的SOA(SOC)通信,我们重点展开。
CAN/CAN-FD通信
CAN-FD协议可以理解成CAN协议的升级版,物理层未改变,但协议层的传输速率、数据长度、帧格式等均有改变。比如,将CAN的每帧8字节数据提高到64字节,波特率从最高的1Mbps提高到5Mpbs,这大大提升了车辆的通信效率。
CAN-FD提高了数据包组织的灵活性,可以支持AutoSAR框架下的PDU概念。PDU分为Container PDU和Signal PDU两类,前者是后者的容器,而后者用于存放具体信号。相比传统固定长度的CAN信息,CAN-FD可以根据需求在发送时动态配置内嵌Signal PDU的位置和个数,由此可以更灵活地适配负载和业务要求。
以太网通信
以太网之上的SOA
面向服务的通信定义了“服务方”和“消费方”,“服务方”是传统意义上的发送者,而“消费方”是一种接受者。
在整车应用当中,我们可以通过AutoSAR AP或者自主研发的生成工具,完成类似CAN的通信矩阵生成,满足各个域控制器之间的通信需求。与CAN相比,较为明显的区别除了通信载体不同外,SOA还具有以太网SOME/IP所支持的服务发现功能,可以动态建立域控制器之间的传输链路,从而实现动态拓扑的构建,由此提升软件更新过程中的灵活性。
不同于固定的信息传输,消费方可以利用“服务发现”,订阅某几个服务方准备好的信息输出服务。应用程序之间是一种松耦合的连接,消费方的需求发生变化,服务方往往不需要作出变化。但这往往只达到了面向服务通信(Service-Oriented Communication,SOC)的程度,还没有上升到SOA,依然还是一种从“通信”角度出发的思考。
由于SOA更多地被拿来和CAN进行类比,因此很多负责通信网络配置的从业者也往往习惯从“通信”角度对其展开思考,这让SOA的作用大打折扣。在接触SOA的初期,人们对SOA的很多定义和设计也非常不理解,这很大程度上也是因为受制于“通信”这个固有思维模式。
其实理解SOA非常简单,如果从“计算”这个视角出发,很多问题就会迎刃而解。
SOA是智能汽车的终局吗?
在交通系统中,私家车代表了人和车的固定映射关系,在不约束需求的情况下,交通系统的整体负载以及负载的均衡都是很难实现的,交通拥堵以及停车资源不匹配等问题,必然频现。共享车逻辑出现后,打破了人和车的固定关系,情况有所改善,交通系统的利用率提升了。但毕竟开车的还是司机,虽有奖励系统的调节,但其仍然受到个人生活作息以及营运偏好的影响。共享出行的下一步是基于无人驾驶的智能出行,因为解绑了人和车的关系,并且从能源补充到行驶路线都是系统全局规划的最优结果,所以,极有可能成为交通系统发展的终局。
通信的发展其实也是一个道理,基于信号的CAN通信,反映的是一种固定的信号交互过程,无法有效满足业务的变化。
SOA改变了这个过程,其建立了信号交互的可变关系,像超市购物一样,不管你选择超市里的哪种货品(服务),这个通信过程都是成立的。但其也存在不少的约束:第一,通信的带宽负载和计算消耗伴随链路的调整仍然会产生运算的不稳定,因此还需要工程师参与进行一些适配性的设计;第二,无论服务设计如何灵活,但其接口仍然依赖人工设计,所能提供的服务也仍然需要人去设计,不可能超越开发人员的认知范围。
未来是否有一种交互过程更加细腻,且变更后仍能保证运算稳定性的通信机制存在呢?答案是肯定的,那就是深度学习。
举个典型的例子。想象有一天,你愁容满面地坐进车里,汽车主动给你放了一首你悲伤时常听的歌曲。你在诧异其表现时,似乎还有点感动。但机器可能并没有这么感性,它只不过一直在分析你和车内所有接口的交互数据,发现了表情识别结果和这首歌的播放之间存在明显的相关性。我们可以通过深度学习模型来捕捉这种相关性,这种级别的网络模型训练甚至可以在车上完成。当系统发现你的行为模式存在规律性时,便可以在下次满足触发条件时,主动完成后续的操作。
在这个案例里,我们能看到深度学习相对SOA又有了新的优势。每个人不只是订阅既有的服务,更拥有了私人定制的、粒度更细的服务。并且这种变更,可能不需要通过OTA升级来获得,而是由用户在本地自行培养。
智能汽车从“通信”到“沟通”
人们对通信的一般理解,一直停留在无损地将一个信息从一处传输到另一处的整个过程。但这并不是通信的全部。
如果我们对一个基本的通信过程建模,就会发现其存在两个基本条件。第一、编码器和解码器之间共享一个密码本,用于保证信息一致;第二、接受者和发送者存在一种共同的理解,促使行动一致。但整个过程中噪声一直存在,编解码过程的噪声更多地是一种传递上的损失,而发送与接收者之间的偏差则往往是一种理解上的差异。
将这个模型引入人和人的沟通以及机器与机器之间的沟通,情况也是类似的。人和人之间的理解存在偏差,机器和机器之间也同样如此。信息传输虽然是单向的,但信息的理解和转换往往是反复双向磨合的过程。
有一个网络诈骗的例子,也许能让我们更深地体会,信息传递一致和行动一致之间的差异和关系。曾经有个男性诈骗人员将自己包装成女性和另一男性交往,骗取了大量钱财,其中有一段聊天记录曝光,女方(假扮)说:“你自己都没钱了,不要借给我了,我不喜欢男生身上没钱。”这句话非常有意思。诈骗人员要确保自己的想法和对方的行动保持一致,即让受害人交出钱财,但其实际传递的信息却和自己的想法完全相反。可耐人寻味的是,由于这句话刺激了受害人作为男性的自尊心,使其更愿意将钱借出去,从而在行动上让诈骗人员达成了自己的目的。
九章智驾目前正在做一份汽车行业的匿名调查问卷:关于“好工作”、“好老板”、“好公司”的评判标准;调查对象主要面向从事于自动驾驶相关行业的人士。希望能够耽误您两分钟左右的时间,扫描下方二维码,帮忙给做个简单的问卷调查。
注:加微信时务必备注您的真实姓名、公司、现岗位
以及意向岗位等信息,谢谢!
“知识积累”类稿件质量要求:
A:信息密度高于绝大多数券商的绝大多数报告,不低于《九章智驾》的平均水平;
B:信息要高度稀缺,需要80%以上的信息是在其他媒体上看不到的,如果基于公开信息,需要有特别牛逼的独家观点才行。多谢理解与支持。
推荐阅读:
◆我们的个人命运,三分靠打拼,七分靠产业红利——《九章智驾》创刊词
◆“好工作”的最关键指标:场景足够复杂、数据量足够大、杠杆率足够高
◆自动驾驶人才眼中的“差老板”与“好老板”,分别有哪些特质?