车门控制设计实战
30章
📘 从需求到代码
v1.0
01
需求分析入门
什么是车门控制?常见车门类型(手动/电动/智能),课程目标与范围
02
功能需求梳理
核心功能(解锁/闭锁/车窗/后视镜),用户场景分析
03
非功能需求
安全性(防夹手/故障自检),可靠性MTBF,实时响应
04
系统架构设计
模块划分(控制/执行/传感/通信),接口定义
05
硬件选型
主控芯片(STM32/NXP),电机驱动(L298N/DRV8833),传感器
06
通信协议设计
CAN/LIN总线,自定义协议帧格式与校验
07
状态机建模
车门状态定义,状态转换图,状态机表
08
UML建模
用例图(驾驶员/乘客/维修),时序图,类图
09
软件分层架构
应用层/服务层/驱动层/HAL,各层职责接口
10
解锁/闭锁模块
电机正反转,堵转检测,超时保护
11
车窗升降模块
PWM调速,霍尔位置检测,防夹手算法
12
后视镜折叠模块
步进电机控制,折叠角度,记忆位置
13
灯光指示模块
门控灯逻辑,转向灯联动,氛围灯
14
故障诊断模块
DTC故障码,自检流程,日志记录
15
电源管理模块
休眠唤醒策略,低功耗,电池保护
16
安全冗余模块
看门狗,双通道冗余,安全状态切换
17
代码实现-工程搭建
Keil/IAR工程结构,代码目录,Git入门
18
驱动层开发
GPIO/定时器/ADC/PWM驱动
19
通信层开发
CAN驱动初始化,报文收发,LIN驱动
20
状态机实现
switch-case/函数指针表,事件驱动
21
解锁/闭锁功能编码
电机控制函数,状态切换,安全互锁
22
车窗防夹手编码
电流采样滤波,阈值判断,反向动作
23
后视镜控制编码
步进电机驱动,位置闭环,EEPROM存储
24
故障诊断功能编码
DTC管理,故障注入,UDS诊断基础
25
电源管理功能编码
休眠状态机,唤醒源管理,CAN唤醒
26
单元测试
Unity/CMock框架,测试用例,覆盖率
27
集成测试
模块联调,CAN报文监控,系统功能测试
28
硬件在环测试(HIL)
HIL平台搭建,仿真模型,自动化脚本
29
功能安全与认证
ISO 26262,ASIL分解,安全机制验证
30
项目总结与文档
SRS/SDD/测试报告,代码评审,CI实践