汽车软件开发与混动系统功能开发

汽车软件开发与混动系统功能开发

    • 1. C语言常用知识点
      • 1.1 嵌入式的C语言
      • 1.2 代码函数注释与结构
      • 1.3 常用的编译器
      • 1.4 代码管理
    • 2. 应用层开发与simulink 建模
      • 2.0 C代码与模型的映射关系及其配置
      • 2.1 建模操作
      • 2.2 建模的脚本操作
      • 2.3 存储的设计 cscdesigner
      • 2.4 模块的封装与库的建立
      • 2.5 模型的检查与测试
      • 2.6 代码生成技术
      • 2.7 targrlink
      • 2.8 常用算法与库
      • 2.9 建模规范
    • 3 集成编译
    • 4. 通信
      • 4.1 CAN 总线
      • 4.2 网络管理与唤醒
    • 4. 标定
      • 5.1 INCA
      • 5.2 诊断CANOE
    • 5. 混动部件的功能基础
      • 5.1 电池
        • 5.1.1 SOP
        • 5.1.2 SOC
      • 5.2 Dcdc
        • 5.2.1 控制基本电路与原理
        • 5.2.2 控制模式
      • 5.3 电机
        • 5.3.1同步电机的基本控制原里
        • 5.3.2 扭矩控制策略
        • 5.3.3 电流环控制与SVPWM
        • 5.3.4 标定
    • 6. 整车的扭矩结构
      • 7.1 基本的整车扭矩路径
      • 7.2 需求扭矩控制
      • 7.3 TCU、ESC干预扭矩
      • 7.4 扭矩不同阶段的滤波的目的
      • 7.5.混动系统的典型功能
    • 8 辅助脚本
    • 9. autosar
    • 11. 硬件知识
      • 11.1 硬件抽象为寄存器控制
      • 11.2 常用的控制器

先大概写个目录
试图根据自己的工作经验,逐步完善形成一本汽车软件开发与系统设计的实践书。
动力系统功能系统基本点:

  • 扭矩作为控制的基本点
  • 基于工况的系统设计(扭矩限制,扭矩分配,扭矩干预)
  • 需求实现与干预扭矩路径
    软件系统设计
  • 软件架构设计:功能整体模块交互架构,模型内部(Swc)架构
  • 详细系统设计:提供成熟的基础库,基于需求设计

1. C语言常用知识点

1.1 嵌入式的C语言

1.1.1 变量
1.1.1.1 类型 typedef
1.1.1.2 变量定义的使用宏区别
1.1.1.3 变量的修饰词
1.1.1.4 Union 和 struct
1.1.2 函数
1.1.2.1 Inline 实现代码内插
1.1.2.1 函数指针
1.1.3 预编译
1.1.4编译相关

1.2 代码函数注释与结构

1.2.1 ctags 生成函数关联
1.2.2 doxygen 与注释的文档帮助

1.3 常用的编译器

1.3.1 tasking
1.3.2 bin工具
objcopy
objdump
objtrim
nm
size

1.4 代码管理

git

2. 应用层开发与simulink 建模

2.0 C代码与模型的映射关系及其配置

2.1 建模操作

2.1.1 模块外观
2.1.2 信号线的快速连接

2.2 建模的脚本操作

2.2.1 常用函数
2.2.2 常用的系统常量
2.2.3 matlab 注册方式
2.2.4 常用属性

2.3 存储的设计 cscdesigner

2.3.1 matlab的存储类实现
自定义存储的库 package

2.4 模块的封装与库的建立

2.4.1.1 快捷方式
2.4.1.2 外形设置
2.4.1.3 界面和参数设置2.4.1.4 帮助说明 document
2.4.2 库的建立

2.5 模型的检查与测试

2.5.1 advisor
2.5.2 SIL and MIL

2.6 代码生成技术

2.6.1 代码生成基本原理
2.6.2 tlc 控制
2.6.3 rtw 文件记录
2.6.4 code generate
2.6.5 s-function
2.6.5.1 快速利用已有的代码

2.7 targrlink

2.7.1 基本的API
2.7.2 模块的输入输出

2.8 常用算法与库

2.8.1 一阶滤波
2.8.2 回迟滞debounce
2.8.3 平滑切换
2.8.4 二阶滤波
2.8.5 PID
2.8.6 自学习
2.8.7 计时器

2.9 建模规范

2.9.1 命名规则
2.9.2模型architecture
2.9.3 需求与注释
2.10 基于模型的测试

3 集成编译

3.1 makefile
基本思想
目标的建立
变量的使用
常用函数的使用
shell 等指令的调用
3.2 asap2接口实现
A2L的结构与物理含义
脚本处理方式
3.3 代码查看与版本控制
3.3.1 git的使用
3.3.1.1 基本使用
3.3.1.2 远程使用
3.4 编辑工具
3.4.1 notepad的使用技巧
3.4.2 vim的快捷使用
3.4.3 compare实现代码对比
3.4.4 insightsource
3.5 链接过程
链接脚本
example
linker script
常用的指令
align
keep
FLAGS
section的分割方式
底层链接过程

4. 通信

4.1 CAN 总线

4.1.1 通信原理与分层
4.1.2 分层模型
4.1.3 总线内容
signal database
dbc文件格式与软件
4.1.4 通信容错
基于CRC检验
E2E校验

4.2 网络管理与唤醒

PNC
4.3 测试方法

4. 标定

5.1 INCA

5.1.1 inca的基本使用
5.1.2 hex的结构
测量文件MDF
lab文件使用
标定数据 CDF,DCM

5.2 诊断CANOE

5.2.1 故障与功能禁用
5.2.2 基于UDSonCAN诊断

5. 混动部件的功能基础

5.1 电池

5.1.1 SOP

5.1.2 SOC

5.2 Dcdc

5.2.1 控制基本电路与原理

5.2.2 控制模式

5.3 电机

5.3.1同步电机的基本控制原里

5.3.2 扭矩控制策略

5.3.3 电流环控制与SVPWM

5.3.4 标定

0偏角
I-tqMap

6. 整车的扭矩结构

7.1 基本的整车扭矩路径

7.2 需求扭矩控制

7.3 TCU、ESC干预扭矩

7.4 扭矩不同阶段的滤波的目的

7.5.混动系统的典型功能

7.5.1 效率点优化与能量管理
7.5.2 电机助力boost and fillin
7.5.3 换挡辅助
7.5.4 能量回收

8 辅助脚本

8.1 Perl
正则
变量
常用modules
命令行
控制流
8.2 python
8.3 matlab
8.3.1 右键菜单
8.3.2 字符串的处理
8.3.3 路径和文件的处理

9. autosar

9.1 xml格式
9.1.1 数据描述 xml
9.1.2 数据格式的预定义 schema
9.2 整车设计核心思想
9.2.1 VFB虚拟总线
9.2.2 VFC虚拟功能簇
9.3 分层架构
9.4 BSW的配置
9.5 ASW软件设计

11. 硬件知识

11.1 硬件抽象为寄存器控制

11.2 常用的控制器

freescale MPC57xx产品
infineon Tc27xx

你可能感兴趣的:(汽车软件开发,嵌入式)