《汽车控制系统中CAN总线设计.docx》由会员分享,可在线阅读,更多相关《汽车控制系统中CAN总线设计.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、总线在汽车控制系统中的应用研究摘 要对汽车通讯网络的发展趋势和汽车总线传输的技术要求进行分析,构建出基于 CAN 总线的汽车控制系统,并从最基本的 CAN 功能节点入手, 对其节点的硬件电路和软件设计进行了阐述。关键词 : CAN 总线 汽车控制系统 汽车电子Research and Applications of CAN Bus in Automobile Control SystemAbstractBased on the study of automobile communication development and automobile bus technology, the aut
2、omobile control system, based CAN bus is built. And the hardware and software of CAN node are illustrated.Key Words: CAN bus Automobile control system automobile electronics1、引言随着科技的飞速发展,汽车装备日趋完善,汽车内部装有越来越多的电气控制设备、电子部件、专用传感器和功能各异的执行装置,有着比通常的机械设备更多的计算和通讯要求,使汽车的安全、性能和效率都提高到了全新的水平。电子设备的大量应用,必然使车身内的电气布线
3、越来越长、越来越复杂、传统的电气系统大多采用点对点的单一通信方式,这样必然造成复杂庞大的布线系统。无论从材料成本还是工作效率看,传统布线方法都将不能适应汽车通讯网络的发展。因此,在计算机网络技术和现场总线技术的基础上,开发适用于汽车环境的网络技术和设备,组建汽车内部的通讯网络己成为现代汽车技术发展的必然趋势。CAN总线就是为满足汽车通讯网络的要求而设计的。2、CAN总线介绍CAN总线是为解决现代汽车中众多的控制与测试仪器之间的数据交换而推出的一种串行数据通信协议,由于CAN总线具有很高的网络安全性、通讯可靠性和实时性,简单实用,网络成本低。特别适用于现场干扰大、信息复杂、数量大的汽车控制系统。
4、其特点可概括如下:1、CAN总线为多主方式工作,网络上任一节点均可在任意时刻主动向网络上的其它节点发送信息,而不分主从,通信灵活,且无需站地址等节点信息。2、CAN总线采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级低的节点会主动退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线仲裁时间,满足实时性要求。3、CAN总线具有点对点、一点对多点及全局广播传送数据的功能。4、CAN总线短帧结构,传输时间短,受干扰概率低,具有极好的抗干扰效果。CAN的每帧信息都有CRC校验及其它校验措施,保证了数据未检出的出错率极低。万一某一节点出现严重错误,可自动脱离总线。CA
5、N总线上的其它操作不受影响。5、 CAN总线只有两根导线 ,系统扩充时,可直接将新节点挂在总线上即可,因此走线少,系统扩充容易,改型灵活。6、 CAN总线直接通信距离最远可达10km(速率小于 5Kbps);通信速率最高可达 1Mb/s(此时传输距离小于 40m)。同时,半导体集成电路方面当前已经有众多 IC 供应商可以提供高品质汽车级的具有CAN硬件接口的单片机。 如英特尔、飞思卡尔、菲利普、Microchip、西门子等。成熟的集成电路制造技术与工艺也是通讯正常工作的基础。3、汽车内部单元通讯功能分析现代汽车内部的控制单元主要有发动机控制系统、制动防抱死控制系统 、安全气囊控制系统、变速器控
6、制系统、仪表管理系统、牵引力控制系统、故障诊断系统、中控门锁系统、座椅调节系统、车灯控制系统、空调控制系统、雨刷控制系统、后视镜控制系统等。这些控制单元通过CAN总线构成一个实时通讯控制网络,各控制单元发出的控制指令必须迅速、可靠、及时地得到响应,否则轻则就有可能车辆局部控制失灵,重则就有可能发生车毁人亡的重大事故。若整辆汽车的所有控制单元都连接在一个CAN总线网络上,所有的控制单元都通过一条CAN网络进行通信,那么就很容易出现总线负荷过大,系统实时响应速度下降,将导致关键控制部位的实时响应速度得不到保证。因此在对汽车上各控制单元的实时性进行了分析之后,根据各控制单元对实时性的要求不同,设计了
7、高、低速两个速率不同的CAN通信网络。将实时性要求严格、可靠性要求高的发动机控制系统 、制动防抱死控制系统、变速器控制系统和安全气囊控制系统组成高速CAN通信网络,将实时性要求相对较低的中控门锁控制系统、座椅调节系统、电动车窗控制系统、后视镜控制系统、雨刷控制系统和车厢内照明灯控制系统等组成低速 CAN 通信网络,并配置网关将这两个速率不同的 CAN 通信网络连接起来,实现全部节点之间的数据共享。高速CAN网络的传输速率达到500Kb/s,低速CAN网络的传输速率大约是10125Kb/s。汽车控制系统通讯网络如图 1 所示。4、CAN节点硬件设计CAN 节点的硬件构成一般有两种方案,一种是内部
8、集成 CAN 控制器的 微 控制器加上收发器,另外一种方案是通用微控制器加上独立CAN 控制器再加上收发器。采用前一种方案,不占用微控制器的端口资源,可以简化接口电路的设 计。本设计采用内部集成有CAN控制器的 MC9S12DG128 微控制器芯片,需外加 CAN 驱动器PCA82C250 和光电耦合器 TLP113,节点硬件原理如图 2所示。图中 CAN 驱动器 PCA82C250 通过两个光电耦合器TLP113和MC9S12DG128芯片 的TXCAN0和RX-CAN0引脚相连接。MC9S12DG128 芯片负责对MSCAN模块进行初始化,并通过该模块与外部总线进行通讯;PCA82C250
9、是CAN总线和物理总线 之间的接口,对总线提供差动发送能力,并对CAN 控制器提供差动接收能力;TLP113 接在 CAN 驱动器 PCA82C250 和MC9S12DG128芯片之间进行电气隔离,可以提高通信的抗干扰能力。另外总线两端应接抑制反射的 120 欧姆的终端匹配电阻,如果不接终端电阻,会使得数据通讯得抗干扰性及可靠性大大降低,甚至无法通讯。5、 CAN节点软件设计软件开发工具为Code Warrior,其具有智能的代码调试检错及软件仿真功能。软件设计采用模块化设计,主要包括初始化模块、数据发送模块和数据接收模块。初始化模块包括MC9S12DG128控制器的初始化和MSCAN的初始化
10、。MC9S12DG128控制器的初始化和一般单片机的初始化相似,在此不再赘述,主要以CAN0为例对 MSCAN 的初始化过程进行阐述。MSCAN的初始化包括首先对寄存器CAN0CTL0进行设置,使MSCAN进入初始化状态,只有使MSCAN进入初始化状态,才能对MSCAN的各种与设置有关的寄存器进行设置,这时,MSCAN 会退出所有的发送和接收操作,并失去总线同步。接下来对CANOBTOR和CAN0BTR1寄存器进行设置,来完成通讯波特率的设定;对CAN0IDAC寄存器进行设置,设定滤波器的滤波方式和滤波器种类和个数 ;对CAN0IDAR和CAN0IDMR寄存器进行设置,设定接收滤波器参数,以对
11、可接收的报文的ID范围进行限制。最后,设置完与通讯初始化相关的寄存器并使MSCAN退出初始化状态,这时还要判断 MSCAN 与总线是否同步,只有在同步状态下,MSCAN才能正常地接收发送数据帧。MSCAN的初始化流程如图 3 所示。CAN发送和接收模块均采用中断机制。数据的发送由 MSCAN 自动完成,在确定发送缓冲区为空时,将要发送的数据送到发送缓冲数据寄存器并清除发送缓冲区空标志CAN0TFLG,将发送控制寄存器置位,MSCAN开始发送数据,发送流程如图 4 所示。在接收数据时,设置接收中断允许寄存器 ,允许接收缓冲区满中断,在接收缓冲区满时触发一个接收中断请求。在接收中断服务程序中,为了
12、避免此时再发生中断,在接收数据帧之前设置中断允许寄存器,不允许接收缓冲区满中断,在接收数据帧之后,清除接收缓冲区满标志 CAN0RFLG,并允许接收缓冲区满中断,便于下一次接收中断的处理。6、总结CAN 总线作为汽车专用通讯网络,在实时性和可靠性方面有很大的优势,国外几大著名汽车生产厂商都采用了CAN 总线技术,CAN总线正受到越来越多 汽车厂商的关注。国内汽车网络的研究正处于起步发展阶段,虽也有少数汽车生产厂商采用了CAN总线技术,但大都是引进国外的技术,对CAN总线技术的研究和掌握和国外相比还有很大的差距。随着CAN总线的广泛应用,对其研究和掌握程度逐渐加深,在不久的将来,国内汽车必将拥有自己的 CAN 网络系统。参考文献:1 赵星.汽车电子中 CAN 总线应用J.南京工业职业技术学院学报,2006,6.2 黄涛,周德恒.基于 CAN 总线的汽车内部网络系统研究J.单片机与嵌入式系统应用,2005,9.3 邬宽明.CAN 总线原理和应用系统设计M.北京:航空航天大学出