本科毕业设计-CAN总线_第1页
本科毕业设计-CAN总线_第2页
本科毕业设计-CAN总线_第3页
本科毕业设计-CAN总线_第4页
本科毕业设计-CAN总线_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文小型CAN网络硬件电路设计HardwareCircuitDesignofaSmallCANNetwork毕业设计〔论文〕原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计〔论文〕,是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过奉献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解安阳工学院关于收集、保存、使用毕业设计〔论文〕的规定,即:按照学校要求提交毕业设计〔论文〕的印刷本和电子版本;学校有权保存毕业设计〔论文〕的印刷本和电子版,并提供目录检索与阅览效劳;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的局部或全部内容。作者签名:日期:小型CAN网络硬件电路设计专业班级:12届网络工程〔专升本〕学生姓名:张龙超指导老师:魏胜利职称:讲师摘要:现场总线技术被誉为自动化领域的局域网,它是计算机技术、通信技术、控制技术的集成,是当今自动化领域技术开展的热点之一。现场总线是以总线为纽带,将各个设备连接起来组成一个能够相互交换信息的控制网络。CAN(ControllerAreaNetwork,控制器局域网)总线也是现场总线的一种,最初应用于汽车的控制系统中。CAN现场总线以其高性能、高可靠性及其独特的设计越来越受到人们的重视。现在,由于CAN总线自身的特点,其应用领域已由汽车行业的扩展到自动控制、楼宇自动化、机器人等各个领域。本课题的主要内容是通过学习CAN总线的知识,掌握CAN总线的通讯原理和组网技术,利用CAN总线硬件电路设计的方法,设计CAN网络节点设备,再利用CAN网络节点设备组建一个简单的CAN硬件电路网络系统,烧写适宜的运行程序使系统中设备可以正常通信,并且在计算机上通过测试软件能够显示收到的数据。该系统各个节点设备互联成一个网络,设备间能正常的进行简单的数据接收或发送,各个设备拥有显示装置以便观测是否正常进行接收或发送,从而实现小型CAN网络硬件电路的设计。本课题研究的目的和意义在于通过了解CAN总线的开展,学习并熟悉CAN总线知识,设计CAN总线网络电路以到达对CAN总线网络知识的深入理解。培养和提高个人科研能力,了解当前的最前沿技术的开展趋势,为成为一名合格的社会技术人才打下根底。关键词:CAN总线协议CAN总线硬件电路设计HardwareCircuitDesignofaSmallCANNetworkAbstract:FieldbustechnologyisknownasaLANinautomationfield.Itistheintegrationofcomputertechnology,communicationstechnologyandcontroltechnology.Itisoneofthehotspotsofthetechnicaldevelopmentsinthefieldofautomationtoday.Fieldbusconnectseachdevicetoformacontrolnetworkandexchangesinformationwitheachother.CAN(ControllerAreaNetwork)busisoneofthefieldbus,originallyappliedtothecar'scontrolsystem.Withitshighperformance,highreliabilityanduniquedesignthatmoreandmorepeoplepayattentionto.Now,withCANbusowncharacteristics,itsfieldofapplicationhasbeenextendedtotheautoindustryautomation,buildingautomationandroboticsfields.ThemaincontentofthissubjectislearningCANbusknowledge,communicationtheoryandnetworktechnology.UsingCANbushardwarecircuitknowledge;wecandesignasimpleCANhardwarecircuitnetworksystem.Writingprogramstoeachdevicethattheycancommunicatewitheachother.Thecomputerthroughthetestingsoftwarecandisplaythedatatransceiver.Thesystemofequipmentscanbeinterconnectedintoanetwork.Eachdevicehasadisplaydeviceforobservationtosendorreceive.Equipmentcannormallycarryoutsimpledatatransceiverorobservation,therebyrealizingasmallCANnetworkhardwarecircuitdesign.ThesignificanceofthisresearchisthatbyunderstandingthedevelopmentofCANbus,theknowledgeandthedesignofCANbusnetworkcircuit,wecanachieveindepthunderstanding.Theycancultivateandimprovepersonalscientificresearchabilityandunderstandthelatesttechnologydevelopmenttrends.Itisthefoundationtobecomeaqualifiedsocialandtechnicalperson.Keywords:CANBusProtocol;CANBus;HardwareCircuitDesign目录引言1第1章绪论21.1本课题研究的背景21.2现场总线相关文献概述21.3CAN总线概述及其开展趋势3CAN总线相关知识概述31.3.2CAN总线的开展趋势31.4本章小结4第2章CAN总线的特点和协议简介52.1CAN总线的特点52.2CAN总线的分层结构62.3报文的传送及帧结构6帧的格式72.3.2帧的类型72.4CAN总线数据仲裁和检错102.5本章小结11第3章CAN总线网络节点硬件电路设计123.1CAN网络设备节点总体设计方案123.2CAN节点主要芯片简介133.2.1STC89C52单片机简介133.2.2CAN控制器SJA1000简介153.2.3CAN收发器PCA82C250简介183.3CAN节点主要元件硬件电路设计193.3.1单片机电路连接设计193.3.2SJA1000电路连接设计213.3.3PCA82C250电路连接设计223.4CAN节点其他模块硬件电路设计233.5CAN节点内部数据收发原理263.6CAN总线原理图及PCB板图设计273.6.1原理图及PCB设计应遵循的原那么273.6.2原理图及PCB板图设计的一般步骤29本课题中原理图及PCB板图设计中应注意的问题293.7本章小结30第4章CAN总线网络互联设计314.1CAN网络各节点之间通信互联设计314.2.CAN总线网络通信原理324.3本章小结33第5章CAN总线网络的测试及运行345.1CAN总线网络节点硬件设备测试345.2CAN总线节点数据收发测试345.3CAN总线网络的运行365.4本章小结38结论39致谢40参考文献41引言CAN总线是近年来非常流行的几种现场总线之一。CAN总线主要是一种多主方式的串行总线,可以组建主从或对等式的总线通信系统;具有非破坏性总线仲裁技术,让优先级高的信息得到更加快速的处理;具有非常强大的错误检测机制,几乎可以检测到总线上的任何错误;采用短帧结构、位填充和CRC校验等措施,使传输具有高可靠性。这些优点使CAN总线在众多工业领域,尤其是汽车、航天等产业中得到了广泛的推广和应用。CAN总线与其他现场总线相比具有突出的可靠性、实时性和灵活性。CAN总线在通信能力的高可靠和易用性、传输距离远、本钱低等方面有着明显的优势,成为业界最有前途的现场总线之一。现在,由于CAN总线自身的特点,其应用领域已由汽车行业扩展到过程工业、机械工业、机器人和楼宇自动化等领域。CAN技术和产业化在中国一定会拥有更加广阔的市场前景。本设计利用串行通信技术,将适宜的程序烧写到每个设备的单片机中,单片机对该设备的CAN控制器SJAl000进行正确初始化后,将要发送的数据通过该设备的CAN收发器PCA82C250输出至CAN总线上。接收时,接收设备首先通过滤波器选择发送信息的设备及其相关信息的选项,再由接收设备允许接收,最后返回相应数据的信息。在CAN网络中,所有数据都由CAN控制器SJAl000封装打包,再按CAN的两种模式BasicCAN或者PeliCAN模式发送和接收,从而实现CAN总线通讯。本文从课题的研究背景、CAN总线通信协议、CAN网络设备以及CAN总线各个设备之间的通信等方面对CAN总线技术进行了详细阐述,对CAN总线的硬件电路设计及其考前须知进行了详尽介绍,并且针对系统设计过程中可能出现的问题进行了一定的分析。第1章绪论1.1本课题研究的背景现场总线〔Fieldbus〕是用于控制自动化、楼宇自动化、电气自动化等领域的现场智能设备互联通信网络。现场总线具有本钱低廉、可利用现有的数字化和网络技术的新成果对系统进行改造的特点,顺应了当今时代数字化、模块化、网络化的开展方向。人们针对其他控制系统的缺点,在其他控制系统的根底上开发一种适用于工业环境的网络结构和网络协议,并实现传感器和控制器的通信,这就是现场总线。这是一项以智能传感、计算机、控制等技术为主要内容的综合技术。现场总线是信息化带开工业化和工业化推动信息化的开展的实用技术之一,在我国的开展只是近些年的事。当计算机网络技术,尤其是互联网技术得到广泛的应用后,人们对企业生产过程的控制提出了更高的要求。企业和外界信息的沟通的范围不断的扩大,这就需要把大量的现场信息送到控制中心以便人们更好地实时观测、控制、处理相关的数据,以满足企业的生产要求。现场总线的种种优点适应了当代企业生产的要求,成为工业控制系统的首选。本课题在充分了解了现场总线的优点后认为对于未来工业控制技术的开展,我们很有必要对现场总线进行深入的学习和探究。1.2现场总线相关文献概述现场总线〔Fieldbus〕是指开放式、数字化、标准化、能够相互操作、双向传输、连接智能仪器和控制系统的通信网络。它作为工厂数字通信网络的根底,沟通了生产过程现场总线及控制设备之间及其更高控制管理层次之间的联系。当今现场总线技术一直是国际上各大公司剧烈竞争的领域,潜在着巨大的商机。由于现场总线技术不断创新,和其他系统相比,它是一项以智能传感器、控制、计算机、数字通讯等技术为主要内容的综合技术,是信息化带开工业化和工业化推动信息化的实用技术,是能应用于各种计算机控制领域的工业总线。目前现场总线网络互连都遵守OSI参考模型,并且以计算机、微电子、网络通信技术为根底,因此它正从根本上改变控制系统的理念和方法,将大大推开工业控制领域开展。现场总线技术是当代工业数字通信的前沿技术,也是计算机技术、网络技术、通信技术、自动化技术的集成。它是工业数字时代的先驱,它的出现和开展正在引起工业控制领域的一场革命,它不仅仅是最底层的控制系统,而且还是建立于整个工业体系的通信系统。由于其巨大的优势,现场总线被认为是工业控制开展的必然趋势。现场总线的种类很多,例如以太网现场总线、RS-232总线、RS-485总线、CAN现场总线等等。在目前国际上现场总线群雄并起的局面下,用户应从实际应用工程特点出发去选择。CAN现场总线在风险分散、控制层开放、本钱下降等各方面的优越性日益突现,因此,本课题主要学习和研究CAN现场总线。1.3CAN总线概述及其开展趋势CAN总线相关知识概述CAN(ControllerAreaNetwork,控制器局域网)是一种高性能、高可靠、易开发且低本钱的现场总线,也是最早在我国应用的现场总线之一。CAN是20世纪80年代〔1983〕德国Bosch(博世)公司为解决汽车中众多的测量控制部件之间的数据交换问题而开发的一种串行数据通信总线。CAN是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对平安性、舒适性、方便性、低公害、低本钱的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986年德国电气商博世公司开发出面向汽车的CAN通信协议。此后,CAN通过ISO11898及ISO11519进行了标准化,现在在欧洲已是汽车网络的标准协议。1.3.2CAN总线的开展趋势为了促进CAN以及CAN协议的开展,1992年在欧洲成立了CiA〔CANinAutomation〕。在CiA的努力推广下,CAN技术在汽车电子控制系统、电梯控制系统、医疗器械、纺织机械、船舶运输等方面均得到了广泛的应用。现已有400多家公司参加了CiA,CiA已经成为全球应用CAN技术的权威。CAN总线在组网和通信功能上的优点以及它的高性能价格比决定了它在许多领域都有广阔的应用前景和开展潜力。大型仪器设备系统复杂,要对多种信息进行采集、处理、控制、输出等操作。如医疗器械CT断层扫描仪,为保证其可靠工作,在数据通信上要求功能块间可随意进行数据交换、通信能以播送方式进行、简单经济的硬件接口、通信线尽量少、抗干扰能力强、可靠性高并能自动进行故障识别和自动恢复。但是,这些要求长时间未能得到很好地解决,直至CAN总线技术出现才提供了一个较好地解决方法。测控系统离不开传感器,由于各类传感器的工作原理不同,其最终输出的电量形式也各不相同,为了便于系统连接,通常要考虑将传感器的输出变换成标准电压或电流信号。即便是这样,在与计算机相连时,必须增加A/D环节。如果传感器能以数字形式输出,就可以方便的与计算机直接相连,从而简化系统结构,提高精度。这种传感器与计算机直接相连的总线可称为传感器总线。实际上传感器总线仍属于现场总线,关键的问题在于如何将总线的接口与传感器一体化。在广泛的控制领域,CAN总线可作为现场设备级的现场总线,与其他总线相比,具有很高的可靠性和性价比。这必将是CAN技术开发应用的一个主要方向。近年来CAN总线技术在我国的应用取得很大的成绩,据英国敏思管理咨询公司〔IMS〕对工业通信中国市场的调查报告看,截至2008年在我国已安装CAN现场总线和工业以太网的节点估计为1166.75万个,其数量可以说是够庞大的。其中按通信协议来分:Profibus占24.2%〔282.7万个〕、CC-Link占11.16%〔130.31万个〕、DeviceNet占9.75%〔113.83万个〕、FF占1.67%〔19.58万个〕。显而易见,工厂自动化用现场总线的任一个协议〔如Profibus、CC-Link、DeviceNet等〕,它们已安装的节点数要比过程控制用现场总线〔如FF〕高整整一个数量级。1.4本章小结本章从课题研究的背景出发,阐述了研究的背景和开展趋势。从现场总线和CAN总线的发生、开展和相关领域的成果及开展趋势出发,详细论述了现场总线和CAN总线的特点,来说明研究的必要性,到达深化主题的目的。第2章CAN总线的特点和协议简介2.1CAN总线的特点CAN总线与其他现场总线相比具有突出的可靠性、实时性和灵活性。CAN总线主要是一种多主方式的串行通信总线,根本设计标准要求有高的位速率、高抗电磁干扰性,而且能够几乎检测出产生的任何错误。CAN总线在通信能力的高可靠和易用性、传输距离远、本钱低等方面有着明显的优势,成为业界最有前途的现场总线之一。现在,由于CAN总线自身的特点,其应用领域已由汽车行业扩展到过程工业、机械工业、机器人和楼宇自动化等领域。CAN技术和产业化在中国一定会拥有更加广阔的市场前景。其特点可以概括如下:1.CAN从本质上讲是一种多主或对等网络,网络上任一设备节点〔以下简称“节点”〕均可主动发送报文,通信方式灵活。2.废除了传统的站地址编码,而代之以对通信数据进行编码;通过报文过滤,可实现点对点、多点传送、播送等几种数据传送方式。3.采用短帧结构,传输距离短,受干扰概率低,具有良好的检错效果。CAN的每帧信息都有CRC及其他检错措施,降低了数据出错概率。4.具有多种检错措施及相应的处理功能,检错效果极好,处理功能很强,保证了通信的高可靠性。具有位错误和位填充错误检测、CRC校验、报文格式检查和应答错误检测及相应的错误处理能力。5.通信介质〔媒体〕可为双绞线、同轴电缆或光纤,选择灵活。6.总线长度可达10km〔速率为5kbit/s及其以下〕;网络速度可达1Mbit/s〔总线长度为10m及其以下〕。7.网络上的CAN节点数主要取决于总线驱动电路。目前标准格式的报文标识符理论上可达2的11次方个,而扩展格式的报文标识符的个数理论上可达2的29次方个,几乎不受限制。8.通过报文的标识符来定义CAN节点报文的优先级。对于实时性要求不高的节点报文,可定义不同级别的优先级,从而保证高优先级的节点报文得到优先发送。9.采用非破坏性逐位仲裁机制来解决总线访问冲突。通过采用这种机制,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响的继续传输数据,从而大大节省了总线冲突仲裁时间,即使在网络负载很重时,也不会出现网络瘫痪现象。10.发生严重错误的节点具有自动关闭输出的功能,以使总线上的其他节点的通信能够继续进行。2.2CAN总线的分层结构CAN总线遵从OSI参考模型,按照OSI基准模型,CAN分层结构定义了其中的3层:物理层、数据链路层和应用层。前两层已被CAN的硬件所实现,而应用层可由用户自行定义,设计成适合其应用领域的不同方案。CAN总线协议分层结构如表2.1所示。表2.1CAN总线协议分层协议层对应OSI模型说明LLC数据链路层逻辑链路控制层,用于为链路中的数据传输提供上层控制手段MAC媒体访问控制层,用于控制仲裁、错误界定等数据传输具体实现物理层物理层作用是在不同节点间根据所有的电气属性进行位的实际传输LLC层和MAC层是CAN总线数据链路层的两个子层。其中LLC子层的主要功能是:为数据传送和远程数据请求提供效劳,确认有LLC子层接收的报文实际已被接收,完成报文滤波、过载通知和恢复管理等工作。在定义目标处理时,存在许多灵活性。MAC子层的功能主要是传送规那么,亦即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC子层不存在修改的灵活性。物理层的功能是有关全部电气特性在不同节点间的实际传送,主要有位编码解码、同步、位定时等功能。自然,在一个网络中,物理层的所有节点协议标准、电器属性必须是相同的。2.3报文的传送及帧结构在CAN网络中,一个发出报文的节点称为该报文的发送器,并且保持该身份直至总线空闲或丧失仲裁。如果一个节点不是这条报文的发送器,而且总线不空闲,那么该节点被称为接收器。根据CAN协议,接收器接收数据时必须先进行报文过滤,报文过滤是CAN总线的一大特色。通过报文过滤,能使相关的报文被正确的接受和处理,不相关的报文不被采用,极大地节省了节点的资源。2.3.1帧的格式在CAN总线2.0B标准中,有两种不同的帧格式,不同之处为标识符的长度不同。具有11位标识符的帧称之为标准帧,而含有29位标识符的帧称之为扩展帧。数据帧和远程帧都可以使用标准帧格式或者扩展帧格式。它们通过帧间间隔与先前的帧区分开。2.3.2帧的类型CAN总线的报文传送由4种不同类型的帧表示和控制:●数据帧用于发送节点向接收节点传送数据的帧;●远程帧用于接收节点向具有相同标识符的发送节点请求数据的帧;●错误帧用于当检测出错误时向其他节点通知错误的帧;●超载帧用于提供当前的和后续的数据帧的附加延迟。1.数据帧数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束。数据长度可为0。CAN技术标准2.0B数据帧组成如图2.1所示。帧间隔帧间隔数据帧帧起始仲裁场控制场数据场CRC场应答场帧结束或超载帧帧间隔图2.1数据帧的组成〔1〕帧起始:标志数据帧和远程帧的起始,是帧开始的场,由一个单独的显性位组成。它只有在总线处于空闲状态时,才允许单元开始发送。所有单元都必须同步于首先开始发送的那个单元的帧起始前沿,即总线值从隐性变为显性时,产生的跳变沿。〔2〕仲裁场:由标识符和远程发送请求位〔RTR〕组成,如图2.2所示。帧间隔帧间隔帧起始仲裁场控制场标识符RTR位图2.2仲裁场的组成仲裁场是表示一个数据帧优先级的场,由标识符〔ID〕和远程发送请求位(RTR)组成。对于CAN2.0B,标准格式和扩展格式的仲裁场格式不同。在标准格式中,仲裁场由11位标识符和远程发送求位RTR组成,标识符为ID.28~ID.18,如图2.3所示。帧起始帧起始RTR位仲裁场控制场帧间隔11位标识符图2.3CAN技术标准数据帧标准格式仲裁场然而在扩展格式中,仲裁场由29位标识符、远程请求位SRR、标识位IDE和远程发送请求位RTR组成,标识符位为ID.28~ID.0,如图2.4所示。帧起始帧起始29位标识符SRRIDERTR仲裁场控制场图2.4CAN技术标准数据帧扩展格式仲裁场(3)数据场:由数据帧中被发送的数据组成,它可发送0~8个字节数据,当然数据场长度也可以为0。发送时首先发送的是数据的最高位。(4)CRC场〔标准帧格式及扩展帧格式〕:是检查帧传输错误的场,包括CRC序列,其后是CRC界定符,CRC场的组成如图2.5所示。数据域或控制域数据域或控制域CRC场ACK场CRC序列CRC界定符图2.5CRC场的组成〔6〕应答场〔ACK〕:为两位,包括应答间隙和应答界定符。是用来确认接收的场。〔7〕帧结束:数据帧结束的场,每个数据帧或远程帧均由一个标志序列界定。这个标志序列由7个隐性位组成。这局部由CAN控制器SJA1000自动完成。2.远程帧远程帧用于接收节点向具有相同标识符的发送节点请求数据的帧。远程帧由6个不同位场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。远程帧和数据帧的结构根本相同,其RTR位为隐性位,且不存在数据场,远程帧组成如图2.6所示。帧间隔帧间隔帧起始仲裁场控制场CRC场应答场帧结束远程帧超载帧图2.6远程帧的组成3.错误帧错误帧由两个不同场组成,第一个由来自各局部的错误标识叠加而得到,后随的第二个场是错误界定符。如图2.7所示。错误帧错误帧帧间隔错误界定符错误标志错误标志叠加数据帧图2.7错误帧的组成错误帧是用于当检测出错误时向其他节点通知错误的帧。4.超载帧超载帧用于在先行的和后续的数据帧或远程帧之间提供附加延时,包括两个位场:超载标志叠加和超载界定符。超载帧组成如图2.8所示。超载帧超载帧超载界定符超载标志超载标志叠加帧结束或超载界定符帧间隔图2.8超载帧的组成2.4CAN总线数据仲裁和检错CAN报文只能在总线空闲状态期间启动发送过程,总线上的所有的控制器同步于帧起始的前沿,这个过程由硬同步来完成。假设有两个或更多的CAN节点同时开始发送,在总线访问冲突时通过仲裁场发送期间位仲裁处理方法来解决。每个报文包括一个唯一的标识符和在报文中含描述数据极性的RTR位。标识符和RTR位最先发送,标识符和RTR位对应二进制数值最低的报文具有最高的优先权。由于数据帧的RTR位极性为显性电平,因此数据帧比远程帧具有更高的优先权。当正在发送报文的CAN控制器检测到5个连续的相同极性的位被发送,一个互补位被插入到该发送位第六位中。当一个正在接收的CAN控制器检测到接收的上述五种位场的位流中,具有5个相同极性的连续位,它将自动地删除下一个接收位。删除的填充位电平必须与先前位相反,否那么一个填充错误被检测到并被标注。当控制器检测到CRC错误时,出错标志会在紧跟应答界定符的后一位开始发送,除非其他一些出错条件的错误标志已经开始发送。所有可检测的错误均可在报文发送时间内被标识,因而使CAN控制器很容易组成对应报文的出错帧,并且初始化被破坏报文并重新发送。如果CAN控制器监测到出错帧固定格式的有偏离,它将发送一个新的出错帧。CAN协议中定义了错误处理原那么,即最大限度的接近错误源,最大限度的反响,最大限度的响应。因此错误大局部被本地处理,而对总体总线操作影响很小。CAN控制器都包含一个发送错误计数器和一个接收错误计数器。当一帧数据正常发送或接收时,计数器减数;而出错时,计数器加计数。CAN控制器发出超过127个错误点后进入被动错误状态,而之前为主动错误状态;当发送出错超过255个后,CAN控制器进入总线关闭状态。2.5本章小结本章主要介绍了CAN总线的特点和CAN总线的一些协议标准,重点介绍了报文传送的几种帧类型,帧格式的标准,错误检测的方法和相应的错误处理方法。阐述了CAN是一种具有很多优点的串行通信总线,具有强大的通信能力,而且有着很强的错误处理能力。第3章CAN总线网络节点硬件电路设计3.1CAN网络设备节点总体设计方案根据题目要求,组建CAN网络,完成硬件电路设计并且能够使4-5个设备节点正常通信。在本设计中,充分考虑题目要求,决定搭建一个主机发射、三个从机接收共计4个网络设备节点,实现一发三收网络通信。首先完成各个设备节点硬件电路的设计,根据CAN总线规定的各个节点芯片体系结构、操作系统、通信协议必须一样,负载分配必须均衡的要求,本课题设计四个设备节点硬件电路完全一样。因此只需设计一个节点的硬件电路既可,然后在第一个设备节点的根底上得到其他三个节点。每个CAN网络设备节点分为以下几个模块:51系列单片机模块、CAN控制器模块、CAN收发器模块、发光二极管显示模块以及电源电路、晶振、按键等外围电路模块。CAN节点硬件主要元器件选型为:51系列单片机采用中国台湾宏晶公司的STC89C52单片机。烧写程序兼测试软件使用台湾宏晶公司开发的在系统可编程〔ISP〕软件STC-ISP,利用此软件进行单片机程序的下载及串口的通信,通过STC-ISP软件的串口显示模块可观测到接收节点收到的数据,与单片机配套使用。CAN控制器模块是采用飞利浦公司的最新的SJA1000芯片,比旧的版本功能更强大,支持更多协议。CAN收发器采用飞利浦公司配套的PCA82C250芯片,与SJA1000芯片进行配套使用。在外围电路中按键是用来检测CAN模块在自测时的收发状态是否正常;数码管用来检测CAN模块运行时的收发状态是否正常。各个节点模块通过总线进行连接。节点设计方案如图3.1所示。计算机单片机计算机单片机STC89C52CAN控制器SJA1000CAN收发器PCA82C250CAN总线外围电路图3.1CAN网络中的硬件节点设计方案3.2CAN节点主要芯片简介STC89C52单片机简介单片机,也叫微控制器,是一种集成电路芯片,它是采用超大规模技术把具有数据处理能力的微处理器〔CPU〕、随机存取数据存储器〔RAM〕、只读程序存储器〔ROM〕、输入/输出电路〔I/O口〕,定时/计数器、串行通信等电路集成到一块芯片上,构成一个体积最小功能完善的计算机。这些系统能在软件的控制下准确、迅速、高效地完成规定的任务。单片机的根本组成如图3.2所示。图3.2单片机的根本组成本课题采用51系列的单片机中的STC89C52,该芯片为高性能CMOS工艺的8位单片机,片内含有8Kbytes的可反复擦写的只读程序存储器〔EEPROM〕和256bytes的随机存取数据存储器〔RAM〕,器件采用高密度、非易失性存储技术生产,与标准MCS-51指令系统以及8051产品引脚兼容,片内置通用8位中央处理器〔CPU〕和Flash存储单元。功能强大的STC89C52单片机适合于多种复杂控制应用场合。常用的STC89C52内置32/36个双向输入/输出(I/O)口、片内3个16位定时/计数器和5个中断源,一个全双工串行通信口,片内时钟振荡电路。此外,STC89C52还可工作于低功耗模式。STC89C52主要有PDIP(40pin)和PQFP(44pin)两种封装形式。由于两种器件的管脚设置以及功能完全相同,只是封装形式不同而已〔多余的四个管脚可以悬空或接地〕,因此,为了更加方便的学习和使用单片机,通常将封装形式为PDIP(40pin)器件作为研究对象。PDIP(40pin)、PQFP(44pin)及PLCC(44pin)封装形式分别如图3.3的A、B、C所示。ABC图3.3STC89C52单片机常见的三种不同封装形式STC89C52单片机管脚简要介绍如下:●主电源引脚〔2根〕VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线●外接晶振引脚〔2根〕XTAL1(Pin18):片内振荡电路的输入端;XTAL2(Pin19):片内振荡电路的输出端●控制引脚〔4根〕RST(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位ALE/PROG(Pin30):地址锁存允许信号,当访问外存时,ALE的输出用于锁存地址的低位字节。数据总线和地址总线可以在ALE控制下被共享,也即复用。对于EPROM单片机,在EPROM编程期间,此引脚用于输入编程脉冲〔PROG〕PSEN(Pin29):外部程序存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平那么从内部程序存储器读指令。对于EPROM单片机,在EPROM编程期间,此引脚用于施加21V编程电源〔VPP〕●可编程输入/输出引脚〔32根〕STC89C52单片机有4组8位的可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位〔8根引脚〕,共32根P0口〔Pin39~Pin32〕:8位双向I/O口线,名称为P0.0~P0.7P1口〔Pin1~Pin8〕:8位准双向I/O口线,名称为P1.0~P1.7P2口〔Pin21~Pin28〕:8位准双向I/O口线,名称为P2.0~P2.7P3口〔Pin10~Pin17〕:8位准双向I/O口线,名称为P3.0~P3.7。值得强调的是,P3口常使用第二功能。第二功能如表3.1所示。表3.1P3口常用第二功能端口引脚第二功能P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕P3.2INT0〔外部中断0,低电平有效〕P3.3INT1〔外部中断1,低电平有效〕P3.4T0〔定时/计数器0外部输入〕P3.5T1〔定时/计数器1外部输入〕P3.6WR〔外部数据存储器写选通,低电平有效〕P3.7RD〔外部数据存储器读选通,低电平有效〕CAN控制器SJA1000简介CAN控制器SJA1000〔以下简称为“SJA1000”〕是Philips公司生产的应用于控制器局域网、高度集成的和独立的通信控制器,兼容CAN2.0A和CAN2.0B两种技术标准。SJA1000有两种不同的操作模式:BasicCAN模式和PeliCAN模式。BasicCAN模式又叫根本模式,是上电后默认的操作模式,只能支持CAN2.0A技术标准。而PeliCAN模式是新的操作模式,它能够支持具有很多新特性的CAN2.0B协议,具有很强的抗干扰能力和检错、纠错能力。PeliCAN模式扩展功能主要有--可读/写访问的错误计数器--每一个CAN总线错误都可以产生错误中断--只听模式(监听CAN总线,无应答,无错误标志)--支持热插拔--验收滤波器扩展(4字节代码存放器,4字节屏蔽存放器)--自身信息接收(自接收请求)--最高可达24MHz时钟频率;--可连接不同微处理器的接口;--可编程的CAN输出驱动器配置;--增强的环境温度范围(-40-+125℃)通常,CAN控制器SJA1000用于执行CAN标准里规定的CAN协议和用于报文缓冲及验收滤波。SJA1000内部可分为接口管理逻辑、发送缓冲区、接收FIFO、验收滤波器、位流处理器、位时序逻辑、错误管理逻辑、复位电路和振荡电路等几个局部。SJA1000内部结构图如3.4所示。图3.4SJA1000内部结构SJA1000有两种存放器的访问模式,即:复位模式和工作模式。不同模式下存放器的访问是不同的。工作模式又称为操作模式,通过时钟分频存放器的CAN模式位来选择。PeliCAN模式支持CAN2.0B协议规定的所有功能,SJA1000复位后,默认模式是BasicCAN模式。SJA1000引脚如图3.5所示。图3.5SJA1000引脚图SJA1000具有28个引脚,封装形式为双列直插式,下面对引脚进行的介绍:MODE:模式选择输入,1〔高电平〕=Intel模式;0〔低电平〕=Motorola模式;TX0、TX1:从CAN输出驱动器0,1输出到PCA82C250或物理总线上;RX0、RX1:从PCA82C250或物理CAN总线输入到SJA1000的输入比拟器;INT:中断输出,用于中断微控制器。INT在内部中断存放器各位都置位时,低电平有效;CLKOUT:SJA1000产生的提供应单片机的时钟输出信号,时钟信号来源于内部振荡器且通过编程驱动,其中时钟控制存放器的时钟关闭位可禁止该引脚;SJA1000的数据交换引脚分别为:AD0~AD7,数据/地址复用总线管脚,共计8个;ALE/AS:Intel模式/Motorola模式的地址锁存信号;RD/E、WR:读、写控制信号,低电平有效;CS:片选信号输入,低电平有效;XTAL1:输入到振荡器放大电路,外部振荡信号由此输入;XTAL2:振荡器放大电路的输出,片内振荡信号输出;VDD1、VDD2、VDD3:5V电源电压端VCC;VSS1、VSS2、VSS3:与上述电压端相对的接地端GND。在SJA1000内部有很多重要的存放器,欲了解CAN协议、设计CAN硬件电路、使CAN节点正常工作,必须要熟悉SJA1000的存放器。由于SJA10000中内部存放器很多,BasicCAN有从0到31共计32个存放器可用,PeliCAN有从0到127共128个存放器可用〔本设计使用PeliCAN模式〕,因此我们只需要了解最主要的存放器。单片机与SJA1000之间状态、控制和命令信息的交换主要在控制存放器中完成,主要控制存放器有以下几种:1.方式存放器MOD:在CAN中地址为0,MOD.3决定验收滤波方式,MOD.0决定是否复位。当MOD.0位为1时,SJA1000进入复位状态;为0时,进入工作状态。SJA1000的初始化必须在复位状态下进行。2.命令存放器CMR:它主要是接收来自微处理器的命令。3.状态存放器SR:SR提供了当前SJA1000的各种状态。4.中断存放器IR和中断允许存放器IER:中断存放器IR和中断允许存放器IER提供不同类型的中断和中断允许。5.时钟分频存放器CDR:CDR决定了SJA1000的CLOCKOUT引脚的输出和它的工作方式。当CDR.7为0时,SJA1000工作在BasicCAN模式下;为1时,工作在PeliCAN模式下。存放器的默认模式在Motorola模式下为12分频,在Intel模式下为2分频。6.验收代码存放器ACR和验收屏蔽码存放器AMR:验收代码存放器ACR和验收屏蔽码存放器AMR共同构成验收滤波器。在验收滤波器的作用下,只有当接受到报文的标识符和验收滤波器预定义的位值相等时,CAN控制器才允许将已接收到的报文存入接收FIFO〔RXFIFO〕。其实CAN的滤波器的作用可以近似看作是节点的地址,但又有别于地址的功能。两种不同过滤模式可由模式存放器中MOD.3选择,其中MOD.3是1时为单滤波模式,是0为双滤波模式。7.总线定时存放器BTR0和BTR1:总线定时存放器BTR0和BTR1决定了采样次数、波特率及机器周期等时间参数。8.输出控制存放器OCR:输出控制存放器OCR决定了不同输出模式,主要用于控制输出晶体管和输出模式。9.发送缓冲器和接收缓冲器:要在CAN总线上发送的数据首先被载入SJA1000的存储区,这个存储区称为发送缓冲器。从CAN总线上收到的数据要保存在SJA1000的存储区,而这个存储区称为接收缓冲器。这些缓冲器包括2、3或5字节的标识符和帧信息〔取决于模式和帧类型〕,发送时而最多可以包含8个字节,超过8个也按8个算或者通过设置在每个数据帧加上一定的控制信息,分屡次发送,每次发送6个字节〔也可能缺乏6个字节,根据实际情况而定〕。CAN收发器PCA82C250简介CAN收发器PCA82C250〔以下简称为“PCA82C250”〕是CAN控制器与物理总线间的接口,可以提供对总线的差动发送和接收能力,与IS011898标准完全兼容,并具有抗汽车环境下的瞬间干扰、保护总线的能力。它能提高系统的可靠性和抗干扰能力,提供对物理总线和SJA1000的差动发送和接收功能,另外,它具有的电流限制电路,还提供了对总线的进一步的保护功能。通过PCA82C250与物理总线进行连接,对于CAN控制器及带有CAN总线接口的器件,PCA82C250并不是必须使用的器件,因为多数CAN控制器均具有配置灵活的收发接口并允许总线故障,只是驱动能力一般只允许20~30个节点连接在一条总线上。而PCA82C250支持多达110个节点,并能以1Mbps的速率工作于恶劣电气环境。PCA82C250引脚图如图3.6所示。图3.6PCA82C250引脚图PCA82C250共计8个管脚,封装形式为双列直插式,下面对其管脚进行简要介绍:TXD:针脚号为1,发送数据输入端GND:针脚号为2,接地端VCC:针脚号为3,电源电压端RXD:针脚号为4,接收数据输出端Vref:针脚号为5,基准电压输出端CANL:针脚号为6,低电平CAN电压输入/输出端CANH:针脚号为7,高电平CAN电压输入/输出端RS:针脚号为8,斜率电阻输入端3.3CAN节点主要元件硬件电路设计在本设计中,在充分考虑了嵌入式系统所要求的微小型化、可靠性高、抗干扰能力强、扩展性好、低功耗等条件后,决定选用封装形式为PQFP(44pin)的STC89C52单片机。此封装形式的单片机有很多的版本,本设计本着简单、易用的原那么,采用90C版本。90C版本是最新推出的STC89C52单片机版本,本版本去掉了PSEN口〔单片机内部已经接低电平,外部程序存储器读选通〕、EA口〔单片机内部已经接低电平,只访问外部程序存储器〕,增加了P4口。P4口也可作为双向I/O口使用〔P4.0~P4.7,其中地址锁存允许管脚ALE为P4.5,复位管脚RST为P4.7〕。单片机电路连接设计1.单片机与SJA1000的电路连接设计〔1〕STC89C52的数据线和地址线是共用的,SJA1000的数据线和地址线也是共用的,直接连接,即单片机P0口〔P0.0~P0.7,双向8位I/O口〕依次连接CAN控制器SJA1000的AD0~AD7管脚,用于单片机和CAN控制器SJA1000的数据和地址之间的通信。〔2〕单片机ALE管脚P4.5连接SJA1000的ALE管脚。ALE〔地址锁存允许〕作用是实现地址和数据传输线路的复用。既然数据线和地址线共用,必须区分某一时刻,连接线上传输的是地址还是数据,所以就需要连接地址锁存信号ALE。〔3〕使用单片机的一个管脚作为SJA1000的片选信号,本着方便的原那么,本电路中选用的是单片机P2口〔P2.0~P2.7〕之中的P2.0口与SJA1000的片选管脚CS连接〔片选信号低电平有效〕,低电平允许访问SJA1000。〔4〕单片机读写信号直接和SJA1000连接。单片机P3.6管脚WR接CAN控制器SJA1000的数据存储器写选通管脚WR〔低电平有效〕,接收来自单片机的写信号;P3.7管脚RD接CAN控制器SJA1000的数据存储器读选通管脚RD〔低电平有效〕,接收来自单片机的读信号。〔5〕采用单片机的一个I/O口控制SJA1000的RST管脚,是为了实现单片机复位SJA1000芯片。即单片机P3.4〔该引脚使用第一功能〕接CAN控制器SJA1000的复位RST管脚〔低电平有效〕,用于单片机对CAN控制器SJA1000输入复位脉冲,对SJA1000复位模式控制。(6)单片机中断管脚P3.3〔INT1,低电平有效〕接CAN控制器SJA1000的INT中断管脚〔低电平有效〕,用于单片机接收CAN控制器SJA1000的中断脉冲输入〔中断信号低电平有效〕。当SJA1000成功收到一包数据后,就通知CPU,即向单片机发送一个中断脉冲。2.单片机外围电路的连接设计〔1〕单片机与数码管的连接。单片机P1口〔P1.0~P1.7,双向8位I/O口,用于传输数据和地址信号〕依次接数码管,即P1.0~P1.7依次连接数码管S1~S7、DP1,用于控制数码管的运行。具体设计见3.4节。〔2〕单片机与USB转串口板线路连接。单片机P3口〔P3.0~P3.7〕使用其第二功能,P3.0〔RX〕管脚接外部串口RX用于串行输入;P3.1〔TX〕管脚接外部串口TX用于串行输出。具体设计见3.4节。〔3〕单片机与晶振的连接。单片机XTAL1、XTAL2两个管脚依次接外部晶体振荡器的X1、X2管脚,构成内部振荡电路,用于对单片机提供工作所需要的稳定的振荡脉冲时钟信号,为了方便设计,本设计中晶振选择统一为12MHz。具体设计见3.4节。〔4〕单片机电源及接地的电路连接。单片机第16、第38针脚分别为接地GND和电源VCC管脚,本设计使用的单片机电源为5V电源,由计算机USB接口供电。具体设计见3.4节。单片机电路设计如图3.7所示。图3.7单片机电路设计SJA1000电路连接设计1.SJA1000与PCA82C250电路连接设计SJA1000与单片机线路连接前文已经论述,这里不再说明。SJA1000与PCA82C250的电路连接比拟简单,只需要连接两个管脚即可。SJA1000有两路发送和接收管脚,0和1路,本设计使用了第0路。在本设计中,SJA1000的RX0管脚和TX0管脚分别连接CAN收发器PCA82C250的RXD管脚和TXD管脚,用于SJA1000和CAN收发器PCA82C250之间的通信。SJA1000向CAN收发器PCA82C250发送数据帧,接收来自CAN收发器PCA82C250传回的数据帧。2.SJA1000的其它管脚电路设计〔1〕SJA1000支持两种模式单片机的连接,Intel模式和Motorola模式。SJA1000的模式选择输入MODE:1〔高电平〕=Intel模式;0〔低电平〕=Motorola模式。因为选用的是Intel公司的51系列的单片机,所以选择的是Intel模式。所以MODE管脚接高电平。〔2〕SJA1000能用片内振荡器或者片外时钟源工作;另外,CLOCKOUT引脚可以被使能,向单片机输出时钟频率。如果不需要时钟CLOCKOUT信号,那么可以通过置位时钟分频器〔CLOCKOUTOFF=1〕,关断!SJA1000的最高时钟可达24M,本设计中统一使用的是12M的晶振。SJA1000电路设计如图3.8图3.8SJA1000电路设计图PCA82C250电路连接设计1.本设计PCA82C250工作模式选择在本设计中,PCA82C250的RS管脚为斜率电阻输入。通过这个管脚来选择PCA82C250的工作模式:高速模式〔应用于对数据传输速率高的情况,通讯数据线最好是屏蔽的,RS端电压小于0.3VCC,一般接低电平〕;斜率模式〔速度较低,通讯线可以是普通的双绞线,RS端电压在0.4VCC到0.6VCC之间〕;低速模式〔RS端电压大于0.75VCC〕。本设计采用高速模式,RS端接低电平。2.PCA82C250抗干扰电路设计PCA82C250与总线的连接点也采取了一定的平安和抗干扰措施。PCA82C250的CANH引脚和CANL引脚各自串联1只27Ω的电阻器与总线相连,电阻器可起到一定的限流作用,保护PCA82C250免受过电流冲击。CANH和CANL与地之间并联了2只47pF的小电容器,与电阻构成阻容电路,可以提高总线的抗干扰能力,提高系统稳定性。同时在两条线之间连接两个二极管,目的在于防止这两条线路短路,即热保护电路;串联的120欧姆电阻作用是总线阻抗匹配和减少总线上的高频信号的回波反射。3.PCA82C250电源设计电源VCC和接地GND之间串联一个104电容〔0.1uF〕和一个10uF电容,用于增强电源滤波、稳定能力。本设计中PCA82C250电路设计如图3.9所示。图3.9PCA82C250电路设计3.4CAN节点其他模块硬件电路设计1.显示模块显示器用于实现单片机应用系统中的数据输出和状态的反响。本设计中,单片机系统使用的显示器有发光二极管、七段数码管。本设计中每个板块使用发光二极管一个,共阳极七段数码显示器一个构成动态显示器。所谓动态显示,就是将所有的数码管的段选线并联在一起,由一个I/O口控制,公共端不是直接接电源〔共阳极〕,而是通过相应的I/O口线控制,这个I/O口线称作位线。这里的位线驱动电路也可以连接运算放大器来完成。DP1、S1~S7分别连接单片机P1.7、P1.0~P1.6,用于单片机对数码管进行控制。一般根据数码管的排列规那么可以对0-9这10个数字进行编码,然后把这些固定的编码放在一个查找表中,单片机可以根据所要显示的数字到查找表中找出相应的编码后显示。发光二极管在使用时一定要串联上一个分压电阻,约为1.5K以降低发光二极管电流,到达保护二极管的作用。发光二极管发光颜色选为普通的红色,使用贴片元件,可以减少元件体积从而减小板子的体积,降低本钱。由于选用的发光二极管功率较小,要注意降低其压降和电路的保护,二极管电流约为2mA。发光二极管接单片机P1.4管脚,由单片机对其驱动、控制。显示模块如图3.10所示。图3.10LED显示模块和数码管显示模块2.复位及按键模块按键是非常常见的人机交互手段,按键的构造可能千差万别,但是实质上都可以看作是两个端点的器件,要么翻开,要么闭合。在选择按键类型时,要注意按键是否带锁定。本设计采用不带锁定按键,松手之后会回到初始状态,它相当于提供了一个开关量。在按键操作时,需要注意一点就是消抖。所谓消抖就是人在按键的时候,由于机械触点有一定的弹性,按键闭合或是断开时,信号不会马上稳定的接通或是立刻断开,而是在闭合及断开的瞬间均出现一连串的抖动。本设计中按键电路用于硬件电路自测时使用KEY1按键连接单片机P3.2管脚,用于输入在自测时的中断脉冲信号。按键电路如图3.11所示。图3.11按键电路复位电路的功能可以理解为一个开始信号,这个信号告诉单片机要开始运行了。单片机在接收到复位信号时,会无条件的重新初始化系统,从内置代码的第一行开始运行。本设计中51单片机是高电平上电复位,即直接接通电源后,电容充电电路最大,电容相当于短路,当RST出现2个周期以上高电平时,单片机自动开始复位。当电容电压到达电源电压时,电容充电电流为0,相当于开路,复位为低,单片机开始工作。复位脉冲RST连接单片机P4.7复位管脚〔RST〕。复位电路如图3.12所示。图3.12复位电路图3.晶振模块在本设计中,本着设计简单化、统一化原那么,晶振统一使用12MHz的晶体振荡器,两边并联两个30pF电容,构成振荡回路,让脉冲平稳,容易起振,使回路处于谐振状态。假设没有电容,振荡局部会因为没有回路而停振。接地端构成保护电路。即晶振X1、X2管脚分别连接单片机XTAL1、XTAL2管脚,用于对单片机提供工作所需要的稳定的振荡脉冲时钟信号,构成片内振荡电路。晶振电路如图3.13所示。图3.13晶振电路4.电源供电电路及串口通信接口电路控制系统的电源设计十分重要。总体来说任何系统都是直流电源供电,获取直流电源的方法一般有两种:一是使用直流电源装置,比方实验室经常看到的直流电压源、蓄电池以及如常生活中的干电池、纽扣电池等;二是从家用电进行转换。在本设计中考虑到系统的微型化,电源采用USB供电,因为任何一台计算机都有USB口,USB本身就是一个很好的5V电源,它可以提供500mA的连续电流。本设计使用USB-TTL小板集成模块,具有电源取电和数据传输两个功能。系统板一端接计算机USB口,一端接单片机,为单片机供电兼计算机与单片机的数据通信。四个连接点分别是数据发TX、数据收RX、电源VCC、接地GND。电源端并联几个10uF和104〔0.1uF〕滤波电容,用于滤除电源可能的存在的高次谐波,提供稳定直流电。TX、RX分别连接单片机P3.1〔TX〕、P3.0〔RX〕管脚,用于单片机串口的通信。USB-TTL小板与单片机的接口兼电源供电模块如图3.14所示。图3.14USB-TTL小板与单片机的接口兼电源供电模块3.5CAN节点内部数据收发原理对于单片机来说,SJA1000表现为内存映射的I/O设备。单片机可以像操作外部数据存储器一样操作SJA1000片内的存放器,因此SJA1000当成单片机的一个外部的RAM来进行扩展。简单表述就是当单片机STC89C52把要发送的数据传送到CAN控制器SJA1000后,SJA1000要把数据通过CAN收发器PCA82C250发送到CAN总线上。当CAN控制器SJA1000从PCA82C250接收到数据之后,那么要求单片机从CAN控制器SJA1000中取走数据。用户需要将要发送的数据按照CAN控制器SJA1000规定的格式组装成一帧报文,单片机STC89C52必须首先将要发送的报文传送到SJA1000的发送缓冲器,然后SJA1000的命令存放器中接收单片机发送命令,SJA1000命令存放器“发送请求”标志置位,数据开始发送。在工作模式下,单片机可以读或者写发送缓冲器,发送时从数据帧的最高位开始发送。然后PCA82C250将从SJA1000中收到的数据帧通过CANH和CANL两个接点发送到总线上,完成数据发送过程。CAN节点接收数据较之数据的发送要复杂一些,因为在处理接收报文的过程中,要对报文进行滤波,还要对如总线脱离、错误报警、数据溢出等情况作出处理。在接收滤波器的帮助下,只有当接收报文中的标识符和接收滤波器预定义的值相等时,SJA1000才允许将已接收的报文存入RXFIFO。接收FIFO〔RXFIFO〕共有64个报文字节的空间,一次可以存储多少条报文取决于数据的长度。如果RXFIFO中没有足够的空间来存储新的报文,SJA1000会产生数据溢出。发生数据溢出情况时,已经局部写入RXFIFO的报文将被删除。这种情况可以通过状态存放器的数据超限中断〔中断允许时〕反映到单片机中。3.6CAN总线原理图及PCB板图设计首先设计原理图。原理图是硬件电路设计的根底,也是最重要的环节,只有原理图设计符合标准,编译正常,才能进行PCB板图的设计。在原理图设计完成且检查无误后,可以进行PCB板图的设计。PCB设计是硬件电路设计中的重要环节,可以说PCB设计的好坏直接决定着系统的性能。一些比拟复杂的原理图可以采用Protel99se软件自动生成PCB图,用这种方法实现PCB图的设计。由于本设计的原理图比拟复杂,元器件和连接线路比拟多,所以采用自动生成方法来绘制PCB电路图。自动生成后,对于不太适宜的地方要进行手动调试,到达正确、美观的效果。3.6.1原理图及PCB设计应遵循的原那么1.布局要合理本设计的原理图的布局是从上到下,从左到右,先主要芯片后次要芯片和外围电路依次布局。在本设计中,先画单片机STC89C52的电路图和CAN控制器SJA1000的电路图,其次画外围的电阻、电容等器件。从上到下先从电源入手,先画电源电路图,再画输出到总线的CAN收发器PCA82C250的输出电路。主要芯片靠左边画,复位、按键、数码管、发光二极管电路可以放在右边,最后进行连线工作。对于PCB,首先,本设计要考虑PCB尺寸的大小。PCB尺寸过大时,布线过长会导致阻抗增加,抗噪声能力下降,本钱也增加;如果过小,那么散热不好,且邻近线条易受电磁干扰。在本设计中,充分考虑以上因素,单片机系统由于元器件较多,设置为长方形,根据元器件的尺寸大小和排针的宽度,设置长约40mm左右,宽约30mm的长方形。CAN总线系统元器件较少,根据原器件尺寸大小和排针宽度,设置为正方形,边长约30mm左右。在大致确定PCB尺寸后.再确定重要元件的位置。最后,依据电路的各个功能单元,对电路的全部元器件首先进行自动布局,然后进行手动调试,直到各元器件位置适宜、摆放〔1〕本设计将数字、模拟电路分开布线。电路板上既有模拟局部电路,例如滤波电路和电源电路等;又有数字局部电路,例如单片机和CAN控制器通信连接线路等。应使它们尽量分开,两者的地线不要相混乱,要分别与电源端地线相连。要尽量加大线性电路的接地面积。〔2〕本设计将高频、低频信号分开布线,例如晶振电路为高频电路,发光二极管电路等为低频电路。高频数字信号在上下电平转换瞬间会带来很大的噪声,所以高频、低频分开走,以减少相互串扰。〔3〕本设计将强电信号与弱电信号分开走线,以减少强电信号的空间辐射。例如电源的输入为强电信号,单片机对数码管的输出信号为弱电信号。〔4〕本设计将电源线尽量加粗,电源线和地线走向与数据传递方向一致,这将有助于增强抗噪声的能力。〔5〕本设计对于按键、电容器、开关等可调元件的布局考虑整个板子的结构要求,放在PCB板上便于调节的地方。2.布线要合理〔1〕本设计将相互关联的器件就近放在一起布线,这样可以减少噪声影响。例如本设计中的数码管、发光二极管应放在一起布线。〔2〕本设计将输入输出两端用的导线尽量防止相邻,增加线间地线,以免产生干扰。例如本设计中PCA82C250的电源和接地端添加线间接地电容。〔3〕铜导线的宽度主要由导线与绝缘板间的粘附强度和流过它们的电流来决定。对于集成电路,通常选0.2~0.3mm导线宽度。对于电源线和地线,要尽可能用宽线。导线的最小间距主要由线间绝缘电阻和击穿电压决定。对于集成电路,如果工艺允许,可使元件间距小至0.5~0.8mm。本设计中充分布置了接地线〔4〕印制导线在拐弯处一般取圆弧形为135°转角的布线,而直角或夹角在高频电路中会对电气性能有不良的影响。本设计转角布线约为135°。3.焊盘设置要合理本设计中焊盘的中心孔要比器件引线直径稍大一些,但焊盘太大容易造成虚焊。焊盘外径D一般不小于(d+0.4)mm,其中d为引线孔径。对高密度的集成电路,焊盘最小直径可取(d+0.3)mm。本设计中d为0.5mm,D设置为1.04.去耦电容配置要合理在本设计中PCB电路板设计时常常在印制板的各个关键部位配置适当的去耦电容,滤除高次谐波,提高系统抗干扰能力。去耦电容的一般配置原那么是:〔1〕本设计电源输入端跨接0.1~10uf的电容器,作用是滤除电源高次谐波。〔2〕原那么上每个集成电路芯片都应布置一个0.1uF的陶瓷电容,如遇印制板空隙小,可以每4~8个芯片安置一个0.1~10uF的钽电容。〔3〕本设计电容引线尽量不能过长,尤其是高频旁路电容不能有引线。3.6.2原理图及PCB板图设计的一般步骤1.设置Ptotel99se软件中原理图和PCB板图的工作环境。翻开应用软件,进入Design\Rules,按照要求对各项进行设置,要注意平安间隔的设置、分层布线的设置、高频和低频信号线的设置、过孔的设置、不同线之间的宽度设置、地线的设置、敷铜的设置、固定孔的设置等。2.利用软件开始设计,本设计的主要过程如下:〔1〕添加元件库,Protel99se中包含的元件库根本足够使用,但需要添加STC89C52、SJA1000、PCA82C250主要芯片的元件库,即添加〔2〕放置所需要的例如单片机、CAN控制器芯片、电阻、电容、二极管、晶振等各种元件〔3〕将元件用各种信号线连接起来,绘制成原理图〔4〕检查原理图各元件与导线的互联情况,直到无误〔5〕导入网络表〔6〕设置PCB板尺寸及位孔大小的位置。本设计中d为0.5mm,D设置为1.0mm,单片机系统的PCB板长约40mm,宽约30mm,CAN系统板长宽都设置为30mm,它们之间用宽约〔7〕PCB自动布线〔8〕对自动布线中不适宜的地方手动调试,直到布线合理、美观。本设计中主要芯片在自动布线后位置不合理,例如CAN芯片位置靠下,不适宜,要手动调试。〔9〕汉字的放置、地线大面积敷铜〔10〕再一次检测确保PCB板图设计无误3.6.3本课题中原理图及PCB板图设计中应注意的问题在本课题中,考虑到嵌入式系统的微型化和可靠性的要求,在设计中会遇到这样那样的问题。1.在原理图设计时,元件的布局不够合理。在设计中由于元件位置放置不当可能导致走线复杂,可能出现交叉等情况。本设计某些元器件存在极性,如二极管、三极管等,注意一定不能位置放错。2.本设计在实际工程中考虑到尺寸和本钱问题,设计时尽量选择集成度高的微型元件,例如本设计中单片机选择封装形式为PQFP(44pin)的,那么可以大大减小元件尺寸,降低开发本钱。3.本设计中元件和芯片之间的连接线路很多,因此在本设计中PCB设计采用双层板面结构,上面尽可能走连接线,下层为接地线和电源线接点,保证了足够面积的接地。PCB的敷铜连在地线上,增大了地线面积,有利于地线阻抗降低,使电源和信号传输都能稳定,在高频的信号线周围敷铜,可以大大减少电磁辐射的干扰。地线敷铜增强了PCB的电磁兼容性,有利于提高抗干扰能力和板子设计的可靠性。4.在本设计中,如果PCB图中元件周围较宽,那么尽量用宽线,这样可以提高线路的稳定型。在设置焊点时,如果条件允许,那么尽可能内应将焊点设计的大一些,这样焊接导线时不会造成短路或者焊点不稳定。3.7本章小结本章在给出了CAN总线协议的根底上,详细论述了CAN网络硬件电路节点各个模块的设计方法。详细介绍了单片机STC89C52、CAN控制器SJA1000、CAN收发器PCA82C250和其他外围电路的特点和以及电路设计。之后又详细介绍了CAN节点内部数据收发原理和硬件电路的原理图和PCB板图的设计方法、设计过程及考前须知等工作,为下面进行节点的通信和互联技术打下了根底。第4章CAN总线网络互联设计4.1CAN网络各节点之间通信互联设计上一章节我们首先介绍了CAN节点的硬件电路的单片机、CAN控制器SJA1000、CAN收发器PCA82C250等主要元件,然后认真进行了单片机、SJA1000、PCA82C250以及其它外围电路的设计,完成节点电路通信设计,最后详细介绍了CAN节点原理图和PCB电路板图的设计方法、设计过程及其考前须知。在上一章的根底上,本章进行CAN总线网络的互联设计。本设计采用总线型网络拓扑结构。总线型结构采用单根的通信线路〔总线〕作为公共的传输通道,所有的节点都通过相应的接口直接连接到总线上,并通过总线进行数据传输。例如,在一根电缆上连接了组成网络的计算机或其他共享设备〔如打印机等〕。由于单根电缆仅支持一种信道,因此连接在电缆上的计算机和其他共享设备共享电缆的所有容量。连接在总线上的设备越多,网络发送和接收数据就越慢。总线型网络主要使用播送式传输技术,总线上的所有节点都可以发送数据到总线上,数据沿着总线传播。但是,由于所有节点共享同一条公共通道,所以在任何时候只允许一个节点发送数据。当一个节点发送数据,并在总线上传播时,数据可以被总线上的其他所有节点接收。各节点在接收数据后,分析目的物理地址再决定是否接收该数据。CAN总线和以太网是这种结构的典型代表。CAN总线型结构具有如下特点:1.结构简单、灵活,易于扩展;共享能力强,便于播送式传输。2.网络响应速度快,但负荷重时性能迅速下降;局部节点故障不影响整体,可靠性较高。但是,总线出现故障,那么影响整个网络。3.易于安装,维护费用低,易于升级。在本设计中,总线设计成一发送三接收的共计四个连接点线路,在焊接之后总线长度大约20cm,比拟短,因此不适合使用同轴电缆,更不适合使用光纤,只使用普通的三芯排线就可以了〔三个芯分别接CANH、GND、CANL〕。PCA82C250收发器按照生产厂家设置的电器属性可以支持110个节点,即一条总线上最多挂接110个节点。这是因为节点过多会导致负载过高使PCA82C250无法带动负载,造成通信质量急剧下降而无法进行正常通信。本设计中只有四个节点,即总线上只挂接了四个节点,完全满足不多于110个节点的要求,理论上总线可以正常进行工作。根据本课题需要完成CAN网络硬件电路设计,完成网络的通讯的要求,本设计共用四个CAN同样的网络模块,一个主机,三个从机,组建总线型网络,实现一发三收网络通信。CAN网络各节点之间组网设计如图4.1所示。3号从机节点2号从机节点3号从机节点2号从机节点1号从机节点主机节点CAN控制器CAN控制器SJA1000CAN收发器PCA82C250单片机STC89C52单片机STC89C52单片机STC89C52单片机STC89C52CAN控制器SJA1000CAN控制器SJA1000CAN控制器SJA1000CAN收发器PCA82C250CAN收发器PCA82C250CAN收发器PCA82C250CAN总线图4.1CAN网络各节点之间组网设计图本设计网络互连时需要注意的有:1.单片机STC89C52负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。PCA82C250可以增大通信距离,提高系统的瞬间抗干扰能力以及保护总线等。2.PCA82C250与总线连接的两个引脚之间要串联上120欧姆的电阻,它们对于匹配总线阻抗、减少高频信号回波反射起着重要作用,如果忽略掉它们,会导致数据通信的抗干扰性和可靠性降低,甚至无法通信。3.考虑到本系统的抗干扰能力,每个节点都在总线连接点上增加了接地引脚,以提高总线稳定性和抗干扰能力。4.2.CAN总线网络通信原理CAN通信模式主要有主从模式和对等模式,主从通信模式分为点对点和播送两种方式。本设计采用主从通信模式的播送方式。主从模式的播送方式是主节点发送数据给所有的从节点,即主机节点发送数据给1号、2号、3号从机节点。播送方式下主机节点的请求是没有应答的,1号、2号、3号从机节点必须接受播送方式的报文帧。但每个从节点必须有一个唯一的地址,即1号、2号、3号从节点都有唯一标识自己的地址〔主节点也有标识自己的地址〕从而能与其他的节点区分开。在这种通信方式下,在未接收到与自己具有相同标识符的报文时,即标识符中的地址信息与自己地址信息不相同时,从节点不会接收数据。CAN网络通信目的在于交换数据,所谓数据交换,一般指网络系统中的输入/输出数据在交换过程应以最有效的方式完成。在本次设计中,通过两种方式交换数据:一是生产/消费方式:顾名思义,信息的发送者〔主节点〕像生产商一样是产品〔信息〕的提供者,信息接收者〔1号、2号、3号从机节点〕如同产品的消费者一样,主机节点发送各种不同的信息可以为1号、2号、3号从机节点所接收,1号、2号、3号从机接收模块节点接收哪个〔些〕信息由其自主选择。这种方式是CAN系统的默认方式,可在无任何软硬件代价的情况下得到支持。这也是本设计中主要的数据交换方式,四个节点通

温馨提示

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

评论

0/150

提交评论