基于C8051F040的CAN总线通讯系统设计.docVIP

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

基于C8051F040的CAN总线通讯系统设计1 引言n总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独特的设计和适宜的价格,而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。目前can系统使用较多的是独立can控制器,利用单片机的并口控制can控制器,除了8条数据线外,还需要几条控制线。采取这样的设计不但占用了单片机的引脚,而且增加了电路板的面积。同时,由于采用了并行通讯,降低了系统的可靠性,因此,采取系统内部集成can控制器的单片机势在必行。 本文已cygnal公司的内部集成can控制器的c8051f040单片机为基础,介绍了can总线的通讯接口的具体设计及其应用。由于采用了集成can控制器的单片机,大大简化了电路,同时也提高了系统的可靠性。 2 c8051f040集成的can控制器 c8051040内部集成can控制器,他兼容can技术规范2.0a和2.0b主要由can内核、消息ram(独立于cip-51的ram)、消息处理单元和控制寄存器组成,图1所示是c8051f040的内部的can总线结构图。 图1中,can内核由can协议控制器和负责消息收发的串行/并行转换rx/tx移位寄存器组成,消息ram用于存储消息目标和每个目标的仲裁掩码。这种can处理器有32个随意配置为发送和接收的消息目标,并且每一个消息目标都有他自己的识别掩码,所有的数据传输和接收滤波都是由can控制器完成的,而不是由cip-51来完成。can内部寄存器中存储了所有can的控制和配置信息,其中包括控制寄存器、状态寄存器、设置波特率的位定时寄存器,测试寄存器、错误计数器和消息接口寄存器。通常can内核不能直接访问消息ram,而必须通过接口寄存器if1或if2来访问。另外,cip51的sfr并不不能直接访问can内部寄存器的所有单元,其配置can、消息目标、读取can状态以及获取接收数据、传递发送数据都由sfr中的6个特殊寄存器来完成,其中can0cn,can0tst和can0sta三个寄存器可直接获取或修改can控制器中对应的寄存器,而can0dath,can0atl,can0adr三个寄存器主要用来访问修改其他不能直接访问的can内部寄存器,其中can0adr用来指出要访问寄存器的地址,ca0dath,can0datl这时就相当于要访问的16位寄存器的高低字节的映射寄存器,而对他们的读写则相当于所指向寄存器的读写。 图2给出了cip-51如何访问can中控制寄存器和每个消息的路径图。消息处理单元用于根据寄存器中的消息来控制can内核中移位寄存器和消息ram之间的数据传递,同时,他还可用来管理中断的产生。 3 智能节点通讯部分的硬件设计 c8051f040中内置can总线协议控制器,只要外接总线驱动芯片和适当的抗干扰电路就可方便地建立一个实用的can总线智能测控节点。本文采用philip公司的tja1050t can总线驱动器,硬件原理图如图3所示。 为了增强can总线节点的抗干扰能力,可以采取以下措施: (1)f040的tx0和rx0并不是直接与tja1050t的txd和rxd相连,而是通过高速光耦6n137后与tja1050t相连,这就很好地实现了总线上各can节点间的电气隔离,不过应该特别说明的一点是光耦部分电路采用的两个电源va和vb必须完全隔离,否则采用光耦也就失去了意义。这些部分虽然增加了节点的复杂性,但是却提高了节点的稳定性和安全性。 (2)tja1050t的canh和canl引脚各自通过1个5ω的电阻与can总线相连,电阻可起到一定的限流作用,保护tja1050t免受过流的冲击。 (3)canh和canl与地之间并联2个30pf的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的作用。 (4)另外可在2根can总线接入端与地之间分别反接1个保护二极管。当can总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。 4 智能节点的通讯软件设计 节点的can通信主要包括系统初始化程序、发送程序、接收程序等,软件部分设计的好坏将直接决定系统能否正常工作,对于初次接触can总线系统的设计人员来说是一个难点,也是一个重点,在本论文中,系统软件采用结构化程序设计方案,使其具有较好的模块性和可移植性,对于不同的系统功能或不同的应用环境,可以方便地进行编程重组。 4.1 系统的初始化 初始化程序主要完成对所有的消息对象进行初始化(一般将所有值置零),对can控制寄存器(can0cn)、位定时寄存器(bitreg)进行设置,还要对发送消息对象和接收消息对象分别进行初始化。其中,位定时寄存器的设置

文档评论(0)

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

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

1亿VIP精品文档

相关文档