微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > CAN的工作原理

CAN的工作原理

时间:12-12 来源:互联网 点击:

二进制数„0?而不是„1?,所以ID号越小,则该报文拥有越高的优先权。因此一个为全„0?标志符的报文具有总线上的最高级优先权。可用另外的方法来解释:在消息冲突的位置,第一个节点发送0而另外的节点发送1,那么发送0的节点将取得总线的控制权,并且能够成功的发送出它的信息。

CAN的高层协议

CAN的高层协议(也可理解为应用层协议)是一种在现有的底层协议(物理层和数据链路层)之上实现的协议。高层协议是在CAN规范的基础上发展起来的应用层。许多系统(像汽车工业)中,可以特别制定一个合适的应用层,但对于许多的行业来说,这种方法是不经济的。一些组织已经研究并开放了应用层标准,以使系统的综合应用变得十分容易。

一些可使用的CAN高层协议有:
制定组织主要高层协议
CiACAL协议
CiACANOpen协议
ODVADeviceNet协议
HoneywellSDS协议
KvaserCANKingdom协议

什么是标准格式CAN和扩展格式CAN?

标准CAN的标志符长度是11位,而扩展格式CAN的标志符长度可达29位。CAN协议的2.0A版本规定CAN控制器必须有一个11位的标志符。同时,在2.0B版本中规定,CAN控制器的标志符长度可以是11位或29位。遵循CAN2.0B协议的CAN控制器可以发送和接收11位标识符的标准格式报文或29位标识符的扩展格式报文。如果禁止CAN2.0B,则CAN控制器只能发送和接收11位标识符的标准格式报文,而忽略扩展格式的报文结构,但不会出现错误。

BOSCHCAN2.0规范
简介:

1983年,德国BOSCH开始研究新一代的汽车总线;1986年,第一颗CAN-bus芯片交付应用;1991年,由德国BOSCH公司发布CAN2.0规范;1993年,国际标准ISO11898正式出版;1995年,ISO11898进行了扩展,从而能够支持29位CAN标识符。2000年,市场销售超过1亿个CAN器件。

CAN2.0规范分为CAN2.0A与CAN2.0B。CAN2.0A支持标准的11位标识符;CAN2.0B同时支持标准的11位标识符和扩展的29位标识符。CAN2.0规范的目的是为了在任何两个基于CAN-bus的仪器之间建立兼容性;规范定义了传输层,并定义了CAN协议在周围各层当中所发挥的作用。CAN2.0规范涉及兼容性的不同方面,比如电气特性和数据转换的解释。为了达到设计透明度以及实现柔韧性,CAN被细分为以下不同的层次:
CAN对象层(theobjectlayer)
CAN传输层(thetransferlayer)
物理层(thephyicallayer)
对象层和传输层包括所有由ISO/OSI模型定义的数据链路层的服务和功能。定义对象处理较为灵活。对象层的作用范围包括:
查找被发送的报文。
确定由实际要使用的传输层接收哪一个报文。
为应用层相关硬件提供接口。

传输层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。总线上什么时候开始发送新报文及什么时候开始接收报文,均在传输层里确定。位定时的一些普通功能也可以看作是传输层的一部分。理所当然,传输层的修改是受到限制的。

物理层的作用是在不同节点之间根据所有的电气属性进行位信息的实际传输。当然,同一网络内,物理层对于所有的节点必须是相同的。尽管如此,在选择物理层方面还是很自由的。

作为通用、有效、可靠及经济的平台,CAN-bus已经广泛地受到了欢迎。它可以使用于汽车系统、机械、技术设备和工业自动化里几乎任何类型的数据通信。

CAN2.0规范没有规定媒体的连接单元以及其驻留媒体,也没有规定应用层。因此,用户可以直接建立基于CAN2.0规范的数据通信;不过,这种数据通信的传输内容一般不能灵活修改,适合于固定通讯方式。

由于CAN2.0规范没有规定信息标识符的分配,因此可以根据不同应用使用不同的方法。所以,在设计一个基于CAN的通讯系统时,确定CAN标识符的分配非常重要,标识符的分配和定位也是应用协议、高层协议的其中一个主要研究项目。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top