CAN总线基础的几幅图
- 格式:doc
- 大小:99.00 KB
- 文档页数:1


汽车CAN总线详解概述CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而广泛应用于工业自动化、船舶、医疗等其它领域。
相比于其它网络类型,如局域网(LAN, Local Area Network)、广域网(WAN, Wide Area Network)和个人网(PAN, Personal Area Network)等,CAN 更加适合应用于现场控制领域,因此得名。
CAN总线是一种多主控(Multi-Master)的总线系统,它不同于USB或以太网等传统总线系统是在总线控制器的协调下,实现A节点到B节点大量数据的传输,CAN网络的消息是广播式的,亦即在同一时刻网络上所有节点侦测的数据是一致的,因此比较适合传输诸如控制、温度、转速等短消息。
CAN起初由BOSCH提出,后经ISO组织确认为国际标准,根据特性差异又分不同子标准。
CAN国际标准只涉及到 OSI(开放式通信系统参考模型)的物理层和数据链路层。
上层协议是在CAN标准基础上定义的应用层,市场上有不同的应用层标准。
发展历史1983年,BOSCH开始着手开发CAN总线;1986年,在SAE会议上,CAN总线正式发布;1987年,Intel和Philips推出第一款CAN控制器芯片;1991年,奔驰500E 是世界上第一款基于CAN总线系统的量产车型;1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);1993年,ISO发布CAN总线标准(ISO 11898),随后该标准主要有三部分:ISO 11898-1:数据链路层协议ISO 11898-2:高速CAN总线物理层协议ISO 11898-3:低速CAN总线物理层协议注意:ISO 11898-2和ISO 11898-3物理层协议不属于BOSCH CAN 2.0标准。
CAN总线的分层结构
CAN技术协议规范的目的是为了在任何两个CAN器件之间建立兼容性,为了达到设计的透明度和实施的灵活性,根据1SO/OSI参考模型,CAN被细分为物理层(Physical Layer)和数据链路层(Data Link Layer)。
图1为CAN的IS0/OSI 的参考模型的层结构:
图 1 CAN的IS0/OSI参考模型的分层结构
(1)物理层定义信号传输的方法,因而涉及驱动器/接收器的特性、位定时、位编码、解码、同步等内容,但对总线媒体装置,诸如驱动器/接收器特性未作规定,以便允许根据它们的应用,对发送媒体和信号电平进行优化。
(2)数据链路层包括逻辑链路控制子层(LLC,Logical Link Control)、介质访问控制子层(MAC,Medium Access Control)。
逻辑链路控制子层(LLC)主要负责为远程数据请求以及数据传输提供服务,涉及报文滤波、过载通知、以及恢复管理等。
介质访问控制子层(MAC)的作用主要是定义传送的规则,也就是控制帧的结构、执行总线仲裁、错误检测、错误标定(Error signaling)、故障界定(Fault confinement)以及总线的开启与关闭、报文的接收和发送等。
MAC子层是CAN协议的核心,其特性不存在修改的灵活性。