CAN培训第一讲.ppt
现场总线CANBUS交流(1),本次交流目的,了解什么是CAN了解CAN总线的特点及优点理解CAN信号的组成以及如何工作公司产品的分类及使用,CAN在汽车上的运用,什么是CAN?,国际上应用最广泛的现场总线之一,也是目前唯一有国际标准的现场总线,在80年代末的汽车工业中,由德国BOSCH提出,CAN“Controller Area Network”即控制器局域网,CAN具有十分优越的特点,使人们乐于选择。这些特性包括:1、低成本;2、极高的总线利用率;(高优先率的报文最多可以在134微秒内得到传输)3、很远的数据传输距离(长达10Km);4、高速的数据传输速率(高达1Mbit/s);5、可根据报文的ID决定接收或屏蔽该报文;6、可靠的错误处理和检错机制;7、发送的信息遭到破坏后,可自动重发;8、节点在错误严重的情况下具有自动退出总线的功能;9、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。,CANBUS的优点,CAN信号与485信号的比较,传输距离,CAN总线系统任意两节点之间的最大距离,CAN信号电平,CAN能够使用多种物理介质,例如双绞线、光纤等。最常用的就是双绞线。信号使用差分电压传送,两条信号线被称为“CAN_H”和“CAN_L”,静态时均是2.5V左右,此时状态表示为逻辑“1”,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑“0”,称为“显形”,此时,通常电压值为:CAN_H=3.5V 和CAN_L=1.5V,CAN网络的用线标准,符合CANBUS网络的双线(屏蔽或不屏蔽的)物理参数,标准CAN的标志符长度是11位,而扩展格式CAN的标志符长度可达29位。CAN 协议的2.0A版本规定CAN控制器必须有一个11位的标志符。同时,在2.0B版本中规定,CAN控制器的标志符长度可以是11位或29位。遵循CAN2.0B协议的CAN控制器可以发送和接收11位标识符的标准格式报文或29位标识符的扩展格式报文。如果禁止CAN2.0B,则CAN 控制器只能发送和接收11位标识符的标准格式报文,而忽略扩展格式的报文结构,但不会出现错误 目前,Philips公司主要推广的CAN独立控制器均支持CAN2.0B协议,即支持29位标识符的扩展格式报文结构,标准帧和扩展帧,CAN2.0ACAN2.0B,CAN2.0A:标识符的长度为11位,这些位从高位到低位的顺序发送,最低位为ID.0,其中最高7位(ID.10ID.4)不能全为隐位。远程发送请求位(RTR)在数据帧中必须是显位,而在远程帧中必须为隐位仲裁场由11位标识符和远程发送请求位RTR组成。CAN2.0B:存在两种不同的帧格式,具有11位标识符的标准帧,29位标识符的扩展帧标准帧与CAN2.0A相同扩展帧的仲裁场由29位标识符和替代远程请求SRR位、标识位和远程发送请求位组成,标识符位为ID.28至ID.0。,CSMA/CD是“载波侦听多路访问/冲突检测”(Carrier Sense Multiple Access with Collision Detect)利用CSMA访问总线,可对总线上信号进行检测,只有当总线处于空闲状态时,才允许发送。利用这种方法,可以允许多个节点挂接到同一网络上。当检测到一个冲突位时,所有节点重新回到监听总线状态,直到该冲突时间过后,才开始发送。在总线超载的情况下,这种技术可能会造成发送信号经过许多延迟。为了避免发送时延,可利用CSMA/CD方式访问总线。当总线上有两个节点同时进行发送时,必须通过“无损的逐位仲裁”方法来使有最高优先权的的报文优先发送。在CAN总线上发送的每一条报文都具有唯一的一个11位或29位数字的ID。CAN总线状态取决于二进制数0而不是1,所以ID号越小,则该报文拥有越高的优先权。因此一个为全0标志符的报文具有总线上的最高级优先权。可用另外的方法来解释:在消息冲突的位置,第一个节点发送0而另外的节点发送1,那么发送0的节点将取得总线的控制权,并且能够成功的发送出它的信息。如图,CAN的非破坏性仲裁,优先级的确定,单元1与单元2同时发送数据,最后单元2获得发送权,发送器和接收器的定义,发送器:产生报文的单位,当总线为空闲或者该单位失去仲裁时,该单位 不应该被成为发送器,接收器:如果一个单位不是发送器且总线不为空闲,那么此单位为接收器,数据帧远程帧错误帧过载帧帧间隔,CANBUS报文分析,用来将数据从发送点传输到接收点,用来请求相同ID的节点给它发送数据,任何总线发现错误就发送错误帧,为相邻的数据帧或远程帧请求延时,用于分隔数据帧和远程帧,数据帧与远程帧的异同,数据帧组成:帧起始,仲裁段,控制段,数据段,CRC段,ACK段,帧结束,远程帧组成:帧起始,仲裁段,控制段,CRC段,ACK段,帧结束,远程帧没有数据段,那么它的控制段式用来干吗的呢?用来描述请求发送的数据的位数。数据帧有数据段,但是它的数据段也可以为空,当它为空时表示确认连接或者是其他的应答。远程帧的TTR为隐性,所以没有数据段的数据帧与远程帧的产别在于TTR,我们根据此来分辨数据帧和远程帧。同时,当远程帧和数据帧的标示符一致时,数据帧具有高的优先级。,