当前位置: 首页 > 范文大全 > 公文范文 >

某型工程车CAN总线控制系统设计应用

时间:2022-03-23 09:26:52  浏览次数:

摘 要:讨论了基于CAN总线技术的汽车分布式控制系统的组成结构和实现方案,介绍了系统通用模块和数字化仪表的硬件设计,并选用基于磁耦隔离技术的ADUM1201来提高通信时的抗干扰能力。阐述了系统主控软件、CAN收发数据软件设计流程。模块硬件的通用化设计和主控软件可灵活升级的特点,使系统可适用于更多车型。

关键词:CAN总线;控制系统;磁耦隔离;软件设计

引言

随着计算机技术、网络通讯技术和集成电路技术的飞速发展,汽车网络技术应运而生,为简化汽车上电子控制单元(ECU)之间进行的复杂的信息传递和数据交换,已产生了多种网络标准,如美国汽车工程协会(SAE)的J1850、国际标准化组织(ISO)的VAN和德国博世公司 (BOSCH)的CAN等[1]。其中,CAN总线是BOSCH为解决汽车中众多的控制与测试仪器之间的数据交换而开发的一种通信协议,具有突出的可靠性、实时性和灵活性[2],近年来,基于CAN总线技术的分布式控制系统越来越广泛地被应用到汽车上。汽车仪表也随着电子技术和CAN总线技术的日趋完善而快速向数字化方向发展,并与其它节点组成整车控制网络,对车辆状态进行监控。而对位置分散的信号进行通用化监控处理,可使系统具有更灵活的适用性和更便捷的后期维护,适于批量生产。

1 车身控制系统组成结构

系统中数字化仪表和三个通用模块单独供电,它们通过双绞线相连,组成多主CAN网络,实现节点间数据的双向传送。车身系统的控制逻辑运算均由仪表模块的处理器来完成,仪表模块通过采集或者通过CAN总线从其它节点获取车辆状态信息后,经过逻辑运算,再将控制命令通过CAN总线发送给其它节点,实现对功率负载的控制,同时,仪表还按照SAE J1939协议接收尿素液位ECU和发动机ECU的状态信息,并将车辆状态通过点亮LED灯或驱动步进电机带转指针来指示,或者以字符或图标在LCD显示屏中来显示,为驾驶员或维护人员实时提供信息。同时,还可通过按键进行状态查询和参数设置,实现人机互动。

2 车身控制系统硬件设计

2.1 通用模块设计

为使系统适于分布式安装,节省大量的线束和继电器,将信号采集和功率控制节点设计为具有良好互换性的通用模块。

通用模块选用飞思卡尔的MC9S08DZ60为主控制芯片,实现对开关、模拟、脉冲信号的采集功能和对功率负载的控制功能,同时具备SPI和CAN通信功能以及通信地址的可配置功能。为实现开关信号、模拟量信号的采集和通信地址可配置,选用多路复用芯片MC33993,它通过SPI与MC9S08DZ60通信,可实现共22路开关信号的输入,开关信号输入引脚还可以作为模拟量信号的输入引脚。当作为模拟信号输入引脚时,通过SI写入控制命令,在片选信号CS的上升沿时,将需要采集的模拟量信号接入到AMUX,并在下一个SO输出数据中将对应引脚位的值置为0。AMUX将捕捉到的最高为VDD电压的模拟信号接入到主控芯片,实现该信号的A/D转换。

脉冲信号的采集处理,利用三极管的开关通断特性,实现对脉冲信号的计数处理。功率负载的输出控制选用芯片BTS840,它可提供单路12A电流和双路24A电流,并具备过热保护和短路、断路诊断反馈功能,可实现对外接负载工作状态的监控。

2.2 数字化仪表设计

仪表选用飞思卡尔的MC9S12D64为主控制芯片。该芯片为112脚封装,有丰富的I/O资源和工业控制专用的通信模块[4],特别适用于汽车。仪表作为系统主控单元,不必配置通信地址,故可将芯片MC33993的输入引脚全部用作采集开关信号。为实时监控车辆状态信息,在仪表上侧布有30个LED指示灯阵列,由主控芯片根据对车辆状态数据进行逻辑运算后,通过I/O引脚控制对应状态指示灯。

对发动机转速、车速、机油压力、蓄电池电压、发动机冷却水温、燃油量和前后桥气压等参数,采取驱动步进电机带动指针来指示刻度表盘的实现方式。步进电机的驱动芯片选用MC33976,通过SPI与主控芯片通信,每个驱动芯片可驱动2个步进电机。

仪表采用240x120像素的LCD屏,在主页面显示LOGO、重要参数和报警信息,并可分页显示更多信息。仪表还设计有四个按键,主控芯片通过中断方式接收按键信号,通过选择不同按键,可实现LCD屏的分页显示信息,还可以设置日期、时间、主减速比和单圈脉冲数等参数。

2.3 CAN通信设计

2.4 CAN通信网络组成

系统的软件开发环境为Metrowerks公司的CodeWarrior。仪表将所有采集或通过总线接收到的状态数据经过逻辑运算后,通过LED阵列、LCD屏和步进电机带动指针显示当前车辆状态,并经过CAN总线将控制命令发送给相应模块,实时控制功率负载的启停。仪表主控制流程图如图3所示。

车身控制系统各个节点间通过CAN总线收发数据,各个节点的控制模块在主程序中先对CAN控制器进行初始化,分别分配一段内存空间作为接收和发送数据的队列,并通过中断完成CAN总线数据的接收和发送,CAN数据的接收和发送流程图分别如图4、图5所示。

4 结束语

本文设计了符合CAN通信协议的仪表和通用模块,并与发动机ECU和尿素液位ECU通过CAN总线连接组成整车控制网络,实现了对车辆状态信息的实时监控。采用ADUM1201作为隔离器件,提高了CAN通信的抗干扰能力。信号和负载的通用处理和仪表的集中控制逻辑运算,使系统的售后维护变得更便捷、灵活。本系统已小批量装车后运行数万公里,具有良好的稳定性和可靠性。

参考文献

[1]李铮,鲜继清,邓炳光等.基于CAN总线的汽车组合仪表[J].仪器仪表用户,2006,13(5):152-153.

[2]王佳,蔡志标等.基于CAN总线纯电动汽车整车控制器设计[A].见:孙力,郭淑英,田光宇.2007中国电动车车辆研究与开发[C].北京:北京理工大学出版社,2007:146.

[3]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版,2004.10:19.

[4]北京晶圆智通科技有限公司.双通道数字隔离器-ADuM120x[DB/OL].北京:北京晶圆智通科技有限公司,2013.

作者简介:廖吉春(1975-),男,工程师,硕士,主要研究方向:汽车电子控制系统。

嵇黎明(1978-),女,工程师,本科,主要研究方向:电动汽车动力系统电气集成。

推荐访问: 总线 控制系统 工程车 设计