自学工业控制网络之路1.4-典型的现场总线介绍CAN
自学工业控制网络之路1.4-典型的现场总线介绍CAN
1991年3月,发布了CAN技术贵干v2.0,包含了A、B两部分。CAN2.0A给出报文标准格式,CAN2.0B给出了标准和扩展的两种格式。
1993年11月,国际标准ISO11898(高速应用)和ISO11519(低速应用)。
1. CAN特点
(1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。
(2)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mb/s(此时距离最长40m)。
(3)CAN总线通信接口中集成了can协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。
(4)CAN协议的一个最大特点是废除了传统的站地址编码,雨代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种数据块编码方式,还可使不同的节点同时接收到相同的数据,这一点在分步式控制中非常重要。
(5)短帧结构。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而倮证了通信的实时性。
(6)CAN协议采用crc检验并可提供相应的错误处理功能,保证了数据通信的可靠性。can总线所具有的卓越性能、极高的可靠性和独特设计,特别适合工业设各测控单元互连。因此备受工业界的重视,并已公认为最有前途的现场总线之一。
(7)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。
(8)节点数最多可达110个。
(9)CAN总线不能用于防爆区。
(10)节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。
2. CAN原理
2.1 CAN 总线原理
CAN总线以广播的方式从一个节点向另一个节点发送数据,当一个节点发送数据时,该节点的CPU把将要发送的数据和标识符发送给本节点的CAN芯片,并使其进入准备状态;一旦该CAN芯片收到总线分配,就变为发送报文状态,该CAN芯片将要发送的数据组成规定的报文格式发出。此时,网络中其他的节点都处于接收状态,所有节点都要先对其进行接收,通过检测来判断该报文是否是发给自己的。
由于CAN总线是面向内容的编址方案,因此容易构建控制系统对其灵活地进行配置,使其可以在不修改软硬件的情况下向CAN总线中加入新节点。
2.2 CAN 控制器原理
其中CAN核心模块根据CAN总线协议控制数据帧的发送和接收;
接口管理逻辑模块提供SJA1000与主微处理器或其它设备的连接,主微处理器可以通过数据/地址复用总线和读写控制逻辑访问SJA1000的所有寄存器;
发送缓冲区可以存储一个完整的标准或扩展的报文,当主微处理器要求SJA1000发送报文时,接口管理逻辑操纵CAN核心模块将发送缓冲区中的报文发送到CAN总线上;
当接收一个报文时,CAN核心模块首先将总线上的串行位流数据转换位并行数据,然后交给接收过虑模块进行识别,决定该报文是否为主微处理器所要求的报文类别,所有接收的报文可以存放在接收先进先出队列,根据不同的工作模式和数据长度,该队列可以存放最多32个报文,然后用户可以灵活地对报文分为不同地优先级和中断处理服务。
3. CAN现场总线体系结构
CAN分为物理层和数据链路层。
(1)物理层
规定了节点的全部电气特性,信号如何发送,因而涉及位定时、位编码和同步的描述。
(2)数据链路层
数据链路层分两个子层,逻辑链路控制子层LLC和媒体访问控制子层MAC。
4. CAN现场总线的优点
● 具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;
● 采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
● 具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络;
● 可根据报文的ID决定接收或屏蔽该报文;
● 可靠的错误处理和检错机制;
● 发送的信息遭到破坏后,可自动重发;
● 节点在错误严重的情况下具有自动退出总线的功能;
● 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
5. 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。
自学工业控制网络之路1.4-典型的现场总线介绍CAN的更多相关文章
- 自学工业控制网络之路1.2-典型的现场总线介绍PROFIBUS
返回 自学工业控制网络之路 自学工业控制网络之路1.2-典型的现场总线介绍PROFIBUS 目前看来,现场总线标准不会统一,多标准并存现象将会持续. 现场总线国家标准: 中国的DeviceNet和AS ...
- 自学工业控制网络之路1.3-典型的现场总线介绍FF
返回 自学工业控制网络之路 自学工业控制网络之路1.3-典型的现场总线介绍FF 1994年6月,ISP和WORLDFIP合并成立现场总线基金会FF.1998年,FF基金会开发了HSE 10/100Mb ...
- 自学工业控制网络之路1.5-典型的现场总线介绍DeviceNet
返回 自学工业控制网络之路 自学工业控制网络之路1.5-典型的现场总线介绍DeviceNet 2002年10月DeviceNet被批准为中国国家标准GB/T18858.3-2002,并于2003.4. ...
- 自学工业控制网络之路1.6-典型的现场总线介绍Interbus
返回 自学工业控制网络之路 自学工业控制网络之路1.6-典型的现场总线介绍Interbus 1987年正式公布,其主要技术开发者为德国的PhoenixContact公司.1996年,INTERBUS成 ...
- 自学工业控制网络之路1.1-工业控制系统发展历程CCS DCS FCS
返回 自学工业控制网络之路 自学工业控制网络之路1.1-工业控制系统发展历程CCS DCS FCS 工业控制系统是对诸如图像.语音信号等大数据量.高速率传输的要求,又催生了当前在商业领域风靡的以太网与 ...
- 自学工业控制网络之路2.2-PROFINET
返回 自学工业控制网络之路 自学工业控制网络之路2.2-PROFINET PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技 ...
- 自学华为IoT物联网之路
自学华为IoT物联网之路 01 自学华为IoT物联网_01 物联网概述 02 自学华为IoT物联网_02 常见物联网通信技术 03 自学华为IoT物联网_03 公共事业物联网常见问题及解决方案 04 ...
- laravel4通过控制视图模板路劲来动态切换主题
通过控制视图模板路劲来动态切换主题 App::before(function($request) { $paths = Terminal::isMobile() ? array(__dir__.'/v ...
- 智能手机的工业控制应用方案——SimpleWiFi在工业控制领域应用
智能手机的工业控制应用方案——SimpleWiFi在工业控制领域应用 先上图: 现在的智能控制都是基于微控制器,随着智能的手持终端的普及,基于智能终端的控制就会越来越普遍. WIFI便是其中的一 ...
随机推荐
- LiveCharts文档-3开始-3类型和设置
原文:LiveCharts文档-3开始-3类型和设置 LiveCharts文档-3开始-3类型和设置 类型和设置 这一部分非常的重要,涉及到LiveCharts的基本构成单元的介绍 LiveChart ...
- zookeepeer集群搭建
一.预备工作 1.zookeepeer需要安装JDK,至于版本,大家可以去官网查询一下.这里我安装的是JDK8. 2.需要开放zookeepeer用到的端口,默认端口2181.2888.3888,至于 ...
- [HNOI2018]排列[堆]
题意 给定一棵树,每个点有点权,第 \(i\) 个点被删除的代价为 \(w_{p[i]}\times i\) ,问最小代价是多少. 分析 与国王游戏一题类似. 容易发现权值最小的点在其父亲选择后就会立 ...
- python实现微信自动回复机器人
一 简单介绍 wxpy基于itchat,使用了 Web 微信的通讯协议,,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展.实现了微信登录.收发消息.搜索好友.数据统计等功能. 总而言之,可用 ...
- 牛客小白月赛6-E对弈-简单搜索
https://www.nowcoder.com/acm/contest/136/E 我搜索很差啊,看了学长代码,自己在下面手敲了一遍,感觉学长的极其精巧,把我繁琐的搜索步骤给简化了不少 其实本题想法 ...
- sixsix团队M2阶段Postmortem
设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 要解决的问题:目前外卖网站比较多,用户很难快速找到合适的外卖,我们集合各个网站的外卖信息,为用户提 ...
- 第三个Sprint冲刺第八天(燃尽图)
- Java Heap Dump On OutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError Batch "C:\Program Files\Java\jdk1.8.0_162\bin\java.exe" -X ...
- vue$ref
vue的$ref方法 可以在元素上template中直接添加ref属性 类似html的id属性 用来做选项卡的切换的
- stratMove方法
/* * elem: 操作哪一个元素 * json:表示多个属性 * attr: 操作的那个元素的css中的什么属性 * value: 操作的那个元素的css中的那个属性的目标值 * cb:回调函数, ...