基于CANOpen协议汽车电子通信系统.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CANOpen协议汽车电子通信系统

基于CANOpen协议汽车电子通信系统   摘要:CANopen是基于CAN(Controller Area Network)总线的应用层协议,本文通过对CANopen协议设计的实质和核心内容的分析,给出了基于该协议的汽车电子通信系统的设计和实现方案。 通过CAN硬件接口的设计和DLL模块实现了利用CANopen通信模型构造汽车电子通信系统的基本框架模型,总结了CANopen协议的在本方案中的优缺点和适用性。   关键词:CAN;CANopen;LIN;OD   中图分类号:TP393.04 文献标识码:A      1 概述      CANopen[1]协议集定义基于CAN的分布式工业自动化系统的应用标准以及CAN应用层通信标准。CANopen是CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。尤其是在欧洲,CANopen被认为是在基于CAN的工业系统中占领导地位的标准。CANopen协议集基于所谓的“通信子集”,该子集规定了基本的通信机制及其特性,如图1。   应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。   通讯描述(Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。   设备描述(Device proflile):为设备(类)增加符合规范的行为。   CANopen主要应用在汽车、工业控制、自动化仪表等领域,目前由CIA负责管理和维护。      2CANopen协议设计的实质      CAN处于OSI网络模型中物理层和数据链路层,而CANopen是基于CAN的应用层,因为现场总线通常只包括一个网段,因此不需要第3层(传输层)和第4层(网络层),也不需要第5层(会话层)、第6层(描述层)的作用。正是因为有了CANopen这样应用层协议的存在,从而使CAN总线成为了一个更加完善的网络系统。   CANopen协议在设计的时候,对总线上传输的数据进行了分类,即每一个传输数据都是某一特定类的对象,从而实现了面向对象的程序设计。在CANopen中每一类传输对象都有其规范化的格式,从而实现了应用层结构上的统一。这样无论从规范化角度,还是从模块化程序设计角度讲,CANopen协议都是一个设计比较完善的协议,图2是CANopen 内核[2]。图2CANopen master kernel在CANopen协议的数据传输中共定义了4类对象(通讯模式)[3],分别为管理对象(NMT)、服务数据对象(SDO)、过程数据对象(PDO)和特殊功能对象。其中NMT用来传递主节点对整个网络系统的管理信息,SDO用来传递网络系统中的配置信息,PDO用来传递过程数据信息(例如电压的变化值),特殊功能对象包括同步对象(SYNC)、紧急对象(Emergency)、时间基准(Time-Stamp)等。各类对象传输时的帧格式在参考文献中有详细的规定,在这里就不详细介绍。在实际的工程中用户只要根据需要,按照类的规定把要传输的数据映射到相应的对象中就可以了。      3CANopen协议中的核心内容      为了对各类对象进行规范化和方便的管理,在CANopen协议中定义了对象字典的概念。它是一个有序的对象组,其中定义了一个设备的所有信息,在CANopen网络系统中每一个设备都要有一个唯一的对象字典,每个设备的对象字典具有结构相同、内容不同的特点。通过对对象字典中的对象定义一个唯一的16位主索引和8位子索引,就可以方便地访问对象字典中的对象。CANopen协议中定义了通用的对象字典结构,其中规定了各种数据在对象字典中的位置区域。在我们建立设备对象字典的时候,主要工作应集中在定义通讯子协议区域(1000~1FFF)和制造商特定子协议区域(2000~5FFF)部分[4]。   在整个CANopen协议中,对象字典起到了连接DLL模块(通讯接口)和应用程序的作用。我们要想把一个应用程序中的数据(如I/O的输入值)送到CAN总线上,我们首先要确定这个数据属于对象字典中的哪一类对象(例如I/O口的输入值应为过程数据对象),然后用DLL模块访问对象字典中相应的对象,并把其按照相应的帧格式发送到CAN总线上去,从而完成了数据的传输。      4汽车电子通信系统设计与实现      4.1汽车网络方案   对于CAN在汽车上的应用,具有很多行业标准或者是国际标准,比如国际标准化组织(International Organization for Standardization)的ISO11992、ISO11783以及汽车工程协会(Society of Automotive E

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档