本帖最后由 airwill 于 2020-9-21 21:17 编辑
CAN总线的特点(1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。 (2)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1mb/s。 (3)can总线通信接口中集成了can协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。 (4)can协议的一个最大特点是废除了传统的站地址编码,雨代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种数据块编码方式,还可使不同的节点同时接收到相同的数据,这一点在分步式控制中非常重要。 (5)数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而倮证了通信的实时性。 (6)can协议采用crc检验并可提供相应的错误处理功能,保证了数据通信的可靠性。can总线所具有的卓越性能、极高的可靠性和独特设计,特别适合工业设各测控单元互连。因此备受工业界的重视,并已公认为最有前途的现场总线之一。 CAN总线的工作原理CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。 当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。 由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。 CAN总线的优点 ● 具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点; ● 采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作; ● 具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络; ● 可根据报文的ID决定接收或屏蔽该报文; ● 可靠的错误处理和检错机制; ● 发送的信息遭到破坏后,可自动重发; ● 节点在错误严重的情况下具有自动退出总线的功能; ● 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。 CAN总线缺点 1)不一致性 CAN总线中有一个著名的Last-But-One-Bit 错误。CAN总线2 OA在信息认证(MessageValidaTIon)中规定: 发送器验错的范围可覆盖到帧结束,如果发现错误,以后就按优先权和状态的规定重发; 接 器验错的范围覆盖到帧结束的前一位。因此,如果由于空间干扰、电 源波动等原因,对于帧的倒数第二位,一部分节点A认为无错,一 部分节点B 认为有错,即出现了所谓的ByzanTIne 错误。这时,根 EOF 应该是7 个隐性位,节点B 认为这是一种形式错误,所以就会启动错误帧,通知发送器重发,同时丢弃收到的帧。而认为设错的节点A 由于只查到倒数第二位,因此就会接收此帧。如果在发送器例行的下一次发送前B 通知的重发成功,A就会收到重复帧; 如果重发不成功,B 就丢了一帧。在转向和制动系统中,4 个轮子对命令的不同理解,可能造成性能的下降或其他更严重的后果。 2)不可预测性 CAN总线将节点状态分为ErrorAcTIve、Error Passive 和Bus Off 三种,这三种状态在一定条件下可以互相转换。不同状态中节点的发送有不同的延迟。最高优先权的信息发送延迟有几种可能: 当节点状态为ErrorAcTIve 时,若总线空闲,则立即发送; 当节点状态为ErorActive时,如果其它帧正在发送,则需等正在发送的报文结束后,再过3 位后发送; 当节点状态为ErrorPassive 时,它有一个出错重发的要求,若没有其它帧要发送,等3 位传送(Intemission)和8 位挂起传送(Suspend Transmission)后重发; 当节点状态为Error Passive时,若总线空闲,出错后等别的信息发送完后再发,等待时间与其它帧的长度有关; 当节点状态为Bus Off 时,需等状态恢复到ErrorPassive 或ErrorActive 再发。 当确认某节点的状态时,还有几个因素需要考虑: 首先,节点由最高优先权的信息和其他信息共用,因此,其他信息在传送过程中出现的错误也会影响到节点状态; 其次,进入ErrorPassive 或BusOff 状态的条件是发送错误计数器与/或接收错误计数器的值,由于CAN 的原子广播特点,其它节点的发送错误或接收错误会开启一个错误帧,从而影响到该节点的接收错误计数器的值,进而影响节点状态。 对于优先权较低的信息来说,发送时间的离散程度更大。在反馈控制系统中,采样调节周期的大范围抖动相当于信号延迟后的变化,它有可能使系统性能下降或不稳定。在与安全相关的开环系统中,抖动可能造成动作顺序的混乱。 3)信道出错堵塞 节点有可能受干扰或其它原因暂时或永久失效,出错的主机会命令CAN 收发器不断发送消息,即所谓的Babbling ldiot 错误。由于该信息的格式等均合法,因此CAN 没有相应的机制来处理这种情况。根据CAN 的优先权机制,比它优先权低的信息就被暂时或永久堵塞。由于CAN总线存在上述几种根本的缺陷,因此,在更为严格的控制系统中,它将会造成巨大的风险,无法满足安全、环保、节能的要求。CAN 的事件触发协议特点限制了ECU 的应用、开发与生产,不仅用过的ECU 难于重用,而且还不利于改善和开发新的ECU。 CAN总线的应用 现在CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面,现场总线是当今自动化领域技术发展的热点之一、被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。 CAN总线在工控领域主要使用低速-容错CAN即ISO11898-3标准,在汽车领域常使用500Kbps的高速CAN。 某进口车型拥有,车身、舒适、多媒体等多个控制网络,其中车身控制使用CAN网络,舒适使用LIN网络,多媒体使用MOST网络,以CAN网为主网,控制发动机、变速箱、ABS等车身安全模块,并将转速、车速、油温等共享至全车,实现汽车智能化控制,如高速时自动锁闭车门,安全气囊弹出时,自动开启车门等功能。 CAN系统又分为高速和低速,高速CAN系统采用硬线是动力型,速度:500kbps,控制ECU、ABS等;低速CAN是舒适型,速度:125Kbps,主要控制仪表、防盗等。 某医院现有5台16T/H XXXX燃气锅炉,向洗衣房、制剂室、供应室、生活用水、暖气等设施提供5kg/cm2的蒸汽,全年耗用天然气1200万m3,耗用20万吨自来水。医院采用接力式方式供热,对热网进行地域性管理,分四大供热区。其中冬季暖气的用气量很大,据此设计了基于CAN现场总线的分布式锅炉蒸汽热网智能监控系统。现场应用表明:该楼宇自动化系统具有抗干扰能力强,现场组态容易,网络化程度高,人机界面友好等特点。
|