1.了解AutoSAR及一些概念
AutoSAR是Automotive Open System Architecture ,汽车开放系统架构。
针对汽车ECU的软件开发架构。已经是汽车电子软件开发的标准。
OS服务:Freertos
整车厂(OEM)主要负责应用层算法
一级供应商:生产制造ECU实现ECU相关功能(UDS、XCP、下线检测等),受到OEM的约束。
二级供应商:芯片厂家等,主要负责芯片硬件和开发方式的推荐,受到一级供应商和整车厂的约束。
工具链厂家负责提供开发工具链个一级供应商和OEM进行产品开发(如Vector等)。
方法论:开发满足AutoSar架构的ECU软件的开发流程。
2.AutoSAR出现的背景
- 汽车电子EE架构(电子电器架构)是指整车电子电器的总布置方案,将车上所有的控制器、传感器通过总线连接起来。实现整车的功能运算,能力和能量分配。针对电子控制器众多,每个控制器的供应商软件标准不一样,因此实现统一的软件架构和开发标准,很重要。
- 汽车电子产业链合作模式,芯片公司、二级级供应商、一级供应商、主机厂。在这种模式下、主机厂希望自身只需要开发应用层软件,搭配购买来的开发板和底层软件,一种成熟标准的软件架构和开发模式十分重要。
3.AutoSAR的硬件环境
硬件环境:电子控制单元(ECU)由ECU有主控MCU和相关外围电子电路组成的电控单元
主流MCU:NXP、英飞凌的芯片,通过嵌入式C语言对MCU进行软件编程。
ECU架构包括对数字输入信号、模拟输入信号的判断分析以及输出相关驱动信号、通讯信号。
如图。
下图是一个微控制器架构
4.AutoSAR优势
- 开发效率高,代码可重用率高
- 代码合作开发容易,维护容易
- 开发周期短
- 代码质量短,有保障
- 可支持整车OTA
5.主要开发流程
一个标准的AutoSar流程,
第一步:整车厂从需求生成最终的文件(给到每个ECU制造商)
- 首先要列需求,通过三种描述文件描述这些需求:SWC描述文件、系统描述文件、ECU资源文件(Vector的PREEvision);
- 然后将这三个文件导入到系统配置编辑工具中,生成系统配置描述工具。这个就是整车描述文件。
- 最后将系统配置文件导入到系统配置提取工具中,导出每个ECU相应的提取文件,该文件包含每个ECU需要用到的信息,比如通讯矩阵、SWC信息等(给下游供应商)。
第二步,供应商拿到需求后
- EB来配置MCAL驱动,生成arxml导入到Davinci Configuration中生成代码。
- Davinci Developer是用来配置APP层框架的,导入到Davinci Configurator中生成代码。
- Davinci Developer生成的arxml还会给一份到应用工程师(导入到MATLAB)然后通过MATLAB自动生成软件框架,应用工程在里面添加模型代码。
- 负责上述步骤的EB(驱动)、Davinci Configuration(操作系统)、MATLAB/Simulink(应用层开发)工程师可以同步进行开发(效率快),最终进行集成。
- 开发可以从上到下、也可从下到上,就是说可以在Developer中设计好AppL框架导入到MATLAB做填充,也可以在MATLAB中直接搭建好符合AutoSar规范的代码,然后导出arxml,在导入到Develop中,自动生成框架。
5.1 SWC描述文件(应用层软件组件描述文件)
- 描述每个软件组件需要的资源(比如存储、CPU时间等)
- SWC直接的接口
- 运行机制
5.2 系统约束描述文件(整车公共资源描述)
- 网络拓扑
- 通信矩阵
- 总线波特率
- 各种协议
5.3 ECU资源描述文件
描述每个ECU都需要实现什么功能,系统设计者通过该文件将不同功能的SWC分配到对应的ECU中
- 传感器
- 执行器
- 存储器
- 引脚分配
6.汽车电子岗位介绍
汽车电子MCU工程师具备能力:
汽车方向测试工程师具备能力
7.AutoSar工具链介绍
应用层软件使用MATLAB建模开发
底层软件:一般Mcal驱动使用EB tresos工具链,协议栈使用Vector Davinci(Developer 负责应用层;Configuration负责除驱动外的基础软件层)工具链。
工具链提供全量的AutoSar架构软件,
客户根据自己项目的要求,配置除符合自己项目的软件。
工程中的静态代码是不会改变的
配置代码根据配置工具根据客户不同的需求生成的代码。