毕业设计(论文)-基于单片机的CAN通信模块设计.doc_第1页
毕业设计(论文)-基于单片机的CAN通信模块设计.doc_第2页
毕业设计(论文)-基于单片机的CAN通信模块设计.doc_第3页
毕业设计(论文)-基于单片机的CAN通信模块设计.doc_第4页
毕业设计(论文)-基于单片机的CAN通信模块设计.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计(论文)题 目 基于单片机的CAN通信模块设计 学生姓名 专业班级 电子信息科学与技术08-1班 学 号 院 (系) 计算机与通信工程学院 指导教师(职称) 完成时间 2012年 5月 31日 郑州轻工业学院毕业设计(论文)任务书题目 基于单片机的CAN通信模块设计 专业 电子信息科学与技术 学号 姓名 主要内容、基本要求、主要参考资料等:主要内容:1. 通过对CAN通信技术的学习,理解和掌握CAN通信的原理;2. 运用单片机结合CAN芯片完成系统的软、硬件设计;3. 实现单片机与CAN通信模块的设计。基本要求:1. 掌握CAN总线的技术规范以及它的应用;2. 分析CAN通信技术,理解CAN通信工作原理;3. 实现各部分的功能设计,接口设计,完成模块设计。主要参考资料:1 饶运涛,邹继军,郑勇芳著 现场总线CAN 原理与应用技术. 北京航空航天大学.20032 邬宽明 编著 现场总线技术应用选编. 北京航空航天大学出版社3 雷霖 编著 现场总线控制网络技术. 北京电子工业出版社2004.4 夏德海 编著 现场总线技术. 中国电力出版社2004.完 成 期 限: 2012年 5 月 31 日 指导教师签名: 专业负责人签名: 2012年1月5日基于单片机的CAN通信模块设计目 录摘要IABSTRACTII1绪论11.1引言11.2单片机与CAN总线11.3CAN系统的发展前景21.4论文的结构介绍32AT89C51和CAN总线简介42.1AT89C51简介42.1.1AT89C51的主要特性42.1.2管脚的说明52.1.3振荡器特性、芯片擦除以及串口通讯72.2CAN总线简介82.2.1CAN协议82.2.2电气参数及信号表示92.2.3CAN的主要特点102.2.4CAN 总线通信系统113CAN通信模块设计123.1总体方案设计123.2各模块的设计133.2.1单片机系统133.2.2电源设计133.2.3复位电路的设计143.2.4CAN总线接口电路设计183.2.5收发电路设计223.3软件设计253.3.1CAN BUS通信的总体流程253.3.2通信软件设计264电路设计时应该注意的问题324.1光电隔离电路324.2电源隔离324.3上拉电阻334.4总线阻抗匹配33结束语35致 谢37参考文献38基于单片机的CAN通信模块设计基于单片机的CAN通信模块设计摘 要随着科技的发展、人们生活水平的提高,电子产品变得跟人们形影不离。它极大的方便了人们的生活,同时也让可靠性也变得尤为重要。CAN1 P. Behring, Bit timing parameters for CAN networks, Philips Report KIE 07/91 ME, 1991.24-37. 最初出现在汽车工业中,最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线,由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。本文首先简单介绍了单片机的基本特性,CAN在现代控制领域中的应用和它的发展状况及前景,CAN总线的主要性能及特点,以及CAN总线在实际工业应用中的总体结构;主要研究了CAN 总线接口电路设计,给出了CAN总线的硬件设计方法和通信协议的具体用法,所设计的总线接口电路由微处理器、CAN控制器、CAN总线收发器组成,并且详细介绍了CAN控制器、CAN收发器的功能以及CAN 总线接口的硬件电路和软件设计,最后总结了设计时的注意事项,为后续CAN总线接口电路的应用打下了基础。关键词CAN总线;控制器;收发器;电路设计DESIGN OF MCU AND CAN COMMONICATION MODULEABSTRACTWith the development of science and technology and the increase of peoples living standard, electronic products and people were like peas and carrots. It greatly convenient on peoples life, also lets reliability also become especially important. CAN first appeared in the automobile industry, the initial motivation is to solve the communication between large modern automobile electronic control device , reduce the increasing signal line, because of its good performance and unique design, the CAN bus takes more and more peoples attention.This paper briefly introduces the basic characteristics of MCU, CAN in the modern control field application and its development status and prospects, wo descript the main CAN bus performance and features, and CAN bus used in industrial structure;CAN bus on the main interface circuit design, given the CAN bus protocol converters, the hardware design methods and the method of the communication protocols. Designed by the bus interface circuits and the microprocessor, CAN bus transceiver components, and details of the CAN controller, CAN transceiver of the CAN bus interface and features of the hardware as well as software under the conditions of the conditions of the hardware design, finally the paper summarizes the design considerations for follow-up CAN laid the foundation for application.KEY WORDSCAN bus,Controller,Transceiver,Circuit design391 绪论1.1 引言 在1980年的早些时候,Bosch公司的工程师就开始论证当时的串行总线用于客车系统的可行性。因为没有一种现成的网络方案能够完全满足汽车工程师们的要求,于是,在1983年初,Uwe Kiencke开始研究一种新的串行总线。新总线的主要方向是增加新功能、减少电气连接线 ,使其能够用于产品,而非用于驱动技术。来自Mercedes-Benz的工程师较早制定了总线的状态说明,而Intel也准备作为半导体生产的主要厂商。当时聘请的顾问之一是来自于德的Applied大学教授Wolfhard Lawrenz博士,他给出了新网络方案的名字“Controller Area Network”,简称CAN。最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。1993年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。随着应用领域的增多,CAN的规范从CAN 1.2 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。现场总线是一种应用于生产现场,在现场设备之间、现场设备与控制装置之间实行双向、串行、多节点数字通信的技术。它是一项以智能传感、控制、计算机、数据通信为主要内容的综合技术,是当今自动化领域发展的热点之一,被誉为自动化领域的局域网。目前国际上存在几十种现场总线标准,比较流行的主要有FF(基金会现场总线)、CAN(控制器局域网)、LonWorks、Profibus2 K. Hwang, F.A. Briggs, Computer Architecture and Parallel Processing, McGraw-Hill, New York, 1984.11-18等。1.2 单片机与CAN总线单片机作为嵌入式设备的心脏,在从消费电子到工业应用等广泛的领域中得到应用。从单片机的历史来看,随着嵌入式设备对单片机功能和性能的要求提高,其经历了从4位机到8位机的发展过程。目前嵌入式产品的不断发展,8bit单片机的处理能力面对越来越多的挑战,而32bit单片机在嵌入式领域得到越来越多的应用,CAN最初是用于汽车行业的监测、控制,用来解决汽车内部的复杂硬件信号接线的低成本通信总线,现今CAN总线已经被公认为一种可靠的网络总线在汽车上得以应用。CAN总线共享信息和资源,总线的数据通信提高了系统可靠性、实时性、灵活性、可维护性,更好地匹配和协调各个控制系统。随着汽车电子技术的发展具有高度灵活性、简单的扩展性、优良的抗干扰性和处理错误能力的CAN总线,越来越受到人们的重视,它在汽车领域上得到了广泛的应用。单片机与CAN总线的开发与设计也越来越受到人们的重视。1.3 CAN系统的发展前景 CAN总线以其高性能,高可靠性及独特的设计,在现代分布式测量与控制技术领域中的应用已愈来愈广泛。最近一段时期,国内开发、应用CAN系统的人员正在逐渐增多,对CAN协议的研究也在不断加深,在很多领域,如研制电动汽车和混合动力汽车的863重大课题,已经将CAN作为标准的车内通信协议确定下来。同时由于CAN总线自身的特点,其应用范围目前已不再局限于汽车行业,而是转向铁路、交通、自动控制、航空航天、航海、机械工业、机器人、医疗器械及安防等领域发展。CAN总线的发展已经颇具规模,它不仅在汽车领域的应用占据一定优势,在其他工业领域内也占有一席之地。这要归根于通信技术的不断进步,对通讯本身的要求不断提高,对性价比的关注也逐步提升,这种形势下CAN总线的优势在于其优越的抗干扰能力和性价比。从2000年开始,一个由数家公司组成的ISO任务组织定义了一种时间触发CAN报文传输的协议。传统的CAN是基于事件触发的,信息传输时间的不确定性和优先级反转是它固有的缺点。为了满足汽车控制对实时性和传输消息密度不断增长的需要,改善CAN总线的实时性能非常必要。在CAN应用蓬勃发展的时候,我们也应当清醒地看到,尽管CAN协议在欧美已经发展了20多年,应用层协议3 葛林,周文华 著 CAN 通信网络在汽车中的应用研究 浙江大学汽车技术月刊.2-4.的发展也有10多年时间,但目前国内大多数的应用系统仍然基于CAN2.0B规范开发,还不能在应用层的水平上进一步深入,这不能不说是很遗憾的事情。另外,国内研究、开发CAN协议,尤其是CAN高层协议的组织和人员还太少,这对CAN在中国的推广是十分不利的。 尽管CAN总线有一定局限,甚至还有漏洞,但对CAN总线的改进还在继续,相信在未来的发展中,CAN总线通过不断的更新和改进,能够取得更大的进步。1.4 论文的结构介绍本文的主要工作是完成和实现单片机与CAN通信的模块设计,大体的组织结构是:第一章主要介绍了CAN的概况以及它的应用于发展。第二章主要对51系列的单片机和CAN总线进行了简单的介绍。第三章主要是单片机与CAN通信模块的具体软、硬件的设计。第四章讲了设计模块时应该注意的事项。第五章是对整篇论文的一个分析和总结。2 AT89C51和CAN总线简介2.1 AT89C51简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器4 蔡美琴,张为民,何金儿等. MCS51系列单片机系统及其应用M. 第2版. 北京: 高等教育出版社,2004.55-68的低电压存储器(FPEROMFalsh Programmable and Erasable Read Only Memory),而且是高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100万次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的器件MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.1.1 AT89C51的主要特性l 与MCS-51 兼容 l 4K字节可编程闪烁存储器 l 寿命:1000万次写/擦循环l 数据保留时间:10年l 全静态工作:0Hz-24MHzl 三级程序存储器锁定l 1288位内部RAMl 32条可编程I/O线l 两个16位定时器/计数器l 5个中断源l 可编程串行通道l 低功耗的闲置和掉电模式l 片内振荡器和时钟电路图 21 AT89C51引脚2.1.2 管脚的说明l VCC:供电电压。l GND:接地。l P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8 个TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。l P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 l P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,并且作为输入。因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。l P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表格2-1所示:表格 2-1 P3引脚的扩展功能管脚P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7备选功能RXD(串行输入口)TXD(串行输出口)/INT0(外部中断0)/INT1(外部中断1)T0(定时器0外部输入)T1(定时器1外部输入)/WR(外部数据存储器写选通)/RD(外部数据存储器读选通)l RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。l ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR的8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。l /PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。l /EA/VPP:当/EA保持低电平时,则在此期间使用外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此期间使用内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。l XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。l XTAL2:来自反向振荡器的输出。2.1.3 振荡器特性、芯片擦除以及串口通讯振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度,一般情况下AT89C51经常使用的晶振频率的大小为12MHZ和11.0592MHZ,这些都是为了特定的使用而选择的,这些特定的作用包括定时器的使用以及串口波特率的使用,使用这些特定的晶振,可以使设计的精确性和方便性得到提高,提高设计效率。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。串口通信:单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到哪些特殊功能寄存器呢,它们是SCON,TCON,TMOD等,通过对这些寄存器的设置就可以进行串口的通信。2.2 CAN总线简介CANControl(Controller) Area Network是控制(器)局域网的简称。CAN是一种有效支持分布式控制或实时控制的串行通信网络,最初由德国Bosch公司20世纪80年代用于汽车内部测试和控制仪器之间的数据通信。目前CAN 总线规范已被国际标准化组织ISO制订为国际标准ISO118985 饶运涛,邹继军,郑勇芳 著 现场总线CAN原理与应用技术 .北京航空航天大学出版社,2003年6月第1版.12-39,并得到了Motorola、Intel、Philips等大半导体器件生产厂家的支持,迅速推出各种集成有CAN协议的产品。目前CAN总线主要用于汽车自动化领域,如发动机自动点火、注油、复杂的加速刹车控制(ASC)、抗锁定刹车系统(ABS)和抗滑系统等。BENZ、BMW等著名汽车上已经采用CAN来满足上述功能。在工业过程控制领域,CAN也得到了广泛的应用。2.2.1 CAN协议 CAN总线采用分层结构,规范规定了任意两个节点之间的兼容性。包括电气特件数据解释协议。CAN协议可分为:目标层、传送层、物理层。其中目标层和传送层包括了ISO/OSI定义的数据链路6 邬宽明 编 CAN总线原理和应用系统设计. 北京航空航天大学出版社,1996年11月第1版.34-55的所有功能。目标层的功能包括:确认要发送的信息;为应用层提供接口。传送层功能包括:数据帧组织、总线仲裁、检错、错误报告、错误处理。 CAN总线以报文为单位进行信息交换,报文中含有标示符(ID),它既描述了数据的含义又表明了报文的优先权。CAN总线上的各个节点都可主动发送数据。当同时有两个或两个以上的节点发送报文时,CAN控制器采用ID进行仲裁。ID控制节点对总线的访问。发送具有最高优先权报文的节点获得总线的使用权,其他节点自动停止发送,总线空闲后,这些节点将自动重发报文。2.2.1.1 CAN支持四类信息帧类型(1)数据帧 CAN协议有两种数据帧类型标准2.0A和标准2.0B。两者本质的不同在于ID7 雷霖 编著 现场总线控制网络技术 北京:电子工业出版社, 2004年4月版.86-138的长度不同。在2.0A类型中,ID的长度为ll位;在2.0B类型中ID为29位。一个信息帧中包括7个主要的域。l 帧起始域标志数据帧的开始,由一个显性位组成。l 仲裁域内容由标示符和远程传输请求位(RTR)组成,RTR用以表明此信息帧是数据帧还是不包含任何数据的远地请求帧。当2.0A的数据帧和2.0B的数据帧必须在同一条总线上传输时,首先判断其优先权,如果ID相同,则非扩展数据帧的优先权高于扩展数据帧。l 控制域r0、r1是保留位,作为扩展位,DLC表示一帧中数据字节的数目。 l 数据域包含08字节的数据。l 校验域检验位错用的循环冗余校验域,共15位。l 应答域包括应答位和应答分隔符。正确接收到有效报文的接收站在应答期间将总线值为显性电平。l 帧结束由七位隐性电平组成。(2)远程帧 接受数据的节点可通过发远程帧请求源节点发送数据。它由6个域组成:帧起始、仲裁域、控制域、校验域、应答域、帧结束。(3)错误指示帧 由错误标志和错误分界两个域组成。接收节点发现总线上的报文有误时,将自动发出“活动错误标志”其他节点检测到活动错误标志后发送“错误认可标志”。(4)超载帧 由超载标志和超载分隔符组成。超载帧只能在一个帧结束后开始。当接收方接收下一帧之前,需要过多的时间处理当前的数据,或在帧问空隙域检测到显性电平时,则导致发送超载帧。(5)帧间空隙 位于数据帧和远地帧与前面的信息帧之间,由帧间空隙和总线空闲状态组成。帧间空隙是必要的,在此期间,CAN不进行新的帧发送,为的是CAN控制器在下次信息传递前有时间进行内部处理操作。当总线空闲时CAN控制器方可发送数据。2.2.2 电气参数及信号表示总线上的数据采用不归零编码方式8 夏德海 编著 现场总线技术 上海:中国电力出版社, 2004年2月.24-115(NRZ),可具有两种互补的逻辑值之一:显性及隐性。CAN总线中各节点使用相同的位速率。它的每位时间由同步段、传播段、相位缓冲段1及相位缓冲段2组成。发送器在同步段前改变输出的位数值,接收器在两个相位缓冲段间采样输入位值,而两个相位缓冲段长度可自由调节,以保证采样的可靠性。另外,CAN总线采用时钟同步技术来保证通讯的同步,提高通信的效率。2.2.3 CAN的主要特点80年代末,在汽车工业中,由于众多的控制设备与测试仪器之间需要进行大量数据交换,传统的总线无法满足需求,德国BOSCH公司提出了CAN总线,这种新的串行数据通讯协议。CAN总线即控制器局域网总线,通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验9 徐利梅 童明俶 现场总线及其在楼宇自控系统中的应用 智能建筑与城市信息,2003(7).10-54、优先级判别等项工作。它具有如下特点: 1.CAN是到目前为止为数不多的有国际标准的现场总线,总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数据通讯。 2.CAN总线没有采取传统的站地址编码,不对节点进行地址规定,而是把通信数据块进行编码。这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成。这种按数据块编码的方式,使用报文的标识符来指定报文的优先级以及报文的内容,高优先级的节点享有传送报文的优先权。还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短,从而保证了通信的实时性。 3.CAN总线采用了多主竞争式总线结构,通信介质可以是双绞线、同轴电缆或光导纤维,可以多个主站运行并且分散仲裁。CAN总线上任意节点可以点对点,一对多及广播集中方式传送和接受数据,而且可以任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN通讯距离最大是10公里(设速率为5Kbps),最大通信速率为1Mbit/s(设通信距离为40米)。 4.CAN采用非破坏性的总线仲裁技术,即载波侦听多路访问/冲突检测(CSMA/CD)的总线仲裁方式,当多个节点同时发送数据时,优先级低的节点会主动停止发送,高优先级的节点可继续传输,节省总线仲裁时间。避免多个节点同时开始发送消息而造成总线冲突,保证优先级高的报文能够优先发送。 5.CAN总线协议采用了完善的错误检测与错误处理机制,包括了CRC校验、错误报文自动重发、错误状态判断、临时错误自动恢复等措施,从而很好的保证了数据通信的可靠性。节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响。CAN总线采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作。具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点。可根据报文的ID决定接收或屏蔽该报文。可靠的错误处理和检错机制,发送的信息遭到破坏后,可自动重发,报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的通信,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。2.2.4 CAN 总线通信系统CAN在物理结构上属于总线式通信网络。系统的组成如图2-2所示:图 22 CAN总线系统结构该系统由上位监控PC机、智能节点10 陆前锋 基于SJA1000的CAN总线智能控制系统设计 自动化技术与应用,2003(1).48-75和现场设备三部分组成。上位监控PC机主要负责对系统数据的接受与管理、控制命令的发送以及各控制单元动态参数和设备状态的实时显示;智能节点可以使现场设备方便地连接到CAN总线上,主要负责对现场的环境参数和设备状态进行监测,对采集来的数据进行打包处理并将处理过的数字信号通过CAN通信控制器 SJA1000发送到CAN总线。智能节点的设计和选择,对通信信号的传输发送有很的影响,系统中的数据传送和接收,都是通过CAN总线接口实现。CAN总线接口电路的设计,对CAN总线很是重要。本文正是基于此,对CAN总线接口电路进行设计分析,给出一种设计方案。3 CAN通信模块设计3.1 总体方案设计CAN总线接口电路主要包括:单片机、控制器接口、总线收发器和看门狗电路等。采用 Philips公司生产的SJA1000控制器和与其配套的82C250CAN收发器。按照CAN总线物理层协议选择总线介质,设计布线方案,连接成CAN网络。双绞屏蔽线可设两套,在两套介质上同时进行信息传输,接收方只用一个介质。在冗余和非冗余段的连接临界点处进行总线切换。硬件电路的设计主要是CAN通信控制器与微处理器之间和CAN总线收发器与物理总线之间的接口电路的设计。CAN通信控制器是 CAN 总线接口电路的核心,主要完成CAN 的通信协议,而 CAN 总线收发器的主要功能是增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰11 邬宽明 编著 现场总线技术应用选编 北京航空航天大学出版社, 1995年2月第2版.10-42(RFI) ,实现热防护等。看门狗电路主要是实现对电路的监控和复位作用。目前广泛流行的 CAN总线器件有两大类:一类是独立的 CAN控制器,如 82C200、SJA1000及 Intel82526/82527等,另一类是带有CAN的微控制器,如 P8XC582及16位微控制器 87C196CA/CB等。本课题选取 PHILIPS公司的 SJA1000 CAN控制器以及82C250总线收发器,主要是考虑到 SJA1000支持 CAN 2.0A/B规范。而 82C250可以支持 110个 CAN节点,并且国内市场上 PHILIPS的产品型号比较多,购买比较方便。在本次设计中,接口电路简单表示如图3-1所示:看门狗复位电路MCUAT89C51SJA1000控制器82C250收发器CAN接线图 31 接口电路总体框图3.2 各模块的设计3.2.1 单片机系统本设计中,应用到单片机为 ATMEL公司 51系列的 89C51,该型号的单片机应用广泛,技术成熟,市场上价格便宜,而且在学习中所学到的多为该型号,在本次设计中是首选的芯片。89C51 单片机作为系统的核心控制部分,但在本设计中不是重点讲解内容,其相关技术应用和引脚特点功能等,可参照其他相关资料。设计的电路原理方框大致如图3-3所示。设计中为避免出现时钟信号的冲突,对单片机的外接晶振引脚 XTAL1、XTAL2 不接上外围电路,而是通过控制器 SJA1000的时钟信号脚反馈给单片机。同时,对单片机的复位信号处理,RST引脚接上 X5045P的RST脚,复位信号可由 X5045P 输出,在X5045P芯片看门狗外围电路的作用下,减少了以往由电阻、电容组成的简易复位电路造成的不精确、延时高等不良作用,使单片机回复到初始状态,完成复位操作。由于在该电路中要用到单片机的存储作用,存储由 SJA1000传输过来的处理数据。因此,脚/EA 接上高电平,选用片内 ROM。对 ALE 脚,也即地址锁存有效信号端12 周宝龙,岳继光,萧蕴诗 著 基于CAN控制器的单片机农业温室控制系统的设计.8-46是和控制器 SJA1000的 ALE脚接通。3.2.2 电源设计设计中,对系统的电源都一致采用 DC+5V电压,光耦部分电路所采用的两个电源Vcc和 Vdd必须完全隔离。为此,设计电源如图3-2所示:图 32 电源电路它由 AH805 升压模块及 FP106 升压模块组成。AH805 是一种输入 1.23V,输出5V 的升压模块,在 3V 电池供电时可输出 100mA 电流。FP106 是贴片式升压模块,输入 46V,输出固定电压为 291V,输出电流可达 40mA,AH805及 FP106都是一个电平控制的关闭电源控制端。两节 1.5V 碱性电池输出的 3V 电压输入 AH805,AH805 输出+5V电压,其一路作 5V输出,另一路输入 FP106使其产生 2830V电压,经稳压管稳压后输出+12V电压。从图中可以看出,只要改变稳压管的稳压值,即可获得不同的输出电压,使用十分灵活。FP106 的第脚为控制电源关闭端,在关闭电源时,耗电几乎为零,当第脚加高电平大于2.5V 时,电源导通;当第脚加低电平小于0.4V 时,电源被关闭。可以用电路来控制或手动控制,若不需控制时,第脚与第脚连接。图 33 单片机系统3.2.3 复位电路的设计3.2.3.1 X5045P简介本设计中,所应用到的复位电路采用 Xicor 公司产品 X5045P。X5045P有四种常用的功能:上电复位、看门狗定时器、电源电压监控和块锁13 史久根CAN数据传送实时性的研究及其应用【J】信息与控制,2004,33(3):20-58(Block Lock TM )保护的串行 EEPROM 存储器组成在一个封装之内。这种组合降低了系统成本、减少了电路板空间和增加了可靠性。图3-4为引脚图:图 34 X5045Pl CS/WDI:片选输入/看门狗复位输入; l SO:串行输出; l WP:写保护输入; l Vss:地; l Vcc:电源; l RESET:复位输出;l SCK:同步时钟输入; l SI:串行输入。 X5045P 的状态寄存器描述器件的当前状态,各位意义如表3-1所列:表格 3-1 X5040P状态寄存器7654321000WD1WD0BL1BL0WELWIP其中,WD1、WD0 是看门狗定时时间设置位;BL1、BL0 是存储单元写保护区设置位;WEL是只读标志,1表明写使能开关打开;WIP也是只读标志,1代表芯片内部正处于写周期。电路复位时,各位都被清零。 X5045P芯片功能包括以下4种: (1)上电复位控制。在对 X5045P 通电时,RESET 引脚输出有效的复位信号,并保持至少200ms,使CPU有效复位。(2)电源电压监控。当检测到电源电压低于内部门槛电压VTRIP时,RESET输出复位信号,直至电源电压高于VTRIP 并保持至少 200ms,复位信号才被撤消。VTRIP的出厂值根据芯片型号不同共有5个级别的电压范围。对于需要电源电压精确监控的应用,用户可以搭建编程电路,对芯片内VTRIP电压进行微调。 (3)看门狗定时器。芯片内部状态寄存器的 WD1、WD0是看门狗定时设置位,通过状态寄存器写指令WRSR修改这2个标志位,就能在3种定时间隔中进行选择或关闭定时器。对看门狗的复位由 CS输入电平的下降沿完成。表格3-2是WD1、WD0组合的含义:表格 3-2内部寄存器WD0、WD1的含义WD1WD0看门狗定时值001.4s01600ms10200ms11禁止看门狗(4)串行E2PROM。芯片内含512字节存储单元,10万次可靠擦写,数据保持时间100 年。XICOR设计了3种保护方式防止误写。包括:WP写保护引脚,当引脚被拉低时,内部存储单元状态寄存器都禁止写入;存储区域写保护模式,通过对状态寄存器的BL1、BL0位的设置,可以选择对不同的存储区域进行写保护;在进行任何写操作前都必须打开写使能开关,而且在上电初始化写操作完成时,写使能开关自动关闭。显然,在几方面的保护之下,产生误写的可能性极小,表格3-3是 BL1、BL0组合的含义:表格 3-3 串行E2PROM的BL1、BL0含义BL1BL0写保护的单元地址00没有保护01180H1FFH10100H1FFH1100H1FFH对 X5045P的操作是通过 4根口线 CS、 SCK、SI和 SO进行同步串行通信来完成的。SCK是外部输入的同步时钟信号。在对芯片定改指令或数据时,时钟前沿将SI引脚信号输入;在读入数据时,时钟后沿将数据位输出到 SO引脚上。数据的输入/输出都是高位在先。 芯片内部共有6条指令,如表格3-4所列:(1)WREN和 WRDI是写使能开关的开/关指令。它们都是单字节指令。表格 3-4 X5045P内部指令命令名称命令格式内容WREN0000 0110打开写使能开关WRDI0000 0100关闭写使能开关RDSR0000 0101读状态寄存器WRSR0000 0001写状态寄存器READ0000 A8011读存储单元WRITE0000 A8010写存储单元(2)RDSR 和 WRSR 是状态寄存器的读/写指令。在从SI输入指令后,RDSR 的执行结果,即状态寄存器内容须从SO读出;而WRSR需要紧接着输入修改数据。 (3)READ和 WEITE是存储单元的读/写指令。输入指令后(指令码第三代表存储单元地址的最高位),接着输入低八位地址,最后就可以连续读出或写入数据。其中,读指针和写指针14 沙占友,王彦朋,孟志永等. 单片机外围电路设计. 北京:北京电子工业出版社,2003.11-79的工作方式完全不同,读指针的全部 8位用来计数,0FFH溢出后变成00H;写指针只用最低两位计数,XXXXXX11B溢出后变成 XXXX XX00B,所以连续写的实际结果是在4个单元中反复写入。另外,由于E2PROM的写入时间长,所以在连续两条写指令之间应读取 WIP状态,只有内部写周期结束时才可输入下一条写指令。X5045P中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过 RESET信号向CPU作出反应。X5045提供了三个时间值供用户选择使用。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。X5045P的存储器与CPU可通过串行通信方式接口,共有4096个位,可以按 512*x*8个字节来放置数据。3.2.3.2 基于X5045P的电路设计X5045P在本设计中做为复位、监控电路使用, 虽然增加了电路连接的复杂和成本,但对于电路的稳定和可靠性有起到很大的作用,是系统中不可缺少的部分。 对X5045的操作是通过4根口线CS、SCK、SI和SO进行同步串行通信来完成的。SCK是外部输入的同步时钟信号。在对芯片定改指令或数据时,时钟前沿将SI引脚信号输入;在读数据时,时钟后沿将数据位输出到SO引脚上。数据的输入/输出都是高位在先。在设计中,/CS脚和单片机P1.0、SI、SCK、SO、RST分别与单片机的引脚P1.0P1.3、RST连接。对于不用到的引脚,可以直接和地相连。电路设计如图3-5。图 35复位电路设计图3.2.4 CAN总线接口电路设计SJA1000 在电路中是一个总线接口芯片,通过它实现上位机与现场微处理器之间的数据通信。该电路的主要功能是通过CAN总线接收来自上位机的数据进行分析组态然后下传给下位机的控制电路实现控制功能,当CAN总线接口接收到下位机的上传数据,SJA1000就产生一个中断,引发微处理器产生中断,通过中断处理程序接收每一帧信息并通过CAN总线上传给上位机进行分析,而且AT89C51是CAN总线接口电路的核心,其承担CAN控制器的初始化、CAN的收发控制等任务。3.2.4.1 SJA1000简介SJA1000是一个独立的CAN控制器,它在汽车和普通的工业应用上有先进的特征。由于它和PCA82C200在硬件和软件都兼容,因此它将会替PCA82C200,SJA1000有一系列先进的功能,适合于多种应用特别在系统优化诊断和维护方面非常重要。SJA1000在软件和引脚上都是与它的前一款PCA82C200独立控制器兼容的。在此基础上它增加了很多新的功能,为了实现软件兼容,SJA1000独立的CAN控制器有2个不同的操作模式:1 BasicCAN模式:和PCA82C200兼容。BasicCAN模式是上电后默认的操作模式,因此用PCA82C200开发的已有硬件和软件,可以直接在SJA1000上使用而不用作任何修改。 2 PeliCAN模式15 PHILIPS Semiconductors. SJA1000 Stand-alone CAN controller 1999.56-189:是新的操作模式。它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能,使SJA1000能应用于更宽的领域。工作模式通过时钟分频寄存器中的CAN模式位来选择,复位时默认模式是BasicCAN模式。SJA1000控制器有DIP28(塑质双列直插封装)和SO28(塑质小型外线封装)两种形式,DIP28引脚图如图3-6所示。SJA1000的特征可以分成3组: 与PCA82C200完全兼容的功能。特征有:灵活的微处理器接口-允许接口大多数微型处理器或微型控制器。可编程的CAN输出驱动器-对各种物理层的分界面。CAN位频率高达1Mbit/s-SJA1000覆盖了位频率的所有范围,包括高速应用。 改良的PCA82C200功能,这组功能的部份已经在PCA82C200里实现,但是在SJA1000里这些功能在速度大小和性能方面得到了改良。特征如图3-6:l CAN2.0B(passive)-SJA1000的CAN2.0B passive特征允许CAN控制器接收有29位标识符的报文。l 64个字节接收FIFO-接收FIFO,可以存储高达21个报文,这延长了最大中断服务时间,避免了数据超载。l 24MHz时钟频率-微处理器的访问更快和CAN的位定时选择更多。l 接收比较器旁路-减少内部延迟,由于改进的位定时编程,使CAN总线长度更长。 PeliCAN模式的增强功能,在PeliCAN模式里SJA1000支持一些错误分析功能,支持系统诊断,系统维护,系统优化。而且这个模式里也加入了对一般CPU的支持和系统自身测试的功能。特征有:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论