




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Can总线通信研究与硬件设计摘要CAN总线是控制器局域网总线(ControllerAreaNetwork)的简称。属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。CAN总线是一种多主方式的串行通讯总线,是国际上应用最广泛的现场总线之一,现已被应用到各个自动化控制系统中,从高速的网络到低价位的多路接线都可以使用CAN总线。CAN总线是一种全双工通信的串行通信网络,属于现场总线的一种,它的数据通信功能强大,能够有效的支持分布式控制或实时控制系统。相比与其它现场总线,CAN总线具有通信快、效率高、易实现、可靠性高等优势,现在已经在很多领域中都得到了应用。本文重点就基于单片机的CAN总线通信设计的实现进行介绍,通过CAN控制器以及CAN收发器把串口发送来的数据转换成CAN通信的数据,然后又把数据转换成串口通信数据回发给计算机,实现数据的自发自收。关键词CAN总线;通信;现场总线iCANbuscommunicationresearchandhardwaredesignAbstractCANbusistheControllerLANbus(ControllerAreaNetwork).Belongstothecategoryofthefieldbus,andisaneffectivesupportdistributedcontrolorreal-timecontrolofserialcommunicationnetwork.CANbusisamainwayofserialcommunicationbus,isoneofthemostwidelyusedfieldbusintheworld,hasnowbeenappliedtovariousautomationcontrolsystem,fromthenetworktothelowpriceofmultiplexwiringCANbusCANbeused.CANbusisafull-duplexcommunicationserialcommunicationnetwork,belongstoakindoffieldbus,ithaspowerfuldatacommunicationfunction,CANeffectivelysupportdistributedcontrolorreal-timecontrolsystem.Comparedwithotherfieldbus,CANbuscommunicationisfast,highefficiency,easyrealizeandhighreliabilityadvantages,nowhasbeenappliedinmanyfields.Thispaperisbasedonsinglechipmicrocomputer,introducestheimplementationoftheCANbuscommunicationdesignthroughtheCANcontrollerandCANtransceivertoaserialporttosenddataintotheCANcommunicationdata,andthensenddataintotheserialcommunicationsdatabacktothecomputer,realizingdataofspontaneous.KeywordsCANbus;Communication;Thefieldbusi目录摘要.iAbstract.ii第一章绪论.1一、课题背景.1二、选题目的.1三、选题意义.1第二章单片机简介.1一、单片机最小系统.1(一)晶体振荡器电路.3(二)复位电路.4(三)Max232接口电路.5第三章CAN总线介绍.8一、CAN总线基本概念.8二、CAN总线的发展概况.9三、CAN总线协议.11第四章硬件设计原理及方案.14一、硬件设计原理.14(一)、微控制器STC89C52RC简介.14(二)、单片机最小系统.15(三)、CEPARKMCP2515.16第五章硬件设计方案.20一、硬件总体设计.20二、用Pico示波器进行can总线解码分析.20(一)can总线上传输的电平特点.21(二)解码设置.21(三)从picoscop6中设置解码数据.21第六章结果分析.23一、STC单片机ISP控制软件进行实际操作演示.23二、单片机与can总线的连接。.24三、点对点通信的实现.25四、实现通讯结果的测试.26结论.28致谢.29参考文献.30外文原文.31中文翻译.371第一章绪论一、课题背景随着控制技术、计算机技术和通信技术的飞速发展,数字化仪器仪表的成熟和广泛应用,数字化作为一种趋势正在从工业生产过程的决策层、管理层、监控层和控制层一直渗透到现场设备。为了把具有信息处理和控制功能的各种现场设备连接成网络系统,现场总线技术出现了。现场总线技术将专用微处理器置入传统的测量控制仪表,使其具有数字计算和数字通信能力,成为能独立承担某些检测、控制和通信任务的网络节点。通过普通双绞线把多个测量控制仪表、计算机等作为节点连接成网络系统;使用公开、规范的通信协议,在位于生产控制现场的多个微机化测控设备之间、以及现场仪表与用作监控、管理的远程计算机之间,实现数据传输与信息共享,形成各种适应实际需要的自动控制系统。开放的、可互操作的现场总线控制系统把通信总线一直延伸到现场设备,使许多现场设备可在同一总线上进行双向多信息数字通信,实现了信号传输全数字化和计算机测控网络化。二、选题目的CAN是ControllerAreaNetwork的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于CAN的高性能和它的可靠性,CAN已经在越来越多的领域中使用和发展,利用CAN总线进行数据通信非常便捷快速稳定,本文就针对CAN总线通信进行研究和探讨。三、选题意义从技术进步的角度看,无论从控制的功能完善性,安全性,节省电缆上,还是信息量的获得上,现场总线技术有着无可比拟的优越性,具有良好的发展前景。随着集成电路和单片机在汽车上的广泛应用,汽车上电子控制单元越来越多,汽车总线已经成为汽车电气的一个必然的趋势。使用汽车总线不但可以简化线束,更主要的是可以增加各种智能化的功能。如故障检测和语音报警等。CAN总线是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps,距离可达10km。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。由于CAN总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。因此,CAN协议对于许多领域的分布式测控很有吸引力。1第二章单片机简介一、单片机最小系统单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路等。单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,为使更多的业内人士、学生、爱好者,产品开发人员掌握单片机这门技术,于是产生单片机开发板,比较有名的例如电子人DZR-01A单片机开发板。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒2洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影,它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板。但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸。对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。3图2-1单片机实物图(一)晶体振荡器电路51单片机上的时钟管脚为XTAL1(19脚)芯片内部振荡电路输入端XTAL2(18脚)芯片内部振荡电路输出端。XTAL1和XTAL2是独立的输入和输出反相放大器,在XTAL1、XTAL2的引脚上外接定时元件:一个石英晶体和两个电容,4内部振荡器便能产生自激振荡。在设计中采用12M的石英晶振,和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用本次设计采用33pF的陶瓷电容。晶体振荡器石英晶体振荡器是一种高精度和高稳定度的振荡器,被广泛应用于彩电、计算机、遥控器等各类振荡电路中,以及通信系统中用于频率发生器、为数据处理设备产生时钟信号和为特定系统提供基准信号。石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。国际电工委员会(IEC)将石英晶体振荡器分为4类:普通晶体振荡(SPXO),电压控制式晶体振荡器(VCXO),温度补偿式晶体振荡(TCXO),恒温控制式晶体振荡(OCXO)。目前发展中的还有数字补偿式晶体损振荡(DCXO)微机补偿晶体振荡器(MCXO)等等。图2-2单片机实物图(二)复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。MCS-5l系列单片机的复位引脚RST(第9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。本设计采用上电自动复位,上电瞬间,电容两端电压不能突变,此时电容的负极和RESET相连,电压全部加在了电阻上,RESET的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。一般来说,只要RST管脚上保持10ms以上的高电平,就能使单片机有效的复位。单片机毫无疑问是直流电源供电的,也就是它的工作环境是在直流电源下,它的5所有的控制信号端就不会是交流的!由于单片机在加电时它的程序记数器,输入输出端,寄存器等等状态不确定。所以必要在上电时给它一个清零信号。清零信号是直流也不是交流。那么为什么要用电容呢?这是因为清零信号瞬间就可以完成对单片机的清零工作,清零后又要马上将清零信号撤掉。所以用电容的上电时相当于短路,静态时相当于开路的特点通过和电阻的配合完成对单片机的清零。电源一接通,电源通过RC串联电路给电容充电,这一充电电流在R上产生电压降,这一电压就产生了清零电压。当电容上的电压充到接进电源电压以后,由于电容上的电压是与电源电压大小相等方向相反的,充电停止,此种状态就是隔直状态。这也刚好清零工作已经完成并且清零的信号也就消失了。电容的交流通过的工作过程是电容始终是处在充电放电的交替之中,如图2-3所示:图2-3复位电路电路图(三)Max232接口电路单片机和PC机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和RS232的标准不一样,因此要通过max232这种类似的芯片进行电平转换,6如图2-4所示:图2-4max232电路转换图各个引脚的功能如表2-1:表2-1各个引脚功能引脚定义符号1载波检测DCD2接收数据RXD3发送数据TXD4数据终端准备好DTR5信号地SG6数据准备好DSR7请求发送RTS8清除发送CTS7表2-1(续)引脚定义符号9振铃提示RI8第三章CAN总线介绍CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。一、CAN总线基本概念控制器局部网(CANCONTROLLERAREANETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。控制器局部网将在我国迅速普及推广。随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将5C技术-COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION(通信技术)、CRT(显示技术)和CHANGE(转换技术)紧密结合的产物。它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。典型的分散式控制系统由现场设备、接口与计算设备以及通信设备组成。现场总线(FIELDBUS)能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。现场总线的研究与应用已成为工业数据总线领域的热点。尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格比将吸引众多工业控制系统采用。同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。控制器局部网CAN(CONTROLLERAERANETWORK)正是在这种背景下应运而生的。当CAN总线上的节点发送数据时,以报文形式广播给网络中的所有节点,总线上的所有节点都不使用节点地址等系统配置信息,只根据每组报文开头的11位标识符(CAN2.0A规范)解释数据的含义来决定是否接收。这种数据收发方式称为面向内容的编址方案。当某个节点要向其他节点发送数据时,这个节点的处理器将要发送的数据和自己的标识符传送给该节点的CAN总线接口控制器,并处于准备状态;当收到总线分配时,转为发送报文状态。数据根据协议组织成一定的报文格式后发出,此时网络上的其他节点处于接收状态。处于接收状态的每个节点对接收到的报文进行检测,判断这些报文是否是发给自己的以确定是否接收。由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线上加进一些新节点而无须在硬件或软件上进行修改。当提供的新节点是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。此时允许分布过程同步化,也就是说,当总线上的控制器需要测量数据时,数据可由总线上直接获得,而无需每个控制器都有自己独立的传感器。CAN总线的有以下三方面特点:可以9多主方式工作,网络上的任意节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。网络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求。采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。与前面介绍的简单总线逻辑不同,CAN是一种复杂逻辑的总线结构。从层次上可以将CAN总线划分为三个不同层次。首先是物理层,在物理层中定义实际信号的传输方法,包括位的编码和解码、位的定时和同步等内容,作用是定义不同节点之间根据电气属性如何进行位的实际传输。在不同系统中,CAN总线的位速率不同;在系统中,CAN总线的位速率是唯一的,并且是固定的,这需要对总线中的每个节点配置统一的参数。其次是传输层,传输层是CAN总线协议的核心。传输层负责把接收到的报文提供给对象层,以及接收来自对象层的报文。传输层负责位的定时及同步、报文分帧、仲裁、应答、错误检测和标定、故障界定。最后是对象层,在对象层中可以为远程数据请求以及数据传输提供服务,确定由实际要使用的传输层接收哪一个报文,并且为恢复管理和过载通知提供手段。本次设计使用的CAN控制器为MCP2515,它一般有三个发送缓冲器,在报文发送之前,单片机会对CAN的发送中断位进行初始化,随后在将数据写入发送缓冲器之前,必须将发送缓冲器中的发送请求标志位清0,以使发送缓冲器中没有之前待发送的数据。另外在发送数据前,会对各个发送缓冲器的发送优先级进行比较,优先级较高的先发送,如果优先级相同,则编号较高的发送缓冲器优先发送,比如发送缓冲器1和发送缓冲器0优先级相同,但是编号1比0高,所以发送缓冲器1率先发送数据。发送数据时,通过将发送缓冲器的发送请求标志位置1启动数据发送,数据发送完成后,再将发送请求位置0,表明发送完毕,将中断标志位置1表明产生中断。另外,如果在你发送过程中想要终止发送,可以将发送缓冲器的发送请求位清零,表明终止发送,发送数据完毕。同样的,在本次设计使用的CAN控制器MCP2515中,它一共有三个数据接收缓冲器,其中有一个较为特殊,只要通电,它总是能一直工作,接收每组数据,然后它会对接收到的数据进行分析,并将满足条件的数据发送到另外两个接收缓冲器中。另外两个接收缓冲器可以接收通过分析验证的数据,当其中一个接收缓冲器在处于准备接收状态时,单片机可以访问另外一个缓冲器以进行相应的操作。当接收数据时,接收缓冲器中的接收中断标志位会置1,在数据接收完毕后,该位清0进而接收下一组数据,这就保证了在一组数据没有被接收完毕时,保证后面的数据不会进入接收缓冲器中,保证了数据传输的准确性。而且,在接收缓冲器中也有优先级之分,接收缓冲器0的优先级较高,接收缓冲器1的优先级较低。另外,在接收数据过程中,如果想要中断,将接收中断请求标志位置1则进入中断状态,将接收中断标志位清0表示结束中断状态。另外,CAN总线通信协议具备完善的错误检测处理模块,可以检测到数据发送和接收过程中的任何错误。二、CAN总线的发展概况由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年9月PHILIPSSEMICONDUCTORS制订并发布了CAN技术规范(VERSION2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,能提供11位地址;而2.0B给出了标准的和扩展的两种10报文格式,提供29位地址。此后,1993年11月ISO正式颁布了道路交通运载工具-数字信息交换-高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。随着汽车电子技术的不断发展,汽车上各种电子控制单元的数目不断增加,连接导线显著增加,因而提高控制单元间通讯可靠性和降低导线成本已成为迫切需要解决的问题。为此以研发和生产汽车电子产品著称的德国BOSCH公司开发了CAN总线协议,并使其成为国际标准(ISO11898)。1989年,Intel公司率先开发出CAN总线协议控制器芯片,到目前为止,世界上已经拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微处理器芯片。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。我国的汽车CAN总线技术起步较晚,但随着现代汽车电子的不断进步发展,其研究和应用正如火如荼的进行中。CAN总线是一种串行多主站控制器局域网总线,是一种有效支持分布式控制或实时控制的串性通讯网络。CAN总线的通信介质可以是双绞线,同轴电缆或光导纤维,通信速率可达1Mbps/40m,通信距离可达10km/40Kbps。由于其通信速率高,可靠性好以及价格低廉等特点,使其特别适合中小规模的工业过程监控设备的互连和交通运载工具电气系统中。CAN总线的发展前途非常的好。目前工业上主要是普及了485的通信系统,很难转换。CAN总线在复杂的系统的编程和应用上,安全性,速度,实时性,可靠性,易用性,都有明显优势。只是需要一个接受的过程。至少目前从各大主流的控制芯片上看,不管是NXP,TI,意法,都集成了一个或多个CAN总线控制器。所以发展前途很好。图2-1为此次设计can总线部分实物图。11图3-1can总线部分实物图三、CAN总线协议CAN协议涵盖了国际标准化组织规定的OSI(开放式系统互联)基本参照模型中的传输层、物理层以及数据链路层。表3-1can协议参照模型与各层定义OSI基本参照模型各层定义的主要项目7层:应用层由实际应用程序提供可利用的服务。6层:表示层进行数据表现形式的转换。如:文字设定、数据压缩等5层:会话层建立会话式的通信,控制数据正确地接收和发送4层:传输层控制数据传输的顺序、传输错误的检测等,保证通信的质量。如:错误修正、再传输控制。3层:网络层进行数据传送的路由选择或中继。如:单元间的数据交换、地址管理。2层:数据链路层将物理层收到的信号组成有意义的数据,提供传输错误控制灯数据传输流程。如:访问的方法、数据的形式。通信方式、连接控制方式、检错方式。1层:物理层规定了通信时使用的电缆、连接器等电气信号规格,以实现设备间的信号传送。如:信号电平、收发器、电缆、连接器等的形态。12如表3-2为OSI基本参照模型中的传输层、数据链路层以及物理层的CAN协议定义。表3-2OSI基本参照模型层定义事项功能传输层再发送控制永久再尝试接收消息的选择可点对点连接、广播、组播。过载通知通知接收准备尚未完成数据链路层(LLC)错误恢复功能再次发送消息的帧化有数据帧、遥控帧、错误帧、过载帧4种帧类型。连接控制方式竞争方式(支持多点传送)数据冲突时的仲裁根据仲裁优先级较高的ID可继续被发送错误通知CRC错误、填充位错误、位错误、ACK错误、格式错误。错误检测所有单元都可随时检测错误。应答方式ACK和NACK两种数据链路层(MAC)通信方式半双工通信位编码方式NRZ(不归零)方式编码位时序位时序、位的采样数物理层同步方式根据同步段实现同步,并且具有再同步功能。13CAN通信可以对数据按成帧方式进行处理,是通过以下5种类型的帧进行的:数据帧、遥控帧、错误帧、过载帧、帧间隔。其中,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11个位的标示符,扩展格式有29个位的标示符。如表3-3所示:表3-3数据帧的说明帧帧用途数据帧用于发送单元向接收单元传送数据的帧。遥控帧用于接收单元向具有相同ID的发送单元请求数据的帧。错误帧用于检测出错误时向其它单元通知错误的帧。过载帧用于接收单元通知其尚未做好接收准备的帧。帧间隔用于将数据帧及遥控帧与前面的帧分离开来的帧。14第四章硬件设计原理及方案一、硬件设计原理(一)、微控制器STC89C52RC简介本次设计采用了应用广泛的STC89C52RC单片机,本单片机是一款较为低端的单片机,但是应用广泛成熟,开发方便快捷,满足本设计功能要求,所以本次设计采用为主控制器。本次设计制作了STC89C52RC单片机最小系统和外围应用电路,单片机最小系统实现单片机运行的基本需求,同时控制外围电路实现本次设计各项功能。单片机最小系统由STC89C52RC单片机芯片、电源、晶体振荡电路、复位电路组成,配合有按键、led、UART通讯接口等人际交互电路。同时设计了外围应用电路实现蓝牙通讯、步进电机控制、红外通信等功能。开发STC89C52RC单片机,首先要建立单片机最小系统,如图4-1所示。图4-1STC89C52RC单片机最小系统此单片机最小系统可以满足单片机运行所需,还需要下载程序的接口,如图4-2所示,该UART接口也可以完成单片机调试功能,实现单片机与其他设备的数据发送接受功能。15图4-2STC89C52RC单片机调试接口(二)、单片机最小系统单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路等。本次设计的单片机最小系统如图3-3所示。图4-3单片机最小系统16此最小系统上电复位电路、晶体振荡器电路、上拉电阻,电源采用系统板电源。下面分别介绍。1.晶体振荡器电路51单片机上的时钟管脚为XTAL1(19脚)芯片内部振荡电路输入端XTAL2(18脚)芯片内部振荡电路输出端。XTAL1和XTAL2是独立的输入和输出反相放大器,在XTAL1、XTAL2的引脚上外接定时元件:一个石英晶体和两个电容,内部振荡器便能产生自激振荡。在设计中采用12M的石英晶振,和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用本次设计采用33pF的陶瓷电容。2.复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。MCS-5l系列单片机的复位引脚RST(第9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。本设计采用上电自动复位,上电瞬间,电容两端电压不能突变,此时电容的负极和RESET相连,电压全部加在了电阻上,RESET的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。一般来说,只要RST管脚上保持10ms以上的高电平,就能使单片机有效的复位。3.EA/VPP(31脚)的功能和接法51单片机的EA/VPP(31脚)是内部和外部程序存储器的选择管脚。当EA保持高电平时,单片机访问内部程序存储器;当EA保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。在本设计中,EA管脚接到了VCC上,只使用内部的程序存储器。4.P0口外接上拉电阻51单片机的P0端口为开漏输出,内部无上拉电阻,为了能使P0口在输出时能驱动NMOS电路和避免输入时读取数据出错,需外接上拉电阻。在本设计中采用的是外加一个10K排阻。(三)、CEPARKMCP2515如图4-4所示为MCP2515模型图。17图4-4CEPARKMCP2515模块-原理图参数说明:1、支持CAN2.0B协议2、使用高速CAN收发器TJA10503、模块尺寸:45mm*33mm4、SPI接口控制,可满足一个SPI主机接口扩展多路CAN总线接口的需要5、8MHZ晶振,典型应用6、添加120欧姆终端电阻。用于阻抗匹配;保证驱动能力;长距离传输线时防止信号反射。7、收发标准帧,如使用串口软件可以观察到通讯数据8、板载独立按键、LED指示灯、电源指示灯。9、板载电源引出脚。18图4-5CEPARKMCP2515模块-原理图器件概述:MCP2515是一款独立CAN控制器,可简化需要与CAN总线连接的应用。该器件主要由三个部分组成:1.CAN模块,包括CAN协议引擎、验收滤波寄存器、验收屏蔽寄存器、发送和接收缓冲器。2.用于配置该器件及其运行的控制逻辑和寄存器。3.SPI协议模块。CAN模块CAN模块的功能是处理所有CAN总线上的报文接收和发送。报文发送时,首先将报文装载到正确的报文缓冲器和控制寄存器中。通过SPI接口设置控制寄存器中的相应位或使用发送使能引脚均可启动发送操作。通过读取相应的寄存器可以检查通讯状19态和错误。会对在CAN总线上检测到的任何报文进行错误检查,然后与用户定义的滤波器进行匹配,以确定是否将报文移到两个接收缓冲器中的一个。控制逻辑通过与其他模块连接,控制逻辑模块控制MCP2515的设置和运行,以便传输信息与控制。所提供的中断引脚提高了系统的灵活性。器件上有一个多用途中断引脚及各接收缓冲器的专用中断引脚,用于指示有效报文是否被接收并载入接收缓冲器。可选择使用专用中断引脚。通用中断引脚和状态寄存器(通过SPI接口访问)也可用来确定何时接收了有效报文。器件还有三个引脚,用来启动将装载在三个发送缓冲器之一中的报文立即发送出去。是否使用这些引脚由用户决定;若不使用,也可利用控制寄存器(通过SPI接口访问)来启动报文发送。SPI协议模块MCU通过SPI接口与该器件连接。使用标准的SPI读/写指令以及专门的SPI命令来读/写所有的寄存器。20第五章硬件设计方案一、硬件总体设计在本次设计中,采用80c51单片机,80c51与PC机通信,PC发送数据到串口,串口调用发送函数经过单片机通过SPI将数据写入mcp2515并通过CAN收发器发送;CAN总线传输过来的数据经过CAN收发器接受并写入mcp2515,调用CAN发送函数经过单片机读取数据上传给PC机。如图5-1为本次设计的总体设计框图。串口程序负责计算机和单片机之间的数据传输,SPI接口程序负责单片机和CAN通信模块的数据传输。发送数据子程序负责CAN节点数据的发送,发送数据时,首先要清空发送请求标志位,然后启动MCP2515控制器,将发送缓冲区中的数据发送出去。接收数据子程序相比发送数据子程序要稍微麻烦一点,接收数据子程序负责CAN节点数据的接收以及其它特殊情况的操作处理。但是在接收数据的过程中,我们要对CAN总线中断、出错、溢出、是否有数据等特殊情况进行处理。总体设计框图如图5-1所示。CAN总线图5-1总体设计框图二、用Pico示波器进行can总线解码分析Pico示波器具有串行解码的功能,能够对CAN、FlexRay、IC、IS、SPI、LIN或UART等串行总线进行解码。Pico示波器比较适合做串行解码,因为它们的深度存储器可以让软件采集较长时间、不间断的数据,尤其是6000系列能够在几秒内采集数千个数据帧存入到512M的样本存储器。PC机80C51Mcp2515TJA1050TJA1050Mcp251580C51PC机21(一)can总线上传输的电平特点can总线由两种通信标准,分别由ISO11898和ISO11519两种组成。分别与高速can和荣错can相对应。这两个标准的电平特点均有不同,这次论文中涉及的是前者ISO11898标准的can总线解码。表5-1ISO11898标准(二)解码设置Pico的任何一台示波器都具有串行解码的功能,不同系列的区别在于示波器硬件参数高时,采集到的波形更加平滑,噪声小。在进行解码时,我们可以只从CAN高波形上进行解码,或只从CAN低波形上进行解码,或者同时对CANH和CANL波形进行解码。仅从CAN低波形上进行解码设置,将CAN网络中的CANL端接入到示波器A通道(示波器通道任意选择)探头的正极,CAN网络的GND连接探头的负极。(三)从picoscop6中设置解码数据点击PicoScope6工具菜单,选择串行解码功能。弹出串行解码设置窗口。设置窗口如图5-1所示。物理层ISO11898电平显性隐形Can-H3.5v2.5vCan-L1.5v2.5vCan-Diff2.0v0.0v22图5-1解码设置窗口1)设置A通道协议:CANLow2)设置CAN低判断阈值,如1.6V。该阈值用于判断CAN-L电平是“0”或“1”.3)设置总线波特率,即目前测试网络的波特率,例如500K波特。4)设置显示模式,选择“在视图中”或“在窗口中”查看CAN数据。InView:在视图中,在波形显示窗口查看解码之后的CAN数据。InWindow:在窗口中,在表格中查看解码之后的CAN数据。23第六章结果分析一、STC单片机ISP控制软件进行实际操作演示本次设计用SPC单片机ISP控制软件进行实际操作演示,打开程序后选择串口调试助手,单片机类型选本次设计所用的STC89C52RC,如图6-1、6-2、6-3所示。图6-1程序运行窗口在电脑上打开STC-ISP-V480软件中的串口助手,分别连接两个USB转串口线,在设备管理器的端口里面查看各自的端口号,并在串口助手中设定好端口号和波特率等参数。24图6-2发送数据与接收数据程序截图打开单片机开关,等待初始化过程完成后,在发送区内输入想要发送的内容,然后点击发送,在另一个CAN节点的接收区内就会出现刚刚发送的内容。图6-3发送数据与接收数据程序截图二、单片机与can总线的连接。本系统由单片机外围电路、CAN总线硬件电路和USB-CAN转换电路组成。单片机外围电路包括电源电路模块、复位电路模块、串口通信模块。CAN总线硬件电路包括电气隔离模块、光耦隔离模块、CAN驱动器电路。USB-CAN转换电路包括CH375与单片机接口电路模块和USB接口电路模块。C8051F040单片机内部的控制器局域网(CAN)控制器是一个协议控制器,不提供物理层驱动器(即收发器),需要外部重新接入物理层驱动器。本处采用TJ1050,TJA1050是控制器区域网络(CAN)协议控制器和物理总线25之间的接口,是一种标准的高速CAN收发器。TJA1050可以为总线提供差动发送性能,为CAN控制器提供差动接收性能。本次设计实现单片机与can总线实物连接图如6-4所示。图6-4单片机与can总线连接实物图三、点对点通信的实现将SJAl000的ADOAD7连接到STC89C5l的P0口,CS连接到STC89C5l的P20,这样,当P20为O时,CPU片外存储器地址即可选中SJAl000,CPU。通过这些地址对SJAl000执行相应的读写操作。设计时,可将SJAl000的RD、WR、ALE分别和STC89C5l的对应引脚相连,INT接STC89C51的IN-T0,当CAN总线上的节点发送数据时,以报文形式广播给网络中的所有节点,总线上的所有节点都不使用节点地址等系统配置信息,只根据每组报文开头的11位标识符(CAN2.0A规范)解释数据的含义来决定是否接收。这种数据收发方式称为面向内容的编址方案。当某个节点要向其他节点发送数据时,这个节点的处理器将要发送的数据和自己的标识符传送给该节点的CAN总线接口控制器,并处于准备状态;当收到总线分配时,转为发送报文状态。这样,CPU可以通过中断方式来访问SJAl000。两个节点间的通讯实物图如图6-5所示。26图6-5点对点连接实物图四、实现通讯结果的测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高端住宅区生态园林景观设计施工综合管理合同
- 2025年智能办公空间电梯装饰美化与系统维护服务合同
- 2025年学校周边商铺租赁及品牌加盟合作协议
- 2025年度证券公司交易信息保密及合规处理合同
- 2025年绿色养殖技术引进与应用推广合同
- 2025年度个性化离婚协议起草与执行指导手册
- 2025年荒山生态修复与农业综合开发项目承包合同
- 地板知识培训横幅标语课件
- 2025年城市老旧小区改造工程招标代理全面实施合同
- 2025年全民健身中心运动器材采购与全面维修服务合同
- GB/T 9871-2008硫化橡胶或热塑性橡胶老化性能的测定拉伸应力松弛试验
- GB/T 26480-2011阀门的检验和试验
- GB/T 19861-2005丙烯酸系阴离子交换树脂强碱基团、弱碱基团和弱酸基团交换容量测定方法
- GB/T 11085-1989散装液态石油产品损耗
- GB 30000.3-2013化学品分类和标签规范第3部分:易燃气体
- 《材料力学》说课-课件
- (完整版)沪教牛津版小学一至六年级英语单词汇总(最新)
- JJF 1587-2016 数字多用表校准规范-(高清现行)
- 完整课件-西方经济学下册(第二版)
- 机械制图教学通用课件(全套)
- 天星择日的基本原理
评论
0/150
提交评论