can总线通信说明书大学毕业论文.doc
《can总线通信说明书大学毕业论文.doc》由会员分享,可在线阅读,更多相关《can总线通信说明书大学毕业论文.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、机电工程学院毕业设计说明书设计题目: CAN总线通信接口及程序设计 2012 年 5 月 21 日目 次1 CAN总线介绍1.1 CAN总线的发展背景随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。汽车中的各种电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否安全、是否便利、成本是否低、是否舒适都已成为人们首要考虑的事情。但是传统的汽车控制技术已不足以满足人们越来越高的要求,也已不适以汽车的发展方向。20世纪80年代,德国Bosch公司着手研究用于汽车产业的新的通信协议及控制方法,并首先提出了CAN总线控制系统。这一崭新的网络协议使得汽车产业得到了飞速的发展。CAN总线最
2、明显的特点是最大程度地减少了汽车控制系统中的线束的数量及长度,另外还大大提高了系统控制的可靠性和稳定性。在没有CAN总线协议之前,一辆汽车中用于各种控制通信的线束的总长度达3公里之长,严重影响了汽车的通信速度和通信精度。并且还使汽车的整体结构繁冗复杂,可靠性低,成本高,难以维护。因此CAN总线的出现无疑具有重大的意义和作用。作为一种新的网络通信协议,CAN总线不仅减少了汽车中线束的长度,还提高了汽车的整体性能,极大的促进了汽车产业的发展。CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议的性能和可靠性经过多年的检验,已被应用于越来越多的产业,比如航空、船舶、机床等产业设备方面
3、。仅仅二十多年的发展,CAN总线便已成为自动化领域技术的潮流。CAN总线是串行通信网络。传统运用的是基于R线构建分布式控制系统,这种传统的控制系统是基于通信节点的地址编码的,因此其结构复杂,直接导致系统的通信效率不高,并且控制的可靠性能低。CAN总线通过每个网络节点进行数据通信,每个节点可以互相收发数据,CAN总线协议对通信数据编码,不对节点地址编码,使各个节点可以同时接收到相同的数据,大大增强了数据通信的实时控制及传输性能。另一方面CAN总线使用起来非常方便。CAN总线的结构十分简单,仅有2根线(CANH和CANL)和外部设备相连,但CAN总线的内部却有非常复杂和智能的通信模块,可以方便快捷
4、准确无误的进行数据的自由通信。1.2 CAN总线的通信层介绍CAN总线是串行通信协议,可以实现各个节点在数据传输时的自由通信及互不影响,因此CAN总线应具有标准的通信协议,这样可以使CAN总线更加方便的应用于控制系统中。为了实现这样的设计理念,根据ISO/OSI参考模型,CAN总线包含ISO/OSI参考模型中的数据链路层(Data Link Layer)和物理层(Physical Layer)。(1)数据链路层数据链路层连接硬件和软件的结合层,主要作用是通过各种数据协议而实现数据的传输。CAN总线中的数据链路层又可以分为两个子层:逻辑链路控制子层(LLC)和介质方向控制子层(MAC)。逻辑链路
5、控制子层是数据链路层的核心层,它为远程数据的传输提供服务,控制数据的逻辑传输。()物理层物理层是OSI参考模型中的最底层,主要作用是规定节点电气方面的特征。为了实现数据的自由收发,在同一网络中的物理层应该是处处一样的。1.3 CAN总线报文帧格式CAN总线上的数据信息都是以报文的形式发送的。报文的格式并不唯一,而是有几种不同的格式,但是报文的长度却受到电气及内部控制的限制。CAN总线的报文传输也就是帧的传输,帧是CAN总线传送数据单位。帧也有不同的格式,主要区别在于标识符长度不同。在CAN2.0A协议下帧具有11位标识符,叫作标准帧;而在最新的CAN2.0B协议下具有29位标识符的帧叫作扩展帧
6、。为了实现数据的传输和控制,CAN总线报文传输具有4种不同类型的帧结构:数据帧、远程帧、错误帧、过载帧。其中数据帧的结构图如图1-1所示。数据帧帧起始仲裁域控制域数据域CRC域应答域帧结尾帧间空间帧间空间图1-1 数据帧的结构详细的CAN总线报文帧结构可以参阅参考资料61.4 CAN总线的优势CAN总线已经成为现在控制领域最流行的控制方案,只所以从CAN总线诞生以来仅仅二十年间便已成为公认的最好的工业生产控制方案,是因为CAN总线相比其他控制总线在通信能力和速度方面具有明显的优势。虽然现在还有很多基于R线组建的工业控制系统,但它不具备CAN总线的诸多优点。相比于其他的控制系统,CAN的优势在于
7、:(1)CAN总线是多主工作方式,CAN总线舍弃了传统控制系统中站地址编码方法,而是对通信的数据进行编码,也就是说,CAN总线的节点是根据传输数据信息确定是否接收数据。这样可以简化控制系统。从面增强了CAN总线网络的数据通信能力,也提高了系统的可靠性。(2)CAN总线的多个节点同时向总线上发送数据时,不会致使总线出现短路现象。因为CAN总线是通过CAN收发器芯片的两个输出端CANH和CANL和物理总线连在一起的,但CANH端只能是高电平或者悬空状态,CANL只能是低电平或者悬空状态。这样就使CAN节点同时向总线发送数据时,不会短路。另外,CAN总线还有节点出现严重错误时自动关闭节点功能,以免其
8、他节点受到影响。32 CAN总线通信芯片简述2.1 CAN总线控制器SJA1000简介CAN总线只有OSI参考模式中的数据链路层和物理层,但要实现这两层的功能,必须制定相应的协议和控制规则。通过CAN总线控制器可以实现对CAN总线的控制及数据通信。CAN总线控制器是一块可编程的芯片,它与微处理器相接。通过对CAN总线控制器的编程,实现数据的通信。现在有许多类型的CAN控制器芯片,但工业上的控制系统最常用的还是SJA1000 CAN控制器,下面简要介绍SJA1000 CAN控制器。SJA1000是Philips半导体公司研发的一种新型的CAN控制器,也是该公司PCA82C200 CAN控制器的替
9、代产品。SJA1000中还加入了一种新的操作模式,PeliCAN模式,相比于此前的BasicCAN模式,这种模式支持最新的CAN2.0B协议。为了使SJA1000兼容于PCA82C200芯片,SJA1000和PCA82C200相兼容,即SJA1000 CAN控制器既有BasicCAN模式也有PeliCAN模式。SJA1000的基本特性有:扩展的64字节接收缓冲器、同时支持CAN2.0A和CAN2.0B协议、同时支持11位和29位标识码、通信速率可以达到1Mbps。另外,PeliCAN模式下还有一些新的功能,如扩展到8个字节的验收滤波器、自检测等功能。对于SJA1000工作在BasicCAN模式
10、还是工作在PeliCAN模式,即工作方式的选择是由时钟分频寄存器(CDR)中的CAN模式位控制的。通电默认的工作方式是BAsicCAN模式。验收滤波器(Acceptance Filter)是SJA1000中的核心寄存器,利用它,可以接收到预定中的数据。验收滤波器又分为验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)。SJA1000中有个ACR(ACR0、ACR1、ACR2、ACR3)和个AMR(AMR0、AMR1、AMR2、AMR3)。标识符也由原来的11位扩展到29位,而滤波方式也有两种,单滤波模式和双滤波模式(由模式寄存器中的AFM位决定)。需要接收的报文的标识符存于验收代码寄存器中,相
11、应的屏蔽位存放在验收屏蔽寄存器中。只有在发送的报文的标识符与节点的标识符和AMR的相应位一致的情况下,节点才会接收报文。下面主要介绍双滤波模式下扩展帧格式的验收滤波器的设置。双滤波模式,顾名思义,就是有两个滤波器,滤波器1由ACR0、ACR1和AMR0、AMR1组成;滤波器2由ACR2、ACR3和AMR2、AMR3组成。接收报文时报文中的标识符信息要与两个滤波器中的值比较,但并不是两个滤波器都必须通过才接收报文,而是只要有一个滤波器通过验收就可以接收报文了。2.3 PCA82C250 CAN收发器介绍CAN总线收发器是CAN控制器与物理总线之间的接口器件,它对总线提供差动发送和接收数据功能。C
12、AN总线收发器也决定着系统的安全性、可靠性和兼容性的优劣。PCA82C250具有许多优越的性能。在本次设计中PCA82C250仅仅用到了短路保护功能。PCA82C250通过对引脚Rs的不同接法可以得到3种不同的工作模式:高速模式、斜率控制模式和待机模式。高速模式时VRs0.3Vcc,VRs与地之间接1个0-1.8K的电阻可以使PCA82C250工作在高速模式;斜率控制模式时与地之间接1个16.5K-140K的电阻;待机模式时Rs保持高电平,VRs要大于0.75Vcc。53 CAN总线的通信设计及方案3.1 CAN总线通信的技术要求及目标本次设计主要是利用51单片机和CAN芯片SJA1000实现
13、点对点的相互通信。SJA1000是CAN控制器,主要用于一般的区域网络控制。51单片机与SJA1000相连,SJA1000内的数据存储地址相当于51单片机的片外存储器,利用51单片机的片外寻址,对SJA1000内的各个寄存器进行读写,进而控制SJA1000实现CAN总线的点对点的通信。另外,还需要接入CAN收发器82C250来实现CAN总线的发送和接收功能。本次设计的目标是将51单片机、CAN控制器SJA1000和CAN收发器82C250连在一起,编写程序,实现点对点通信的收发。3.2 CAN总线通信接口方案CAN总线的硬件电路的节口非常简单,只需要微处理器和CAN控制器及CAN收发器便可构成
14、。CAN总线通信接口通常情况下有2种实现方式:一种是由微处理器、独立的CAN控制器和CAN收发器组成的硬件电路;另一种是集成CAN控制器的单片机和CAN收发器构成的硬件电路。CAN总线在经过二十多年的发展,已经产生了许多类型的CAN总线协议的芯片,其中有独立的CAN控制器芯片,也有集成CAN控制器的微处理器芯片。独立的CAN控制器有Philips公司的PCA82C200、SJA1000,Intel公司的82526、82527等。集成CAN控制器的微处理器也有很多,比如Philips公司的P8XC592/598等。常用的CAN收发器有Philips公司的PCA82C250等。方案1:由51单片机
15、、SJA1000 CAN控制器和PCA82C250 CAN收发器组成的CAN通信节点采用AT89C51、SJA1000 CAN控制器和 PCA82C250 CAN收发器设计CAN通信节点。这种方案的设计思路很简单,控制过程也比较方便。通过AT89C51单片机编程控制SJA1000的初始化及收发数据。SJA1000负责CAN总线上的数据的处理,PCA82C250收发器负责传递数据。方案2:由P8xC591芯片控制的CAN节点通信Philips公司的P8xC591是集成CAN控制器的单片机,这个方案中的节点只需要P8xC591和82C250 CAN收发器,CAN控制器内置于P8xC591芯片中。虽
16、然CAN控制器内置于P8xC591中,但P8xC591还保留SJA1000的一切功能,甚至比SJA1000的功能更加强大,这种方案还大大简化了硬件系统电路。方案比较:方案2中,集成CAN控制器的单片机P8xC591因为其内部已经内置了CAN控制器,所以不需要再进行电路设计,这样难以深入理解CAN总线的原理。P8xC591芯片是一种高性能通信芯片,价格比较高。在一般的系统控制中,实现简单的控制就可满足需要,常采用单片机和独立的CAN控制器作为CAN节点进行通信,这样成本低,也可以更好的了解CAN总线的通信协议。另外,市场上有大量的单片机,使用独立的CAN控制器SJA1000可以根据控制要求选择适
17、用的单片机,从而更好的达到控制要求。因此,本设计采用方案1。3.3 CAN通信节点硬件电路设计节点是网络上信息的接收和发送站。我们平常所用的节点都是由微处理器、CAN控制器和CAN收发器组成的。本设计中的硬件电路原理图如图3-1所示。图3-1 CAN总线电路原理图由图3-1可以看出,电路主要由AT89C51单片机、SJA1000 CAN控制器、PCA82C250 CAN收发器组成。由AT89C51控制SJA1000,实现SJA1000的初始化、接收和发送数据。SJA1000的AD0AD7分别接到AT89C51的P0口,CS接到AT89C51的P2.0。当CS为低电平时(P2.0为),CPU的片
18、外存储器地址可选中SJA1000,这样CPU就可以通过这些地址对SJA1000相应的寄存器进行读写操作。SJA1000的WR、RD、ALE分别与AT89C51的对应引脚相连接,INT接AT89C51的INT0引脚。对于一些较长距离通信的场合,要保证通信的可靠性和准确性,一般不直接将SJA1000的TX0和RX0和82C250的TXD和RXD相接。而是通过高速光耦6N137后再与82C250相接。这样的好处是大大增强了CAN总线节点的抗干扰能力。但在本次设计中并没有采用6N137进行电气隔离,而是直接将SJA1000与82C250相接,因为本次设计不是远距离输送数据,相应的节点的抗干扰能力都可以
19、满足设计要求,所以不需要再接入6N137,这样可以在满足控制要求的情况下简化系统的设计。对于82C250与CAN总线的接口也要进行一些必要的防护措施。82C250的CANH和CANL引脚是通过一个5的电阻与CAN总线相接的,这个5的电阻可以起到一定的限流作用,从而保护82C250免以受到过大电流。84 CAN总线通信的软件设计CAN总线节点的软件设计一般包括三部分,即SJA1000的初始化、报文发送和报文接收。这三部分是保证CAN总线通信的基础,总程序见附录1。下面章节将对这三部分的通信设计进行详细的说明。4.1 SJA1000的初始化过程SJA1000的初始化只能在复位模式下进行。初始化过程
20、主要是对一些寄存器设定初值,其中包括SJA1000工作方式的设置、AF的设置、波特率的设置和中断允许寄存器的设置。在CAN总线通信中,只有先进行SJA1000的初始化才能保证CAN总线通信的顺利进行。完成SJA1000的初始化后,SJA1000还要返回到工作模式,然后开始进行通信。4.2 SJA1000的发送子程序SJA1000初始化之后,就可以进行通信的收发程序设计了。发送子程序控制节点报文的发送。将要发送的报文放在发送缓存区,然后通过中断程序判断是否向总线发送数据。但是在将报文送入SJA1000的发送缓存区之前,先要对一些寄存器进行判断,然后才能开启发送。本次设计中当SJA1000接收到报
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- can 总线 通信 说明书 大学毕业 论文
限制150内