返回首页 在线订单 联系我们

服务热线:021-60766769

产品分类
新闻动态
当前位置:主页 > 新闻动态 >
CAN总线的车身电器控制系统实验台设计
发布时间:2017-10-28 点击次数:
汽车上的电子装置随着汽车电子的发展日益增多,仍采用传统的通信模式必然导致汽车电器布线复杂,维修检测困难等问题。而CAN 总线的提出为解决此问题提出了可能。CAN(Controller Area Network)总线是20 世纪80 年代德国Bosch 公司为实现现代汽车上众多电子模块相互间的通信而提出的一种串行通信协议,是目前唯一具有国际统一标准的总线。但由于国内关于CAN 总线的研究起步很晚, 至今国产化的产品不多。因此文献基于科研教学及产品开发的多重目的,研制开发了基于CAN 总线的车身电器控制系统实验台。该实验台以CAN 总线为基础,以某汽车车身电器为对象简化了汽车车身电器的控制网络,减少了线束,实验也证明了所开发系统的正确性和CAN 总线取代传统车身线束的可行性。该实验台的成功开发其现实意义很重要,但也存在以下不足之处应加以改进:1)试验台将车灯控制节点分为前灯、后灯2 个节点,这样在通信中不仅没有完全利用单片机的接口,还要考虑前后节点的优先权,把软件的设计复杂化。2)单片机引脚电流过小不足以驱动大功率的车灯和车门电机等功率器件,该试验台选用驱动芯片、继电器和保险丝来实现功能,这样设计接口电路使节点的总体体积偏大,不便车载。本文主要针对以上2 个问题提出解决方案,先从总体上对节点重新分类设计, 基于AT89S52 微处理器和CAN 控制器SJA1000 重新构建硬件环境, 然后以AT89S52 为核心,结合所选器件的运行环境改进程序。
1、车身电器控制系统节点分类及其功能
该控制系统将车身电器分为上位机转换节点、开关控制节点、车灯控制节点、车门控制节点4 类。各类节点所包含的电器设备及要传输的信号如下:1)上位机转换节点:将CAN 协议信号转换为RS232 协议信号输出,由上位机的串口接收;2)开关控制节点:灯具开关节点需要的各开关输入,通过单片机将物理的开关信号转换为数据信号;3)车灯控制节点:接收总线上传来的可控数据,并将数据转换后控制车灯各灯具的状态,控制的车身电器主要是远光灯、近光灯、雾灯、转向灯、倒车灯、刹车灯等灯具;4)车门控制节点:控制车门的开关输入及玻璃升降电机的输出。节点的分类及功能如图1 所示。

图1 节点分类及功能框图

图2 通讯电路连接图
2、系统硬件电路设计
硬件通讯电路部分由单片机AT89S52、CAN 控制器
SJA1000、CAN 收发器PCA82C250 连接组成。任何类型的节点其硬件设计中都由该通讯电路和接口电路组成,CAN 控制器及收发器与单片机连接电路如图2 所示。为使总线上有信号时,系统能够快速响应,单片机与SJA1000 采用独立的晶振。SJA1000 的晶振频率为16 MHz,单片机的晶振频率
为12 MHz, 这样可使CAN 控制器接收或发送数据速度快于单片机的处理速度,总线传来的数据或待发送到总线的数据可暂存于SJA1000 的缓冲器中, 等待单片机处理或自动向总线发送。

图3 上位机转换节点接口电路
2.1 上位机转换节点接口电路
上位机转换节点中,接口电路的功能主要是将数据转换为符合RS232 电平协议的数据,可供上位机串口接收。由于单片机输出的数据中逻辑电平“1”和“0”分别用5 V 和0 V表示,而RS232 电平的逻辑“0”电平范围为-5~-15 V,逻辑“1”的电平范围是+5~+15 V,因此这里选用MAX232 进行电平转换,完成上位机转换节点接口电路的功能,图3 所示为上位机转换节点接口电路。
2.2 开关控制节点接口电路
开关控制节点中,接口电路的功能主要是将节点电器中的多路开关状态转换为数字信号,并且实现由车载电源12 V 到单片机使用的5 V 电源的转换。该接口电路选用的74HC244 是一款CMOS 型8 位总线收发器,主要用在开关的输入时,开关和SJA1000 共用单片机P0 端口时的切换;电源转换主要通过稳压管LM7805 实现。图4 为开关控制节点接口电路。
2.3 车灯控制节点接口电路
车灯控制节点中, 接口电路的功能主要是实现通过CAN 总线的传输数据控制车灯功率电器。从单片机引脚流出的电流很小,无法直接驱动车灯,若采用驱动电路和继电器来完成车灯的驱动作用,必然会导致车灯控制节点偏大,不够实用和美观。该接口电路选用MC33888 器件。
该器件内部集成有4 路高端驱动器和8 路继电器或发光二极管驱动器,是一个可控制网络,具有在线诊断、与微控制器通信报错能力及故障软化等优点。图5 所示为车灯控制节点接口电路。

图4 开关控制节点接口电路

图5 车灯控制节点接口电路
2.4 车门控制节点接口电路
车门控制节点接口电路的功能和车灯控制节点接口电路的功能类似, 也是将单片机输出的小电流信号转换成可驱动大功率电器的电信号,完成相应工作。该电路采用MC33887 器件。该器件功耗低, 在等待模式下电流为25 mA,输出电流超过8 A 自动短路关断。图6 为车门控制节点接口电路。

图6 车门控制节点接口电路
3、系统软件设计
任何CAN 总线系统的通信协议都由物理层协议、数据链路层协议和应用层协议组成。SJA1000 和PCA82C250 的硬件结构保证了协议的物理层和数据链路层。对于应用层,在不同的应用领域, 人们制定了不同的协议, 包括CANopen、DeviceNet 及SAE J1939等。应用层协议决定了CAN 总线系统的可扩展性。将CAN 应用层合理分配后应用于软件结构中可提高软件的兼容性。
本设计各类节点可将程序分为主程序和子程序。主程序的目的是监控本节点中各电器的状态, 采用查询方式编程;子程序分为接收子程序和发送子程序, 采用模块化编程,将节点的功能分成各种模块并形成文件,在编写各节点程序时直接调用各个模块程序函数即可。这里参考SAE J1939 的编码规则对CAN 系统的应用层进行分配, 并介绍各节点的软件结构。
3.1 节点主程序
上位机转换节点主程序的作用是: 查询总线上的数据, 并将依据CAN 协议的数据转换为依据RS232 电平标准的数据。图7 为上位机转换节点流程; 开关控制节点主程序用于查询开关的闭合或断开状态并将开关状态存储到单片机的寄存器中。图8 所示为开关控制节点的程序流程, 其车灯控制节点主程序用于查询CAN 总线上的数据以控制相应的电器。图9 所示为车灯控制节点的程序流程, 其车门控制节点既要查询开关的状态存入单片机, 又要查询CAN 总线的数据控制相应的电机,其主程序包含开关控制节点和车灯控制节点主程序的功能。

图7 上位机转换节点流程

图8 开关控制节点的程序流程

图9 车灯控制节点的程序流程
3.2 节点子程序
接收子程序的作用是将CAN 总线上传来的数据存储到单片机中合适的位置, 需要用时,CPU 直接从该位置查询即可。在运行接收函数前,需先检查CAN 控制器SJA1000 的寄存器中是否有传来的数据,如果有则运行此程序;如果无,则放弃或继续查询。发送子程序的作用是将所要发送的数据包装并发送到CAN 控制器。在主程序中, 系统不断查询SJA1000 的状态, 一旦空闲,CPU 将待发送的数据发送到CAN 控制器。
4、结束语
通过对基于CAN 总线的车身电器控制系统的整体优化设计,得出结论:对车身节点进行优化后,资源得到合理使用,并增强了节点的实用和美观性,使节点的接口电路设计更加灵活。本方案侧重于对实验台实用性的改进。通信过程中存在的干扰、基于时间触发的CAN(即TTCAN)的应用问题尚待进一步的研究。 

 

友情提示:
您只要致电:021-60641703  021-60766769  (0)15216837090 (张经理)
我们可以解答汽车整车CAN总线网络示教板汽车CAN数据传输网络示教板相关疑问!
我们可以帮您推荐符合您要求的汽车整车CAN总线网络示教板汽车CAN数据传输网络示教板相关产品!
电话:
021-60766769
手机:
15216837090