课程设计-CAN总线数据通信系统的设计(共21页).doc
《课程设计-CAN总线数据通信系统的设计(共21页).doc》由会员分享,可在线阅读,更多相关《课程设计-CAN总线数据通信系统的设计(共21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上摘 要专门运用于汽车上的CAN(Controller Area Network)总线是当今自动化领域技术发展的热点之一,是被被誉为自动化领域的计算机局域网的现场总线中的一类。目前,汽车行业发展前景非常可观,因而CAN总线控制系统也成为汽车学术研究的热点和重点。概括地说,CAN总线为分布式、离散式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持和传输渠道。面对日益增加的网络形势,汽车制造商决定对车载电脑的通信方式进行统一和实施标准化。而CAN总线,则是他们选择的一种网络形式,这是一种多主方式的串行通讯总线,数据通信实时性强。此种网络不仅可以降低陈本,还可
2、以通过相对应的诊断逻辑使维修简单化,从而优化多路传输系统维护和保养。与其它现场总线比较而言,CAN总线具有通信速率高、容易实现、可靠性高、性价比高等诸多特点。本系统要在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯。系统主要由四部分所构成:PC机、微控制器89C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250。微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。本系统通过扩展CAN总线控制器SJA1000,在单片机
3、系统中实现了CAN总线的接口,并且编写了SJA1000的驱动程序,通过读写其的内部寄存器,完成工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等基本操作;利用各基本操作,完成了对SJA1000的初始化,并且实现了数据发送和接收。专心-专注-专业第1章 汽车CAN总线设计原理与方案1.1 设计目的与要求 基于CAN总线设计关于汽车车身各参数的控制系统,如(本组所选择的):车门的关紧检测记录、车内外温度的检测记录、车身高度的监控、汽车行驶速度的检测记录(、车窗、安全带、车灯、雨刷、车高、车速)。通过接口电路
4、实现单片机系统和CAN总线的联接,并通过单片机编写接口芯片的驱动程序,从而实现各子系统(各传感器)的自动监控或发出控制指令。通过CAN总线,实现不同模块之间的数据通讯,CPU控制第一个模块发送11帧数据,第二个模块收到这帧数据并送至另一个CPU的内部存储器。1.2 CAN总线介绍CAN全称为“Controller Area Network”, 即控制器局域网,是国际上应用最广泛的现场总线之一。最初CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如发动机管理、系统变速箱控制器、仪表装备中,均嵌入CAN控制装置。一个由CAN总线构成的单一网
5、络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如当使用Philips PCA82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易,另外硬件的错误检定特性也增强了CAN的抗电磁干扰能力。CAN是一种多主方式的串行通讯总线。基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km 时,CAN仍可提供高达50Kbit/s 的数据传输速率。由于CAN 总线具有很高的实时性能,因此CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得
6、到了广泛应用。1.3 设计方案硬件设计框图如下图所示硬件设计框图1.3.1 硬件设计方案CAN总线接口电路的构成主要由CAN通信控制器SJA1000、高速光耦6N137和CAN总线驱动器82C250组成。SJA1000作为CAN总线协议转换 的控制器。它内建BASIC CAN协议,并提供对CAN2 .OB协议的支持。通过对片内寄存器的读、写操作,主控制器单片机能够设置CAN总线通信模式,实现数据的发送与接收。SJA1000在逻辑上实现了传输数据的编码和解码,若要与物理线连接,还必须借助总线驱动器82C250,以增CAN总线的差动发送和接收驱动能力。为了增强CAN总线节点的抗干扰能力,防止线路间
7、串扰,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后再与82C250相连;另外,CAN总线驱动器采用带隔离的DCD C模块单独供电,实现了通信控制器与CAN总线的隔离,提高系统的可靠性。图2给出了C A N总线系统硬件接口电路原理图。这里我们采PCA82C250作为驱动收发器,它是CAN控制器和物理传输线路之问的接口。它们可以用高达1Mbs 的位速率实现在两条差动电压总线电缆上的数据传输。82C250的CANH和CANL引脚各自通过一热敏电阻与CAN总线相连,当过流时电阻发热阻值变大,保护82C250免受过流的冲击。CAN H和CAN
8、L与地之间并联两个小电容,可以起到滤除 总线上的高频干扰和一定的防电磁辐射的能力 。 RS23接口电路主要用于主控制器单片机与管理层中央服务器P C的双向数据传送。由于采用了标准的RS232串行通信,结构简单、成本低。CAN总线系统电路主要由四部分所构成:微控制器89C51单片机作为CPU,CAN控制器SJA1000,CAN总线收发器82C250和高速光电耦合器6N137微处理器。89C51负责SJA 1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。SJAI000的AD0AD7连接89C51的P0口,CS连接到的P2 .0, .0为0的CPU片外存贮器地址可选中SJA
9、1000CP通过这些地址可对SJA 1000的读写操作。SJA10000的RD、WR、AL E分别与89C51应引脚相连。INT接89C51的INT0,89C51也可通过中断方式访问SJA1000 。SJA1000和82C250分别使用物理隔离的电源供电,是为了增强系统的抗干扰能力和可靠性。控制器的其它外围电路还有电源模块、非易失性EEPROM存储器、时钟保持电路、LED指示灯和看门狗等。SJA1000与单片机的接口电路如图1-3所示。1.3.2 软件设计方案CAN 总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。熟悉这三部分程序的设计就能编写出利用CAN总线进行通信
10、的一般应用程序。当然要将CAN总线应用于通信任务比较复杂的系统中,还需详细了解有关CAN总线错误处理、总线脱离处理、接收滤波处理、波特率参数设置和自动检测以及CAN总线通信距离和节点数的计算等方面的内容。SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等。在完成SJA1000的初始化设置以后,SJA1000就可以回到工作状态,进行正常的通信任务。发送子程序负责节点报文的发送。发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入SJA1
11、000发送缓存区中,然后启动SJA1000 发送即可。接收子程序负责节点报文的接收以及其它情况处理。接收子程序比发送子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如总线脱离、错误报警、接收溢出等情况进行处理。SJA1000报文的接收主要有两种方式:中断接收方式和查询接收方式,两种接收方式编程的思路基本相同,如果对通信的实时性要求不是很强,一般采用查询接收方式。第二章 CAN总线协议定义在各种现场总线中,C A N总线以其结构简单、应用灵活方便而在工业过程控制和车辆中得到广泛应用。在C A N的技术规范中,规定了C A N分为数据链路层和物理层两层,在设计通信软件时,必须先根据需求设计
12、合适的C A N 总线通信协议,才能完成数据准确可靠的传送。1、CAN的帧结构和功能位的定义 C A N数据帻结构 数据帧是携带数据由发送器至接收器的帧,是CA N的4种帧格式之一,这4 种帧格式分别是数据帧、远程帧、出错帧和超载帧,其中数据帧结构如下图所示。 数据帧的主要结构有: (1)幢起始:标志数据帧的起始它由单个“显性”构成。在总线空闲时发送,在总线上告产生同步作用。(2 )仲裁场:由l1位标识,即ID10 I D0l和远程发送请求位RTR组成,RTR位为显位表 示数据帧隐位表示远程帧标识符由高至低敬序发送,且前7位( I D1 0 I D 4 ) 不能全为隐性位,标识符用于提供关于传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 CAN 总线 数据通信 系统 设计 21
限制150内