CAN总线技术在车灯控制系统中的应用.doc
文本预览下载声明
CAN总线技术在车灯控制系统中的应用
摘要 主要介绍了通过CAN总线来控制汽车车灯控制系统的实例,阐述了该系统软、硬件及通讯协议的设计方案和设计要点。试验表明,该系统具有结构简单,可靠性高等特点,具有实际应用前景。
关键词 CAN总线 车灯控制 通讯协议
CAN-bus(Controller Area Network)即控制器局域网,是国际上应用最广泛的现场总线之一。CAN-bus是一门比较系统的技术,涉及的许多新技术来自于各个应用领域。只有包含各类技术的产品之间的关系相辅相成,协作无间,才能构成一个实际运行的CAN-bus通讯网络控制系统。
CAN-bus是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,较强的纠错能力,因而适合于高干扰环境,并具有较远的传输距离。
起先,CAN-bus被设计作为汽车环境中的微控制器通讯,在车载电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表设备、电子主干系统中,均嵌入CAN控制装置。目前,作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-bus已被广泛应用到各个自动化控制系统中。
本文以车灯控制系统为例,对CAN-bus的硬件电路、软件设计及通讯协议制定等进行了详要的叙述。
车灯总线控制分析
图1 车灯总线控制示意图
主控单元接收开关信号之后,先进行分析处理,然后通过CAN总线把控制指令发送给受控端,各受控端响应后作出相应的动作。车前、车后控制端只接收主控端指令,按主控端的要求执行,车灯总线控制示意图见图1。使用周立功公司的CANalyst-Ⅱ分析仪模拟ECU主控单元主节点的行为,向网络发送CAN-bus帧报文,以提供给车灯控制系统节点接收信息。
2 车灯控制系统硬件电路设计
2.1 系统原理图
车灯控制系统电路原理图见图2,这是一个由“AT89C51+SJA1000+PCA82C250”组成的CAN-bus节点电路。微处理器AT89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。
SJA1000的AD0~AD7连接到AT89C51的P0口,/CS连接到基址为Ox7800的外部存储器片选信号。SJA1000的/RD、/WR、ALE分别与AT89C51的对应引脚相连,/INT接AT89C51的/INT0使AT89C51可通过中断方式访问SJA1000。
文中省略了电气隔离电路,实际应用于强干扰场合,需要补充保护电路。SJA1000的TX0和RX0可以通过高速光电耦合器6N137后与PCA82C250相连,实现总线上各CAN节点间的电气隔离,增强CAN总线节点的抗干扰能力。光耦部分电路可采用电源隔离模块,或通过带多5V隔离输出的开关电源模块来实现。
继电器的动作由AT89C51的P1口控制。P1口输出低电平时,继电器吸合;P1口输出高电平时,继电器释放。采用这种控制逻辑可以使继电器在上电复位或微处理器受控复位时不吸合。
图2 车灯控制系统电路原理图
2.2 主要元器件
(1) 微处理器AT89C51
微处理器选用ATMEL公司的AT89系列单片机AT89C51。它是一种低功耗、高性能、内含4KB快闪可编程/擦除ROM的8位CMOS控制器,与工业标准MCS-51指令系统和引脚完全兼容。
(2) CAN控制器SJA1000
SJA1000独立CAN控制器是PHILIPS公司PCA82C200 CAN控制器(BasicCAN)的替代产品,它在完全兼容PCA82C200的基础上,增加了一种新的工作模式Pelican,SJA1000完全支持具有很多新特性的CAN2.0B协议。SJA1000的两种工作模式是通过其内部的时钟分频寄存器(CDR)来选择,硬件复位默认模式是BasicCAN工作模式。
SJA1000可以支持多种微处理器的时序特性,如Intel模式或Motorola模式。SJA1000与微处理器接口简单,微处理器以访问外部存储器的方式来访问SJA1000。在设计接口电路时,SJA1000的片选地址应与其它外部存储器的片选地址在逻辑上无冲突。
SJA1000有两种工作模式可以供微处理器访问其内部存储器,分别是复位模式和工作模式。有些内部寄存器只能在复位模式下访问,有些寄存器只能在工作模式下访问,而有些寄存器在这两种模式下都可以访问。
(3) CAN收发器PCA82C250
PCA82C250是CAN协议控制器和物理总线间的接口,对总线提供差分发送能力,对CAN控制器提供差分接收能力。PCA82C250有三种不同的工作方式:高速、待机和斜率控制。
2.3 设计要点
(1) SJA1000的应用
在本文的车灯控制系统中,SJA1000的片选由微控制器的
显示全部