CAN总线在汽车网络系统中的研究与应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1CAN总线在汽车网络系统中的研究与应用叶强生1陈书明2(1.吉林工商学院2.吉林大学)[摘要]详细阐述了CAN总线的通信原理,采用P87C591作为微控制器网关,设计了CAN总线的硬件系统以及高低速CAN网络的软件系统,构造了汽车高、低速CAN通信网络,对汽车各个控制系统进行控制。介绍了CAN总线在汽车控制领域的应用,指出CAN总线作为一种极具潜力的控制器局域网在汽车网络系统中有着广阔的应用前景。主题词:CAN总线汽车微控制器中图分类号:TP393.1文献标识码:AResearchandApplicationofCANBusinAutomobileNetworkSystemYeQiangsheng,ChenShuming(1JilinIndustryandCommerceInstitute,2JilinUniversity)[Abstract]ThecommunicationprincipleofCAN-Busisdemonstrated,P87C591isusedasmicrocontrollergateway.HardwaresystemofVehicleCAN-BusandsoftwaresystemofthehighandlowspeedCAN-Busaredesigned.HighandlowspeedCAN-Buscommunicationnetworkisconstructed,andeverycontrolsystemoftheautomobileiscontrolled.ApplicationoftheCAN-Businautomobileindustryisintroduced,andasoneofthepotentialcontrollerareanetwork,theCAN-Bushasabroadapplicationprospectintheautomobilenetworksystem.Keywords:CAN-Bus,Automobile,microcontroller1前言随着汽车电子技术的不断发展,车用电器设备以及车用电子元器件也不断地增加,这使得汽车电气系统逐渐复杂化。20世纪80年代末,德国博世公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发了一种串行通信协议CAN[1-3],并使其成为国际标准(ISO11898)。到目前为止,世界上已拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微控制器芯片。由于CAN总线具有通信可靠性,成本低,简单实用,且具有较高的网络安全性等特点,国外已经将CAN总线技术广泛应用于汽车计算机控制系统,近几年来我国也逐渐开始对汽车CAN总线进行应用研究。2CAN总线技术2.1CAN总线的特点CAN总线具有突出的可靠性、实时性和灵活性。CAN为多主工作方式,采用非破坏性总线仲裁技术,将节点信息分成不同的优先级,能满足不同的实时性要求;CAN采用短帧结构,每帧信息均有CRC校验及其验错措施,受干扰概率低,数据出错率极低;CAN的直接通信距离最远可达10km(速率5kbps以下),通信速率可高达1Mbps(此时通信距离最长为40m);CAN上的节点数主要取决于总线驱动电路,目前可达110个;CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活;CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从;在报文标志符上,CAN上的节点分不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134s内得到传输;CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响;此外CAN总线还具有较高的性价比,开发技术容易掌握,能充分利用现有的单片机开发工具。2.2CAN总线的通信原理CAN结构可以划分为两层[1]:数据链路层(DataLinkLayer)和物理层(PhysicalLayer)。2CAN的ISO/OSI参考模型的层结构如图1所示。图1CAN总线通信原理图当多个节点同时要求占用总线进行数据传输时,为防止总线访问冲突,通过使用标志符的逐位仲裁可以解决这个冲突。当在一条总线上要传送两种不同格式的信息时,如果这两种不同格式的信息具有相同基本标识码(BID),在进行总线竞争时,标准格式帧的优先级始终高于扩展格式帧的优先级。按CAN总线协议,若某一个节点的CPU要将信息发送给一个或多个节点,首先应将待发信息及其标识码发送给指定的CAN总线控制器。一旦网络中某一节点的CAN总线控制器获得总线控制权,网络中所有其他节点都成为接收节点,所有正确接收到该信息的节点都要进行信息检验,以确定所收信息是否与本节点有关,然后放弃无关信息,对有关信息进行处理。该协议也允许多站同时接收信息(广播式)和分布式过程信息共享,即采用该协议可以传送多个控制器共用的测量信息,对于基于CAN总线的汽车计算机控制系统,所有的控制单元可以共享同一个传感器。3基于P87C591的汽车计算机控制系统3.1P87C591P87C591是一个单片8位高性能微控制器,具有片内CAN控制器,支持CAN2.0B协议。它从MCS-51微控制器家族派生而来,采用了强大的80C51指令集并成功地包括了Philips半导体SJA1000CAN控制器的PeliCAN功能,并有增强的CAN接收中断,还有扩展的验收滤波器。全静态内核提供了扩展的节电方式。振荡器可停止和恢复而不会丢失数据。改进的1:1内部时分频器在12MHz外部时钟速率时实现500ns指令周期。嵌入式CAN控制器还含有以下功能模块:CAN内核模块;CAN接口模块;CAN控制器的发送缓冲区模块。其中内核模块根据CAN2.0B规范控制CAN帧的发送和接收;接口模块包含5个能实现CPU与CAN控制器连接的特殊功能寄存器,对重要CAN寄存器的访问通过快速自动增加的寻址特性和对特殊功能寄存器的位寻址来实现;发送缓冲区模块可以保存一个完整的CAN信息扩展或者标准帧格式。3.2硬件系统的实现汽车计算机控制[2-5]已经涉及到汽车的各个子系统,包括发动机控制,变速箱控制,安全气囊控制,ASR/ABS/ESP控制,牵引力控制,空调控制,仪表控制,雨刷控制,照明控制,门窗控制等,这些子系统控制ECU通过CAN总线构成一个实时控制系统。当控制系统指令发送出去以后,必须保证在一定时间内得到响应,否则就有可能发生重大事故。所以必须要求汽车上的通信网络设置较高的波特率以及网络自身的可靠性。根据汽车各节点对实时性的要求,设计了高速CAN通信网络和低速CAN网络。将实时性和可靠性要求较高的3节点设计成高速CAN通信网络,将实时性和可靠性要求较差的节点设计成低速CAN通信网络。高低速通信网络通过控制器网关连接,实现数据的实时共享。发动机控制ECU变速箱控制ECU安全气囊控制ECUASR/ABS/ESPECU空调控制ECU仪表控制ECU雨刷控制ECU照明控制ECU牵引力控制ECU门窗控制ECU高速CAN总线低速CAN总线主控制器(网关)图2汽车CAN总线网络拓扑结构图图2为汽车CAN总线网络拓扑结构图,发动机控制,变速箱控制,安全气囊控制,ASR/ABS/ESP控制和牵引力控制对实时性和可靠性要求较高,将其设计成高速CAN通信网络;空调控制,仪表控制,雨刷控制,照明控制和门窗控制对实时性和可靠性要求不高,所以将其设计成低速CAN通信网络。该系统中数据信息量非常大,为了保证总线上数据通信顺畅,时实性和可靠性要求较高的重要信息在发生总线访问冲突时优先发送,高速CAN总线上的信息要优先于低速CAN总线的信息发送。对于实时性和可靠性要求较高的高速CAN通信网络采用的传输速率为500kbps,,而对于实时性和可靠性要求较低的低速CAN通信网络采用的传输速率为125kbps。高低速两条CAN总线通过主控制器连接,与各个节点进行数据交换,同时也起到网关的作用,实现高低速网络的互相联通。图3为CAN总线通信接口卡电路原理图,系统采用P87C591芯片作为主控制器。电控单元的微控制器(P87C591)通过数据总线经过光电隔离器(6N137)与CAN总线控制器(SJA1000)直接相连。CAN总线控制器带有一个接收缓冲器和一个发送缓冲器,CAN总线控制器的发送端口Tx0,接受端口Rx0、Rx1分别与CAN总线发送接收器的TxD、RxD、Vref端口直接相连,CAN总线的两条差分接收发送线CAN_L和CAN_H各接一个120的总线匹配电阻。当CAN总线被某个节点占用的时候,该节点的发送端接CAN_H,电平为3.5V,接收端接CAN_L,电平为1.5V,当CAN总线空闲时,CAN_H和CAN_L上的电平均为2.5V。图3CAN总线通信接口卡电路原理图系统采用PCA82C250作为CAN控制器P87C591和物理层总线间的接口,提供对总线发送和接收数据。使用PCA82C250还可以提高系统得抗干扰能力,保护总线,降低射频干扰,实现热防护等。为了进一步提高系统的抗干扰能力,选用高速光电隔离芯片6N137构成隔离电路,将微控制器P87C591的I/O信号与SJA1000隔离,以提高系统的可靠性。3.3软件系统设计4汽车CAN总线软件系统分为汽车高速CAN总线软件系统和汽车低速CAN总线软件系统。图4为汽车CAN总线主程序流程图,高速CAN网络被占用时,优先处理高速CAN网络,高速CAN网络空闲时,程序自动转向低速CAN网络接收子程序,然后开始下一轮循环;当低速CAN网络忙时,程序检验是否有高速CAN网络占用请求,如果有,则中断低速CAN网络,开始执行高速CAN网络接收子程序,执行完毕后返回中断继续执行低速CAN网络接收子程序,当低速CAN网络空闲时程序开始下一轮循环。开始高低速CAN总线初始化NoYes低速CAN网络忙高速CAN网络接收子程序低速CAN网络接收子程序高速CAN网络忙中断NoYes图4汽车CAN总线主程序流程图开始高速CAN总线初始化发动机控制通道变速箱控制通道安全气囊控制通道ASR/ABS/ESP控制通道牵引力控制通道数据采集NoYes发动机控制信号变速箱控制信号安全气囊控制信号ASR/ABS/ESP控制信号牵引力控制信号发动机控制变速箱控制安全气囊控制ASR/ABS/ESP控制牵引力控制是否接收NoYes接收子程序返回开始低速CAN总线初始化空调控制通道仪表控制通道雨刷控制通道照明控制通道门窗控制通道数据采集NoYes空调控制信号仪表控制信号雨刷控制信号照明控制信号门窗控制信号空调控制仪表控制雨刷控制照明控制门窗控制是否接收NoYes接收子程序返回图5汽车高速CAN总线软件流程图图6汽车低速CAN总线软件流程图图5为高速CAN总线软件流程图,高速CAN网络总线各节点主要负责对实时性和可靠性要求较高的发动机控制、变速箱控制、安全气囊控制、ASR/ABS/ESP控制、牵引力控制节点的数据采集与传送,数据采集成功后系统询问是否转向相应的接收子程序,如果接收系统则转向接收子程序,这些数据就会以最快的速度传送给相应控制节点的ECU,采取相应的控制措施。高速CAN网络有传输速度快、传送数据准确等优点。图6为低速CAN总线软件流程图,高速CAN网络总线各节点主要负责对实时性和可靠性要求较低的空调控制、仪表控制、雨刷控制、照明控制、门窗控制节点的数据采集与传送,数据采集成功后系统询问是否转向相应的接收子程序,如果接收系统则转向接收子程序,这些数据就会传送给相应控制节点的ECU,采取相应的控制措施。低速CAN总线的控制方法与高速CAN总线的控制方法相似,但低速CAN总线的优先级要低于高速CAN总线。54结论CAN总线作为一种可靠的汽车计算机网络总线已经在许多汽车上得到应用。CAN总线拥有多主节点、开放式架构,以及错误检测和自动恢复功能等优点,使汽车计算机控制单元能够共享总线上的信息。在国外,随着CAN总线技术的不断应用和推广,很多汽车生产厂家都相继支持CAN总线标准,如大众、福特、丰田

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功