收藏 分销(赏)

CAN总线在汽车车身控制方面的设计与应用.pdf

上传人:曲**** 文档编号:5431346 上传时间:2024-10-31 格式:PDF 页数:66 大小:2.28MB
下载 相关 举报
CAN总线在汽车车身控制方面的设计与应用.pdf_第1页
第1页 / 共66页
CAN总线在汽车车身控制方面的设计与应用.pdf_第2页
第2页 / 共66页
点击查看更多>>
资源描述
哈尔滨工业大学工学硕士学位论文摘要随着现代汽车技术的不断发展,汽车电子设备不断增加,进而带来汽车 综合控制系统中大量的控制信号需实时交换的问题,传统的采用线束进行点 对点的连接方式已经远远不能满足这种要求,以CAN总线为代表的车用总 线应运而生。本文介绍了目前国际汽车电子技术的现状与发展趋势,比较了当今汽车 网络主流技术,充分分析了欧美多种车型上广泛应用的以CAN总线为基础 的整车信息共享的车载分布式控制系统的性能和特点。针对国产轿车车身控 制模块的多子系统分别工作、智能化程度低、功能可扩展性差的现状,提出 了基于高层协议的分布式模块化控制器局域网CAN总线控制解决方案。并 将此思想通过车身控制模块予以实现:采用传输速率小于125kps的低速双 线CAN总线连接车身控制模块的五个子模块一一中央控制模块,左前模 块、右前模块、左后模块和右后模块,整个车身控制系统只需要一根双绞线 即可实现数据的传输,使得传输线束大大简化,系统的可靠性得到了提高,有效节约了线束安装空间和系统成本。将车身控制功能集成化、网络化。所 研制的CAN总线车身控制系统经试验证明其功能达到设计要求。文中所阐述的CAN总线车身控制系统的设计针对我国汽车工业现有技 术和不久将来的汽车消费水平的考虑,对车身控制模块硬件电路和软件驱动 程序的设计思想作了较为详尽的论述,同时也介绍了电路的研制,并搭建了 基于CAN总线的车身控制系统试验平台。经过实际电路的调试,证明了系 统的可行性。希望这些努力对我国汽车企业目前自主开发CAN总线控制系 统和车身控制系统,提供一定的实用价值。关键词 汽车;车上网络;CAN总线;车身控制-I-哈尔滨工业大学工学硕士学位论文AbstractAs the development of the modern automobile technology,the amount of the electronic facilities is increasing fast.So there are more and more signals need to be handled.,and the traditional point to point connection can not satisfy this request.As the representative of the bus used in automobiles,the CAN-bus comes into existence.This paper introduces the development and the state of the automobile electronics technology in the worldwide,and makes some comparision among the main automobile buses.The body control system of homemade automobile is mostly composed of parts that operate unattached,which is not extendable and less intelligent.To improve the performance of homemade automobile,the paper brings forward a scheme that the central module and four door modules connected with CAN-bus(dual wire,_帧间空间或过载帧错误标志域r n错误界定域错误标志重叠域图2-13过载帧格式2.3.6 帧间空间数据帧或远程帧与先行帧的隔离是通过帧间空间实现的,无论此先行帧类 型如何。所不同的是,过载帧与错误帧之前没有帧间空间,多个过载帧之间也 不是由帧间空间隔离的。帧间空间包括间歇、总线空闲的位域。如果“错误被动”的站已作为前一报文的 发送器时,则其帧间空间除了间歇、总线空闲外,还包括称作挂起传送(Suspend Transimission)的时域。对于已作为前一报文发送器的“错误被动”的站,其帧间空间如图2-13所示:间歇由3个隐性位组成。间歇期间,所 有的站均不允许传送数据帧或远程帧,但可以发送过载信息。在CAN2.0 中,如果一个节点在等待发送一个信息,而且它在间歇时域的第三位处检测到 一个显性状态,它将认为是一个帧的开始位;这时,它不再转为接收端,也不 再发送起始位,而是在下一个位域直接发送它的标识符的第一位去竞争总线。-23-哈尔滨工业大学工学硕士学位论文帧 帧间歇域 总线空间发送上一个信息的错误被动节点帧间空间如下:帧 帧间歇域 总线空间传送挂起图2-14帧间空间总线空闲状态可以持续任意长时间。这时表示总线上没有信息传送,总线 处于空闲状态,任何节点都可以访问总线。在间歇域后的第一位时域就可以启 动发送,这时总线上的一个显性状态就表示一帧开始发送。CAN节点还有一种状态称为挂起发送。它是指错误被动节点在发送了一 些信息后,在开始发送下面信息或检测到总线空闲之前,要发送八个隐性位跟 随在间歇域之后。如果与此同时另一个节点开始发送报文,则此错误被动节点 就转为接收状态。2.3.7 错误处理CAN定义了五种不会互相排斥的错误:1、位错误节点在发送位的同时也对总线进行监测。如果所发送的位 值与所监测的位值不相符合,则在此位时间里检测到一个位错误。但是在仲裁 域的填充位流期间或应答间隙域时,发送隐性位而监测到显性位,不会认为是 位错误。当发送器发送一个被动错误标志但检测到显性位时,也不视为位错 误。2、填充错误如果在使用位填充法进行编码的信息中,出现了第6个-24-哈尔滨工业大学工学硕士学位论文连续相同的位电平时,将检测到一个填充错误。3、CRC错误CRC序列是发送器的CRC计算结果。接收器计算 CRC的方法与发送器相同,如果计算结果与接收到CRC序列的结果不相 符,则检测到一个CRC错误。4、形式错误当一个固定形式的位域含有1个或多个非法位,则检测 到一个形式错误。5、应答错误只要在应答间隙期间所监视的位不为“显性,则发送器 会检测到一个应答错误。出现错误时,CAN处理错误的步骤如下:1、测试本地(Local)错误还是远程(Global)错误。2、发送错误标志(广播错误状态)。3、当错误为本地错误时,接着发送一个错误标志覆盖时域,之后再发送 错误界定符。4、所有节点废弃传送的信息。5、每个节点进行错误计数。6、信息自动重发。如果发生错误后没有更高优先权的信息传送,因出错而废弃的信息最多在 31个位时间后重新传送。2.3.8错误状态CAN节点定义了三种错误状态:错误主动状态,错误被动状态,总线脱 离状态。其转换关系如图2.18所示。错误主动的节点可以正常地参与总线通 讯,并在检测到错误时发出主动错误标志。错误被动节点不允许发送主动错误 标志。错误被动节点参与总线通讯,在错误被检测到时只发出被动错误标志。而且,发送以后,错误被动节点将在初始化下一个发送之前处于等待状态(见“挂起发送”)。总线脱离的节点不允许在总线上有任何的影响,即关闭输出驱 动器。计数规则与错误状态关系如下:1、当接收器检测到一个错误,接收错误计数就加1。在发送主动错误标志 或过载标志及应答间歇期间所检测到的错误为位错误时,接收错误计数器值不 加lo当错误标志发送以后,接收器检测到的第一个位为“显性”时,接收错误 计数值加8。-25-哈尔滨工业大学工学硕士学位论文3、当发送器发送一个错误标志时,发送错误计数器值加8。有两种例外情 况:发送器为“错误被动、并检测到一个应答错误;发送器因为在仲裁域发生 填充错,从而使填充位在RTR位前导致发送隐性位而监听到显性位时不计 数。4、发送主动错误标志或过载标志时,如果发送器检测到位错误,则发送 错误计数器值加8。5、当发送主动错误标志或过载标志或应答时,如果接受器检测到位错 误,则接收错误计数器值加8。6、在发送主动错误标志或过载标志时,当检测到第14个连续的显性位;或在被动错误标志传送时,检测到第8个跟随着被动错误标志的连续的显性 位,而且每增加8个连续显性位时,每一发送器将它们的发送错误计数值加 8,每一接收器的接收错误计数值加8。7、正确发送一帧时,发送错误计数器减1,如果已经是。则不计数。8、在正确接收一帧时,接收错误计数器减L如果接收错误计数在1 127之间,则减1;大于127时,置为H9127之间的值;如果是0,不计 数。9、当发送错误计数器值等于或超过128时,或当接收错误计数器值等于 或超过128时,节点为错误被动。让节点成为错误被动的错误条件致使节点发 出主动错误标志。10、当发送错误计数器值大于或等于255时,节点为总线脱离。11、当发送错误计数器值和接收错误计数器值都小于或等于127时,“错 误被动”的节点重新变为错误主动。12、在总线监视到128次出现11个连续隐性位之后,总线脱离的节点可 以变成错误主动(不再是总线脱离),它的错误计数值也被设置为0。一般把错误计数器大于96作为总线受到严重干扰的标志。当总线上只有 一个节点在活动时,它不会被置为总线脱离状态。-26-哈尔滨工业大学工学硕士学位论文接收错误计数器大于255图2-15错误状态转换关系2.4 CAN总线特点分析与应用CAN总线通信接口集成了 CAN协议的物理层和数据链路层功能,可完成 对通信数据的成帧处理。CAN协议的一个最大特点是废除了传统的站地址编 码,而代之以对通信数据块进行编码。数据帧的标识码可由11位或29位组 成,CAN2.0B规定在标识符的前七位不能同时为逻辑零,这种按数据帧编码 的方式,还可使不同的节点同时接收到相同的数据。数据段长度最多为8个字 节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同 时,8个字节不会占用过长的总线时间,从而保证了通信的实时性。CAN协议 采用CRC检验并可提供相应的错误处理功能,保证数据通信的可靠性。CAN 具有以下特性网:1.CAN为多主方式工作,不分主从,通信方式灵活,通过报文标识符通 信,无需站地址等节点信息;2.CAN网络上的节点信息分成不同的优先级,可满足不同的实时要求;3.CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续 传输数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况 下也不会出现网络瘫痪情况;4.CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种-27-哈尔滨工业大学工学硕士学位论文方式的数据传送与接收,无需专门的“调度”;5.CAN的直接通信距离最远可达10km(速率5kbps以下);6.CAN上的节点数主要取决于总线驱动电路,目前可达110个。报文标 识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限 制;7.采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。CAN的每帧信息都有CRC校验及其他检错措施,降低了数据出错概率。CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点 的操作不受影响;8.CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。2.5 本章小结在本章节中,首先对CAN总线的基本概念进行了详细地介绍,然后对 CAN协议中在应用中所要了解的物理层和数据连路层作了详细地阐述;最后 具体说明了在应用中CAN总线报文的传输方式和传输格式,并分析了在汽车 中采用CAN总线所带来的好处。通过本章的介绍,可以看出:1.CAN总线采川差分式传输方式传输,有效的抑制了共模干扰,提高了 信息传出的可靠性;2.CAN总线采用多主工作方式,通信灵活,可满足信息传输的实时性要 求;3.两线式的传输通道,降低了车中布线的复杂程度,节省了成本,并且结 构简单;4.总线上节点可扩展性强,最多节点数可达no个。由以上的特点可以看,应用CAN总线技术构成的汽车车身控制系统,可 以提高系统的实时性和可靠性,且成本低、结构简单、安装维护方便,能够得 到广泛应用。-28-哈尔滨工业大学工学硕士学位论文第3章CAN主要功能块及CAN总线网络方案分析CAN控制器是BOSCH CAN2.0/ISO11898-1定义的数据链路层的硬件实 现,无需CAN网络系统开发人员开发相关软件和固件。CAN收发器与传输媒 介相配合实现了物理层。本章以Philips公司的SJA1000独立CAN控制器、高 速收发器82C250为代表介绍CAN器件,并介绍当前较为典型的汽车CAN总 线网络应川方案。3.1 独立CAN控制器SJA1000SJA1000是Philips公司生产的适用于汽车环境和一般工业环境中的一种独 立CAN控制器,是PCA82C200(Philips公司早期生产的一种支持基本CAN 的独立CAN控制器芯片)的换代产品。SJA1000支持CAN2.0B,而且具有一些 新的特性,应川广泛,是典型的独立CAN控制器。SJA1000在软件和弓I脚上都是与它的前一款PCA82C200独立CAN控制 器兼容的(SJA1000引脚功能如表1所示),在此基础上增加了很多新的功 能。为了实现软件兼容,SJA1000采用了两种工作方式:BasicCAN方式(PCA82C200兼容方式),PeliCAN方式(扩展特性方式)。工作方式通过 时钟分频寄存器中的CAN方式位来选择。SJA1000的主要新功能如下:标准结构和扩展结构报文的接收和发送 64字节的接收FIFO 标准和扩展帧格式都具有单/双接收滤波器(含接收屏蔽和接收码寄存 器)可进行读/写访问的错误计数器 可编程的错误报警限制 最近一次的错误代码寄存器3.1.1 SJA1000封装与引脚引脚功能定义见表3-1。SJA1000的封装如图3-1所示。-29-哈尔滨工业大学工学硕士学位论文表3-1 SJA1000的引脚定义符号引脚功能ADOAD72,1,23 28多路地址/数据总线ALE/AS3ALE信号(Intel方式)或AS信号(Motorola方式)/CS4片选输入,低电平允许访问SJA1000/RD5微控制器的读信号(Intel方式)或E使能信号(Motorola式)AVR6微控制器的写信号(Intel方式)或读写信号(Motorola方式)CLKOUT7SJA1000产生的提供给微控制器的时钟输出信号,此信号由内部 振荡器经可编程分频器得到。可编程禁止该引脚V SS18逻辑电路地XTAL19振荡放大器输入,外部振荡放大器信号经此引脚输入XTAL2IO振荡放大器输出,使用外部振荡信号时此引脚必须开路MODE11方式选择输入端:1:Intel方式,0:Motorola方式V DD312输出驱动器5V电源TXO13由输出驱动器0至物理总线的输出端TXI14由输出驱动器1至物理总线的输出端V SS315输出驱动器地/INT16中断输出端,用于向微控制器提供中断信号/RST17复位输入端,用于重新启动CAN接口(低电平有效)V DD218输入比较器5V电源RXO,RX119,20从物理的CAN总线输入到SJA1000的输入比较器:支配(控制)电平将会唤醒SJA1000的睡眠模式;如果RX1比RX0的电平 高,就读支配(控制)电平,反之读弱势电平。如果时钟分频寄 存器的CBP位被置位,就旁路CAN输入比较器以减少内部延时(此时连有外部收发电路)。这种情况下只有RX0是激活的;弱 势电平被认为是高而支配电平被认为是低V SS221输入比较器接地端V DD122逻辑电路5V电源-30-哈尔滨工业大学工学硕士学位论文巨叵巨W叵叵叵叵叵叵叵叵叵叵Z ZAuZLKX1X MSJA1000ADEAD4AD3AD2AD1ADODDSS2RX1RXCDWRSTNTSS3图 3-1 SJA1000 引脚3.1.2 CAN控制器模块的说明你接 口 管理逻辑(IML,Interface Management Logic)接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻址,向主控 制器提供中断信息和状态信息。发送缓冲器(TXB,Transmit Buffer)发送缓冲器是CPU和位流处理器BSP之间的接口,能够存储要发送到 CAN网络上的整个信息。缓冲器长13个字节,由CPU写入,由位流处理器 读出。接收缓冲器(RXB,Receiver Buffer)接收缓冲器是验收滤波器和CPU之间的接口。用来储存从CAN总线上接 收的信息,是CPU访问接收先入先出存储器(RXFIFO)的一个13字节长的 窗口。SJA1000的RXFIFO存储区共有64个字节。由于这64个字节存储区的 缓冲作用,使得CPU在处理一个信息的同时,SJA1000可以接收其他的信 息。验收滤波器(ACF,Acceptance Filter)验收滤波器把其中的标识符和接收到的标识符相比较,以决定是否接收信 息。在纯粹的接收测试中,所有的信息都保存在RXFIFO中。位流处理器(BSP,Bit Stream Processor)位流处理器是一个在发送缓冲器、RXFIFO和CAN总线之间控制数据流-31-哈尔滨工业大学工学硕士学位论文的程序装置,它还在CAN总线上执行错误检测、仲裁、填充和错误处理。位时序逻辑(BTL,Bit Timing Logic)位时序逻辑监控审的CAN总线,处理与总线有关的位时序。它通过总 线状态由隐性到显性的变化进行信息启动传送的同步(硬同步),在传送过程 中调节位时间关系以保持同步(软同步)。位定时逻辑具有对位时间段编程的 功能,以补偿或调节位传送中的延迟或相移,确保在正确的位时间采样总线状O错误处理逻辑(EML,Error Management Logic)错误处理逻辑完成传输层的错误处理。它接收位流处理器传来的错误消 息,然后向位流处理器和上层错误处理逻辑发出错误状态。3.2 Peli CAN 模式SJA1000有BASIC CAN 和Peli CAN 两种工作模式,本节内容为Peli CAN模式。3.2.1 寻址SJA1000是一种基于微控制器内存编址的I/O设备。设备的独立操作是通 过与片内RAM相同的寻址方式来实现的。SJA1000的可寻址寄存器空间范围包括控制寄存器段和信息缓冲寄存器 区。控制寄存器段在初始化下载时被编程,这些寄存器的内容控制SJA1000的 工作状态;节点CPU通过设置控制寄存器进行CAN网络通信的管理。信息缓 冲寄存器区用于暂存发送或接受的信息。要发送的信息必须首先写入发送信息 缓冲寄存器;接受到的信息首先进入接收信息缓冲寄存器区,CPU在从接收缓 冲寄存器区读取信息。CPU与SJA1000控制寄存器段之间传送的是状态和控 制命令,与信息缓冲寄存器段之间传送的是数据。控制寄存器段的寄存器有两种访问模式:复位模式和操作模式。在硬件复 位或CAN控制器进入总线脱离状态时,自动进入复位模式;当控制器的复位 请求位置位时,进入操作模式。3.2.2 复位值当检测到“复位模式位”置1时,SJA1000停止当前操作,进入复位模式。-32-哈尔滨工业大学工学硕士学位论文“复位模式位”由I变为0时,回到由模式寄存器定义的操作模式。3.2.3 模式寄存器(MOD)模式寄存器的内容用于控制SJA1OOO的工作状态,可以由CPU进行读 写。当有总线活动或中断时,置位休眠模式位将导致一个唤醒中断。当 SJA1OOO被唤醒时(SM置0、出现中断或总线活动),时钟开始工作并产生 一个唤醒中断。3.2.4 命令寄存器(CMR)命令寄存器对于CPU是只写寄存器,读时返回数据为OOHo它的内容控 制SJA1000传输层的活动。通过把自接收请求位SRR置为1,可以把SJA1000 设置为自接收状态。这时,每当它发送一个信息的同时接收到这个信息。在自 接收状态,要求接收信息标识符和发送信息标识符一致。如果把自接收请求位 SRR与终止发送位AT同时置为1,SJA1000将按自接收方式发送一次消息,丢失时不再重发。如果同时置位SRR和TR,将忽略SRR.通过置位RRB释放缓 冲存储器时,有可能在缓冲存储区被释放后,立即有一个新的信息进入,如果 中断开放,会马上产生一个新的接收中断。3.3 CAN总线驱动器82C250PCA82C250是CAN协议控制器和物理总线的接口。这个器件对总线提 供不同的发送能力和对CAN控制器提供不同的接收能力。PCA82c250的内部结构图如图3-2,图3-3,表3-2所示:图3-1 PCA82C250管脚配置-33-哈尔滨工业大学工学硕士学位论文表3-2 PCA82C250引脚功能标记引脚功能描述TXD1发送数据输入GND2接地Vcc3电源RXD4接收数据输出Vref5参考电压输出CANL6低电平CAN电压输入/输出CANH7高电平CAN电压输入/输出Rs8斜率电阻输入3.3.1 功能描述PCA82C250是CAN协议控制器和物理总线之间的接口。它主要在卡车 和公共汽车中速度达IMbaud的应用中使用。这个器件向总线提供了差动的发 送能力,向CAN控制器提供了差动的接收能力。它完全符合ISO 11898-24 V 标准。一个限流电路可防止发送器的输出级对电池电压的正端和负端短路。虽然 在出现这种故障条件时功耗将增加,但这种特性可以防止破坏发送器的输出 级。图3-2 PCA82C250内部结构在节点温度超过大约160时,两个发送器输出端的极限电流将减少,由-34-哈尔滨工业大学工学硕士学位论文于发送器是功耗的主要部分,因此芯片温度会迅速降低。IC的所有其他部分 将继续工作,当总线短路时尤其需要这个热保护电路。管脚8Rs可以选择三种不同的工作模式:高速模式、斜率控制模式和待 机模式。在高速工作模式下,发送器输出级晶体管将以尽可能快的速度开、闭。在这种模式下不采取任何措施限制上升斜率和下降斜率,建议使用屏蔽电缆以 避免射频干扰RFI问题。把管脚8接地可选择高速模式。斜率控制模式允许使川非屏蔽双绞线或平行线作为总线。为降低射频干 扰RFI应限制上升斜率和下降斜率。上升斜率和下降斜率可通过由管脚8接 至地的连接电阻进行控制。斜率正比于管脚8的电流输出。如果向管脚8加高电平,则电路进入低电流待机模式。在这种模式下发 送器被关闭而接收器转至低电流。若在总线上检测到显性位(差动总线电压 0.9V)RXD将变为低电平。微控制器应通过将收发器切换至正常工作状态(通过管脚8)对此信号作出响应。由于在待机方式下接收器是慢速的,因 此,当位速率很高时第一个报文将丢失。82C250驱动电路内部具有限流电路,可防止发送输出级对电源、地或负 载短路。虽然短路出现时功耗增加,但不致使输出级损坏。若节温超过大约 160,则两个发送器输出端极限电流将减小,由于发送器是功耗的主要部 分,因而限制了芯片的温升。器件的所有其它部分将继续工作。82C250采用 双线差分驱动,有助于抑制恶劣电气环境下的瞬间干扰。PCA82C250共有三种不同的工作模式:高速、斜率控制和待机。模式控 制通过Rs控制引脚提供。对于高速工作模式,发送器输出级晶体管被尽可能地启动和关闭。在这种 模式下,不采取任何措施限制上升和下降的斜率。通过把引脚8接地可选择高 速工作模式。它支持最大的总线速度或长度。对于较低速度或较短的总线长度,可使用非屏蔽双绞线或平行线作总线。为降低射频干扰,应限制上升和下降的斜率。上升和下降的斜率可通过由引脚 8至地连接的电阻进行控制,斜率正比于引脚8上的电流输出。如果引脚8接 高电平,则电路进入低电平待机模式。在这种模式下,发送器被关闭,接受器 转至低电流。如果检测到显性位,RXD将转至低电平。微控制器应通过引脚8 将驱动器变为正常工作状态来对这个条件做出响应。由于在待机模式下接收器 是慢速的,因此将丢失第一个报文。这种模式在电池供电的应用、要求系统功 率消耗非常低的应用中非常有用。在准备模式中传输一个报文就可以将系统激-35-哈尔滨工业大学工学硕士学位论文活。3.4 CAN总线应用方案CAN总线是一种多主方式的审行通讯总线,基本设计规范要求有高的位 速率、高抗电磁干扰性而且能够检测出产生的任何错误。当信号传输距离达到 lOKm时,CAN总线仍可提供高达5Kbps的数据传输速率。由于CAN审 行通讯总线具有这些特性,它很自然地在汽车制造业中受到广泛应用。各个汽车生产厂家根据不同的车型都有不同的CAN总线应川方案,下面 是两种比较典型的CAN总线应用方案。3.4.1 CAN总线方案一在本方案中,整车CAN总线网络分为四部分:舒适总线、动力传动总 线、安全总线、信息总线。根据系统特点舒适总线可采用ISO11519低速双线 式 CAN 总线(vl25Kbps)、单线式 CAN 总线(40Kbps)或者 ISO11898 高速CAN总线(vl25Kbps);传动系总线和安全总线采用双线式高速CAN 总线(lMbps);信息总线采用ISO11519低速双线式 CAN总线(125Kbps),各部分总线之间通过网关进行数据的通信。另外网关留有诊断 接口,采用ISO9141 K/L总线或者LIN总线。图3-3 CAN总线应用方案一方案一是一个完整的分布式汽车电子控制系统;它采用多子网结构,将信 息交换比较密切的系统放在一个子网中,使整个系统具有很高的实时性;不同 子网之间根据不同的应用特点,采用不同的物理层接口以及通信速率,优化了 系统结构印、方案一简化了各个CAN子网的设计难度,但是整车的网络系-36-哈尔滨工业大学工学硕士学位论文统设计以及总线通信协议比较复杂,硬件上对网关的要求比较高,需要有强大 的数据处理能力,而且系统成本比较高,适合于中高档轿车采用。3.4.2 CAN总线方案二方案一系统成本较高,实际应川过程中,考虑到系统的性价比以及安装等 方面的因素,可采用如下3-4图所示的简化方案图中CAN总线虚线表 示这部分在不影响性能的前提下可以用LIN总线替代,可以降低系统成本。方案2主要是针对希望采用总线的中低档轿车,这就决定了系统必须具 有很高的性价比,而且成本也是一个重要的方面。具体应川需要根据不同的车 型做出适当的修改满足各自的要求。本车身控制模块在总线方案二基础上加以 简化,保留中央控制模块和四个门模块作为车身控制总线方案。图3-4 CAN总线应用方案二-37-哈尔滨工业大学工学硕士学位论文3.5 CAN本章小结本章中对汽车车身控制系统中所用到的主要接口电路和驱动控制芯片进行 了详细的介绍,并介绍了两种具有代表性的CAN总线应用方案,通过比较这 两种方案,为下文车身网络的设计做准备。-38-哈尔滨工业大学工学硕士学位论文第4章基于CAN总线的汽车车身控制模块的设计车身控制模块的控制功能包括遥控中央门锁和防盗、电动车窗玻璃升降 器、内外灯、雨刮、后窗和后视镜控制、电动座椅和空调等。为了达到舒 适、安全和方便的目的,同时随着车上网络技术的发展,集成了上述功能的全 部或部分的车身控制模块逐渐应用于高档轿车,提高了汽车的使用性能。图4-1车身控制模块CAN总线结构本文的车身控制模块功能包括遥控中央门锁和防盗、电动车窗玻璃升降 器、内外灯、雨刮、后窗和后视镜控制“。其结构包括中央控制模块、左前 控制模块、右前控制模块、左后控制模块和右后控制模块。五个模块之间采用 波特率小于125k的低速双线CAN总线通讯。可以通过独立的或集成在仪表 模块中的网关,将车身控制模块系统连接到高速的动力传动总线,从而获得车 速信号、发动机转速信号和安全气囊触发佶号;或者直接从仪表模块获得车速 信号、发动机转速信号,从碰撞传感器获得碰撞信号,从变速器获得档位信-39-哈尔滨工业大学工学硕士学位论文号。使用总线连接可实现一些智能化的控制:当空调打开后或遥控闭锁后,车 身控制系统自动将所有车窗升到顶;车速超过30km/h时,自动将车门锁定;一旦发生碰撞事故,在气囊打开的同时解锁所有车门,便于车内驾乘人员逃 生。4.1 CAN总线节点的硬件电路设计本文所设计的是车身控制系统CAN总线节点,采用89C51作为节点的微 处理器,SJA1000是独立CAN通信控制器,采用PHILIPS公司的82C250作 为CAN总线通信接口的收发器皿。如图4-2所示为车身控制系统CAN总线节点通讯相关的硬件电路原理 图。从图中可以看出电路主要由四部分所构成以:微控制器89c51、独立 CAN通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器 6N137o微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据 的接收和发送等通信任务。;mTTTll 1图4-2 CAN总线系统智能节点硬件电路原理图SJA1000的 AD0-AD7连接到89C51的P0 口,氐连接到89C51的 P2.0,P2.0为0的CPU片外存贮器地址可选中SJA1000,CPU通过这些地 址可对SJA1000执行相应的读写操作。SJA1000的丽、WR.ALE分别与 89C51的对应引脚相连,而接89C51的INTO,89C51也可通过中断方式访 问 SJAlOOOo为了增强CAN总线节点的抗干扰能力SJA1000的TX0和RX0并不是直-40-哈尔滨工业大学工学硕士学位论文接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相 连,这样就很好的实现了总线上各CAN节点间的电气隔离。不过,应该特别 说明的一点是光耦部分电路所采用的两个电源VCC和VDD必须完全隔离,否 则采用光耦也就失去了意义。电源的完全隔离可采用小功率电源隔离模块或带 多5V隔离输出的开关电源模块实现。这些部分虽然增加了节点的复杂,但是 却提高了节点的稳定性和安全性。82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施网。82C250的CANH和CANL引脚各自通过一个5Q的电阻与CAN总线相连,电阻可起到一定的限流作用,保护82C250免受过流的冲击。CANH和CANL 与地之间并联了两个30P的小电容,可以起到滤除总线上的高频干扰和一定的 防电磁辐射的作用。另外,在两根CAN总线接入端与地之间分别反接了一个保护二极管。当 CAN总线有较高的负电压时通过二极管的短路可起到一定的过压保护作用。82C250的Rs脚上接有一个斜率电阻,电阻大小可根据总线通讯速度适当调 整,一般在16K140K之间。4.2 CAN总线节点的软件设计CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发 送和报文接收。熟悉这三部分程序的设计,就能编写出利用CAN总线进行通 信的一般应用程序网。当然要将CAN总线应川于通信任务比较复杂的系统 中,还需详细了解有关CAN总线错误处理、总线脱离处理、接收滤波处理、波特率参数设置和自动检测以及CAN总线通信距离和节点数的计算等方面的 内容。下面仅就前面提到的三部分程序的设计作一个描述。4.2.1 初始化(1).复位模式和操作模式在上电或硬件复位后,CAN控制器将处于复位模式。在该模式中,模式 寄存器的RM位总是为lo如果CAN控制器不处于复位模式,RM位的置位(通过硬件或软件)将强制其进入复位模式,内部状态机被冻结。典型地,在上电或硬件复位后,一旦引导和初始化程序结束,CPU将通过 软件(清零RM位)使CAN控制器进入操作模式。在操作模式中,下面任何 一个动作将使RM位置位从而强制CAN控制器进入复位模式皿。-41-哈尔滨工业大学工学硕士学位论文 硬件复位 通过软件将RM MOD.O置位 总线脱离状态止匕外,CAN控制器的“特殊模式”只能从复位模式中进入。这些特殊模式为 测试模式、接收器极性模式、自检测模式和只听模式。退出复位模式后,CAN 控制器返回到由模式寄存器所定义的模式。.CAN控制器的设定CAN控制器在上电或硬件复位后必须进行设定以实现CAN通信,初始化 的处理应当包括下面几项:操作模式 验收滤波器 总线定时 TXDC输出管脚配置 中断图4-3所示为初始化处理编程示例的流程图。对于CAN控制器的初始化,只有表4-1中所列寄存器相关。大多数CAN 寄存器具有一个方便的恢复特性,在硬件复位或使CAN控制器进入复位模式 后用户配置可保持不变(表4-1中标注“不变CAN控制器通过置位模式寄存器中的MOD.O(RM)位进入复位模式,在 上电和硬件复位后,Pl.l(TXDC)脚的默认配置为“准双向口”(P1M1.1=0,PlM2.1=0)o-42-哈尔滨工业大学工学硕士学位论文表4-1 CAN控制器寄存器设定寄存器位名称寄存器值上电后HW复位 后置位MOD.O模式寄存器M0D.7M0D.6M0D.5M0D.4M0D.3M0D.2M0D.1MOD.O000000010000000000000 不变 不变1测试模式接收极性模式自检测模式只听模式复位模式P1 口配置寄存器P1M1.1P1M2.10000不变不变输出驱动器配置,TXD 脚通过P1M1.1和 P1M2.1设置为推挽模 式中断使能寄存器IERXXH不变不变与CAN有关的中断使 能RX中断级寄存 器RIL00H00H不变接收中断级总线定时器0BTROXXH不变不变同步跳转宽度波特率预 分频器总线定时器1BTR1XXH不变不变每个时间段的采样验收滤波器模式 寄存器ACFMOD00H不变不变用于组4、3、2、1的 信息格式验收滤波器使能 级寄存器ACFENXXH不变不变用于组4、3、2、1的 使能验收滤波器优先 级寄存器ACFRIOXXH不变不变用于组4、3、2、1的 优先级验收代码寄存器ACR3 0XXH不变不变ACR用于组4、3、2、1验收屏蔽寄 存器AMR3 0XXH不变不变AMR用于组4、3、2、13.流程图SJA1000的初始化只有在复位模式下才能开始进行,初始化工作主要包 括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器和接收代码寄存器 的设置、波特率参数的设置和中断允许寄存器的设置等。下图为CAN控制器 的初始化流程图。-43-哈尔滨工业大学工学硕士学位论文图4-3 CAN初始化流程图4.2.2 CAN发送子程序发送子程序负责节点的报文发送。发送子程序只需要将被发送的信息帧传 送到CAN的发送缓冲器,然后经命令寄存器里的“发送请求”标志置位启 动发送命令即可。发送程序可采用SJA1000的中断请求或查询状态标志两种 控制方式。本系统采用后者,即采用查询状态标志的控制方式,流程图如图4-4所示。在程序过程中如发现发送缓冲区没有释放,说明仍有未发完的报文,则进 入延时循环等待阶段,延时一定时间再继续查询发送缓冲区的状态。-44-哈尔滨工业大学工学硕士学位论文图4-4发送子程序流程图4.2.3 CAN接收子程序信息从CAN总线到CAN接收缓冲区是由CAN控制器SJA1000根据 CAN协议规约自动独立完成的。验收滤波正确后,收到的信息自动放到接收 缓冲器内阿。由主控制器进行读操作,将这条信息发送到本地的信息存储器。然后释放接收缓冲器并对信息操作。接收子程序可采用SJA1000的中断请求或查询状态标志两种控制方式来 实现。本系统采用查询方式,流程图如图4-5所示。-45-哈尔滨工业大学工学硕士学位论文继续其它任务4.3 车身控制模块中的CAN应用层协议4.3.1 CAN网络应用层协议CAN协议是一个非常简单的协议(如CAN2.0B),它只定义了物理层和数 据链路层,本身并不完整,有些复杂的应川问题需要一个更高层次的协议即应 用层协议来实现。比如,CAN数据帧一次最多只能传送8个字节;CAN只提 供了非确认的数据传输服务等。然而,CAN的技术特点允许各厂家在CAN协 议的基础上自行开发自己的高层成川协议,给川户提供了一个面向取用的清晰 接口。目前,许多厂家都根据自己的意图并结合其优势纷纷推出基于CAN的 总线产品,在OSI应用层体系结构概念的支持下,目前已有的OSI标准的应 川层协议是:CANOpen协议、DeviceNet协议,基于J1939的一些高层协议,CAN Kingdom,SDS 等。它们
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服