



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于C8051F040的CAN总线通讯系统设计田奕1,刘秀红2 (1、华北科技学院 北京 101601;2、天津科技大学 天津 300222) 1 引言 CAN总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独特的设计和适宜的价格,而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。 目前CAN系统使用较多的是独立CAN控制器,利用单片机的并口控制CAN控制器,除了8条数据线外,还需要几条控制线。采取这样的设计不但占用了单片机的引脚,而且增加了电路板的面积。同时,由于采用了并行通讯,降低了系统的可靠性,因此,采取系统内部集成CAN控制器的单片机势在必行。 本文已Cygnal公司的内部集成CAN控制器的C8051F040单片机为基础,介绍了CAN总线的通讯接口的具体设计及其应用。由于采用了集成CAN控制器的单片机,大大简化了电路,同时也提高了系统的可靠性。 2 C8051F040集成的CAN控制器 C8051040内部集成CAN控制器,他兼容CAN技术规范2.0A和2.0B主要由CAN内核、消息RAM(独立于CIP51的RAM)、消息处理单元和控制寄存器组成,图1所示是C8051F040的内部的CAN总线结构图。 图1中,CAN内核由CAN协议控制器和负责消息收发的串行/并行转换RX/TX移位寄存器组成,消息RAM用于存储消息目标和每个目标的仲裁掩码。这种CAN处理器有32个随意配置为发送和接收的消息目标,并且每一个消息目标都有他自己的识别掩码,所有的数据传输和接收滤波都是由CAN控制器完成的,而不是由CIP51来完成。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给出了CIP51如何访问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)进行设置,还要对发送消息对象和接收消息对象分别进行初始化。其中,位定时寄存器的设置较为复杂,这里使用外部晶振为11.0592MHz,CAN通信速率为1Mb/s,得到BITREG的出初始值为0x2640。主程序中规定对象初始化、发送和接收初始化,最后才启动CAN处理机制(对BITREG和CAN0CN初始化),下面为CAN启动程序: 4.2 发送和接收程序 发送程序主要负责把接口寄存器里边要发送内容写入到具体的消息对象中,而接收程序所要实现的功能与发送程序正好相反,接收程序负责把接收到的内容从消息对象中读入接口寄存器中,由于两者的程序相似,下面给出发送程序代码。 5 结语 采用内部集成了CAN控制器模块的微控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村联合开展特色农业活动协议
- 在线平台交易规则与使用协议
- 人员派遣与管理合作协议
- 市场推广战略合作协议附加条款及条件协议
- 改写舟过安仁750字(14篇)
- 企业级网络安全审计与监控协议
- 教师招聘之《幼儿教师招聘》模拟题库讲解含答案详解(典型题)
- 教师招聘之《幼儿教师招聘》模拟题库讲解带答案详解(新)
- 肋骨骨折护理课件
- 肋骨骨折应急预案课件
- 2025年静脉输液考试题及答案2024
- 政府机关保安职责及安全政策
- 化工设备使用与维护课程标准
- 房产中介行业智能经纪人与信息共享平台方案
- 工程造价咨询服务投标方案(专家团队版-)
- 2024-2025学年统编版小学道德与法治一年级上册全册教案及反思
- 公司管理安全奖惩制度(2篇)
- 2025中水北方勘测设计研究限责任公司校园招聘管理单位笔试遴选500模拟题附带答案详解
- 《质量管理体系培训》课件
- (高职院校)健康养老照护大赛理论考试题库500题(含答案)
- 宫颈癌手术个案护理
评论
0/150
提交评论