基于CAN总线技术的汽车车灯、电动车窗、雨刮的控制系统
简介
随着现代汽车的迅猛发展和电子技术的日新月异,汽车电子设备不断增多,从发动机控制到传动系统控制,从行驶、制动、转向系统控制到安全保证系统及仪表报警系统,从电源管理到为提高舒适性而作的各种努力,使汽车综合控制系统越来越复杂。目前.以微控制器为代表的汽车电子在整车电子系统中应用广泛,汽车控制正由机电控制系统转向以分布式网络为基础的智能化系统。CAN总线是一种支持分布式和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域广泛应用。本设计主要针对基于CAN总线的汽车电子系统的设计,包括汽车车灯和汽车车窗和汽车雨刮等控制系统的总体设计思想、方法和硬件设计,介绍如何实现用CAN总线完成汽车控制系统的控制。
目录
CAN总线 ------------------------------------------------------------------------------------- 3 1.1 CAN简介 ------------------------------------------------------------------------------- 3 1.2 CAN总线协议的报文帧结构形式 ------------------------------------------------------ 3 CAN 总线在奥迪A6汽车车灯上的应用 ---------------------------------------------------- 4 2.1 灯光控制系统的网络硬件设计。 ------------------------------------------------------- 5 2.2 MCU的选择 --------------------------------------------------------------------------- 6 2.3 CAN通讯控制器 ----------------------------------------------------------------------- 6 2.4 CAN总线收发器 ----------------------------------------------------------------------- 6 2.5 系统的软件设计 ------------------------------------------------------------------------- 7 2.6 CAN控制初始化程序 ------------------------------------------------------------------ 7 2.7 中央处理器程序设计 -------------------------------------------------------------------- 8 2.8车灯控制程序 ---------------------------------------------------------------------------- 11 CAN总线在奥迪A6汽车电动车窗上的应用 ----------------------------------------------- 15 3.1系统的总体设计 ------------------------------------------------------------------------- 15 3.2硬件接口电路设计 ----------------------------------------------------------------------- 15 3.3系统软件设计 ---------------------------------------------------------------------------- 17 3.3.1 CAN控制初始化-----------------------------------------------------------------------------------------------17 3.3.2节点发送/接收报文-------------------------------------------------------------------------------------- --17 3.3.3 主控程序--------------------------------------------------------------------------------------------------------18
3.4电动车窗系统主要技术参数和功能 ----------------------------------------------------- 19 CAN总线在奥迪A6汽车雨刮上的应用 ---------------------------------------------------- 19 4.1系统的总体设计 ------------------------------------------------------------------------- 19 4.2系统硬件电路设计 ----------------------------------------------------------------------- 20 4.2.1雨量检测模块 ------------------------------------------------------------------------- 20 4.2.2开关控制模块 ------------------------------------------------------------------------- 21 4.2.3 ECU和CAN通信模块 ------------------------------------------------------------- 21 4.2.4输出驱动模块 ------------------------------------------------------------------------- 22 4.2.5雨刮电动机 ---------------------------------------------------------------------------- 22 4.3系统软件设计 ---------------------------------------------------------------------------- 24 结语-----------------------------------------------------------------------------------------------------------------------32
CAN总线 1.1 CAN简介
CAN(ControllerAreaNewtork)即控制器局域网,是一种先进的串行通信协议,属于现场总线范围。CAN总线是最初由德国Bosch公司在80年代初期,为了解决现代汽车中众多的控制与测试一起之间的数据交换而开发的一种串行数据通信协议,目的是通过较少的信号线将汽车上的各种电子设备通过网络连接起来,并提高数据在网络中传输的可靠性,CAN总线具有较强纠错能力,支持差分收发,因而适合高噪声环境,并具有较远的传输距离,特别适合于中小型分布式测控系统,目前己在工业自动化、建筑物环境控制、机床、医疗设备等领域得到广泛应用。CAN总线具有以下几个重要特点:
1)结构简单,只有两根线与外部相连,且内部含有错误探测和管理模块。
2)通信方式灵活。可以多种方式工作,网络上任意一个节点均可在任意时刻主动的向网络上的其他节点发送信息,而不分主从。
3)可以点对点、点对多点及全局广播方式发送和接受数据。
4)网络上的节点信息可分成不同的优先级,可以满足不同的实时要求。
5)CAN通讯格式采用短帧格式,每帧字节数最多为8个,可满足通常工业领域中控制命令、工作状态和测试数据的一般要求。同时,8个字节也不会占用总线时间过长,从而保证了通讯的实时性。
6)采用非破坏性总线仲裁技术。当两个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可以不受影响继续传输数据,这大大地节省了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪。
7)直接通讯距离最大可达1k0m(速率在5kb/S以下),最高通讯速率可达1Mb/s(此时距离最长为40m)。节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。 8)CAN总线通讯接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
9)CAN总线采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
1.2 CAN总线协议的报文帧结构形式
在报文传输时,不同的帧具有不同的传输结构,下面将分别介绍四种传输帧的结构,只有严格按照该结构进行帧的传输,才能被节点正确接收和发送。
(1)数据帧由七种不同的位域(Bit Field)组成:帧起始(Start of )、仲裁域(Arbitration Field)、控制域(Control Field)、数据域(DataField)、CRC域(CRC Field)、应答域(ACK Field)和帧结尾(End of )。数据域的长度可以为0~8个字节。
1)帧起始(SOF):帧起始(SOF)标志着数据帧和远程帧的起始,仅由一个“显性”位组成。在CAN的同步规则中,当总线空闲时(处于隐性状态),才允许站点开始发送(信号)。所有的站点必须同步于首先开始发送报文的站点的帧起始前沿(该方式称为“硬同步”)。
2)仲裁域:仲裁域由标识符和RTR位组成,标准帧格式与扩展帧格式的仲裁域格式不同。标准格式里,仲裁域由1l位标识符和RTR位组成。标识符位有ID28~IDl8。扩展帧格式里,仲裁域包括29位标识符、SRR位、IDE(Identifier Extension,标志符扩展)位、RTR位。其标识符有ID28~IDO。为了区别标准帧格式和扩展帧格式,CANl.0~1.2版本协议的保留位r1现表示为IDE位。IDE位为显性,表示数据帧为标准格式;IDE位为隐性,表示数据帧为扩展帧格式。在扩展帧中,替代远程请求(Substitute Remote Request,SRR)位为隐性。仲裁域传输顺序为从最高位到最低位,其中最高7位不能全为零。RTR的全称为“远程发送请求(Remote TransmissionRequest)”。RTR位在数据帧里必须为“显性”,而在远程帧里必须为“隐性”。它是区别数据帧和远程帧的标志。
3)控制域:控制域由6位组成,包括2个保留位(r0、r1同于CAN总线协议扩展)及4位数据长度码,允许的数据长度值为0~8字节。
4)数据域:发送缓冲区中的数据按照长度代码指示长度发送。对于接收的数据,同样如此。它可为0~8字节,每个字节包含8位,首先发送的是MSB(最高位)。
5)CRC校验码域:它由CRC域(15位)及CRC边界符(一个隐性位)组成。CRC计算中,被除的多项式包括帧的起始域、仲裁域、控制域、数据域及15位为0的解除填充的位流给定。此多项式被下列多项式X15+X14+X10+X8+X7+X4+X3+1除(系数按模2计算),相除的余数即为发至总线的CRC序列。发送时,CRC序列的最高有效位被首先发送/接收。之所以选用这种帧校验方式,是由于这种CRC校验码对于少于127位的帧是最佳的。
6)应答域:应答域由发送方发出的两个(应答间隙及应答界定)隐性位组成,所有接收到正确的CRC序列的节点将在发送节点的应答间隙上将发送的这一隐性位改写为显性位。因此,发送节点将一直监视总线信号已确认网络中至少一个节点正确地接收到所发信息。应答界定符是应答域中第二个隐性位,由此可见,应答间隙两边有两个隐性位:CRC域和应答界定位。
7)帧结束域:每一个数据帧或远程帧均由一串七个隐性位的帧结束域结尾。这样,接收节点可以正确检测到一个帧的传输结束。
CAN 总线在奥迪A6汽车车灯上的应用
摘要:以汽车控制局域网CAN总线为基础,结合89C51单片机,对奥迪汽车的的车灯进行控制。 关键词:89C51,sja1000,CAN总线,82c250 正文: 灯光控制系统是保证汽车安全行驶的一个重要系统。传统的灯光控制系统多采用继电器和独立模式控制,这使得车内线束过多且布线复杂,会引起严重的电磁干扰,使系统的可靠性下降。CAN(Controller Area Network)数据总线是一种适用汽车环境的汽车局域网。它能够很好的解决这个问题,它具有较高的传输速度,主要是针对汽车中对实时性要求很高的动力系统而设计的。利用CAN总线,不仅能简化线束,而且还能大大降低车辆的故障率。基于CAN总线的灯光控制系统,就很好用利用CAN总线的优势,发挥车灯的最大性能。 本设计利用CAN总线通信协议建立汽车灯光(前照灯)控制系统的局域网(对于汽车其他灯光可以按照同样道理设计而成,只需要多加几个通信的节点),控制的灯光有:远光灯、近光灯、示宽灯、雾灯、转向灯。通过CAN总线实现上述灯光的开和闭的控制。
2.1 灯光控制系统的网络硬件设计。
对于传统的灯光控制系统如图一所示。
(图一)
从图一可以看出,传统供电系统是所谓的并行结构,一个用电器赔一跟电力线和一个开关,开关置于驾驶员旁,由驾驶员控制开关通断,控制灯(或其他用电器)工作。这种结构缺点是若用电设备越多,电力线就越多,这无疑是加大了汽车的负担而且容易收到干扰,导致器件不能正常运行。 对于CAN总线的灯光控制系统如图二所示。
它利用CAN总线,能够有效的减小电力线的数量,减少干扰,实现优化控制。 车灯控Can总线MCU 制开关 收发器 Can总线