EtherCAT vs CAN vs USB:機器人內部致動器通訊匯流排該怎麼選

2026-09-03

機器人裡最不起眼、卻決定控制頻率上限的一層

機器人有幾十個關節馬達需要協調控制,這些馬達控制器彼此之間、以及跟主控制電腦之間,需要一套通訊協定交換位置指令與感測回饋,這一層通訊架構雖然不像感知或路徑規劃演算法那樣顯眼,卻直接決定了整個系統能達到的控制頻率上限與即時性保證,也是本站在 PID 控制器 與雅可比矩陣 文章中討論的控制迴路,實際能以多快的頻率運行的硬體基礎。

CAN:汽車產業驗證多年的成熟方案,但頻寬有結構性上限

CAN(Controller Area Network)匯流排源自汽車產業,多個節點共用同一條實體線路,透過訊息優先權仲裁機制決定傳輸順序,技術極度成熟、抗雜訊能力強、生態系與除錯工具鏈完整。但它的資料傳輸速率有結構性上限(標準 CAN 通常在 1 Mbps 以下,CAN FD 有所提升但仍有限),且節點數量增加時,共用匯流排的碰撞重傳機率上升,這對汽車電子這類相對低頻率的應用是夠用的,但機器人需要同時控制數十個關節、每個都要求高頻率的位置與力矩回饋,CAN 的頻寬很快就會成為瓶頸。

EtherCAT:靠「訊息飛越」機制在高頻寬下維持確定性延遲

EtherCAT 建立在乙太網路實體層之上,頻寬遠高於 CAN,其關鍵創新是「訊息飛越」(processing on the fly)機制——資料封包依序流過匯流排上的每個節點時,各節點就地讀取屬於自己的資料段落、寫入回傳資料,不需要像傳統乙太網路那樣每個節點都要完整接收、處理、再轉發整個封包,這讓 EtherCAT 能在維持高頻寬的同時,把整條匯流排上所有節點完成一輪通訊的週期壓縮到亞毫秒等級,且延遲是確定性的(deterministic),不會因為網路壅塞而產生不可預期的抖動。這正是為什麼多數瞄準高自由度、高頻率控制的人形機器人與精密工業機械手臂選擇 EtherCAT 作為關節控制迴路的通訊骨幹——高自由度系統需要同時協調的關節數量多,對通訊週期的即時性要求也最嚴苛。

USB:不適合即時控制迴路,但在周邊連接上仍然實用

USB 協定的資料傳輸排程由主機作業系統驅動程式協調,延遲與抖動沒有嚴格的確定性保證,幾乎不會用在關節伺服控制這類需要毫秒等級精確時序的路徑上。但 USB 即插即用的便利性與低整合成本,讓它在機器人系統裡仍然扮演重要角色——連接攝影機、部分不需要極端即時性的感測器、韌體更新與除錯資料串流,這些應用對延遲的容忍度遠高於關節控制迴路,選擇 USB 而非 EtherCAT 或 CAN 反而是更划算的工程決策。

選匯流排的核心問題:這是不是即時控制的關鍵路徑

三種協定的選擇,本質上是即時性需求與成本複雜度之間的取捨——EtherCAT 適合高自由度、高頻率的關節控制骨幹;CAN 在自由度規模適中、即時性要求沒有那麼極端的場景仍然是成熟務實的選擇;USB 則專注服務非即時關鍵路徑的周邊連接。實務系統裡,這三種協定經常同時出現在同一台機器人上,各自負責不同層次的通訊需求,而非單一協定包辦所有通訊任務。

常見問題

faq_01.log
CAN 匯流排在汽車產業用了幾十年,技術很成熟,為什麼高階機器人反而更多選擇相對新的 EtherCAT?
CAN 匯流排的成熟穩定是事實,但它的頻寬與即時性有結構性上限——標準 CAN 的資料傳輸速率通常在 1 Mbps 以下(CAN FD 有所提升但仍有限),且匯流排上多個節點共用同一條實體線路,節點數量增加時,訊息延遲與碰撞重傳的機率也會上升,這對只需要處理相對低頻率訊號(車輛儀表、車身電子)的汽車應用是夠用的,但機器人需要同時控制數十個關節、每個關節都要求毫秒等級甚至更快的位置與力矩回饋更新頻率,CAN 的頻寬與確定性延遲(deterministic latency)表現就顯得吃緊。EtherCAT 建立在乙太網路實體層之上,頻寬遠高於 CAN(可達百 Mbps 等級),且採用獨特的「訊息飛越」(processing on the fly)機制,讓資料封包依序流過每個節點時就地讀寫、不需要每個節點各自處理完整的封包再轉發,能在維持高頻寬的同時,把整個匯流排的通訊週期做到亞毫秒等級的確定性延遲,這是 CAN 架構上難以達到的水準。
faq_02.log
EtherCAT 聽起來各方面都比 CAN 好,為什麼消費級機器人跟工業低階應用還是常用 CAN 甚至 USB?
成本與複雜度是關鍵原因。EtherCAT 需要每個節點(每個馬達驅動器)都具備支援 EtherCAT 協定的專用晶片,這類晶片的成本明顯高於支援 CAN 協定的控制器,且 EtherCAT 的軟體堆疊與除錯工具鏈也比行之有年、生態系極度成熟的 CAN 更複雜。對於自由度數量少(幾個關節)、對即時性要求沒有那麼極端的消費級機器人或簡單工業應用,CAN 甚至更簡單的 USB(用於連接感測器或低頻率控制的周邊模組)已經足夠滿足需求,額外投入 EtherCAT 的成本與複雜度換不回對應的實際效益,這也是為什麼協定選擇最終要回歸到系統實際的自由度規模與即時性需求,而不是單純選擇規格最高的方案。
faq_03.log
USB 完全不適合用在機器人即時控制迴路裡嗎?
標準 USB 協定確實不是為即時控制設計的——USB 的資料傳輸排程由主機(電腦或控制器)的作業系統驅動程式協調,傳輸延遲與抖動(jitter)都不像 EtherCAT 或即時版本的乙太網路那樣有嚴格的確定性保證,這也是為什麼 USB 幾乎不會用在需要毫秒等級精確時序的關節伺服控制迴路裡。但 USB 在機器人系統裡仍然有明確的適用場景——連接不需要極端即時性的感測器(攝影機、部分低頻率的力矩感測器)、韌體更新、除錯資料串流,這些應用對延遲的容忍度遠高於關節控制迴路,USB 即插即用的便利性與極低的硬體整合成本,讓它在這些非即時關鍵路徑的應用上仍然是合理甚至優於 EtherCAT 的選擇,協定選擇的關鍵永遠是這段通訊路徑是不是即時控制的關鍵路徑。

訂閱 RoboTech Lab 電子報

每週一封,整理新的教學、論文導讀與機器人業界動態。隨時可以取消訂閱。