CAN总线控制器局域网

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAN总线控制器局域网

CAN,全称为“CONtroller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用Philips P82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。

CAN总线特性

o CA N具有十分优越的特点,使人们乐于选择。这些特性包括:

1、低成本;

2、极高的总线利用率;

3、很远的数据传输距离(长达10Km);

4、高速的数据传输速率(高达1Mbit/s);

5、可根据报文的ID决定接收或屏蔽该报文;

6、可靠的错误处理和检错机制;

7、发送的信息遭到破坏后,可自动重发;

8、节点在错误严重的情况下具有自动退出总线的功能;

9、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

CAN总线特点

o(1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。

(2)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mb/s。

(3)通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成

帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。

(4)CAN协议的一个最大特点是废除了传统的站地址编码,雨代之以对通信数据块进行

编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识

码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这

种数据块编码方式,还可使不同的节点同时接收到相同的数据,这一点在分步式控制中

非常重要。

(5)数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数

据的一般要求。同时,8个字节不会占用总线时间过长,从而倮证了通信的实时性。

(6)CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。

CAN总线所具有的卓越性能、极高的可靠性和独特设计,特别适合工业设各测控单元

互连。因此备受工业界的重视,并已公认为最有前途的现场总线之一。

CAN总线数据格式

o所有CAN总线通信在应用上都是一致的,但有两种硬件和两个版本的数据格式,分为基本型和完全型,如图1所示。几乎所有新的处理器内部嵌入的CAN总线模块都支持

这两种操作模式,其中基本型主要用于对成本要求比较敏感的系统中。

基本型(BASIC—CAN)主要有以下特点:

●MCU内核和CAN总线模块采用闭环连接方式;

●有1个发送缓冲;

●有2个接收缓冲;

●需要使用软件选择输入的消息。

完全型(FULL—CAN)主要有以下特点:

●提供消息服务;

●对输人消息进行更大范围的接收滤波;

●邮箱允许用户配置;

●邮箱的存储区以及邮箱的大小与具体的芯片有关;

●先进的错误识别功能。

此外,CAN2.OB总线规范定义了2种不同的数据格式(标准帧和扩展帧),其主要

区别在于标识符域的长度不同:标准帧有II位的标识符,扩展帧有29位的标识符,

如图1所示。CAN总线的标准数据帧的长度是44~108位,而扩展数据帧的长度是

64~128位。根据数据流代码的不同,标准数据帧可以插入28位填充位,扩展数据

帧可以插人28位填充位。因此,标准数据帧最长为131位,扩展数据帧最长为156

位。

图1 CAN总线应用类型

图2 数据格式类型

图1给出了构成标准/扩展数据帧各位在整个数据帧中的位置,主要包括:

●帧起始位;

●包含标识符和发送消息类型的仲裁域;

●包含数据位数的控制域;

ELTMS320X281x∶DSP jffilE&C柳;ffilBTT,荃∶

●最多8字节的数据域;

●循环冗余检查位(CRC);

●应答位;

●帧结束位。

图3 数据帧格式

CAN总线消息主要由仲裁区、数据区、CRC校验区以及帧结束区荃部分构成。各区主要情况如下。

●仲裁区:

◇定义消息的优先级;

◇消息的逻辑地址(标识符);

◇标准帧11位标识符;

◇扩展帧29位标识符。

●数据区:

◇每个消息最多可以包含8字节的数据;

◇允许不包含数据帧的帧存在(数据区长度为0字节)。

●CRC校验区:包含循环冗余校验位。

●帧结束区:帧结束区消息响应标识、错误消息、消息结束。

图3给出的数据帧包含起始位、标识符、远程传输请求、标识扩展等,所有相关的仲裁、数据、CRC校验以及帧结束构成了完整的CAN总线消息帧,各部分的具体含义如下。

起始位(1 bit)标识一个消息帧的开始,在空闲时间的下降沿同步所有的总线模块;

标识符(11 bits):定义消息的逻辑地址和优先级,优先级的数字越小优先级越高;RTR(1 bit):远程传输请求,如果RTR=1表示在数据帧中没有有效数据,请求远程节点向发出请求帧的节点发送数据;

IDE(1 bit):标识符扩展,如果IDE=1,则采用扩展的数据帧传送数据;

r0 保留;

DLC(4 bits):数据长度代码,数据帧长度允许的数据字节数为{0~8),其他长度数值不允许使用;

相关文档
最新文档