can总线的基本概念
- 格式:pptx
- 大小:240.32 KB
- 文档页数:3


1.CAN总线是什么?
CAN(Controller Area Network)是ISO国际标准化的串行通信协
议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠
性。
CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差
来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐
性电平。
“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上
即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输
出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平
为“1”。
下图显示了一个典型的CAN拓扑连接图。
连接在总线上的所有单元都能够发送信息,如果有超过一个单元在
同一时刻发送信息,有最高优先级的单元获得发送的资格,所有其它
单元执行接收操作。
2.CAN总线的特点
CAN总线协议具有下面的特点:
1) 多主控制
当总线空闲时,连接到总线上的所有单元都可以启动发送信息,这
就是所谓的多主控制的概念。
先占有总线的设备获得在总线上进行发送信息的资格。这就是所谓
的CSMA/CR(Carrier Sense MultipleAccess/Collosion Avoidance)
方法
如果多个设备同时开始发送信息,那么发送最高优先级ID消息的
设备获得发送资格。 2) 信息的发送
在CAN协议中,所有发送的信息要满足预先定义的格式。当总线
没有被占用的时候,连接在总线上的任何设备都能起动新信息的传
输,如果两个或更多个设备在同时刻启动信息的传输,通过ID来决定
优先级。ID并不是指明信息发送的目的地,而是指示信息的优先级。
如果2个或者更多的设备在同一时刻启动信息的传输,在总线上按照
信息所包含的ID的每一位来竞争,赢得竞争的设备(也就是具有最高
优先级的信息)能够继续发送,而失败者则立刻停止发送并进入接收
CAN总线由博世公司于1987年开发,1993年成为标准,在近23年的时间里获得了巨大的成功,逐渐替代了其它相近的总线,2001年的节点采用量已超过1亿。但是,曾经力推CAN总线的厂商,如宝马、博世、飞利浦等,目前都开始支持新的总线。对于推动新总线研究的原因,X-By-Wire的发展是一方面,但从根本上讲,消费者的安全需求才是最重要的原因。根据新闻报道:在CAN的发源地德国,2005年汽车抛锚事故中有35%是电子装置引起的。因此,电子控制系统及其通信系统的可靠性是一个敏感的问题,即使没有采用X-By-Wire,仍然使用常规的液压气动机构,也需要一种更为可靠的新总线来代替CAN。
车内通信有两个最基本的要求:一是数据内容正确;二是通信及时,序列一致。对这两点,CAN总线中均有所设计,但仍存在着不一致性、不可预测性、信道出错堵塞等漏洞。
1)不一致性
CAN总线中有一个著名的Last-But-One-Bit错误。CAN总线2.0A在信息认证(Message Validation)中规定:发送器验错的范围可覆盖到帧结束,如果发现错误,以后就按优先权和状态的规定重发;接收器验错的范围覆盖到帧结束的前一位。因此,如果由于空间干扰、电源波动等原因,对于帧的倒数第二位,一部分节点A认为无错,一部分节点B认为有错,即出现了所谓的Byzantine错误。这时,根据EOF应该是7个隐性位,节点B认为这是一种形式错误,所以就会启动错误帧,通知发送器重发,同时丢弃收到的帧。而认为没错的节点A
由于只查到倒数第二位,因此就会接收此帧。如果在发送器例行的下一次发送前B通知的重发成功,A就会收到重复帧;如果重发不成功,B就丢了一帧。在转向和制动系统中,4个轮子对命令的不同理解,可能造成性能的下降或其他更严重的后果。
2)不可预测性
CAN总线将节点状态分为Error Active、Error Passive和Bus Off三种,这三种状态在一定条件下可以互相转换。不同状态中节点的发送有不同的延迟。最高优先权的信息发送延迟有几种可能:当节点状态为Error Active时,若总线空闲,则立即发送;当节点状态为Error Active时,如果其它帧正在发送,则需等正在发送的报文结束后,再过3位后发送;当节点状态为Error Passive时,它有一个出错重发的要求,若没有其它帧要发送,等3位传送(Intermission)和8位挂起传送(Suspend Transmission)后重发;当节点状态为Error Passive时,若总线空闲,出错后等别的信息发送完后再发,等待时间与其它帧的长度有关;当节点状态为Bus Off时,需等状态恢复到Error Passive或Error
CAN总线教程详解
CAN总线是一种现代的、高性能的通信总线技术,被广泛应用于汽车电子、工业控制、航空航天等领域。CAN总线具有高可靠性、高带宽、低延迟等优点,能够满足实时性要求较高的应用场景。本文将对CAN总线的基本原理、通信方式、物理层、协议以及应用进行详细介绍。
首先是CAN总线的基本原理。CAN(Controller Area Network)总线是一种串行通信总线,其基本原理是利用差分信号传输数据,实现多个节点之间的通信。CAN总线采用一种分布式的控制方式,多个节点可以同时进行发送和接收数据,而不会造成冲突。此外,CAN总线还采用了一种优先级的机制,更高优先级的节点可以中断低优先级节点的传输,从而实现数据的有序传输。
接下来是CAN总线的通信方式。CAN总线支持两种通信方式:广播和点对点。在广播方式中,一个节点发送的数据可以被其他所有节点接收,而在点对点方式中,数据只能被指定的接收节点接收。广播方式适用于需要向所有节点发送相同的数据的应用场景,而点对点方式适用于需要向指定节点发送数据的场景。
然后是CAN总线的物理层。CAN总线的物理层采用了差分信号传输,即通过两根线分别传输正负两个相位相反的信号。这种差分传输方式具有抗噪声能力强、抗干扰性好等优点。CAN总线采用了标准的线缆以及连接器,可以实现节点间的高速可靠通信。此外,CAN总线还具有自动的错误检测和纠正机制,能够实时检测线路的故障情况。
接下来是CAN总线的协议。CAN总线采用了一种先进的帧格式,用于定义数据的传输规则。每一帧包括了数据、标志位、ID等字段,多个帧组成了一个消息。CAN总线使用了基于标识符的帧过滤机制,能够实现高效的消息传输。此外,CAN总线还支持远程帧,即节点可以向其他节点发送请求,请求其发送指定的数据。
最后是CAN总线的应用。CAN总线被广泛应用于汽车电子领域,用于汽车内部各个控制单元之间的通信。例如,发动机控制单元、制动系统控制单元、仪表盘控制单元等可以通过CAN总线进行数据交互。此外,CAN总线还应用于工业控制领域,用于各种工控设备之间的通信。同时,CAN总线还被应用于航空航天领域,用于航空电子设备之间的数据交互。
CAN总线的使用
CAN(Controller Area Network)总线是一种多主机、多线程、分散控制系统中常用的实时通信协议,被广泛应用于车载电子、工业自动化、航空航天等领域。本文将从CAN总线的基本原理、应用场景、使用方法等方面进行介绍。
一、CAN总线的基本原理
CAN总线是由以位为基本单元的串行通信协议,其通信原理可以简单概括为:数据发送方通过CAN控制器将数据转换成一系列的数据帧,并通过CAN总线发送给接收方;接收方的CAN控制器接收到数据帧后,将其还原成原始数据。CAN总线采用了CSMA/CR(Carrier Sense Multiple
Access with Collision Resolution)的数据传输方式,即对总线中数据帧的冲突进行检测和解决。
二、CAN总线的应用场景
1.车载电子系统中,CAN总线常用于汽车中的各种电子控制单元(ECU)之间的通信。例如,引擎控制单元(ECU)、刹车控制单元(ECU)、空调控制单元(ECU)等通过CAN总线进行实时的数据交换和协调。
2.工业自动化领域中,CAN总线广泛应用于工业机器人的控制、传感器的数据采集与通信等方面。CAN总线在工业环境中的抗干扰能力较强,可以满足高噪声环境下的可靠通信要求。
3.航空航天领域中,CAN总线可用于飞机电子设备之间的数据通信,如航空仪表、飞行控制系统、通信导航系统等。 三、CAN总线的使用方法
1.硬件部分:
(1)CAN总线连接:CAN总线通常使用双绞线进行连接,其中一根线为CAN High(CAN_H),另一根线为CAN Low(CAN_L)。CAN_H和CAN_L通过终端电阻连接至VCC和GND,即电压分配电阻(VCC上的120欧姆电阻和GND上的120欧姆电阻)。
(2)CAN控制器选择:需要选择适合应用需求的CAN总线控制器。
(3)CAN总线的连接节点:将需要通信的CAN节点连接至CAN总线上,通常通过CAN收发器进行连接。