新能源汽车整车控制器,在新能源整车中具有重要的作用,是电气和网络通讯的中枢。由于新能源汽车不同车型,不同配置和工设计会有同的设计要求,因此,设计新能源整车控制器,应尽量做到通用。通用应包括二个层面的意思,一、硬件要通用,即应该做到平台化,基于某一款MCU进行平台化硬件设计。二、软件平台化,即软件设计上,底层驱动层,中间层和应用层清晰明确,软件模块功能平台化,如标定,诊断等模块应功能完善。同时,软件编写应模块化。
下面就一款VCU开发实例,介绍下VCU的开发。本实例基于MC9S12XE系列芯片,不考虑AUTOSAR。
1 首先,应明确基本的车辆状态,虽然VCU开发不一某具体唯一车型作为开发目标,但在开关流程上,还是应从需求端进行表述。下面我们就某一车型基本参数描述如下:
项次 | 参数 | 说明 |
车辆类型 | 纯电动商用车 | 可扩展为混合动力、燃料电池商用车 |
车辆总质量 | 8T | |
车辆最高车车速 | 90km/h | |
加速性能(0~50km/h) | <20s | |
最大爬坡度 | 25 | |
续驶里程 | 280km | |
系统电压 | 24V | |
动力电压平台 | 540V | |
VCU安装位置 | 车身(驾驶室外部) | 防护等级应达到IP67 |
2 整车电路原理设计
整车电气原理设计是基于功能设计,确定VCU的功能,在此基础上来确定VCU与整车电气的接口,如VCU要控制哪些部件、采集哪些信号,参与哪些网络的数据交互、电源如何获取,又向哪些外部设备供电了。
网络架构,借用这个图片。
3 VCU硬件电路设计
VCU硬件电路设计基于特定的MCU设计核心电路,本设计选用的VCU为MC9S12XE,其时钟、复位电路等最小系统,可以参考相关设计。
IO输入,原则上可以对车辆IO处理后,接入单片机的IO口。但如果单片机需要采集的IO口比较多时,亦可通过芯片扩展;
IO输出,汽车应用应通过专用驱动芯片实现。如NXP、英飞凌等公司,都有响应的高边、低边、H桥等芯片。在选用时,注意额定电流、峰值电流的选择。
频率采集,注意对频率信号的整形处理,另外还应特别注意频率信号的电平、相位、隔离等处理。最好在硬件设计上不要改变到单片机IO口的频率的相位,即不要将频率信号反相。对于频率信号反相,不影响频率和周期的采集,但是占空比就要换个了。
模拟量采集。在整车应用中,模拟量采集一定要做到稳定,可靠。整车应用中,VCU经常会用来采集油门、制动等关键信号,必须可靠采集、调理和进行运算处理。
通讯接口。CAN网络接口设计,比较通用。注意隔离设计。
硬件资源如下(切个图吧,就不一一打字了):
外壳体,就不啰嗦了,自己开模划不来,通用的壳体。
4 软件设计
软件设计是VCU设计的主要和关键工作。很重要。按照规范、结构化和模块化设计好软件更重要。后续软件的更新、维护、移植等工作的开展,就需要在软件设计开始就规范化设计,否则,谁都不愿意拿烂糟的代码来修改、维护。
软件设计,本设计设计了2大部分软件。一部分是基于MCU的嵌入式软件,基于CodeWarrior,C语言。另一部分是上位机软件,基于VS2010设计的。
嵌入式软件,主要包括:
1)底层驱动。
2)应用程序。
3)标定程序模块。
4)bootloader。严格来讲,与控制应用程序应不是一个工程,可以融合,也可以独立。本设计的bootloader为一个独立的工程。
5)诊断程序模块。
嵌入式软件,编译后为S19文件。
上位机软件,主要包括:
1)bootloader上位机
2)VCU测试上位机(用于VCU产品下线检测)
3)CCP标定上位机
4)UDS诊断上位机
另外,为了配合整车开发,调试,还开发了整车上位机、DBC文件解析器、直流充电协议解析器等。