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

上传人:lao****ou 文档编号:532120 上传时间:2024-01-12 格式:DOCX 页数:3 大小:49.98KB
下载 相关 举报
基于C8051F040的CAN总线通讯系统设计.docx_第1页
第1页 / 共3页
基于C8051F040的CAN总线通讯系统设计.docx_第2页
第2页 / 共3页
基于C8051F040的CAN总线通讯系统设计.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于C8051F040的CAN总线通讯系统设计.docx》由会员分享,可在线阅读,更多相关《基于C8051F040的CAN总线通讯系统设计.docx(3页珍藏版)》请在第一文库网上搜索。

1、基于C8051F040的CAN总线通讯系统设计田奕1,刘秀红2(1、华北科技学院北京101601:2、天津科技大学天津300222)1引言CAN总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独特的设计和适宜的价格,而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。目前CAN系统使用较多的是独立CAN控制器,利用单片机的并口控制CAN控制器,除了8条数据线外,还需要几条控制线。采取这样的设计不但占用了单片机的引脚,而且增加了电路板的面积。同时,由于采用了并行通讯,降低了系统的可靠性

2、,因此,采取系统内部集成CAN控制器的单片机势在必行。本文已Cygna1公司的内部集成CAN控制器的C8051F040单片机为基础,介绍了CAN总线的通讯接口的具体设计及其应用。由于采用了集成CAN控制器的单片机,大大简化了电路,同时也提高了系统的可靠性。2C8051F040集成的CAN控制器C8051040内部集成CAN控制器,他兼容CAN技术规范2.0A和2.0B主要由CAN内核、消息RAM(独立于CIP-51的RAMJs消息处理单元和控制寄存组成,图1所示是C8051F040的内部的CAN总线结构图。CANTXCANRX图1C8051Fo4。内部的CAN总线结构图图1中,CAN内核由CA

3、N协议控制器和负责消息收发的串行/并行转换RX/TX移位寄存器组成,消息RAM用于存储消息目标和每个目标的仲裁掩码。这种CAN处理器有32个随意配匿为发送和接收的消息目标,并且每一个消息目标都有他自己的识别掩码,所有的数据传输和接收滤波都是由CAN控制器完成的,而不是由CIP51来完成CCAN内部寄存器中存储了所有CAN的控制和配置信息,其中包括控制寄存器、状态寄存器、设置波特率的位定时寄存器,测试寄存器、错误计数器和消息接11寄存器。通常CAN内核不能直接访问消息RAM,而必须通过接口寄存器IF1或IF2来访问。另外,CIP51的SFR并不不能直接访问CAN内部寄存器的所有单元,其配置CAN

4、、消息目标、读取CAN状态以及获取接收数据、传递发送数据都由SFR中的6个特殊寄存器来完成,其中CANOCN,CAN0TST和CAN0STA三个寄存器可直接获取或修改CAN控制器中对应的寄存器,而CANODATH,CANOAT1,CANOADr三个寄存器主要用来访问修改其他不能直接访问的CAN内部寄存器,其中CAN0ADR用来指出要访问寄存器的地址,CA0DATH,CANoDAT1这时就相当于要访问的16位寄存器的高低字节的映射寄存器,而对他们的读写则相当于所指向寄存器的读写。32十用总11HIJW1RAMCANttUItIXMCANFIR状金有乃却认有笈11*CANtUH1X力召”J5if1

5、4UffIF1QIF2浦启管K岑:CAN内星有看CANOCNns.SFRCANOSTACANOFSTCAMADRCanodatbCanodai1cp5rnR(sfr)图251内核与CAN寄存器和消息RAM通信路径图图2给出了CIP51如何访问CAN中控制寄存器和每个消息的路径图。消息处理单元用于根据寄存器中的消息来控制CAN内核中移位寄存器和消息RAM之间的数据传递,同时,他还可用来管理中断的产生。3智能节点通讯部分的硬件设计C8051F040中内置CAN总线协议控制器,只要外接总线驱动芯片和适当的抗干扰电路就可方便地建立个实用的CAN总线智能测控节点。本文采用PH1IJP公司的TJA1O50

6、TCAN总线驱动器,硬件原理图如图3所示。为了增强CAN总线节点的抗干扰能力,可以采取以下措施:(1)F040的TXO和RXO并不是直接与TJA1050T的TXD和RXD相连,而是通过高速光耦6N137后与TJA1050T相连,这就很好地实现了总线上各CAN节点间的电气隔离,不过应该特别说明的一点是光耦部分电路采用的两个电源VA和VB必须完全隔离,否则采用光耦也就失去了意义。这些部分虽然增加了节点的复杂性,但是却提高了节点的稳定性和安全性。(2)TJA1050T的CANH和CAN1引脚各自通过1个5的电阻与CAN总线相连,电阻可起到一定的限流作用,保护TJA1050T免受过流的冲击。(3)CA

7、NH和CAN1与地之间并联2个30pF的小电容,可以起到滤除总线上的高频干扰和一定的防电磁福射的作用。(4)另外可在2根CAN总线接入端与地之间分别反接1个保护二极管。当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。4智能节点的通讯软件设计节点的CAN通信主要包括系统初始化程序、发送程序、接收程序等,软件部分设计的好坏将直接决定系统能否正常工作,对于初次接触CAN总线系统的设计人员来说是一个难点,也是一个重点,在本论文中,系统软件采用结构化程序设计方案,使其具有较好的模块性和可移植性,对于不同的系统功能或不同的应用环境,可以方便地进行编程重组。4.1系统的初始化初始化程

8、序主要完成对所有的消息对象进行初始化(一般将所有值置零),对CAN控制寄存器(CANOCN)、位定时寄存器(BITREG)进行设置,还要对发送消息对象和接收消息对象分别进行初始化。其中,位定时寄存器的设置较为竟杂,这里使用外部晶振为11.0592MHz,CAN通信速率为IMbs,得到B1TREG的出初始值为0x2640。主程序中规定对象初始化、发送和接收初始化,最后才启动CAN处理机制(对BrrREG和CANoCN初始化),下面为CAN启动程序:voi1StnrtCAN(void)(一SFPRAGEUCANO_PA(iE/指向CANO负面/CAN0CN=0x41,/将CCEff1Inh置I”开

9、始初始化Canoadr=HITREGj指向位定时寄存器进行配置CAN0DT-0x26401/,位率为】Mb/s/CN(XN10x061允许全M中断,】E和S1EIf位/CANOCN&0x4Ii八清除CCE和INrr位,启动CAN状态机制/4.2发送和接收程序发送程序主要负责把接11寄存器里边要发送内容写入到具体的消息对象中,而接收程序所要实现的功能与发送程序正好相反,接收程序负责把接收到的内容从消息对象中读入接口寄存器中,由于两者的程序相似,下面给出发送程序代码。5结语采用内部集成了CAN控制器模块的微控制器设计现场总线智能结点,不但硬件设计上简单、可靠、编制相应的软件时也更方便和简洁。本文正是采用这种设计方案,详细介绍了用C8051F040进行CAN总线智能节点通讯接口设计时的硬件接口及软件设计方法。系统的实际运行验证了设计的正确性与可靠性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服