分享

CAN 控制器

 卤煮小鱼 2015-11-14
CAN全称为Controller Area Network,即控制器局域网,由德国Bosch公司最先提出,是国际上应用最广泛的现场总线之一。最初CAN 被设计作为汽车环境中的通讯,在汽车电子控制装置之间交换信息形成汽车电子控制网络。由于其卓越的性能、极高的可靠性和低廉的价格现已广泛应用于工业现场控制、医疗仪器等众多领域。

CAN协议是建立在OSI 7层开放互连参考模型基础之上的。但CAN协议只定义了模型的最下面两层:数据链路层和物理层,仅保证了节点间无差错的数据传输。CAN的应用层协议必须 由CAN 用户自行定义,或采用一些国际组织制订的标准协议。应用最为广泛的是DeviceNet和CANopen,分别广泛应用于过程控制和机电控制领域。但此类 协议一般结构比较复杂,更适合复杂大型系统的应用。笔者在研制一种基于CAN总线的分布式高频开关电源充电机系统的过程中设计了一种适合于小型控制系统的 CAN总线高层通信协议。

2 CAN的特点
CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传输距离达10km时,CAN仍可提供高达50kbps 的数据传输速率。
CAN具有十分优越的特点:
(1) 较低的成本与极高的总线利用率;
(2) 数据传输距离可长达10km,传输速率可高达1Mbps;
(3) 可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;
(4) 节点在错误严重的情况下具有自动退出总线的功能;
(5) 报文不包含源地址或目标地址,仅用标志符来指示功能信息和优先级信息。

一 报文传送由以下四种帧类型

1     数据帧: 数据帧携带数据从发送器至接收器。

2     远程帧: 总线单元发出远程帧,请求发送具有同一识别符的数据帧。

3     错误帧: 任何单元检测到一总线错误时就发送错误帧。

4     超载帧: 用来在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。

 

二 帧格式介绍

数据帧

数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。

远程帧

远程帧由6个不同的位场组成,即帧起始、仲裁场、控制场、CRC场、应答场、帧结束。

错误帧

错误帧由两个不同的场组成。第一个场是错误标志,用做为不同站提供错误标志的叠加;第二个场是错误界定符。

超载帧

超载帧包括两个位场:超载标志和超载界定符。

 

       三 帧格式中重点部分介绍

帧起始

  帧起始标志数据帧和远程帧的起始,由一个单独的“显性”位组成。由控制芯片完成。

仲裁场

  仲裁场包括标识符和远程发送请求位(RTR)。

  对于CAN2.0A标准,标识符的长度为11位。RTR位在数据帧中必须是显性位,而在远程帧必须为隐性位。

  对于CAN2.0,标准格式和扩展格式的仲裁场不同。在标准格式中,仲裁场由11位标识符和远程发送请求位组成。在扩展格式中,仲裁场由29位标识符和替代远程请求位(SRR) 、标志位(IDE)和远程发送请求位组成。

  仲裁场的作用之一是说明数据帧或远程帧发送目的地;之二是指出数据帧或远程帧。仲裁场的数据由软件编程配置SJA1000完成。

3  控制场

  控制场由6个位组成,说明数据帧中有效数据的长度。控制场的数据由软件编程配置SJA1000完成。

数据场

  数据场由数据帧中的发送数据组成。它可以为0~8个字节。数据场的数据由软件编程配置SJA1000完成。

  CRC

  CRC场包括CRC序列,这部分由SJA1000控制芯片完成。

6   应答场

  应答场长度为两个位,包括应答间隙和应答界定符。由SJA1000控制芯片自动完成。

 帧结束

  每一个数据帧和远程帧均由一标志序列界定,这个标志序列由7个“隐性”位组成。这部分由SJA1000控制芯片自动完成。

总之,仲裁场、控制场、数据场由软件编程配置SJA1000完成;帧起始、CRC场、应答场、帧结束由CAN总线控制芯片SJA1000自动完成

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多