|
|
|
您现在的位置:首页
> 新闻中心 > 详细信息 |
|
|
基于CAN总线的车身电器控制系统网络实验台设计
发表时间:2011-02-13
基于CAN总线的车身电器控制系统网络实验台设计
汽车上的电子装置随着汽车电子的发展日益增多,仍采用传统的通信模式必然导致汽车电器布线复杂,维修检测困难等问题。而CAN总线的提出为解决此问题提出了可能。CAN(C0ntmllerAreaNetwork)总线是20世纪80年代德国Bosch公司为实现现代汽车上众多电子模块相互间的通信而提出的一种串行通信协议,是目前唯一具有国际统一标准的总线。但由于国内关于CAN总线的研究起步很晚,至今国产化的产品不多。因此文献基于科研教学及产品开发的多重目的,研制开发了自动变速器实训台基于CAN总线的车身电器控制系统实验台。该实验台以CAN总线为基础,以某汽车车身电器为对象简化了汽车车身电器的控制网络,减少了线束,实验也证明了所开发系统的正确性和CAN总线取代传统车身线束的可行性。该实验台的成功开发其现实意义很重要,但也存在以下不足之处应加以改进:1)试验台将车灯控制节点分为前灯、后灯2个节点,这样在通信中不仅没有完全利用单片机的接口,还要考虑前后节点的优先权,把软件的设计复杂化。2)单片机引脚电流过小不足以驱动大功率的汽车发动机实训台车灯和车门电机等功率器件,该试验台选用驱动芯片、继电器和保险丝来实现功能,这样设计接口电路使节点的总体体积偏大,不便车载。本文主要针对以上2个问题提出解决中央空调实验设备方案,先从总体上对节点重新分类设计,基于AT89S52微处理器和CAN控制器SJAl000重新构建硬件环境,然后以AT89S52为核心,结合所选器件的运行环境改进程序。 1车身电器控制系统节点分类及其功能 该控制系统将车身电器分为上位机转换节点、开关控制节点、车灯控制汽车发动机实验台节点、车门控制节点4类。各类节点所包含的电器设备及要传输的信号如下:1)上位机转换节点:将CAN协议信号转换为RS232协议信号输出,由上位机的串口接收;2)开关控制节点:灯具开关节点需要的各开关输入,通过单片机将物理的开关信号转换为数据信号;3)车灯控制节点:接收总线上传来的可控数据,并将数据转换后控制车灯各灯具的状态,控制的车身电器主要是远光灯、近光灯、雾灯、转向灯、倒车灯、刹车灯等灯具;4)车门控制节点:控制车门的开关输入及玻璃升降电机的输出。汽车发动机试验台节点的分类及功能如图1所示。 2系统硬件电路设计 硬件通讯电路部分由单片机AT89S52、CAN控制器SJAl000、CAN收发器PCA82C250连接组成。任何类型的节点其硬件设计中都由该通讯电路和接口电路组成,CAN控制器及收发器与单片机连接电路如图2所示。为使总线上有信号时,系统能够快速响应,单片机与SJAl000采用独立的晶振。SJAl000的晶振频率为16MHz,单片机的晶振频率为12MHz,这样可使CAN控制器接收或发送数据速度快于单片机的处理速度,总线传来的数据或待发送到汽油发动机实验台总线的数据可暂存于SJA1000的缓冲器中,等待单片机处理或自动向总线发送。 2.1上位机转换节点接口电路 上位机转换节点中,接口电路的功能主要是将数据转换为符合RS232电平协议的数据,可供上位机串口接收。由于单片机输出的数据中逻辑电平“1”和“0”分别用5V和OV表示,而]RS232电平的逻辑“0”电平范围为-5~15V,逻辑“1”的电平范围是+5~+15V,因此这里本田发动机实训台选用MAX232进行电平转换,完成上位机转换节点接口电路的功能,图3所示为上位机转换节点接口电路。 2.2开关控制节点接口电路 开关控制节点中,接口电路的功能主要是将家电实验台节点电器中的多路开关状态转换为数字信号,并且实现由汽车自动变速器实训台车载电源12V到单片机使用的5V电源的转换。该接口电路选用的74HC244是一款CMOS型8位总线收发器,主要用在开关的输入时,开关和SJA1000共用单片机P0端口时的切换;电源转换主要通过稳压管LM7805实现。图4为开关控制节点接口电路。 2.3车灯控制节点接口电路 车灯控制节点中,接口电路的功能主要是实现通过CAN总线的传输数据控制车灯功率电器。从单片机引脚流出的电流很小,无法直接驱动车灯,若采用汽车空调实验台驱动电路和继电器来完成车灯的驱动作用,必然会导致车灯控制节点偏大,不够实用和美观。该接口电路选用MC33888器件。该器件内部集成有4路高端驱动器和8路继电器或发光二极管驱动器,是一个可控制网络,具有在线诊断、与微控制器通信报错能力及故障软化等优点。图5所示为车灯控制节点接口电路。 2.4车门控制节点接口电路 车门控制节点接口电路的功能和车灯控制节点接口电路的功能类似,也是将单片机输出的小电流信号转换成可驱动大功率电器的电信号,完成相应工作。该电路采用MC33887器件。该器件功耗低,在等待汽车自动空调实验台模式下电流为25mA,输出电流超过8A自动短路关断。图6为车门控制节点接口电路。 3系统软件设计 任何CAN总线系统的通信协议都由物理层协议、钳工实验室设备数据链路层协议和应用层协议组成。SJAl000和PCA82C250的硬件结构保证了协议的物理层和数据链路层。对于应用层,在不同的应用领域,人们制定了不同的协议,包括CANopen、DeviceNet及SAEJ1939等。应用层协议决定了CAN总线系统的可扩展性。将CAN应用层合理分配后应用于软件结构中可提高软件的兼容性。 本设计各类柴油发动机实验台节点可将程序分为主程序和子程序。主程序的目的是监控本节点中各电器的状态,采用查询方式编程:子程序分为接收子程序和发送子程序,采用模块化编程,将节点的功能分成各种模块并形成文件,在编写各节点程序时直接调用各个模块程序函数即可。这里参考SAEJ1939的编码规则对CAN系统的应用层进行分配,并介绍各节点的软件结构。 3.1节点主程序 上位机转换节点主程序的作用是:查询总线上的数据,并将全车电器实验台依据CAN协议的数据转换为依据RS232电平标准的数据。图7为上位机转换节点流程:开关控制节点主程序用于查询开关的闭合或断开状态并将开关状态存储到单片机的寄存器中。图8所示为开关控制节点的程序流程,其车灯控制节点主程序用于查询CAN总线上的数据以控制相应的电器。图9所示为车灯控制节点的程序流程,其车门控制节点既要查询开关的状态存人单片机汽车驾驶模拟器,又要查询CAN总线的数据控制相应的电机,其主程序包含开关控制节点和车灯控制节点主程序的功能。 3.2节点子程序 接收子程序的作用是将CAN总线上传来的数据存储到单片机中合适的位置,需要安保监控系统实验实训装置用时,CPU直接从该位置查询即可。在运行接收函数前,需先检查CAN控制器SJAl000的寄存器中是否有传来的数据,如果有则运行此程序;如果无,则放弃或继续查询。发送子程序的作用是将所要发送的数据包装并发送到CAN控制器。在主程序中,系统不断查询SJAl000的状态,一旦空闲,CPU将待发送的数据发送到CAN控制器。 4结束语 通过对基于CAN总线的车身电器控制系统的整体优化设计,得出结论:对车身节点进行优化后,资源得到合理使用,并增强了节点的实用和美观性,使节点的接口电路设计更加灵活。本方案侧重于对实验台实用性的改进。通信过程中存在的干扰、基于时间触发的CAN(即TTCAN)的心肺复苏模拟人应用问题尚待进一步的研究。
信息来源:
相关信息
|
|
|
|