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 二 帧格式介绍 1 数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。 2 远程帧由6个不同的位场组成,即帧起始、仲裁场、控制场、CRC场、应答场、帧结束。 3 错误帧由两个不同的场组成。第一个场是错误标志,用做为不同站提供错误标志的叠加;第二个场是错误界定符。 4 超载帧包括两个位场:超载标志和超载界定符。 1 2 3 4 5 6 7 |
|