工作中的電機在低速時像得了帕金森——電流波形畸變、轉(zhuǎn)矩脈動、轉(zhuǎn)速不穩(wěn)。工程師把PID參數(shù)調(diào)了無數(shù)遍,換用更高分辨率的編碼器,甚至升級了主控芯片,問題依舊。這很可能是死區(qū)效應(yīng)在作祟。而這個問題的根源,不在控制算法,而在功率硬件本身。
鏈路吞吐一上來,最難查的往往不是帶寬不足,而是數(shù)據(jù)明明搬完了卻仍然不對。嵌入式平臺只要同時啟用 DMA 和 Cache,緩沖區(qū)所有權(quán)與同步時機沒管住,內(nèi)存里看到的就會是一份被不同主機各自相信的舊數(shù)據(jù)。
很多實時故障并不是主頻不夠,而是最短響應(yīng)路徑被自己切碎了。嵌入式系統(tǒng)一旦把中斷抖動和臨界區(qū)膨脹帶進(jìn)控制鏈,現(xiàn)場看到的就不是偶發(fā)慢一拍,而是每次邊沿都帶著不確定時差。
同一條控制鏈上,數(shù)據(jù)明明都能到,卻未必活在同一個時間線上。嵌入式系統(tǒng)若把采樣、計算和執(zhí)行分布在多個時鐘域里,卻沒有明確校準(zhǔn)時間戳與生效延遲,閉環(huán)就會一邊讀過去,一邊控未來,結(jié)果不是發(fā)抖就是發(fā)鈍。