1、主要内容,1、汽车电子控制系统发展趋势 2、ECU系统框架介绍 3、ECU设计思路和开发流程 4、基于AutoSAR的软件体系结构 5、ECU标定相关技术 6、协同开发与版本管理,1、汽车电子控制系统发展趋势,多ECU协同工作:分布式网络结构,ECU数量越来越多,线控 MpSOCs:单个系统功能越来越强大、集成度越来越高、多核多处理器、使用智能IP核 标准化,开放化:统一接口,在标准的上合作,在实现中竞争,燃料电池主控系统: MPC561 + AT91SAM9261S,存在问题,系统复杂多变,多学科综合问题,系统可靠性要求高 开发周期过长,还需要大量的标定匹配工作 可移植性差,升级维护麻烦 需
2、要大量的人员参与,协同设计,2、ECU系统框架与结构划分,产品的特殊性,工作条件恶劣可靠性要求很高 硬件版本 程序版本 数据版本(标定),三层次逻辑结构,包括硬件、控制逻辑和标定数据,硬件系统,软件系统,3、ECU设计思路与开发流程,统一开发过程基本原则以需求为导向 以架构为核心 增量式、迭代式开发建立外科手术师式开发团队,系统开发V模式,参考方案,dSPACE,半实物仿真 ETAS的开发工具ASCET、标定工具INCA VECTOR提供标准软件组件其它专有方案,RTW+ Stateflow,实时系统分析工具,形式化分析工具UPPAAL 基于改进的时间自动机理论,SymTA/S 符号化系统分析
3、工具,4、AUTOSAR,AUTomotive Open System Architecture(汽车开放式系统架构),支持分布式的、功能驱动的汽车电子软件开发方法和电子控制单元上的软件架构标准化方案,以便应用于不同的汽车和平台,提高软件复用,降低开发成本 基本目的: 1 解决汽车功能可用性和安全性需求; 2 保持汽车电子系统一定的冗余; 3 方便移植到不同的汽车和平台; 4 实现标准的基本系统功能作为汽车供应 5 通过网络共享软件功能; 6 集成多个开发商提供的软件模块; 7 贯穿整个产品生命期的软件维护; 8 更充分的利用硬件平台的处理能力; 9 进行汽车电子软件的更新和升级。原则:在标准
4、上合作,在实现上竞争,4、AutoSAR软件体系,ECU软件架构,MCU抽象层:处于系统底层,通过寄存器直接操作硬件,它包含各种驱动。它们是一个个软件模块,用于直接访问微控制器内的外设或者是内存映射到微控制器的外部设备。微控制器抽象层提供统一的接口,使上层软件独立于微控制器。对于某个具体微控制器抽象层,可以通过配置、裁减等方式使之适用于该系列微控制器的多种衍生产品;对于不同内核的微控制器,则其软件架构和某些模块也具有借鉴意义 ECU抽象层:给上层应用提供接口,但必须通过微控制器层才能访问硬件,不同版本的硬件其ECU抽象层配置是不一样的 复杂设备驱动:介于前二者之间,可以直接与硬件打交道,同时也
5、给上层应用提供接口,对于PowerPC系列我把与TPU相关的部分全部放在这一层,其它系列与喷油器驱动相关的部分放在这里,这一部分用单独的文件中列出 系统服务层:与OS相关内容以及任务调度等 应用层,微处理器抽象层划分,MCU驱动控制:微控制器驱动主要包括看门狗驱动,通用时钟驱动和MCU基本驱动,它们都由微控制器相关寄存器操作来完成。 看门狗驱动 通用时钟驱动 MCU基本操作 存储器驱动:通常使用的存储器主要有3类,RAM、FLASH和EEPROM RAM驱动 FLASH驱动 EEPROM驱动 通讯驱动:在汽车电子领域通常使用的通讯有SCI(有时候使用LIN或K线)、SPI、CAN和FlexRa
6、y等。每个子模块都包含一个统一的数据堆定义文件ComStack_Types.h。 CAN SPI LIN FlexRay IO驱动 PORT驱动 ADC驱动 DIO驱动 PWM驱动 ICU驱动,ECU抽象层划分,板上设备抽象,对ECU上的非传感器、执行器的设备进行抽象,如系统基础芯片,外部看门狗等 电源管理芯片(TLE6368) I/O硬件抽象 I/O设备的硬件抽象,提供I/O信号接口来访问不同的I/O设备。 多通道低端驱动芯片(TLE6244x) 多通道低端驱动芯片(TLE6232) 开关信号采集芯片(MC33993) 通讯硬件抽象 对通讯设备进行抽象的一组模块。所有的通讯系统都需要一个特定
7、的通讯硬件抽象,用以屏蔽通讯设备的片内或片外属性。 存储硬件抽象 对存储设备进行抽象的一组模块。存储设备通过特定的存 储抽象模块被访问。屏蔽片内、片外设备的不同和存储硬件类型(EEPROM或者Flash)的差别,提供统一的机制来访问。 SPI外扩EEPROM(MC95320) ECU配置,复杂设备驱动,PowPC系列处理器都有专门的TPU(时间处理单元)模块,我们将比较复杂的驱动设备用TPU来控制,主要是喷油驱动。 主要功能:复杂驱动模块主要功能就是根据输入的凸轮曲轴信号数齿,并根据设定的特征参数(包括发动机为几缸、上止点所在位置以及喷射参数等)输出控制信号。 输入信号:主要是凸轮曲轴信号,都
8、是经过调理电路处理的数字信号。 输出信号:喷油控制信号,几缸机对应几路数字脉冲信号。经过驱动电路最后才得到实际控制信号。根据写入的相关喷射参数(包括脉宽和提前角)产生喷油信号,系统服务(OSEK),Task 任务调度 Alarm 警报器,时间管理 Event 事件管理 Resource资源管理,应用层-以共轨柴油机为例,功能任务子层主要包含以下几个模块整车控制 发动机控制 轨压控制 油量控制 系统后台服务 标定模块 诊断接口模块 信号处理子层主要包含以下部分:滤波算法 限制和数值转换 辅助子层主要包含以下几个模块故障诊断 故障传输 逻辑实现子层主要包含以下几个模块系统状态转换图工作模式,5、E
9、CU标定相关技术细节,标定功能实现与在线诊断 常用标定工具 相关标定协议 ECU在线升级程序引导与系统配置:复位向量,系统引导完成前可以借助外部工具更新所有的程序 存储器分配:很多变量都是全局定义的且需要固定地址,常用标定工具介绍,常用标定工具介绍,西门子标定工具,标定软件:SAM2000 接口硬件:PCMCI卡 存储模拟器:ECU(需SRAM和PC机上文件配合)。 一套完整的SAM2000标定系统文件包括:DES文件(ECU描述文件) 、DRH文件(DR文件的头文件)、DR文件(标定数据文件)、EH文件(整个程序段头文件)、E0文件(控制算法程序文件)、E1文件(引导程序文件)及E2文件(F
10、lash刷写程序文件),以上文件编写格式及作用各不相同,但在使用过程中相互关联配合,以完成SAM2000对各种ECU的标定功能。同时,Flash中的源代码文件(*.bin)也是由以上文件共同构成的。 通讯协议:由西门子自定义,基本符合CCP协议,康明斯诊断工具,标定软件:INSITE 接口硬件:INLINE适配器 通讯协议: SAE J1939、 J1587、J1708 主要用于故障诊断,获取高级权限后也能修改ECU内部数据,在康明斯的发动机上使用,在中国很少有人用来标定,康明斯诊断工具,康明斯诊断工具,VISION标定系统,标定软件:VISION 接口硬件:PCMCIA卡、USB-to-CA
11、N、VISION网络门户接口或内存模仿器 通讯协议: XCP、CCP和KWP2000 与Matlab/Simulink开发平台无缝连接,多年来被福特(Ford)汽车公司、德尔福公司(Delphi)、沃尔沃卡车公司等指定为标准匹配标定系统。 符合ASAM组织标准,VISION标定系统,与标定相关通讯协议,CCP协议:CAN标定协议,由ASAM组织()提出,使用CAN总线 XCP:CCP的扩展, X指通讯物理层多变,可用CAN、TCP/IP、LIN、UART、FlexRay、USB、K线等 KWP2000:主要用于诊断,有基于K线的(ISO14230)和基于CAN的(ISO15765) SAE J
12、1939:卡车网络通讯协议,比J1587深入,也是基于CAN的,KWP2000协议,欧洲汽车领域广泛使用的车载诊断协议,该协议实现了一套完整的车载诊断服务,并满足E-OBD标准 。 KWP2000最初是基于K线的诊断协议,由于K线物理层和数据链路层在网络管理和通讯速度上的局限性,使得K线无法满足日趋复杂的车载诊断网络的需求。而CAN网络由于其非破坏的网络仲裁机制,较高的通讯数据和灵活可靠的通讯方式,因此近来欧洲汽车领域广泛采用基于CAN总线的KWP2000,即ISO 15765协议。,J1939协议,一种支持闭环控制的在多个ECU之间高速通信的网络协议。主要用于载货车和客车上。它以CAN2.0
13、协议为核心 J1939报文,利用CAN扩展帧标识符(29位ID)区分数据 PRIORITY :3bit 优先级 R :1 保留 DP :1 数据页 PDU Format :8 参数组格式 PDU Specific :8 参数格式扩展 Source address :8 数据源地址 Data Field :0-64 实际数据J1939报文与CAN对应关系 CAN格式 标识符(11bit) 扩展帧标识符(18bit) J1939报文格式 Priority/R/DP/PF(7-2) PF(1-0)/PS/SA,北京理工大学的标定系统,标定软件:AETC Calibrator(VC+VB+底层硬件驱动) 接口硬件:周立功USBCAN卡 通讯协议:CCP 使用范围:自行开发的ECU,只要符合CCP协议的ECU原则上都能使用,在西门子的ECU上初步测试已成功,北京理工大学的标定系统,显示3维MAP的画面,标定系统主界面,Bootloader,6、协同开发与版本管理,项目文档管理 缺陷管理 版本管理与控制80%的重复工作都可以由机器来完成开源版本管理工具SVN,软件设计准则,以架构为核心 正交化,模块化设计 将硬件抽象化,上层软件与硬件无关 可移植性强,方便维护 开发文档必须完整清晰只有记录在案的讨论结果才算是结果,缺陷管理,谢谢大家,