1、什么是CAN总线
通俗的讲:CAN总线就是一种总线形式,通信用的,比如咱们用的网线,就是一种总线形式,网线就是以太网总线,用来连接各个电脑和服务器组成网络。CAN总线就是用来连接各个节点,组成CAN总线网络。不同的总线有各自的特点,原有的一些通信方式不能满足需求,这样才出现了各种总线。
2、CAN总线国内外发展与应用状况
CAN总线在组网和通信功能上的优点以及它的高性能价格比决定了它在许多领域都有广阔的应用前景和发展潜力。大型仪器设备系统复杂,对多种信息进行采集、处理、控制、输出等操作。如医疗器械CT断层扫描仪,为保证其可靠工作,在数据通信上要求功能块间可随意进行数据交换、通信能以广播方式进行、简单经济的硬件接口、通信线尽量少、抗干扰能力强、可靠性高并能自动进行故障识别和自动恢复。但是,这些要求长时间未能得到很好的解决,直至CAN总线技术出现才提供了一个较好的解决方法。测控系统中离不开传感器,由于各类传感器的工作原理不同,其最终输出的电量形式也各不相同,为了便于系统连接,通常要考虑将传感器的输出变换成标准电压或电流信号。即便是这样,在与计算机相连时,必须增加A/D环节。如果传感器能以数字形式输出,就可以方便地与计算机直接相连,从而简化系统结构,提高精度。这种传感器与计算机相连的总线可称为传感器总线。实际上传感器总线仍属于现场总线,关键的问题在于如何将总线接口与传感器一体化。
在广泛的工业控制领域,CAN总线可作为现场设备级的现场总线,与其它总线相比,具有很高的可靠性和性价比。这必将是CAN技术开发应用的一个主要方向。在以往的国内测控领域,由于没有更好的选择,大多采用BITBUS或RS-485作为通信总线。其不足主要有:一主多从,无冗余;数据通信为命令响应,传输率低;错误处理能力弱。采用CAN总线技术后即可解决上述问题。CAN网络上任何一个节点均可作为主节点主动地与其它节点交换数据;CAN网络节点的信息帧可以分出优先级,这对于有实时性要求的控制提供了方便;CAN的物理层及数据链路层有独特的设计技术,使其在抗干扰以及错误检测等方面的性能均大大提高。CAN的上述特点使其成为诸多工业测控领域中首选的现场总线之一。
根据国内外资料报道,CAN技术已应用于家用电器和智能楼宇以及小区建设中。如安防系统、抄表系统、家电控制等。它投资少,每个节点可以随机访问,通信速度完全满足要求,且在这类应用中数据交换量都很少。适当的网关如CAN与TCP/IP协议的转换,可以使一个居室或一栋大楼的现场CAN信息转变为Internet的形式外传,或反过来通过这类网关把外部网传来的信息转换为CAN的形式,此即实现了所谓的远程控制。
3、CAN总线协议
CAN 总线是一个广播类型的总线,所以任何在总线上的节点都可以监听总线上传输的数据。也就是说总线上的传输不是点到点的,而是一点对多点的传输,这里多点的意思是总线上所有的节点。但是总线上的节点如何知道那些数据是传送给自己的呢?CAN总线的硬件芯片提供了一种叫做本地过滤的功能,通过这种本地过滤的功能可以过滤掉一些和自己无关的数据,而保留一些和自己有关的信息。
4、CAN消息机制
CAN标准定义了四种消息类型,每条消息用一种叫做比特位仲裁(Arbitration)机制来控制进入CAN总线,并且每条消息都标记了优先权。另外CAN标准还定义了一系列的错误处理机制。
CAN报文的四种消息类型:
数据帧:数据帧将数据从发送器传输到接收器。
远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据帧。
错误帧:任何单元检测到总线错误就发出错误帧。
过载帧:过载帧用在相邻数据帧或远程帧之间的提供附加的延时。
5、通讯速率与通讯距离
下面的SAE J2411为美国汽车标准。
类型 标准 最高速率 描述
高速CAN CAN/ISO 11839-2 1Mbit/秒 最通用的CAN总线类型
低速CAN ISO/ISO 11839-3 125Kbit/秒 容错,在一条总线短路的时候仍然能工作
单线CAN SAE J2411 50Kbit/秒 高速模式可达到100Kbit/s主要用在汽车上,例如通用公司
CAN总线上任意两个节点的最大传输距离与其位速率有关,如下表:
位速率/kbps 1000 500 250 125 100 50 20 10 5
最大距离/m 40 130 270 530 620 1300 3300 6700 10000
这里的最大通信距离指的是同一条总线上两个节点之间的距离。可以看到速率越低通讯距离就越远,也就是说CAN总线的通讯距离和波特率成反比。在位速率为5千比特位每秒的时候达到最大的传输距离10公里。其中一般的工程中比较常用的为500K每秒的通讯速率。这个速率在实际测试的时候也是非常可靠的。
如果想要更远的传输(大于10公里);可以考虑用多个CAN控制器连接或是加其他通讯协议(如485或是TCP/IP)的接口芯片组成的一个设备,这样就可实现长距离的通讯需求。
6、仲裁
只要总线空闲,总线上任何节点都可以发送报文,如果有两个或两个以上的节点开始传送报文,那么就会存在总线访问冲突的可能。但是CAN使用了标识符的逐位仲裁方法可以解决这个问题。
在仲裁期间,每一个发送器都对发送的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一"隐性"电平而监视到的是一"显性"电平,那么这个节点失去了仲裁,必须退出发送状态。如果出现不匹配的位不是在仲裁期间则产生错误事件。
帧ID越小,优先级越高。由于数据帧的RTR位为显性电平,远程帧为隐性电平,所以帧格式和帧ID相同的情况下,数据帧优先于远程帧;由于标准帧的IDE位为显性电平,扩展帧的IDE位为隐形电平,对于前11位ID相同的标准帧和扩展帧,标准帧优先级比扩展帧高。
网友评论