canopen 泗博自动化-乐橙国际官网

canopen 泗博自动化-乐橙国际官网
  用户管理中心     登录   搜索  联系  
 
 
 
 
 
 

   canopen系列

 
canopen总线技术

        在can总线协议飞速发展的20年中,很多领域都制定了can在该领域应用时所采用的高层协议规范。其中,比较著名的有美国汽车工程师协会(sae)制定的车内通信规范j1939等。这些协议和规范对can的推广起了很大的作用,但总体来说,协议的模块化特性都不太好,一般只能应用于特定的领域。为了能够把can推广到更多的领域,欧洲一些公司推出了cal(应用层can)协议,尽管cal在理论上正确,并在工业上可以投入应用,但每个用户都必须设计一个新的子协议,因为cal 是一个真正的应用层协议。cal 可以被看作一个应用can 方案的必要理论步骤,但在这一领域它不会被推广。从1993 年起,由bosch公司领导的一个欧洲机构研究出一个协议原型,由此发展成为canopen规范。
        canopen是一个基于cal的子协议,采用面向对象的思想设计,具有很好的模块化特性和很高的适应性,通过扩展可以适用于大量的应用领域。在canopen规范基本完成之后,bosch将其移交给cia组织,由其进行维护与发展。在1995年,cia发表了完整版的canopen通信子协议;仅仅用了5年的时间,它已成为全欧洲重要的嵌入式网络标准。
        canopen不仅定义了应用层和通信子协议,而且为可编程系统、不同器件、接口、应用子协议定义了大量的行规,遵循这些行规开发出的canopen设备将能够实现不同公司产品间的互操作。另外,canopen协议是免许可证的,任何组织和个人都可以开发支持canopen协议的设备而不用支付版税,这也是canopen得到迅猛发展的重要原因之一。canopen目前已在汽车工业控制系统,公共交通运输系统,医疗设备,海运电子设备和建筑自动化系统中取得了广泛的应用,是将can应用推向深化的理想选择。

1. 采用canopen协议实现通信
        canopen协议中包含了标准的应用层规范和通信规范,其通信模型如图1所示。在canopen的应用层,设备间通过相互交换通信对象进行通信。良好的分层和面向对象的设计思想将带给用户一个清晰的通信模型。

2. canopen设备模型
        一个canopen设备模块可以被分为3部分,如图2所示。
        通信接口和协议软件提供在总线上收发通信对象的服务。不同canopen设备间的通信都是通过交换通信对象完成的。这一部分直接面向can控制器进行操作。
         对象字典描述了设备使用的所有的数据类型,通信对象和应用对象。是一个canopen设备的核心部分。对象字典位于通信程序和应用程序之间,向应用程序提供接口,应用程序对对象字典进行操作就可以实现canopen通信。理解对象字典的概念是理解canopen模型的关键。
         应用程序由用户编写,包括功能部分和通信部分。通信部分通过对对象字典进行操作实现canopen通信,而功能部分由用户根据应用要求实现。
        canopen网络的通信和管理都是通过不同的通信对象来完成的,为了能够实现通信,网络管理,紧急情况处理等功能,canopen规范定义了四类标准的通信对象:

3. 进程数据对象(pdo)
        第一类通信对象为进程数据对象。pdo被映射到单一的can帧中,使用所有的8个字节的数据域来传输应用对象。每个pdo有一个独立的标识符并且可能只被一个节点发送,但它可以被多于一个节点接收,这种模式被称之为生产者/消费者通信模式。pdo可以通过多种模式传送,内部事件,外部时钟,远程帧请求以及从特定节点接收到同步报文都可以启动pdo发送。

4. 服务数据对象(sdo)
        第二类通信对象为服务数据对象,该对象可以传输大于8个字节的配置信息。也就是说,sdo传送协议允许传送任意长度的对象。接收者将确认收到的每个段信息,发送和接收者间将建立点对点的通信,称之为客户机/服务器模式。未来,canopen将允许快速传输sdo,不必对传送的每个段都进行确认,只要在整个对象传送完毕后进行确认即可。

5. 网络管理对象(nmt)
        第三类通信对象是网络管理对象,包括节点警戒对象以及nmt对象。节点警戒对象是由nmt主节点远程请求发送的带有1字节数据的can帧,一个字节的数据中包含1个触发位以及7个用于表示节点状态的数据位。nmt主节点将周期性地发送节点警戒对象。发送周期(警戒时间)的长度在对象字典中规定并且可以通过sdo进行配置。另外,系统还定义了生命警戒时间,nmt主节点要在生命警戒时间过后向nmt从节点发送远程请求。这种机制保证了即使nmt主节点不在了,系统中的其他节点也可以通过用户定义的方式进行回应。

6. 特殊功能对象
        canopen还为同步,紧急状态表示以及时间标记传送定义了三个特定的对象。同步对象由同步制造者向网络进行周期性广播,该对象将提供基本的网络时钟。当设备发生严重的内部错误时,相关的一个紧急状态客户机将发送一个紧急状态对象。时间标记对象将为应用设备提供公共的时间帧参考。
        要理解canopen规范,核心是要理解canopen的设备模型和各类型的通信对象。掌握了这两者后,通过利用各类标准的设备描述就可以开发出符合国际标准的canopen设备了。

7. 展望
        最近一段时期,国内开发、应用can系统的人员正在逐渐增多,对can协议的研究也在不断加深。在很多领域,如研制电动汽车和混合动力汽车的863重大课题,已经将can作为标准的车内通信协议确定下来。电力,航天等部门也在can方面取得了不小的应用成绩。
        在can应用蓬勃发展的时候,我们也应当清醒地看到,尽管can协议在欧美已经发展了20年,应用层协议的发展也差不多有10年时间,但目前国内大多数的应用系统仍然基于can2.0b规范开发,还不能在应用层的水平上进一步深入,这不能不说是很遗憾的事情。另外,国内研究、开发can协议,尤其是can高层协议的组织和人员还太少,这对can在中国的推广是十分不利的,笔者诚切希望更多的有识之士能够加入这一行列。

 

 
 
乐橙国际官网  乐橙pc客户端 copyright(c) 2005-2019   sibotech.net all rights reserved 
foot
公司总机: 021-6482 6558、021-5102 8348    |   沪icp备15057390号