汽车的智能神经网络如何构建
在汽车智能化的进程中,除了车载CPU、显示屏以及传感器的升级外,还有一个不可或缺的组成部分:总线系统。汽车解码之前在介绍特斯拉底盘时,曾涉及过Model S内部的总线设计。
本文,我们来了解下总线到底是什么?以及它为何对汽车智能化如此重要?简单来讲,如人的大脑要发号指令,需要神经系统去传递信息一样,汽车也有自己的“神经网络”。
ECU无处不在
最常见的“神经网络”叫做CAN Bus,Bus即总线的意思。CAN总线是目前最常见,也是最普及的一种汽车内部通讯协议,它最早由博世集团制定。目前,除了一些非常低端的车型,大部分量产车都采用了CAN作为通讯标准通讯协议。
CAN本身并不是所谓的“神经网络”,它只是这个网络内部各个节点之间对话的语言,就如同两台远程计算机之间,可以通过HTTP或FTP进行对话一样。在一辆现代化的汽车上,大致有100~300个、甚至更多个ECU,即电子控制单元(Electric Control Unit),来作为“神经节点”。
一辆汽车能否正常运营,就要看这些ECU之间是否配合融洽;而ECU数量的多少,也代表着汽车数字化程度的高低。现在,越来越多的机械零部件,被电控零部件所取代。比较典型的例子有转向助力:液压助力、电子液压助力、电子助力,再到线控转向。ECU已经被应用到了汽车的核心功能上。
这数百个ECU,在汽车内部组成了一个局域网。与外网不同,局域网的信息传输特点是,一个ECU发出的数据包,所有的节点都会接收到,但只有承担该数据包任务的节点,才会去执行命令。
举个例子,比如刹车灯。当监控刹车踏板的ECU,监测到踏板行程有变动时,就会通知监测尾灯的ECU。此时,该ECU控制尾灯,并将其通电点亮。这一个简单的操作,其实背后有至少2个ECU的配合。
此外,由于汽车模块化设计,ECU也分为了不同模块。比如,发动机有一个单独的ECU体系,叫做ECM(Engine Control Module )。这个模组由多个控制发动机不同功能的ECU组成,比如节气门的开合、燃油喷射剂量、涡轮介入时机等。
CAN负责组建局域网
要让所有的这些ECU之间相互配合,需要一个数据传输协议来作为“传令者”。CAN协议是其中之一,它的全称叫做Controllers Area Network。该协议诞生于1983年,是全球最大汽车零部件集团博世的独家专利。
CAN协议存在的意义是,它为汽车的电子化、数字化进程起到了巨大推动作用。借助CAN协议,汽车内部的数百个ECU,可以在没有主机(也就是车载CPU)的情况下组建一个局域网。1986年,SAE(汽车工程师协会)正式发表CAN协议标准。
其实,CAN总线是汽车产业与计算机产业有效配合的一个成功典范:在CAN标准被公布后的第二年,也就是1987年,英特尔与飞利浦开发出了全球第一款CAN总线适用的芯片(即ECU)。1988年发布的宝马8系,是全球第一款搭载CAN总线的量产车型。
CAN协议的普及,让汽车大幅度数字化,其意义不仅体现在汽车电子化程度的提升,也对于车辆的故障检修带来了革命性的变化。要知道,一辆现代化的汽车正常行驶,其需要的代码数量,要远超于一架波音747客机所需的。
OBD接口便是最直接的受益者,这个在1996年被美国政府强制推行的检修接口,通过采集CAN总线的各种数据,可以对车辆的运行状况做一个更精确的评估。甚至在逆向破解后,黑客通过CAN总线可以远程控制车辆。
但是,CAN并非是唯一的车用通讯协议。为了弥补CAN协议在某些方面的不足,汽车工业还研发出了很多其他协议,比如LIN协议。相比CAN,LIN的带宽要更小、承载的数据量更少,但同时成本也更低,适合应用于一些简单的ECU中,比如车窗升降等。
随着技术进步,汽车内部的数据量暴增。尤其是大屏幕的普及和流媒体技术的介入,让CAN总线在某些时候“力不从心”,已无法胜任工作。于是,更高级的通讯协议问世了,比如MOST、FlexRay、以太网等。
这些协议标准,拥有更大的带宽与更强的稳定性。其中,MOST是一种高速多媒体传输接口,专门为汽车内部的一些高码率音频、视频提供传输。FlexRay 也是一种高速协议,但不仅限于多媒体传输。在自动驾驶的奥迪A7中,位于后备箱的车载CPU(奥迪称之为zFAS)模组,就是依靠FlexRay协议来读取前置摄像头捕捉的数据。
至于以太网,这本不是专用于汽车技术的,而是计算机局域网的标准协议。与上述多种协议相比,以太网的传输速度是最快的。按照带宽划分,以太网可以分为标准以太网(10Mbit/s)、快速以太网(100Mbit/s),以及10G(10Gbit/s)以太网。注意,与HTTP等超文本传输协议不同,以太网是物理层的标准。
目前总线
智能神经网络ca 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)