1. 实时控制系统与STM32平台选型
实时控制系统的“实时”并不是指“运算速度快”,而是指系统对外部事件作出响应的时间具有可预测性,并且能在规定的截止时间(Deadline)之前完成关键动作。一个控制回路即使平均响应很快,只要偶尔出现超时,也可能导致电机失步、电源环路振荡或机械机构碰撞。因此,实时性本质上是一个时间约束问题:事件发生、计算完成、执行器动作三者之间的时间必须被限定在可证明的范围内。
硬实时与软实时的区别
硬实时(Hard Real-Time)要求任务必须在截止时间前完成,一旦超时即视为系统失败,后果可能是不可接受的。例如三相无刷电机的电流环通常运行在 10 kHz~20 kHz,即周期 50~100 μs,若某次电流采样或 PWM 更新延迟超过一个周期,就会造成转矩脉动甚至过流。软实时(Soft Real-Time)则允许偶尔超时,只导致服务质量下降,例如上位机波形刷新、状态日志上传,延迟几十毫秒通常不影响控制功能。
判断一个任务属于硬实时还是软实时,可以从三个维度评估:超时后果是否可逆、截止时间是否严格、以及抖动(Jitter)是否被约束。硬实时任务不仅要求平均执行时间短,更要求最坏执行时间(WCET)和中断延迟可界定。下表给出典型控制任务的实时性归类示例(参数为教学示例,非实测值):
| 任务 | 典型周期 | 实时类型 | 超时后果 |
|---|---|---|---|
| 电流环 / PWM 更新 | 50~100 μs | 硬实时 | 过流、转矩脉动 |
| 速度环 | 1 ms | 硬实时 | 转速波动、失稳 |
| 位置轨迹插补 | 1~5 ms | 硬实时 | 轨迹偏差、机械冲击 |
| 状态监测与保护 | 1~10 ms | 硬实时 | 故障未及时切断 |
| 参数上传 / 波形显示 | 10~100 ms | 软实时 | 界面卡顿 |
STM32F4/F7/H7 在实时控制中的定位
STM32 各系列在实时控制中的差异,核心来自内核主频、Cache 结构、总线矩阵和定时器/PWM 资源。F4 系列基于 Cortex-M4,主频约 168~180 MHz,带单精度 FPU,无指令/数据 Cache,中断延迟确定,适合中低端电机控制、数字电源等对成本敏感的场景。F7 系列基于 Cortex-M7,主频约 216 MHz,带 FPU 和 I/D Cache,算力明显提升,但 Cache 会引入访问时间不确定性,需要合理配置 MPU 和 Cache 策略。H7 系列主频可达 480 MHz 甚至更高,双精度 FPU、多总线域、大容量 TCM RAM,适合多轴伺服、复杂环路和高速采样场景。
选型时不能只看主频。对于硬实时控制,TCM RAM(紧耦合内存)和 AXI/SRAM 的访问延迟差异会直接影响中断服务程序的最坏执行时间。H7 的 ITCM/DTCM 可让关键代码和数据以零等待方式访问,而放在普通 AXI SRAM 中的代码可能因总线竞争产生抖动。因此,高主频芯片若把关键中断代码放在非确定性存储区,实时性未必优于低主频但结构简单的 F4。
时钟树与总线架构对响应时间的影响
STM32 的时钟树决定了内核、总线和外设的时钟来源与分频关系。以 H7 为例,PLL1 输出经分频后驱动 CPU 与 AXI 总线,PLL2/PLL3 分别驱动外设和定时器。若定时器时钟与 CPU 时钟不同源或分频不当,PWM 分辨率与中断触发时刻会产生偏差。总线架构方面,AHB/APB 桥、总线矩阵仲裁和 Flash 等待周期都会影响中断响应。Flash 取指若未开启预取和 Cache,在高主频下需要插入等待周期,导致中断入口延迟增加。
下图给出一个典型的实时控制信号链与平台资源关系示意,说明从外部事件到执行器动作之间,时钟、总线、存储和定时器如何共同影响响应时间。
选型评估方法
面向实时控制的 MCU 选型,建议按以下顺序评估,而不是先看价格或主频:
- 确定控制环周期与截止时间。例如电流环 50 μs、速度环 1 ms,据此推算允许的中断延迟和计算时间预算。
- 估算最坏执行时间。用指令周期、Flash 等待周期、Cache 命中率和中断嵌套层数做保守估算,必要时用 DWT 周期计数器实测。
- 核对定时器与 PWM 资源。高级定时器数量、互补输出、死区插入、编码器接口是否满足拓扑需求。
- 检查存储确定性。关键 ISR 和查找表是否可放入 TCM 或 CCM RAM,避免与 DMA 争用总线。
- 评估模拟外设。ADC 采样率、分辨率、注入通道与定时器联动能力,决定电流采样是否能在 PWM 中点完成。
- 留出余量。建议 CPU 占用率不超过 60%~70%,为故障保护和通信任务保留时间。
综合来看,F4 适合成本敏感、控制环周期在 50 μs 以上的中低端场景;F7 适合需要更高算力但仍能接受 Cache 管理的场合;H7 适合多轴、高速采样和复杂算法的硬实时控制。选型的核心不是“选最强的”,而是让最坏响应时间、外设资源和成本三者匹配控制需求。