基于CAN总线的车身舒适系统设计说明书.doc
《基于CAN总线的车身舒适系统设计说明书.doc》由会员分享,可在线阅读,更多相关《基于CAN总线的车身舒适系统设计说明书.doc(39页珍藏版)》请在装配图网上搜索。
目 录摘要IIIAbstractIV1绪论11.1 研究背景11.2 CAN总线的优点11.3目前国内外主流的汽车网络总线及其特点11.4课题研究意义21.5研究的内容22 CAN技术协议规范32.1 CAN 总线的通信模式32.2 CAN 的分层结构42.3 CAN 报文传送及总线上的位电平表示42.4 CAN总线帧结构52.5本章小结73控制系统的硬件设计83.1系统框架设计83.2中央节点的硬件设计83.3系统最小电路设计183.4电源电路设计183.5中央节点电路设计194系统的软件设计204.1 CAN模块204.2系统主程序204.3系统的初始化204.4 CAN报文的发送214.5 CAN报文接收224.6 驱动模块234.7 总结255总结与展望265.1完成的任务265.2展望26参考文献27附录28致谢34II基于CAN总线的车身舒适控系统设计摘要本文是对车身舒适控系统设计,其中主要针对四门电动车窗和后视镜进行控制。根据车身的结构,将系统划分为负责控制的中央节点,右前节点,左后节点和右后节点。选取了STC89C52单片机,SJA1000控制器和PCA82C250收发器。同时设计出节点电路图,驱动电路图,电源电路图等硬件电路。运用C语言对软件程序进行编写,通过运用模块化的理念,极大的简化了程序的编写。关键词:CAN总线;电动车窗;微型处理器;后视镜;Body Comfort Control System Design Based on CAN BusAbstractThis article is a comfortable vehicle control system design, which is controlled primarily for the four electric windows and mirrors. According to the structure of the vehicle body, the system is divided into a central node responsible for controlling front right node, left rear and right rear node. The STC89C52 microcontroller, SJA1000 controller and PCA82C250 transceiver were selected. At the same time, the circuit diagrams such as node circuit diagrams, drive circuit diagrams, and power supply circuit diagrams are designed. The use of C language to write software programs, through the use of modular ideas, greatly simplifies the preparation of the program.Keywords: CAN bus; Power window; Microprocessor; Rearview mirror1绪论1.1 研究背景随着汽车电子控制技术逐渐发展,电控单元数量在汽车电控系统中的逐步增多,汽车整体的电气系统越来越复杂化。仍然在电路中使用传统的汽车电气布线方式,势必会让整车线束的长度、重量以及所需要的空间加大;传统电控系统应用点对点的通信方式让在电控单元间同步交换的大量数据信息存在很大的限制4。在当前社会,车身舒适控制系统单元都连接到CAN总线上,并借助于LIN总线进行外围设备进行控制。在当前的形势下,汽车CAN总线技术便由此出现了。CAN总线技术的应用可以解决传统方式所存在的问题。现阶段汽车愈加看重舒适性、安全性、实时性等等,然而舒适性、安全性、实时性在极大方面上要通过车身中的电子模块去实现。基于CAN总线技术的车身控制系统是革命性的、引领今后汽车电子化、智能化技术的潮流, 因为CAN总线的及时性强、传输间隔较远、抗电磁干预能力强、成本低等突出优点,基于CAN总线的车身舒适系统势必会成为今后智能化汽车的标准配置之一。1.2 CAN总线的优点1.拥有及时性强、传输间隔较远、抗电磁干预能力强、成本低等优势; 2.选用双线串行通讯方式,检错能力强,可在高分贝干扰环境下工作; 3.具备优先权和仲裁能力,多个控制模块通过CAN 控制器挂到CAN-bus上,构成多主机局部网络; 4.可根据报文的ID决定接收或屏蔽该报文; 5.可靠的错误处理和检错机制; 6.发送的信息遭到破坏后,可自动重发; 7.在节点在错误严重的情况下具有自动退出总线的功能; 8.报文不包括源地址或目标地址,仅用标志符来指示功能信息、优先级信息。1.3目前国内外主流的汽车网络总线及其特点目前在世界上使用的汽车网络规范有很多,但其偏重的性能重点是不同的,为了使研究和运用越发便利,美国汽车工程师学会(SAE)的车辆网络委员会依据传输的信息量、速度、传递可靠性、响应速度等需求,将车载网络划分了低速(A)、中速(B)、高速(C)、多媒体技术(D)四类1。在A类网络中,现今相对流行和首要想到的总线标准便是LIN,是种新式的用于汽车分布式电控系统的通讯标准,并且拥有低成本串行通讯优势,其开发适用的场所便是车身网络多模块节点之间的低端通讯。具有单线连接、低传输速率、单主/多从媒体访问、无需仲裁、报文数据长度可变的特点。在车上运用总线时,一般CAN总线为主LIN总线为辅。所以,LIN在低速总线中是首选标准。除了LIN总线,A类网络包括UART、E&C、CCD、BEAN等标准。B类中的网络规范为低速CAN总线。CAN总线是一种多主总线,同时也是控制器之间数据交流的串行数据通信协议的一种,且其网络功能向下涵盖,连接结构简单。B类总线还有J11898、ISO11519-4等标准。C类网络多应用于汽车安全方面和及时性要求较高的控制部位。此中准则大体有高速CAN、TTP/C、FlexRay等。D类网络也可称作多媒体网络,按照传输速率进而具体可分成三种的类型,即低速、高速和无线。对应的协议标准分别为:Intelligent Data Bus-CAN,智能数据总线-CAN、Multimedia,多媒体和智能数据总线-无线通信。此外,其余的网络标准还包含安全总线标准、X-by-Wire总线协议标准、诊断总线标准等。现代汽车中,各种功能不同的控制单元通过总线通信进行数据交换,从而连接到一起,构成非常复杂的总线系统。在许多情形下,汽车高速控制系统如动力控制系统,均是使用高速CAN总线连接在一起。外围设备则借力于LIN总线进一步控制。远程信息处理和多媒体连接必定要高速互连,视频传输又需求数据流格式,这些常用D2B或MOST协议来实现。无线通信则通过蓝牙加以实现。在未来五年到十年间,TTP和FlexRay将使汽车逐步进展成为百分百的彻底不需要后备机械系统帮助的电控系统。1.4课题研究意义随着汽车电子技术的不断壮大,汽车上的各种电子装置在汽车上的应用也越来越广泛2。汽车厂商也对电子设备和半导体集成电路在汽车上的使用越来越频繁。电控单元数量在汽车电控系统中的逐步增多,汽车整体的电气系统越来越复杂化。仍然在电路中使用传统的汽车电气布线方式,势必会让整车线束的长度、重量以及所需要的空间加大;传统电控系统应用点对点的通信方式让在电控单元间同步交换的大量数据信息存在很大的限制。CAN以其杰出的运转特性,极高的可靠性和新颖的设计,不仅仅适用于当代汽车各电子控制单元之间的通信,并且也同时逐步扩大到其他领域,是被公认为最有发展前景的现场总线之一。经过对CAN总线的学习,我能更好地接触到往后智能汽车的发展前景。于是选取基于CAN总线技术对设计车身舒适系统存在极好的意义。1.5研究的内容本文是通过CAN总线技术对汽车车身舒适系统进行设计,文中主体是使用CAN总线针对汽车后视镜以及四门电动车窗进行控制。首先对单片机和CAN控制收发器进行选取,将系统划分为四个节点。分别为中央节点,右前节点,左后节点以及右后节点。根据对车窗和后视镜的控制功能对驱动芯片进行选取,进而设计出驱动电路图,电源电路图,各节点电路图。在通过系统的软件设计进而完成车身舒适系统的设计。32 CAN技术协议规范CAN总线的物理层是将ECU衔接至总线的驱动电路。总线上的电气负荷限制着ECU的总数。物理层将总线上各节点间的物理数据的传输过程进行了定义,其中主要包含介质的连接、电气在线路中的特性、数据的编码/解码、位定时和同步的实施准则。2.1 CAN 总线的通信模式CAN是具有时效性的支持分布式控制或者实时控制的一种串行通信网络,可实现全分布式多机系统;能够用点对点,一点对多点还有全局广播等几种方式进行传送和接受其数据。CAN总线基于以下五条基本条例从而进行通信协调:总线访问:CAN 是共享媒体总线,它对媒体的访问机制很大程度上相似于以太网的媒体访问机制,机采用载波监听多路访问的形式。CAN 控制器只可以在总线空闲时发送, 并选用硬同步,全部CAN控制器同步处于帧起始的前沿。为防止异步时钟因积聚误差而发生错位,CAN 总线中使用硬同步后满足一定条例的跳变进行重同步。然而总线空闲,便是网络上最少存在三个空闲位(隐性位)时网络的形态,也就是 CAN 节点在侦听到网络上出现最少三 个隐性位时,才开始发送。仲裁:当总线空隙时呈隐性电平,在此刻任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。即使两个或两个以上的节点同时发送,便会产生总线冲突。CAN总线处理总线冲突的方式比以太网的 CSMA/CD 方式有了极大的改进。以太网是通过碰撞检测的方法,就是一旦检测到两个或多个节点同时发送信息帧时,即全部发送节点都退出发送,待随机时间以后再进行发送。而 CAN 是按位对标识符进行仲裁: 各发送节点在向总线发送电平的同时,进而对总线上得电平进行读取,并与其本身发送的电平相互对比,若是电平没有异点则继续发送下一位,如若存在差异则说明网络上有更高优先级的信息帧正在发送,随即截止发送,退出总线竞争。其余的节点则继续上述过程, 直至总线上仅剩下一个节点发送的电平,总线竞争停止,优先级最高的节点拥有总线的使用权,继续发送信息的其余部分直到全数发送终了。编码/解码:帧起始域、总裁域、控制域,数据域和 CRC 序列全部行使位填充技术进行编码。在 CAN 总线中,每当持续 5 个同状态的电平插入一位与它相补的电平,复原时每 5 个相同状态的电平后的相补电平将会被删除,进而保证了数据的透明。出错标注: CAN 控制器在检测到位错误、填充错误、形式错误或应答错误的时候,会被发送一个出错标志。超载标注:少许 CAN 控制器会发送一个或多个超载帧以推迟下一个数据帧或远程帧的发送,在进行数据传送时,该报文的发送器便是发出报文的单元。该单元在总线空隙时会丢失仲裁前一直为发送器。假如一个单元不是报文发送器,并且总线不处于空闲状态,那么则该单元便是接收器。组成一帧的帧起始、仲裁场、控制场和 CRC 序列均借助位填充规则进行编码。当发送器在发送的位流中检测到 5 位连续的数值不存在差异时,将自动地在实际发送的位流中插入一个补码位。数据帧和远程帧的其余位场采用固定格式,不对其进行填充。出错帧和超载帧同样是固定格式,也不进行位填充报文中的位流依据非归零码(NRZ)方式编码,这意味着一个完整的位电平要不是显性那便是是隐性。2.2 CAN 的分层结构为了使设计透明和执行灵活,遵循 ISO/OSI 标准模型,CAN 分为数据链路层(包括逻辑链路层 LLC 和媒体访问控制层 MAC)和物理层,在 CAN 技术规范 2.0A 的版本中,数据链路层的 LLC 和 MAC 子层的服务和功能被描述为“目标层”和“传输层”。下图为 CAN 的分层结构和功能示意图。逻辑链路子层 LLC 子层的主要功能是报文滤波、超载通知以及恢复管理。媒体访问控制子层 MAC 子层的功用主要是包括传送规则,以及控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC 子层也要确认为开始一次新的发送, 总线是否开放或者是否马上开始接收,同时位定时也是 MAC 子层的一部分。物理层的功效是有关全部电气特性不同的节点间位的实际传递。图2-1 CAN 的分层结构和功能示意图2.3 CAN 报文传送及总线上的位电平表示在数据进行传送时,该报文的发送器便是发出报文的单元。关于报文发送器和接收器,报文的实际有效时刻是存在着异同的。对于发送器来讲, 假如了解到帧的结束末尾一直未出错,则该报文对于发送器报文是有效报文。若是报文受损,将容许根据优先权顺序自动发送。为了能同其余报文进行总线访问竞争,总线一旦空闲, 重发送立刻开始。对于接收器而言,如若知道帧结束的最后一位一直并未出现错误,则对于接收器报文有效。报文中的位流是按照非归零码(NZR)方法编码的,这表明着着一个完整的位电平如若不是显性,那么一定是是隐性。在“隐性”状态下,Vcanh和Vcanl被固定于平均电压电平,Vdiff近似等同于零。在总线空闲或在“隐性”位期间,将会发送 “隐性”状态。“显性”状态以大于最小阀值的差分电压显示在下图中。在“显性”位期间,“显性”状态将会改写“隐性”状态并发送。图2-2电平图2.4 CAN总线帧结构一共有四种不同类型的帧在报文传送中进行表示以及控制:携带数据的数据帧由发送器发送至接收器;通过总线单元发送的数据帧,以请求传送拥有相同标示符的数据帧;出错帧可以通过有检测出总线错误的任何单元发送;超载帧用于供给当前以及后续的数据帧的附加延迟。前帧与借助帧间空间的数据帧和远程帧分开6。数据帧由 7 个有差别的位场组成,即帧起始、仲裁场、控制场、数据场、CRC 场、应答场和帧结束,数据长度可为 0。CAN 技术规范 2.0B 数据帧的组成如图2-3所示。在 CAN 技术规范 2.0B 中有两种不同的帧格式,他们主要区分在标识符的长短,具有 11 位标识符的帧称为标准帧,而扩展帧包括 29 位标识符。标准格式和扩展格式的数据帧结构如图2-4、图2-5所示。图2-3 2.0B数据帧组成图图2-4标准数据帧结构图图2-5扩展数据帧结构图CAN技术规范 2.0B对报文滤波着重加以描述,报文滤波器是基于整个标识符位基准。屏蔽寄存器能够选择一组标识符,从而更加方便的将映像至接收缓存器中,屏蔽寄存器每一位都必须是可编程的,它的长度既可以是全部标识符,同时也可以是此中的一部分。帧起始(SOF)标志数据帧和远程帧的起始,它仅由一个显性位构成,只有在总线处于空闲状态时,才允许单元开始发送。所有单元都必须同步于首先开始发送的那个单元的帧起始前沿。仲裁场是由标识符和远程发送请求位(RTR)两大部分构成,如图 2-6 所示。对于CAN技术规范 2.0A,标识符的长度为 11 位,这些位一从高位到低位的顺序发送,最低位为ID.0,其中最高 7 位不能全为隐性。图2-6 仲裁场结构图对于CAN技术规范2.0B,标准格式和扩展格式的仲裁场不同,在标准格式中, 11 位标识符和远程发送请求位RTR组成,标识符位为 ID.28-ID.18;RTR 位在数据帧中必须为显性,而在远程帧中必须为隐性。为区别标准格式和扩展格式,将CAN技术规范 2.0A 中的 r1 改记为 IDE 位。在CAN技术规范 2.0B,在扩展格式中,仲裁场:29 位标识符 ID.28-ID.0;替代远程请求SRR位(隐性位);标识位扩展位IDE(隐性位);远程发送请求位RTR。2.5本章小结本章对CAN总线的协议进行了大体的描述,其中CAN的分层结构,CAN总线的通信模式以及CAN报文的传送还有CAN总线帧结构。通过本章,我对CAN协议进行了学习,有了很好的认知,了解了它的基本原理,为接下来的系统结构设计打好了一定的基础。263控制系统的硬件设计3.1系统框架设计本章主要阐述车身舒适系统的硬件部分的设计,车身舒适系统是应用在轿车身控制系统中的一个智能子系统,系统中的各个节点通过CAN总线进行实时通信,图3-1简洁地表示了此系统结构。该系统将中央节点和左前车窗节点整合在一起,同时右前车窗和右后视镜节点放在一起,加上右左后车窗和右后车窗一共分为4个节点。对于四个节点来说,其硬件结构和软件代码基本一致,本课题对右前车窗节点(包括右后视镜)和中央节点进行重点研究。图3-1 控制系统框图3.2中央节点的硬件设计主控节点主要由下面几个模块组成,其中包括电机,驱动芯片和CAN收发器模块和CAN总线连接的CAN模块,其框图如图3-2所示。图3-2 主控节点框图3.2.1 微控制器的选型在本文中我选择了3种不同系列的单片机进行对比,其中包括AVR,PIC和STC。首先对AVR系列单片机进行介绍由ATMEL公司挪威设计中心利用其Flash技术研发出的高速8位单片机,其优点可靠性高,功能强,高速度。AVR单片机具有多种休眠模式从而省电,抗干扰性强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。其次是PIC系列单片机,PIC单片机是小型计算机,主要是用来开发和控制外围设计的集成电路。其优点是将电路做得小巧变为了可能。最后是STC单片机是由STC公司生产的8位处理器,即很多书籍上所说的51单片机。它的优点是功能强,结构简单,实用性强,价格便宜,大部分单片机的功能它也同时具备。综上所述,我选择的是STC系列单片机STC89C52,因为在对比中发现STC系列单片机性价比高,同时满足设计的需求。AVR与PIC系列单片机,价格过高,程序过于繁琐,或不满足设计需求。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进,使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选 。其STC89C52引脚如图3-3。图3-3 STC89C52的引脚结构图引脚功能:VCC:AT89C51电源正极输入,接+5V电压。GND:电源接地端。XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大输入端,这个放大器构成了片内振荡器。它采用外部振荡器,引脚应接地。XTAL2:接外部晶振真的一个引脚。在片内接至振荡器的反相放大器输出和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡器信号的输入。RST:STC89C52的复位信号输入引脚,高电位工作。ALE/PROG:ALE是“ADDRESS LATCH ENABLE”的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE信号负跳变来触发外部的8位锁存器(如74LS373),将端口P0的地址总线(A0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE引脚的输出频率是系统工作频率的1/16,因此可以用来驱动其它外围芯片的时钟输入。当问外部存储器期间,将以1/12振荡频率输出。EA/VPP:该引脚为低电平时,则读取外部的程序代码(存于外部EPROM中)来执行程序。此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC值超过片内程序存储器地址时,将自动转向外部程序存储器继续运行。PSEN:此为“Program Store Enable”的缩写。访问外部程序存储器选通信号,低电平有效。在访问外部程序存储器读取指令码时,每个机器周期产生二次PSEN信号。在执行片内程序存储器指令时,不产生PSEN信号,在访问外部数据时,亦不产生PSEN信号。P0:P0口(P0.0P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向I/O口用。P0口没一个引脚可以推动8个LSTTL负载。P1:P1口(P1.0P1.7)是具有内部提升电路的双向I/O端口,其输出可以推动4个LSTTL负载。仅供用户作为输入输出用的端口。P3:P3口(P3.0P3.7)也是具有内部提升电路的双向I/O端口,他还提供包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。在对Flash编程和程序校验期间,P3还接收一些控制信号。其特殊功能引脚分配如下:P3.0,RXD:串行通信输入。P3.1,TXD:串行通信输出。P3.2,INT0:外部中断0输入,低电平有效。P3.3,INT1:外部中断1输入,低电平有效。P3.4,T0:计数器0外部事件计数输入端。P3.5,T1:计数器1外部事件计数输入端。P3.6,WR:外部随机存储器的写选通,低电平有效。P3.7,RD:外部随机存储器的读选通,低电平有效。3.2.2 CAN模块的选型本课题中的右前控制节点和中央控节点等其它节点之间的通信信息是通过CAN总线来传输的,因此CAN模块就成为了节点之间信息交互的窗口。CAN模块是连接微控制器和CAN总线的通道,它的硬件结构主要由CAN协议控制器和CAN收发控制器组成。下面将对CAN控制器和CAN收发器这两块芯片进行选型。3.2.2.1 CAN控制器的选型下面将对市面上两款主流独立CAN控制器进行对比,即MCP2510和SJA1000。MCP2510是一种带有SPI接口的CAN控制器,它支持CAN技术规范V2.0A/B;并能够发送的接收标准的和扩展的信息帧,同时具有接收滤波和信息管理的功能。它还有用于自检的还回模式。该芯片还支持远程帧。该芯片正常的工作电压为3.5V到5.5V。MCP2510通过SI接口与MCU进行数据传输,最高数据传输速率可达5Mb/s,MCU可通过MCP2510与CAN总线上的其它MCU单元通讯。编程位传输速录可达1Mb/S。MCP2510拥有两个接收缓冲器,可优先储存报文,六个完全验收滤波器和两个完全验收屏蔽滤波器。同时还具有灵活的中断管理能力,这些特点使得MCU对CAN总线的操作变得非常简便。SJA1000是飞利浦公司早期产品,也是现今主流的CAN控制器。具有如下特点:(1)工作模式为basiccan模式;(2)具有扩展的接收缓冲器,64字节的fifo结构;(3)支持CAN2.0b;(4)支持11位和29位识别码;(5)位速率可达1mbit/s;(6)支持pelican模式及其扩展功能;(7)时钟频率为24mhz;(8)支持与不同微处理器的接口;(9)可编程的can输出驱动配置;(10)温度范围(-40+125)。根据上面的对比是在SJA1000之后出现的,故其在性能上要比SJA1000优秀。但是和SJA1000相比,MCP510的结构要更加复杂。同时在设计车身舒适系统上,SJA1000对系统的需求可以充分满足。所有在本文中就选择SJA1000这款比较简单的元件来满足系统的设计。下面就要详细的介绍SJA1000控制器。SJA1000芯片是一款专门为CAN总线设计的独立CAN协议控制器,它由飞利浦公司生产,支持完备的CAN2.0协议。其引脚结构图如图3-4所示。SJA1000兼容Intel和Motorola两种模式,本课题中的SJA1000是采用Intel模式。SJA1000内部被分成9个功能模块,其中有2个是用来控制芯片自身正常工作的振荡器模块,另外7个是实现CAN2.0协议的控制模块,它们分别是接口管理模块、发送缓冲模块、接收缓冲模块、验收滤波模块、位流处理模块、位时序逻辑模块和错误管理模块。图3-4 SJA1000引脚结构图下面是SJA1000的引脚功能介绍:CLKOUT:当单片机需要脉冲来工作是除了可以外接一个时钟产生器也可以连接这个CLKOUT引脚,这个引脚脉冲是由SJA1000内部自带的振荡器产生;Vss1:接地;MODE:该引脚是控制器工作模式的选取引脚,高电平为Intel模式低就为(Motorola)模式;VDD3:输出驱动的电源;TX0/TX1:控制器输出端口,输出0或1到物理线上;Vss3:输出驱动器接地;VDD2:输入比较器的电源源;RX0 RX1:从物理的CAN总线输入到SJA1000输入比较器,显性电平将唤醒SJA1000的睡眠模。如果RX0电平比RX1的低,就读显性电平,反之读隐性电平如果时钟分频寄存器的CBP位被置1,CAN输入比较器被短路以减少内部延时。当SJA1000连有外部收发电路时,只有RX0被激活,隐性电平被认为是逻辑高而显性电平被认为是逻辑低;Vss2::输入比较器的接地端;VDD1:逻辑电路的5V电源;通过对SJA1000各个功能模块的研究,我们对基本功能有了具体的了解,SJA1000的工作方式有两种,一种是Basic CAN,另一种是 Peli CAN,课题中的SJA1000是工作在Peli CAN模式中。SJA1000的内部结构如图3-5所示,主要由接口管理逻辑IML、信息缓冲器(含发送缓冲器TXB和接收缓冲器RXFIFO)、位流 处 理 器BSP) 、接收过滤器(AST) 、位时序处理逻辑BTL、错误管理逻辑EML 、内部振荡器及复位电路等构成 。IML接收来自CPU 的命令,控制CAN寄存器的寻址并向 主控器提供中断信息及状态信息。经过IML, 把要发送的数据写入TXB,TXB中的数据由TXP处理后经BTL, 输出到CAN BUS, BTL始终监视CAN BUS,当检测到有效的信息头 “隐性电平A 控制电平”的转换时启动接收过程,接收的信息首先要由位流处理器BSP处理,并由ASP过滤,只有当接收的信息的识别码与ASP检验相符时,接收信息才最终被写入RXB或RXFIFO中。RXFIFO最多可以缓存12 字节的数据,该数据可被CPU读取。EML负责传送层中调制器的错误管制,它接收BSP的出错报告,促使BSP和IML进行错误统计。图3-5 SJA1000内部结构图3.2.2.2 CAN收发器的选型在CAN通信中,收发器起到了十分相当特别的作用。目前市面的收发器型号也是不计其数,本节通过简单介绍两款收发器的异同,从而进行比对选型。这两款收发器的型号分别为TJA1040和PCA82C250。首先是他们的相同点:1.高速CAN收发器,都能达到1Mbaud2.都可以进入待机模式3.都具有较强的抗干扰性4.都具有热关断功能(过热保护)两种芯片之间的差异:1. PCA82C251符合ISO 11898-24标准,而TJA1040符合ISO 11898标准2. PCA82C251无源时不会妨碍(not disturb)总线,而TJA1040无源时可视为从总线上脱离(disengages from bus),为0负载。在无源状态下,TJA1040表现稍好芯片PCA82C250是CAN协议控制器和物理总线之间的接口,该芯片向CAN总线提供差分的输出电压,向CAN协议控制器提供差分接收电压。该芯片有如下特点:首先,其与ISO11898标准安全兼容;其次,传输速率高,可达到1Mbps;再者,它拥有总线保护功能,而且它采用差分接收电路,具有很高的共模抑制比,还有许多电路保护功能。PCA82C250管脚结构如下面图3-6所示。图3-6 芯片PCA82C250引脚结构图PCA82C250内部结构可分为四大模块,接收模块、发送模块、保护电路模块和Rs模块。接收模块主要是由差分电路组成,这种设计极大地提高了数据传输的正确率。发送模块与电路保护模块、Rs模块相连,相互协调发送数据。保护电路模块设置了一个限流电路防止发射极输出端由于电池的正负电极直接相连接而引起的短路。尽管这种情况下会增加管耗,但会大大增加使用的安全性。如果结温超过160度时,两个发射器输出端的极限电流将减少。这种输出结构可以有效防止汽车环境中的电压电流瞬间变化所带来的损害。3.2.2.3 CAN模块原理图设计微处理器与SJA1000之间的电路连接如图3-7所示。微处理器与独立CAN控制器SJA1000相连,负责SJA1000的初始化,并且通过SJA1000实现数据的接收和发送等通信任务。SJA1000提供地址总线结构,而微处理器80C52可以通过P0、P2口来访问外部地址总线。在图3-7中,SJA1000的AD0AD7连接到80C52的P0口。当P2.0为低电平时,微处理器可以通过访问外部存储器的方式来访问SJA1000的寄存器,通过对这些寄存器的读写来完成微处理器对SJA1000的控制操作。具体的程序编写方法,将在软件部分进行研究。由于处理器是高电平复位,而SJA1000是低电平复位。因此图3-7的电路图中将SJA1000和处理器的复位电路分开。在P2.3上接一个小灯作为调试所用。另外,SJA1000接入的晶振是16MHz。图3-7 SJA1000与微处理器的接口电路图图3-7实现了SJA1000与微处理器的连接,从CAN协议的分层结构上来说,已经完成了“应用层”电路的设计。但是若想输出CAN总线传输所需要的差分信号,还需要“物理层”电路的支持。CAN收发器PCA82C250与CAN控制器SJA1000的电路连接,既属于“物理层”。下面进行PCA82C250与SJA1000接口电路的设计,其电路图如图3-8所示。从图3-8中可以看出,PCA82C250与CAN总线的接口部分采用了一定的安全和抗干扰措施。PCA82C250的CAN-H和CAN-L引脚各自通过一个5欧姆的电阻与CAN总线相连,电阻可起到一定的限流作用,保护PCA82C250免受过流的冲击。CAN-H和CAN-L引脚与地之间并联了两个30pF的电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射功能。此外,CAN-H和CAN-L引脚与地之间分别接了一个防电击管,当两输入端与地之间出现瞬变干扰时,通过防电击管的放电而得到保护。另外,图3-8中CAN收发器的CAN-H和CAN-L之间接了一个120欧姆的电阻,此电阻起到匹配CAN节点两端阻抗的作用。在CAN总线的节点设计中,此电阻只要加在总线的两端即可,不需要在每个节点的两端都加。在没有此匹配电阻的情况下,那么CAN总线通信的可靠性大大降低,严重时甚至会导致无法通信。在CAN节点作自收发接收测试时,必须要用此匹配电阻,否则将无法实现自收发功能。图3-8 CAN收发器接口电路连接图3.2.3 中央控制节点的设计中央控制节点主要由下面几个模块组成,包括对节点进行智能控制的微处理器模块、完成中央(车窗和后视镜)节点和CAN总线连接的CAN模块、实现对车窗升降器电机驱动的驱动模块和传感器模块。由于车窗和后视镜节点的微处理器模块和CAN模块与主控节点的完全相同,因此本节主要研究驱动模块和传感器模块的硬件设计。3.2.3.1 电机驱动芯片的选型 在众多的电机驱动芯片中我选取了两个个适合车窗控制系统设计的电机进行比对。其中包括BTS7960,MC33486芯片。BTS7960是NovalithIC家族三个独立的芯片的一部分,其一是p型通道的高电位场效应晶体管,其二是一个n型通道的低电位场效应晶体管,结合一个驱动晶片,形成一个完全整合的高电流半桥。电源开关应用垂直场效应管技术来确保最佳的阻态。通过驱动集成技术,逻辑电平输入、电流取样诊断、转换速率调整器,失效发生时间、防止欠电压、过电流、短路结构轻易地连接到一个微处理器上。MC33486芯片功能特点(1)正常输出直流电流为10A。(2)最大峰值电流可达35A。(3)直流输入电压范围较宽,达828V。(4)当电压高于28V时具有过压保护功能。(5)对高端及低端均能过流保护。(6)斩波控制下频率可达30kHz。(7)对检测到的高端输出电流具有镜像特点。通过两个芯片功能和结构的比对,我选择的是MC33486使用了摩托罗拉公司生产的MC33486作为电机驱动芯片。主要原因是MC33486电机驱动芯片是一款专门为调节车窗而设计的驱动芯片,它的功能与特点更符合本文对车窗控制系统的需求。下图3-9是芯片MC33486的引脚结构图。图3-9 芯片MC33686的引脚结构图同时在后视镜的设计中,我选择的是L9949驱动芯片。L9949是ST公司专门为汽车电子应用而开发的H桥电机驱动芯片,能够更好地完成对后视镜控制的各项功能。3.2.3.2 车窗驱动模块的原理图车窗电机可正反转动,有双金属片作为电机内部的过流保护装置。车门玻璃升降的至关重要的一点是车窗电动机芯片,要有驱动大电流的电机并有检测功能。实现了电动车窗的防夹功能。图3-10 车窗驱动模块电路图3.2.3.3 后视镜驱动模块原理图电动后视镜是由三个直流电动机和一个加热电阻丝构成,可实现后视镜所有功能和动作。车内按钮可以调整后视镜的角度;可以折叠收缩使汽车更好地通过,以及加热除霜提高汽车在恶劣环境下的安全性。后视镜的控制包括上下左右四个方向的位置调整及折叠控制,为了保护后视镜电机,还需要对电机的工作状态进行监控,有效地识别电机是否堵转, 在出现电机堵转时及时地停止电机。图3-11 后视镜驱动模块电路图3.3系统最小电路设计一个系统的最小电路是指单片机要正常工作的电路。它必须包含为单片机提供电源的电源电路,单片机工作时时按照节拍工作的,故含有为其提供时钟信号的时钟电路。单片机每次工作时都要重新初始化,复位电路必不可少。以上三个电路是单片机最小系统所必须的电路。本文所设计的系统最小电路如图3-12。图3-12系统最小电路原理图3.4电源电路设计单片机机的工作的最大电压大约为5V,而汽车上多数是采用蓄电池为其电路供电。蓄电池的电压平均值大概是在9V到15V,所以蓄电池无法直接成为单片机的电源,这时就需要设计一个电源模块对其电压进行转换。具体的电源模块电路图如下图:图3-13电源电路图3.5中央节点电路设计这里说的节点电路图是包括了CAN节点的电路图和外围电路图。由于CAN节点的电路图三个节点是一样的,这里统一先说明CAN智能中央节点设计图。具体内容可见图3-14。图3-14 中央节点连接图4系统的软件设计软件系统是系统的重要组成部分。它是整个控制系统的大脑。软件系统中的支持系统对硬件系统进行控制,才可以稳扎稳打的实现既定功能以及完成相应任务。在编写程序时,我们力求简化,实用,易于更改。这样更有利于在以后的对系统的软件进行更改或者是开发新的功能等等。在整篇文章里是系统设计中不易于攻克的难点。4.1 CAN模块CAN模块的软件设计与硬件设计相对应,完成软件设计后,即可通过CAN模块进行总线通信。CAN模块的软件设计主要包括三个部分:CAN控制器的初始化、报文的发送和报文的接收。4.2系统主程序主程序为一个顺序执行的无限循环程序。首先对系统硬件和各变量进行初始化,实际上就是对CAN控制器SJA1000和CPU的初始化。系统上电后主控制器运行自己的特殊复位程序然后进入设定SJA1000程序。上电后CAN控制器得到一个复位脉冲使它进入复位模式。在复位模式下对SJA1000进行初始化,包括工作模式设置、波特率参数设置、接受滤波方式设置、接收屏蔽寄存器设置、接受代码寄存器设置和中断允许寄存器设置。在完成SJA1000的初始化设置后,SJA1000就可以进入到操作者模式状态,进行正常的通信任务。然后就要对AT89C51的CPU进行初始化,设置外部中断,判断信号是发送还是接收状态,AT89C51要负责判断信号发送之后,如果没有出现错误,就可以进行P1口的数据读取,实现报文的发送。最后再由下一个控制单元负责报文的接收。这样整个系统就实现了通信过程。4.3系统的初始化CAN控制器SJA1000在使用之前需要对其进行初始化,SJA1000的初始化只有在复位模式下才能进行,初始化主要包括工作方式的设置。验收滤方式的设置、验收屏蔽寄存器的设置、验收代码寄存器的设置、波特率参数的设置和中断允许寄存器的设置。SJA1000初始化完成后,其回到工作状态,可以进行正常的通信任务。图4-1是SJA1000初始化的流程图。图4-1 SJA1000初始化流程图4.4 CAN报文的发送 报文发送子程序是负责节点报文的发送,在发送信息之前需要判断一下发送的是数据帧还是遥控帧。如果是数据帧,发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入SJA1000的发送缓存区,之后启动SJA1000的发送命令即可。图4-2是发送子程序的流程图。图4-2 报文发送流程图4.5 CAN报文接收报文接收子程序负责节点报文的接收以及其它处理情况。接收子程序比发送子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如总线关闭、错误警报、接收益处等情况进行处理。SJA1000报文的接收主要有两种方式:中断接收方式和查询接收方式。本课题中采用的是查询方式,其流程图如图4-3所示。图4-3 报文接收流程图4.6 驱动模块车窗电机由三个按键来完成输入信号的控制,它们分别代表电机正转、反转和停转。当主控节点和车窗节点同时对车窗发出控制信息时,主控节点优先级高于车窗节点。图4-4、图4-5是驱动模块的程序流程图。图4-4 车窗驱动模块流程图图4-5 后视镜驱动模块流程图4.7 总结本章主要对报文的接收与发送进行研究,从系统的初始化入手,进而依照模块化的方式去设计了各个模块的软件部分。本章着重对CAN模块和电机驱动模块进行了软件设计。5总结与展望如今在当前的大网络数据时代,各项新生事物层出不穷。汽车上的网络技术同时也在日新月异的飞速发展。在当前的车载网络技术里,CAN总线全然不像当年那么青涩,CAN总线技术已然成为汽车技术的一个关键部分,与此同时可以看到现今CAN总线的已经走向成熟。在当下车载网络技术已经成为汽车电子行业继续开发的重要方向。近几十年来我国在CAN总线方面飞速发展,相对于汽车大国,我国正在以飞速发展的脚步迎头赶上。通过研究CAN网络技术,让我对车载网络充满了极大兴趣与热爱,本文选择的是基于CAN总线的车身舒适系统,该题目对我个人今后的学习和发展有很大的意义。5.1完成的任务为了能够完成这篇论文完成了以下任务:1、通过了解车载网络技术国内外发展现状,以及现在发展的基本趋势,各种车载网络协议的优缺点,从而选取选择了CAN网络作为本文研究的方式对电动车窗和后视镜进行控制。2、通过查阅大量书籍以及有关资料,从而比较深入研究了CAN网络的通讯协议以及系统中的结构,进而大概规划了对后视镜和车窗的控制系统的设计。再结合汽车的具体结构,设计系统整体方案,包括前后三个节点以及中央控制节点。3、针对汽车车身舒适系统具体的设计要求,我选择了STC89C52,SJA1000 CAN控制器,以及PCA82C250的CAN收发器,同时还选择了相应的驱动芯片。4、通过对单片机,CAN控制器以及CAN收发器的原理的学习,再结合电工技术将各个元件连接起来,再根据具体机电的功能配上驱动芯片和电机进而设计画出节点的硬件电路图。5、通过运用C语言来编写程序,同时结合CAN总线协议完成了对节点的元件的初始化,以及节点的收发的程序和收发时的中断程序的编写。5.2展望本文设计的系统基本能够完成对后视镜和车窗的控制。由于本文设计的控制系统是比较简单的。还有许多地方要改进。以下就是对本文改进的地方的展望:1、本文对于元件选取可以选取一些新型单片机,以此来简化系统的复杂程度。2、系统中对于车窗的控制可以在以后的学习中添加温度控制保护等功能。3、系统中对于后视镜的控制过于简单化,可以加入自动跟随座椅调节。35参考文献1诸晓强. 基于CAN总线的车身控制系统的设计与实现D.上海交通大学,2010.2屈敏. 汽车车身舒适系统的CAN总线及其测控技术的研究D.南京林业大学,2007.3宁涛. 基于CAN总线的汽车控制系统的研究D.合肥工业大学,2013.4陆孟雄. 汽车舒适系统的CAN总线性能分析与仿真D.南京农业大学,2004.5姚竹亭,吴立新,潘宏侠,刘燕军,张雄.基于CAN总线的车辆控制系统设计与实现J.火力与指挥控制,2009,34(06)6李彩生. 基于CAN总线的汽车车身网络主要节点的设计与分析D.南京林业大学,2009.7魏雄武.CAN与汽车网络技术J.上海汽车,2005(07)8牛德青. CAN总线的实时性和可靠性研究D.中国兵器科学研究院(第58所),2005.9程军, 崔继波, 苟凯英.车辆控制系统CAN总线通信的实施方法J.汽车工程,2001.10郑芳芳,李娟,刘成厚,关宁,崔凤凯.一种基于CAN总线的汽车后视镜控制系统J.农业装备与车辆工程,2014,52(02)11沈会,徐青菁,叶子晟,陈伟.基于CAN总线的电动车窗控制系统设计J.电力电子技术,2011,45(12) 12散晓燕.基于CAN总线的电动车窗控制研究J.制造业自动化,2010,32(06) 13杨建军.CAN总线技术在汽车中的应用J.上海汽车,2007(06) 14屈敏,赵建华.车载CAN总线计算机监控系统的设计与应用J.工业控制计算机,2008(11)15刘刚. 汽车CAN总线网络控制系统设计与实现D.电子科技大学,2012.16熊福昌. 汽车CAN总线通信技术研究D.武汉科技大学,2009.附录SJA1000 的内部寄存器地址的定义#defineSJA_ADR 0X0000#define MODEXBYTESJA_ADR+00#define CMRXBYTESJA_ADR+01#define SRXBYTESJA_ADR+02#define IRXBYTESJA_ADR+03#define IERXBYTESJA_ADR+04#define BTR0XBYTESJA_ADR+06#define BTR1XBYTESJA_ADR+07#define OCRXBYTESJA_ADR+08#define TESTXBYTESJA_ADR+09#define ALCXBYTESJA_ADR+11#define ECCXBYTESJA_ADR+12#define ELWRXBYTESJA_ADR+13#define RXERRXBYTESJA_ADR+14#define TXERRXBYTESJA_ADR+15/#define TXBXBYTESJA_ADR+16/#define RXBXBYTESJA_ADR+16#define TXSFFXBYTESJA_ADR+16#define TXID1XBYTESJA_ADR+17#define TXID2XBYTESJA_ADR+18#define TXDATA1XBYTESJA_ADR+19#define RXDATA1XBYTESJA_ADR+19#define ACR0XBYTESJA_ADR+16#define ACR1XBYTESJA_ADR+17#define AMR0XBYTESJA_ADR+20#define AMR1XBYTESJA_ADR+21/#define RBSAXBYTESJA_ADR+30#define CDRXBYTESJA_ADR+31#define ID0x01#define TOID0x00节点初始化程序:voidCanInit(void) Unsigned char temp Mode;Unsigned char temp7=0;unsignedchartemp8=0;temp Mode=0x01;temp Mode|=0x08;temp Mode|=0x00; WR_SJA(SJA_MOD,tempMode); temp7=RD_SJA(SJA_MOD); WR_SJA(SJA_CDR,0x0C8);WR_SJA(SJA_AMR0,0xff); WR_SJA(SJA_AMR1,0xff);WR_SJA(SJA_AMR2,0xff);WR_SJA(SJA_AMR3,0xff);WR_SJA(SJA_ACR0,0x80); WR_SJA(SJA_ACR1,0x00);WR_SJA(SJA_ACR2,0x00);WR_SJA(SJA_ACR3 ,0x00); WR_SJA(SJA_BTR0,0x00);WR_SJA(SJA_BTR1,0x1c);emp7=RD_SJA(SJA_BTR0);temp8=RD_SJA(SJA_BTR1); mSendDelay=1000; WR_SJA(SJA_IER,0x01);WR_SJA(SJA_OCR,0x0da); WR_SJA(SJA_MOD,tempMode&0xFE);中央节点单片机的主程序#include#include#includes.hSbit switch1=P10;Sbit switch 2=P11;Sbit switch 3=P12;Sbit switch 4=P13;Sbit switch 5=P14;Sbit switch 6=P15;Sbits switch7 =P16;Sbit switch8 =P17;#define Write Device Address 0xa0#define Read Device Address 0xa1#define- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CAN 总线 车身 舒适 系统 设计 说明书
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文