骁龙820A汽车 ADAS 分享方案介绍—CAN总线(一)
骁龙 820 车用处理器使用智能后视摄像头和停车辅助功能为驾驶员提供重要的提醒和信息,让驾驶员感知其周围环境,提高其对汽车的控制能力和安全意识,从而确保驾驶员的安全,由于车载智能化程度的不断提高,我们现今对于整个车载行业制定也一套统一的规范架构。
CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
汽车的CAN网络
CAN的特性
采用双线差分信号
协议本身对节点的数量没有限制,总线上节点的数量可以动态改变
广播发送报文,报文可以被所有节点同时接收
CAN的特性
多主站结构,各节点平等,优先权由报文ID确定
每个报文的内容通过标识符识别,标识符在,网络中是唯一的
标识符描述了数据的含义
某些特定的应用对标识符的分配进行了标准化
根据需要可进行相关性报文过滤
保证系统数据一致性
CAN提供了一套复杂的错误检测与错误处理机制,比如CRC检测、接口的抗电磁干扰能力、错误报文的自动重发、临时错误的恢复以及永久错误的关闭.
使用双绞线作为总线介质,传输速率可达1Mbps,总线长度<=40米
采用NRZ和位填充的位编码方式.
总线访问—非破坏性仲裁的载波侦听多路访问/冲突避免CSMA/CA(Carrier SenseMultiple Access/Collision Avoidance)
载波侦听(CS):总线上各个节点在发送数据前都要侦听总线的通信状态总线有通信Î不发送数据,等待网络空闲总线空闲Î立即发送已经准备好的数据
多路访问(MA):如果总线空闲,则在同一时刻多个节点可同时访问总线(向总线发送数据)
冲突避免(CA):节点在发送数据过程中要不停地检测发送的数据,确定是否与其它节点数据发生冲突,并通过非破坏性仲裁机制避免冲突.
CAN2.0版本
2.0A—将29位ID视为错误
2.0B被动—忽略29位ID的报文
2.0B主动—可处理11位和29位两种ID的报文
本节就先到这里,下节我们来讨论下关于Can的标准和一些电气特性。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)