基于CAN总线的汽车电动车窗控制系统设计毕业设计Word文档格式.docx
- 文档编号:20028033
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:34
- 大小:1.25MB
基于CAN总线的汽车电动车窗控制系统设计毕业设计Word文档格式.docx
《基于CAN总线的汽车电动车窗控制系统设计毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于CAN总线的汽车电动车窗控制系统设计毕业设计Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
每个子网络包含必要的电子设备,这些电子设备之间通过局域网总线实现通信。
对多个次级网络之间的通信来说,就要用到网关,因为这些次级网络对运行速度要求的不同,各个次级网络可以采用各自的协议。
在这种体系中,没有全局总线。
这种特殊的结构完全消除了全局总线失效的瓶颈,并且为TV,视屏,DVD,声控功能等增强可靠性,扩展了宽带。
对信息娱乐网络来说,就是采用MOST技术;
动力总承网络来说就采用Flexray总线,对底盘网络来说,就采用CAN总线。
本课题研究的电动车窗系统就是图1-1中车身子网中的一个控制系统。
图1-1汽车网络系统
1.3电动车窗控制技术的发展概况
汽车自十八世纪末诞生以来,已经走过了一百多年的时间,在这段时间内,汽车车窗控制技术也有了巨大的变化。
十九世纪八十年代,电动车窗逐渐兴起,电动车窗用伺服电机驱动玻璃的升降,取代了传统的转动摇柄升降玻璃,这种控制系统更安全、更便捷、更舒适,更符合人们的需求。
电动车窗的发展经历了两个阶段。
第一阶段:
这一阶段的电动车窗是一个独立的控制系统,它和驾驶员主控模板之间的连接是靠传统的点对点式连接,和其它控制系统之间没有信息交互。
这时的车窗系统灵活性和安全性不高,更增加了维修和维护的难度。
第二阶段:
这时的电动车窗是搭载于车身控制网络之上的一个智能节点。
它和其它控制系统一样,都以一个智能节点的形式搭载于串行总线上。
这样整个系统便具备了和其它控制系统的通行能力,既能给其它模块提供信息,也可以从其它模块接受信息,使各个模块共同配合并及时对车窗做出正确控制。
目前,电动车窗是车身控制系统的一个研究热点。
车窗控制系统主要是基于LIN总线和CAN总线。
LIN总线以其低廉的价格在低端市场占据主导地位,但不能够完全胜任可靠、及时地传递信息,因此更多的是应用CAN总线。
基于CAN总线的车窗控制系统的主要特点是信息的传输速率快、安全性可靠性高。
尤其在中、高档汽车的车身控制系统中,由于需要在车身网络传输的信息比较多,且要求车窗控制系统与其它模块通信的实时性较强,LIN总线已经不能满足要求,在这种情况下基于CAN的车窗系统便得到了更广泛的应用。
本课题研究的对象就是基于CAN总线的车窗控制系统。
1.4课题的主要内容和意义
1.4.1课题的主要内容
本课题研究的电动车窗控制系统是搭载于轿车车身控制网络的一个应用子系统。
我根据电动车窗的功能要求和发展趋势,对基于CAN总线的电动车窗系统的设计,完成了对车窗的上升和下降的控制和防夹功能控制。
对电动车窗控制系统完成了硬件设计和软件设计。
1.4.2课题的意义
CAN总线对车窗系统进行控制有以下几方面的意义:
1、节省材料,系统扩展方便。
传统的汽车供电系统线束多,改用多路总线传输系统以后,仅用一根动力线即可,动力线长度节省50%以上,当控制系统需要改变电路时,只要把线束延长即可,方便经济。
2、降低了设计制造成本,延长了使用寿命。
3、提高了系统的可靠性。
用两根导线就可以实现车窗所有数据的传输,可靠性得到极大提高。
国内外汽车总线技术的自主开发正在高速发展中。
本文所研究的车窗控制、车窗防夹控制对人们对车窗控制舒适性、安全性和操作方便的要求有一定的价值和意义。
1.5本章小结
本章首先结合我国汽车产业市场规模叙述了汽车电子的产值概况,进而研究了电动车窗控制系统的研究价值,它是汽车电子的重要组成部分。
之后,研究了汽车电子发展的一个趋势——网络化,概述了汽车控制网络中的各个子网络的功能和所使用的技术,并且着重说明了总线技术的应用对于汽车电子的重要性和其良好的发展前景。
最后,结合电动车窗的发展现状,提出了本课题的主要内容。
2CAN总线
本章将对CAN总线协议进行详细的阐述。
1993年11月ISO正式颁布了CAN的国际标准ISO11898,之后又追加了颁布了国际标准ISO11519。
ISO11898是通过速率为125kbps~1Mbps的高速CAN总线协议标准,而ISO11519是通信速率为0kbps~125kbps的低速CAN总线协议标准。
本课题研究的是CAN2.0B协议。
2.1CAN简介
CAN(ControllerAreaNetwork)即控制器局域网,是一种先进的串行通信协议,属于现场总线范围。
CAN总线是最初由德国Bosch公司在80年代初期,为了解决现代汽车中众多的控制与测试一起之间的数据交换而开发的一种串行数据通信协议,目的是通过较少的信号线将汽车上的各种电子设备通过网络连接起来,并提高数据在网络中传输的可靠性,CAN总线具有较强纠错能力,支持差分收发,因而适合高噪声环境,并具有较远的传输距离,特别适合于中小型分布式测控系统,目前己在工业自动化、建筑物环境控制、机床、医疗设备等领域得到广泛应用。
CAN总线具有以下几个重要特点:
1、结构简单,只有两根线与外部相连,且内部含有错误探测和管理模块。
2、通信方式灵活。
可以多种方式工作,网络上任意一个节点均可在任意时刻主动的向网络上的其他节点发送信息,而不分主从。
3、可以点对点、点对多点及全局广播方式发送和接受数据。
4、网络上的节点信息可分成不同的优先级,可以满足不同的实时要求。
5、CAN通讯格式采用短帧格式,每帧字节数最多为8个,可满足通常工业领域中控制命令、工作状态和测试数据的一般要求。
同时,8个字节也不会占用总线时间过长,从而保证了通讯的实时性。
6、采用非破坏性总线仲裁技术。
当两个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可以不受影响继续传输数据,这大大地节省了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪。
7、直接通讯距离最大可达1k0率在5kb/S以下),最高通讯速率可达1Mbps(距离最长为40m)。
节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。
8、CAN总线通讯接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
9、CAN总线采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
2.2按照ISO/OSI参考模型CAN的分层结构
CAN协议对应ISO/OSI参考模型的数据链路层和物理层,其按ISO/OSI模型的分层结构如图2-1所示。
图2-1CAN的分层结构
2.3CAN总线数值的特性
在物理层能使用很多物理介质,例如双绞线、光纤等,最常用的是双绞线。
信号使用差分电压传送,两条信号线被成为CAN-H和CAN-L,静态时均是2.5V左右。
CAN-H和CAN-L高表示的逻辑“0”被称作“显性位”;
CAN-L比CAN-H高表示的逻辑“1”被称作“隐性位”。
通常电压值为:
VCAN-H=3.5V和VCAN-L=1.5V。
CAN总线发送的数据是由隐性位和显性位组成的。
“显性”(Dominant)数值表示逻辑0,而“隐性”(Recessive)表示逻辑1。
“显性”或“隐性”位同时发送时,最后总线数值将为“显性”。
总线位的数值表示如图2-1所示。
在“隐性”状态下,VCAN-H和VCAN-L被固定于平均电压点平,Vdiff近似为0。
当一个节点发送的是隐性位,而检测到的是显性位,优先级不够高,数据会自动退出;
当发送的是显性位而接受到的是隐性位,此节点会认为出错。
因而,这种处理的机制就保证了网络中的各个节点在同时发送数据时,优先级低的节点会退出,节省了大量的仲裁时间,提高了可靠性。
图2-2CAN总线位的数据值表示
2.4CAN协议的报文帧结构形式
CAN总线上传输信息的单位是报文,CAN总线的报文有五种不同类型的格式,它们分别是数据帧、遥控帧、错误帧、过载帧和帧间隔。
表2-1描述了帧的种类和作用。
表2-1帧的种类和用途
帧
帧用途
数据帧
用于发送单元接收单元传送数据的帧。
遥控帧
用于接收单元向具有相同ID的发送单元请求数据的帧。
错误帧
用于当检测出错误是向其它单元通知错误的帧。
过载帧
用于接收单元通知其尚未做好接受准备的帧。
帧间隔
用于将数据帧及遥控帧与前面的帧分离开来的帧。
2.4.1数据帧
数据帧由七种不同的位域(BitField)组成:
帧起始(Startof)、仲裁域(ArbitrationField)、控制域(ControlField)、数据域(DataField)、CRC域(CRCField)、应答域(ACKField)和帧结尾(Endof)。
数据域的长度可以为0~8个字节。
(1)帧起始(SOF):
帧起始(SOF)标志着数据帧和远程帧的起始,仅由一个“显性”位组成。
在CAN的同步规则中,当总线空闲时(处于隐性状态),才允许站点开始发送(信号)。
所有的站点必须同步于首先开始发送报文的站点的帧起始前沿(该方式称为“硬同步”)。
(2)仲裁域:
仲裁域由标识符和RTR位组成,标准帧格式与扩展帧格式的仲裁域式不同。
标准格式里,仲裁域由1l位标识符和RTR位组成。
标识符位有ID28~IDl8。
扩展帧格式里,仲裁域包括29位标识符、SRR位、IDE(IdentifierExtension,标志符扩展)位、RTR位。
其标识符有ID28~IDO。
为了区别标准帧格式和扩展帧格式,CANl.0~1.2版本协议的保留位r1现表示为IDE位。
IDE位为显性,表示数据帧为标准格式;
IDE位为隐性,表示数据帧为扩展帧格式。
在扩展帧中,替代远程请求(SubstituteRemoteRequest,SRR)位为隐性。
仲裁域传输顺序为从最高位到最低位,其中最高7位不能全为零。
RTR的全称为“远程发送请求(RemoteTransmissionRequest)”。
RTR位在数据帧里必须为“显性”,而在远程帧里必须为“隐性”。
它是区别数据帧和远程帧的标志。
(3)控制域:
控制域由6位组成,包括2个保留位(r0、r1同于CAN总线协议扩展)及4位数据长度码,允许的数据长度值为0~8字节。
(4)数据域:
发送缓冲区中的数据按照长度代码指示长度发送。
对于接收的数据,同样如此。
它可为0~8字节,每个字节包含8位,首先发送的是MSB(最高位)。
(5)CC校验码域:
它由CRC域(15位)及CRC边界符(一个隐性位)组成。
CRC计算中,被除的多项式包括帧的起始域、仲裁域、控制域、数据域及15位为0的解除填充的位流给定。
此多项式被下列多项式X15+X14+X10+X8+X7+X4+X3+1除(系数按模2计算),相除的余数即为发至总线的CRC序列。
发送时,CRC序列的最高有效位被首先发送/接收。
之所以选用这种校验方式,是由于这种CRC校验码对于少于127位的帧是最佳的。
(6)应答域:
应答域由发送方发出的两个(应答间隙及应答界定)隐性位组成,所有接收到确的CRC序列的节点将在发送节点的应答间隙上将发送的这一隐性位改写为显性位。
因此,发送节点将一直监视总线信号已确认网络中至少一个节点正确地接收到所发信息。
应答界定符是应答域中第二个隐性位,由此可见,应答间隙两边有两个隐性位:
CRC域和应答界定位。
(7)帧结束域:
每一个数据帧或远程帧均由一串七个隐性位的帧结束域结尾。
这样,接收节点可以正确检测到一个帧的传输结束。
2.4.2遥控帧
和数据帧一样有两种格式,一种是标准遥控帧,另一种是扩展遥控帧。
它们都是由帧起始、仲裁场、控制场、CRC场、ACK场和帧结束域这六个场组成。
遥控帧的RTR位是隐性位,而且遥控帧没有数据域,所以DLC代码没有意义。
2.4.3错误帧
如图2-3所示,错误帧由错误标志和错误界定组成,错误标志有6位,错误界定符是8个隐性位。
错误标志有两种形式:
一种是主动错误标志,由6个显性位组成;
另一种是被动错误标志,由6个隐性位组成。
每一个CAN节点的状态只能是以下3中之一:
主动错误状态、被动错误状态、总线关闭状态。
当节点处于主动错误状态,检测到错误就向总线发送主动错误标志;
当节点处被动错误状态,检测到错误就向总线发送被动错误标志;
当节点处于总线关闭状态,不参与总线活动。
图2-3错误帧
2.4.4过载帧
过载帧和主动错误帧在形式上式相同的,也是由6个显性位的过载标志和8个隐性位的过载界定符组成。
2.4.5帧间隔
对于非错误被动的节点帧间隔由间隔和总线空闲组成,对于错误被动的节帧间隔由间歇、挂起传送和总线空闲组成。
(1)间歇
间歇由3个隐性位组成。
在间歇期间,所有的节都不允许传送数据帧和遥控帧,唯一可做的就时标识一个过载条件
(2)总线空间
总线空间的时间是不确定的。
只要总线被认为空闲,任何等待发送报文的节点就会访问总线。
(3)挂起传送
挂起传送时错误被动的节点发送报文后,在下一个报文开始传送之前或确认总线空间之前发出8个隐性位在间歇和总线空闲之间。
2.5报文接收和仲裁
接受节点通过报文滤波来判断是否接受当前报文。
设置屏蔽寄存器中的任何的标识符位为“不考虑”或“无关”,通过这种方式来实现报文滤波。
当报文滤波后,节点接收当前报文,通过报文校检来判断报文是否有效。
校检报文有效时间点,对于发送节点和接收节点是不同的。
发送节点:
当知道帧的末位仍没有出错,此报文对于发送节点来说被判为有效。
此过程中,一旦报文出错,报文会根据优先权自动重发,前提是必须总线回复空闲。
接收节点:
当直到ACK场最后1位仍没有出错,报文对于接收节点有效。
在总线空闲时,最先开始发送信息的节点获得发送权。
当多个节点同时开始发送时,各给节点从仲裁场的第一位开始进行仲裁。
连续输出显性电平越多的节点优先级越高,也即是仲裁场的标识符值越小的节点优先级越高。
具有相同的ID的数据帧在总线竞争时,由于数据帧的RTR位为显性,遥控帧的RTR位为显性,故数据帧具有优先权,可继续发送数据。
同里具有相同ID的标准帧和扩展帧之间竞争总线优先权时,标准帧具有更高的优先权。
2.6CAN的数据错误检测
2.6.1错误处理
CAN协议中的错误种类共有五种,分别是位错误、填充错误、CRC错误、格式错误和应答错误,多种错误可以单独发生也可以同时发生,当这些错误发生相应的状态会有所变化。
错误的种类、错误的内容、错误的检测帧和检测单元如表2-2所示。
表2-2错误概况
对于表中所示的错误有以下几种例外情况:
(a)位错误
发送节点在仲裁场输出隐性电平,但检测到显性电平时,将被视为仲裁失利而不是错误。
在仲裁场作为填充为输出隐性电平,却检测到显性电平时,将不视为位错误而视为填充错误。
发送节点在ACK场输出隐性电平,但检测到显性电平时,将判断为其它节点的ACK应答,不视为位错误。
节点输出被动错误标志,却检测到显性电平时,将视为错误结束条件,将等待建的连续的6个位条件,不视为位错误。
(b)格式错误
接收节点即使检测到报文的帧结束的最后1位是显性电平,也不视为格式错误。
接收节点即使检测到报文的帧结束的最后1位是显性电平,也不视为格式错误。
接收节点即使检测到控制场中的DLC中的码值大于8,也不视为格式错误。
2.6.2错误状态种类
任何节点始终处于三种状态之一,它们分别是主动错误状态、被动错误状态和总线关状态。
表2-3所示的是节点的错误状态和计数值之间的关系。
以下对这三种错误状态的功能做详细的研究。
表2-3错误状态和计数值
主动错误状态:
处于主动错误状态下的节点可以正常地参加总线活动。
当节点检测到错误时,向总线输出带有主动错误标志的错误帧。
被动错误状态:
处于被动错误状态下的节点,虽能曹家总线活动,但不能积极及时地发出错误通知。
处于被动错误状态下的节点即使检测到错误,而其它处于主动错误状态下的节点没有检测到错误,整个总线也被认为是没有错误的。
处于被动错误状态下的节点检测到错误时,向总线输出带有主动错误标志的错误帧。
另外,当节点发送完一条报文后,不能马上发下一条报文,必须在两条报文之间插入“延迟传送”。
总线关闭状态:
节点不能参见任何总线活动,既不能接收报文也不能发送报文,在总线关闭状态下信息的接收和发送均被禁止。
2.6.3错误检测规则
发送错误计数器的计数值和接收错误计数器的计数值在一定条件下会变动,通过发送错误计数器的计数值和接收错误计数器的技术值的变化来影响节点的错误状态,表2-4是错误计数器的变动规则。
表2-4错误计数器的变动规则
2.7位时序
由发送单元在非同步的情况下发送的每秒钟的位数称为位速率。
1位可分为同步段、传播段、相位缓冲段1和相位缓冲段2,共四个段。
它们用于每一位的定时、同步和采样。
2.8本章小结
本章对CAN2.0B协议进行了全面的描述,有CAN的报文的发送,详细介绍了保温的一些基本概念。
还有CAN报文的接收原理,还通过图形分析了报文的仲裁过程。
最后还分析了报文出错处理与CAN节点的错误状态分类。
最后简单说了CAN的位时序。
通过本章,我对CAN协议进行了详细的学习,了解了它的基本原理,对下面几章基于CAN总线的系统设计做了必要的准备。
3电动车窗的硬件设计
本章主要阐述电动车窗控制系统的硬件部分的设计,电动车窗控制系统是应用在轿车身控制系统中的一个智能子系统,系统中的各个节点通过CAN总线进行实时通信,图3-1简洁地表示了此系统结构。
该系统包括主控制节点和四个车门控制节点。
对于四个车窗控制节点来说,其硬件结构和软件代码完全一致,本课题只对左前车窗节点和主控制节点进行研究。
图3-1车窗控制系统框图
3.1主控节点的硬件设计
主控节点主要由下面两个模块组成,包括对节点进行智能控制的微处理器模块和完成车窗节点和CAN总线连接的CAN模块,其框图如图3-2所示。
图3-2主控节点框图
3.1.1微控制器介绍
微控制器也被称为微处理器,是车窗节点中最重要的部分。
他对各个模块中的数据进行处理来完成对模块的控制。
本课题中所使用的微控制器型号是STC89C58RD。
STC89C58RD是宏晶科技公司推出的新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统的80C51单片机,12个时钟为一个机器周期或6个时钟为一个机器周期任选,最新版本内部集成了复位电路。
有很多优点:
如其内部做了静电保护处理,具有高抗静电能力。
内部电源供电系统经过特殊处理,具有很强的抗电源抖动能力。
其工作的温度范围比较宽,在强烈的温度变化下,也能稳定的运行。
STC89C58还具有超低功耗的优点,在节能降耗已经成为汽车发展的大趋势的背景下更具优势。
STC89C58内部嵌有FLASHROM,支持在系统编程,极大的方便程序的编写和调试。
此外STC89C58还具有高速、高安全性和低价格等特点。
其引脚结构如图3-3所示。
图3-3STC89C52的引脚结构图
引脚功能:
VCC:
AT89C51电源正极输入,接+5V电压。
GND:
电源接地端。
XTAL1:
接外部晶振的一个引脚。
在单片机内部,它是一反相放大输入端,这个放大器构成了片内振荡器。
它采用外部振荡器,引脚应接地。
XTAL2:
接外部晶振真的一个引脚。
在片内接至振荡器的反相放大器输出和内部时钟发生器输入端。
当采用外部振荡器时,则此引脚接外部振荡器信号的输入。
RST:
STC89
C52的复位信号输入引脚,高电位工作。
ALE/PROG:
ALE是“ADDRESSLATCHENABLE”的缩写,表示允许地址锁存允许信号。
当访问外部存储器时,ALE信号负跳变来触发外部的8位锁存器(如74LS373),将端口P0的地址总线(A0-A7)锁存进入锁存器中。
在非访问外部存储器期间,ALE引脚的输出频率是系统工作频率的1/16,因此可以用来驱动其它外围芯片的时钟输入。
当问外部存储器期间,将以1/12振荡频率输出。
EA/VPP:
该引脚为低电平时,则读取外部的程序代码(存于外部EPROM中)来执行程序。
此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC值超过片内程序存储器地址时,将自动转向外部程序存储器继续运行。
PSEN:
此为“ProgramStoreEnable”的缩写。
访问外部程序存储器选通信号,低电平有效。
在访问外部程序存储器读取指令码时,每个机器周期产生二次PSEN信号。
在执行片内程序存储器指令时,不产生PSEN信号,在访问外部数据时,亦不产生PSEN信号。
P0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CAN 总线 汽车 电动车窗 控制系统 设计 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)