基于WINCE的CAN驱动的研究与实现
1 引言
CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用Philips P82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检查特性也增强了CAN的抗电磁干扰能力。
CAN具有十分优越的特点,使人们乐于选择。这些特性包括:
(1)低成本,极高的总线利用率。
(2)很远的数据传输距离(长达10Km),高速的数据传输速率(高达1Mbit/s)。
(3)可靠的错误处理和检错机制;发送的信息遭到破坏后,可自动重发。
(4)节点在错误严重的情况下具有自动退出总线的功能。
因此,实现符合工业标准的嵌入式CAN总线驱动具有非常重大的现实意义和研究价值。
2 CAN总线协议
CAN总线协议栈,按下图分层为:
1、CAN卡内已经实现了CAN协议层。对于具体的某个智能模块设备,虽然通讯协议层都采用CAN协议层,但应用层还不一致,所以还需要对具体的设备进行特定的驱动开发。
2、CAN协议层并不能保证数据可靠的传输,所以对具体的设备进行驱动开发时要注意对协议数据进行检查。
3、MCGS应用CAN总线,对应也分为3层,对应关系如上图所示。子设备协议完成应用层协议,父设备完成CAN协议层。
4、从上图可以看出,父设备完成CAN协议层,封装了CAN控制器(MCP2515、SJA1000),并提供上层子设备协议层接口。
3 应用模式
第一种,主从模式:
在此模式中,只有1个主机(TPC)会轮询采集数据,或发送设备命令;其它设备(CAN设备)不会主动发送数据,只是被动响应。此模式应用比较多,但对子设备有要求:子设备(CAN设备)不会主动发送数据。
第二种,分布模式:上面的主从模式对子设备造成了限制,网络如果更复杂限制就会更多。本来CAN总线网就是分布实时控制网络,所以就应该设计成分布模式。该方式对子设备没有要求,但对子设备(CAN设备)开发驱动有所要求,要求子设备按自己的协议做,不能假设任何情况。这要求开发驱动的人员深入了解CAN 总线协议的数据帧和远程帧。
相关推荐
-
-
halibote523 | 2010-12-01
-
呼啦呼啦 | 2009-03-02
-
jobs | 2014-01-18
-
beibeidong | 2008-03-18
-
Hugo801122 | 2014-03-21
-
-
-
评论