工作中的电机在低速时像得了帕金森——电流波形畸变、转矩脉动、转速不稳。工程师把PID参数调了无数遍,换用更高分辨率的编码器,甚至升级了主控芯片,问题依旧。这很可能是死区效应在作祟。而这个问题的根源,不在控制算法,而在功率硬件本身。
链路吞吐一上来,最难查的往往不是带宽不足,而是数据明明搬完了却仍然不对。嵌入式平台只要同时启用 DMA 和 Cache,缓冲区所有权与同步时机没管住,内存里看到的就会是一份被不同主机各自相信的旧数据。
很多实时故障并不是主频不够,而是最短响应路径被自己切碎了。嵌入式系统一旦把中断抖动和临界区膨胀带进控制链,现场看到的就不是偶发慢一拍,而是每次边沿都带着不确定时差。
同一条控制链上,数据明明都能到,却未必活在同一个时间线上。嵌入式系统若把采样、计算和执行分布在多个时钟域里,却没有明确校准时间戳与生效延迟,闭环就会一边读过去,一边控未来,结果不是发抖就是发钝。
升级失败最可怕的不是版本没换上,而是设备连旧版本都回不来。嵌入式产品只要把 Flash 擦写原子性和回滚判据想得过于理想,一次普通掉电就足以把启动链路切成半截,现场表现就是大家熟悉的“变砖”。
系统卡住时,CPU 利用率常常并不高,真正出问题的是关键任务再也抢不到自己该有的窗口。嵌入式调度只要让优先级关系失真、执行时间预算失控,高优先级任务就可能在统计上一直存在,却在现场意义上已经被饿死。