来由:
伴随着汽车的技术水平不断提高,车内成千上百个控制单元之间的信息交换也越来越密集。比如一个发动机转速信号,仪表、变速箱、ABS等各个控制单元都需要得到发动机转速的信号。那么问题来了?10个控制单元互相传递信号需要连10*9*8*….1=3628800根线,这对于一台汽车简直是不可思议的,难道车辆要造成这个样子?
错综复杂的布线
应运而生:
为了解决这个问题,这家老牌技术大牛公司德国BOSCH设计提供了CAN-BUS(Controller Area Network)数据通信的解决方案。什么意思呢?就如同它的名字BUS(公交车系统),公交车走的路线是一定的,任何人或者都可以从某个站台或者节点上车和下车。而汽车系统里面的各种信息也同样可以通过总线进行高效地传输、交换、共享和逻辑控制!
CAN总线架构
这样整个数据系统就变成今天我们汽车网络的雏形了。在CAN总线中,每个控制单元不指定接收者,把所有的信息都往外发送,由接受控制器自主选择是否需要接收这些信息。称为控制单元的局域网,是车用控制单元传输信息的一种传送形式。CAN-BUS最早可是由大众公司在97年的PASSAT的舒适系统上使用的哦。
CAN总线的解决方案
系统组成:
那么这个系统是怎么工作的呢?它主要是由以下这几个部件组成的。
CAN总线组成
CAN总线收发器:安装在控制器内部,同时兼具接受和发送的功能,将控制器传来的数据转化为电信号并将其送入数据传输线。
数据传输终端:电阻,防止数据在线端被反射,以回声的形式返回,影响数据的传输。
数据传输线:双向数据线,由高低双绞线组成。Can总线的基本颜色:Can-Low总是棕色;Can-High:驱动系统(黑色);舒适系统(绿色);信息系统(紫色);使用双绞线是为了消除外界的干扰。
数据乘客:
万事具备,只欠东风。所有的数据乘客们必须统一下服装配饰凭票上车啊!
数据乘客
对的,所有的数据必须穿成这样:共7个数据段,分别储存有开始区(1位),有限级别区(11位),检验区(6位)数据区(64位),安全区(16位),确认区(2位)和结束区(7位)。所有的信息其实都是0和1组成的,顺序不同代表的信息都不同了,在这里我先向冯诺依曼老头子表示一下敬意,然后再向电子晶体管的制造商表示感谢。因为0和1这样的数据只有通过CAN的收发器转换为差分形式的高低电平信号才能在总线上进行下图式的传输。
电平信号
站点换乘:
由于不同区域的公交路线速度不同啊,比如汽车上各系统CAN总线系统设定的5个不同的区域,其速率分别为(Kbit/s)(硬件实现最大速度是1000)的速率如下。
CAN总线系统速度
那么一个信号要从一个总线进入到另一个总线区域,怎么进行换乘呢?这项工作就要交给网关了。网关可以把信号的速率和优先级进行改变,能够让另一个运输线路接受。棒!
网关的作用
还有问题吗?
由于Can总线采用的串行数据传递(单根数据线)方式,如果有多个控制器同时需要发出信号,那么在总线上一定会发生数据冲突。这么多的信号在总线上总归会造成交通拥堵了,如果紧急的信号不能及时的传送到关键部门,车辆会出问题的。而有的信号乘客有大把时间可以错峰出行啊。
优先级
所以车辆网络上的每一个数据都有它的优先级。当有多个控制器试图发送信息时,它们自己的接收器为信息优先级进行仲裁,当其他控制器发送的信息优先级高于自己控制器发送信息时,通知自己发送器停止发送,整个控制器进入接收状态。在信息数据列中有11位的状态区,这11位二进制中前7位既是发送信息的控制器标识符,同时又表示了它的优先级,即从前往后数,前面零越多,优先级越高。而后4位则是这个控制器发送不同信息的编号,如发动机控制单元既要发送转速信号,又要发送水温等信号,则后4位就有所不同。比如车辆发生相撞事故,气囊控制单元会发出负加速度传感器的信号,这个信号的优先级在驱动系统是非常高,但转到舒适系统后,网关调低了它的优先级,因为它在舒适系统功能只是打开门和灯。
优先级
【特别说明:Autodestiny原创作品,侵权必究,转载请注明出处】
联系客服