🚀 姿态控制·实时优化
30章实战
⏱️ 硬核 · 友好
01
实时性概述
基础
姿态控制实时要求 · 硬实时vs软实时 · 延迟/抖动/吞吐量
02
任务调度基础
FreeRTOS
任务状态机 · 优先级抢占 · 创建/删除API
03
调度策略分析
EDF
时间片轮转 · 优先级抢占 · Deadline调度适用性
04
中断管理
临界区
中断优先级配置 · 嵌套与抢占 · taskENTER_CRITICAL
05
任务间通信
队列/信号量
Queue实时性 · 优先级翻转 · 事件组场景
06
内存管理
静态池
malloc不可预测 · 静态内存池 · 栈溢出检测
07
时间管理
DWT
Tick配置 · 软件定时器精度 · 高精度时间戳
08
代码优化
定点化
循环展开 · 浮点定点化 · 编译器选项-O2/-O3
09
数据结构优化
RingBuffer
环形缓冲区 · 链表vs数组 · 避免动态结构
10
外设驱动优化
DMA
SPI DMA · I2C中断vs轮询 · ADC多通道并发
11
传感器数据融合
IMU
IMU时序约束 · 互补滤波器优化 · Mahony/Madgwick实时
12
控制环路设计
PID
PID离散化 · 控制频率匹配 · 前馈补偿
13
状态估计器
卡尔曼
KF实时挑战 · Steady-State KF · EKF优化
14
通信协议优化
CAN/EtherCAT
CAN优先级 · UART DMA · EtherCAT实时特性
15
任务优先级分配
RMS
RMS理论 · 优先级反转解决方案 · 继承/天花板
16
死锁与饥饿
看门狗
死锁四条件 · 预防/避免 · 看门狗恢复
17
实时性测试方法
SystemView
逻辑分析仪 · 示波器中断延迟 · Percepio Trace
18
性能分析工具
DWT
Cortex-M DWT · Cycle Counter · Profiling热点
19
功耗与实时性平衡
DVFS
动态电压频率调整 · 睡眠模式 · 任务分组调度
20
多核处理
AMP/SMP
AMP vs SMP · IPC实时性 · 缓存一致性
21
FPGA协处理
HLS
硬件加速器 · FPGA与MCU接口 · HLS控制算法
22
安全关键系统
IEC61508
SIL等级 · 三模冗余TMR · 故障注入测试
23
RTOS选型
对比
FreeRTOS vs RT-Thread vs VxWorks · 商业认证
24
Bootloader设计
A/B升级
安全启动 · 固件升级实时性 · 双备份策略
25
故障诊断
Watchdog
任务看门狗 · 堆栈监控 · CPU负载率计算
26
代码规范
MISRA-C
MISRA-C · assert使用 · 低开销日志
27
版本管理
CI/HIL
Git Flow · CI自动化 · 硬件在环测试
28
案例1:四旋翼姿态控制
无人机
任务划分 · 传感器融合 · 控制环路优化
29
案例2:机械臂关节控制
EtherCAT
EtherCAT实时性 · 多轴同步 · 碰撞检测响应
30
总结与展望
TSN/RISC-V
常见误区 · 未来趋势 · 学习资源推荐
⚡ 30章 · 卡片目录 · 点击跳转