汽車 CAN Bus:為什麼一個模組壞會影響全車

發表時間:2026 年 10 月 15 日 | 更新日期:2026 年 10 月 15 日 | 編輯:雅寶社區編輯團隊
汽車 CAN Bus:為什麼一個模組壞會影響全車 - 雅寶社區 · 頂客論壇

這種差動設計的優點是抗干擾能力極強。如果車上電系產生雜訊,通常會同時耦合到兩條線上;由於接收端只看差值,共模雜訊會被抵銷。這也是為什麼 CAN Bus 能在引擎室這種充滿高壓點火、馬達電流與電磁干擾的環境中穩定運作。

訊息導向,不是位址導向:CAN ID 的角色

CAN Bus 不指定「這則訊息要送給哪個模組」,而是把訊息貼上一個 CAN ID 標籤後廣播出去。例如「車速 60 km/h」可能是一則特定 ID 的訊息,引擎電腦、變速箱電腦、ABS、儀表板各自根據自身需求決定要不要採用。這種設計的優點是擴充性高、耦合度低,但缺點是當某個模組亂發訊息時,可能排擠其他重要訊息的傳送機會。

CAN ID 除了代表訊息內容,還代表優先權。數值越小的 ID,優先權越高。這是因為 CAN 的仲裁機制採用「顯性位元覆蓋隱性位元」的邏輯,ID 數值較小的訊框會在仲裁中勝出。舉例來說,與煞車、安全氣囊相關的訊息通常被賦予極高優先權,而車窗、座椅調整等舒適性功能則優先權較低。

仲裁機制:為什麼不會撞車?

CAN Bus 沒有中央仲裁者,卻能避免多個模組同時發言造成資料錯亂,關鍵在於非破壞性位元仲裁。當兩個模組同時開始傳送,它們會逐位元比較自己送出的位元與匯流排上的實際位準。若某模組送出隱性位元(1),卻偵測到匯流排是顯性位元(0),代表有更高優先權的訊息正在傳送,該模組會立刻停止發送,轉為接收模式,並在匯流排空閒後自動重試。整個過程不會破壞正在傳送的訊框,也不會浪費頻寬,這是 CAN 最為人稱道的設計之一。

錯誤檢測與故障容錯

CAN 協定內建多層錯誤檢測機制,包括位元監測、CRC 檢查、訊框格式檢查與應答檢查。每個接收端都會對訊框進行驗證,一旦發現錯誤,就會送出錯誤旗標(Error Flag),讓發送端知道訊息未被正確接收,並觸發重傳。每個 CAN 控制器還維護傳送錯誤計數器(TEC)與接收錯誤計數器(REC),當錯誤累積到一定程度,節點會先進入「錯誤被動」狀態,若繼續惡化,最終進入 Bus Off 狀態,主動脫離匯流排,停止發送訊息。這個機制原本是為了隔離故障節點,保護網路整體運作,但在實務上,卻也成為「一個模組壞掉、全車受影響」的關鍵原因之一。

三、CAN Bus 的網路架構:從單一 Bus 到多網段

現代車輛的電子架構遠比「一條 CAN Bus 串到底」複雜。不同功能對頻寬、即時性與容錯能力的需求差異極大,因此車廠通常會將網路切成多個網段,再透過閘道器(Gateway)彼此溝通。

高速 CAN、低速 CAN 與容錯 CAN

高速 CAN(ISO 11898-2)傳輸速率可達 125 kbps 至 1 Mbps,主要用於動力系統、底盤控制與安全相關模組,例如引擎、變速箱、ABS、安全氣囊等。它的即時性高,但線路較長時訊號品質較敏感。低速 CAN(ISO 11898-3)速率較低,約 40 kbps 至 125 kbps,常用於車身控制,例如車窗、門鎖、燈光與空調,其特性是容錯能力較強,即使一條線斷路,仍可透過單線模式維持部分通訊。容錯 CAN則進一步強化在惡劣環境下的可靠性,常見於安全關鍵系統。

閘道器(Gateway)的角色

閘道器通常整合在車身控制模組(BCM)或中央閘道模組中,負責在不同網段之間轉譯與轉送訊息。例如動力 CAN 上的引擎轉速訊息,可能需要傳給車身 CAN 上的儀表板顯示;診斷 CAN 上的 OBD-II 請求,則需要被路由到正確的網段。閘道器的存在讓各網段可以獨立運作,降低單一故障擴散到全車的機率。但反過來說,當閘道器本身故障,或某個網段出現嚴重異常時,訊息就可能被阻斷或誤導,造成跨系統的連鎖反應。

LIN、FlexRay、MOST 與車用乙太網路

除了 CAN,現代車輛還可能使用 LIN Bus(低成本、低速,常用於後視鏡、座椅、雨刷等次系統)、FlexRay(高頻寬、時間觸發,用於主動懸吊與線控系統)、MOST(多媒體光纖網路)以及近年快速普及的 車用乙太網路(用於攝影機、雷達、光達與高階駕駛輔助)。這些網路各有定位,但 CAN Bus 仍是多數控制訊息的骨幹。理解整體架構,才能在故障發生時判斷問題是「單一網段」還是「跨網段」層級。

四、為什麼一個模組壞掉會影響全車?關鍵機制解析

這是本文的核心問題。理論上,CAN Bus 的設計精神是「故障隔離」,一個節點壞掉不應該拖垮全網。但實務上,仍有許多情況會讓單一模組的異常擴散成全車性災難。以下逐一拆解。

Bus Off 與網路癱瘓

當某個模組因為內部故障而不斷發送錯誤訊框,或反覆重傳無法被正確接收的訊息時,它的錯誤計數器會快速累積。一旦進入 Bus Off,該模組會停止參與匯流排。聽起來好像是「隔離成功」,但問題在於:這個模組可能正是某個關鍵訊息的唯一來源。例如 ABS 模組若因進水而持續異常,可能導致車速訊號中斷,連帶影響儀表板、變速箱與引擎電腦的判斷,讓車輛進入跛行模式(Limp Home)甚至無法行駛。

更糟的是,有些模組在 Bus Off 後會不斷嘗試重新連線,形成「連上—錯誤—再離線」的循環,持續干擾匯流排,讓其他正常模組也難以穩定通訊。

終端電阻與訊號反射

CAN Bus 是一條傳輸線,兩端各需要一個 120 歐姆的終端電阻,以吸收訊號能量、避免反射。正常情況下,在斷電狀態下量測 CAN_H 與 CAN_L 之間的電阻,應該接近 60 歐姆(兩個 120 歐姆並聯)。如果某個模組內部終端電阻損壞、短路或開路,訊號就會產生反射與失真,導致通訊錯誤率上升。這種故障不一定會讓網路完全癱瘓,但會造成偶發性的通訊異常,例如儀表板指針亂跳、檔位顯示錯亂、多個故障燈間歇性亮起,是許多「查不出原因」的疑難雜症元兇。

短路與接地異常

CAN_H 或 CAN_L 對電源短路、對地短路,或兩條線彼此短路,都會讓整個網段無法通訊。這類故障常發生在線束磨破、進水腐蝕或加裝設備時接錯線。由於 CAN Bus 是多點並聯,只要匯流排上任何一段出現短路,整個網段都可能受影響。這也是為什麼許多車廠在診斷流程中,會要求先確認匯流排靜態電阻與電壓,再進一步隔離可疑模組。

錯誤訊框的骨牌效應

CAN 的錯誤處理機制雖然能保護網路,但當一個節點持續送出錯誤旗標時,會佔用匯流排時間,降低有效頻寬。若該節點故障嚴重,甚至可能讓其他節點因為接收錯誤訊框而提高自身錯誤計數,形成連鎖反應。這種現象在匯流排負載本來就高的車型上尤其明顯,可能表現為多個系統同時出現間歇性異常。

休眠與喚醒:不斷電的幽靈

現代車輛即使熄火鎖門,許多模組仍處於待機或休眠狀態,並透過 CAN Bus 的喚醒訊號保持聯繫。如果某個模組故障,不斷發出喚醒訊號,會導致其他模組無法進入休眠,造成暗電流過高、電瓶隔夜沒電。反過來說,若某個模組無法被喚醒,也可能讓相關功能失效。這種「不休眠」或「叫不醒」的問題,是 CAN Bus 故障中非常常見卻容易被忽略的一類。

五、真實案例:常見的 CAN Bus 故障情境

理論講完了,來看看實務上最常遇到的幾種情境。這些案例能幫助你理解,為什麼診斷 CAN Bus 問題時,不能只用「哪個零件壞掉」的思維。

案例一:ABS 模組進水,儀表板全亮

一位車主在雨天行駛後,發現 ABS、ESP、手煞車、引擎故障燈同時亮起,車速表指針不動,變速箱換檔頓挫。檢查發現 ABS 模組接頭進水,內部電路短路,導致該模組在動力 CAN 上持續發出錯誤訊框。由於車速訊號主要由 ABS 模組提供,其他模組收不到正確車速,便各自進入故障模式。這是一個典型的「單一模組故障、跨系統受害」案例。

案例二:加裝行車記錄器導致無法發動

另一位車主自行從 OBD-II 接頭取電安裝行車記錄器,一開始使用正常,幾週後開始出現偶發性無法發動。原因是該記錄器的電源模組品質不佳,在車輛休眠後仍持續向 CAN Bus 注入訊號,干擾了防盜模組與引擎電腦之間的認證通訊。這類問題在 DIY 加裝電裝品時特別常見,也是原廠常拒絕保固的原因之一。

案例三:方向盤多功能按鍵亂跳

方向盤上的多功能按鍵通常透過 LIN 或低速 CAN 與 BCM 溝通。若時鐘彈簧(Squib)內部線路磨損,或按鍵模組受潮,可能導致訊號異常。車主會發現音量突然變大、選台亂跳、甚至定速巡航無故啟動。這類故障雖然不至於讓車無法行駛,但可能影響行車安全,且因為涉及網路訊號,查修難度較高。

案例四:電動尾門馬達短路,整車無法上鎖

電動尾門模組若因馬達卡死或線路短路,可能持續向車身 CAN 發送錯誤狀態,讓 BCM 誤判尾門未關,進而拒絕上鎖或不斷觸發警報。這種情況車主往往只看到「門鎖怪怪的」,卻想不到問題出在尾門模組。透過斷開該模組進行隔離測試,通常能快速確認。

六、DIY 診斷:車主可以自己做的檢查

面對 CAN Bus 相關故障,車主並非只能束手無策。只要具備基本電學知識與合適工具,可以進行初步判斷,甚至找出問題模組。但務必注意安全,避免在不明狀況下任意拔插模組或線路。

必備工具

建議準備以下工具:OBD-II 診斷儀(能讀取故障碼與即時數據)、數位電表(可量測電壓與電阻)、示波器(若具備,可觀察 CAN 波形)、線路圖(確認各模組位置與接腳)、絕緣膠帶與束線帶(檢修後復原)。若預算允許,可考慮具備 CAN 分析功能的診斷工具,能顯示匯流排負載與錯誤計數。

OBD-II 讀取故障碼

第一步永遠是讀取故障碼。注意,CAN Bus 故障不一定會直接顯示「CAN Bus 故障」,而可能以多個看似不相關的故障碼呈現,例如「與 ABS 模組失去通訊」、「車速訊號不可信」、「變速箱通訊異常」等。觀察故障碼的群組性與關聯性,往往能推斷是哪個網段或哪個模組出問題。此外,也應查看凍結幀資料(Freeze Frame),了解故障發生時的車輛狀態。

測量 CAN 電壓與電阻

在熄火、所有模組休眠的狀態下,量測 OBD-II 接頭第 6 腳(CAN_H)與第 14 腳(CAN_L)之間的電阻,正常應接近 60 歐姆。若為 120 歐姆,表示其中一個終端電阻開路;若接近 0 歐姆,表示匯流排短路;若電阻不穩定,可能是接頭或線路接觸不良。電壓方面,在通訊活躍時,CAN_H 應在 2.5V 至 3.5V 之間跳動,CAN_L 在 1.5V 至 2.5V 之間跳動。若電壓固定不動或偏離範圍,代表匯流排可能處於異常狀態。

逐步斷開法(隔離法)

當懷疑某個模組干擾匯流排時,可在斷電狀態下逐一斷開可疑模組,再恢復供電觀察故障是否消失。這種「隔離法」是實務上最有效的除錯方式之一。但要注意:斷開模組可能產生新的故障碼,且部分模組斷開後車輛可能無法啟動或行駛,建議在安全環境下進行,並記錄每次斷開後的變化。

注意事項與安全

進行任何電系檢修前,務必先斷開電瓶負極並等待數分鐘,讓電容放電。避免在通電狀態下拔插 CAN 接頭,以免產生突波損壞模組。使用電表時,確認檔位正確,避免誤將電阻檔接入帶電電路。若對自身能力沒有把握,建議尋求專業技師協助,切勿貿然更換高價模組。

七、維修與預防:保護你的 CAN Bus

CAN Bus 故障多半與外在因素有關,例如進水、短路、加裝設備不當或線束老化。做好以下幾點,能大幅降低故障機率。

加裝電裝品的正確做法

加裝行車記錄器、音響、防盜器、LED 燈等設備時,應避免直接從 CAN Bus 線路取電或並接訊號。正確做法是使用專用轉接線組,或從保險絲盒取電,並確保設備在車輛休眠後能完全斷電。若設備需要讀取車速、門鎖等訊號,應選用有信譽的產品,並確認其通訊協定與車輛相容。

接地與電源品質

接地不良是許多電系怪病的根源。加裝設備時,接地點應選擇原廠接地點或車身金屬結構,並確保接觸面乾淨、鎖緊。電源線路應加裝適當保險絲,避免短路引發火災。若車輛老舊,可考慮檢查主要接地線是否氧化或鬆動。

防水與線束保護

引擎室與底盤附近的線束接頭容易因進水而腐蝕,尤其是 ABS、變速箱、車燈等位置。洗車或涉水後若出現電系異常,應盡快檢查相關接頭。平時可定期檢視線束是否有磨破、龜裂,並使用防水膠帶或保護套加強。若發現接頭內有綠色銅鏽,應清潔並塗抹電子接點保護劑。

八、結語:CAN Bus 是神經系統,不是單一零件

回到最初的問題:「為什麼一個模組壞會影響全車?」答案在於現代汽車的電子架構本質上是一個高度互聯的網路系統。每個模組不再只是獨立零件,而是網路上的節點;每個訊息不再只服務單一功能,而是被多個系統共享。當某個節點故障、短路、亂發訊號或無法休眠,影響的往往不是它自己,而是整條匯流排上的所有參與者。

理解 CAN Bus 的運作原理與故障機制,不僅能幫助車主在面對詭異電系問題時有個判斷方向,也能在 DIY 加裝設備時做出更安全的選擇。下次當你看到儀表板上多個故障燈同時亮起,先別急著換電瓶或電腦,也許問題只是某個不起眼的小模組,正在 CAN Bus 上「大喊大叫」,讓整台車都不得安寧。掌握匯流排思維,你就能從「換零件」升級到「查系統」,這正是現代汽車維修最關鍵的一步。

最後提醒,CAN Bus 診斷涉及車輛安全系統,若故障與煞車、轉向、安全氣囊相關,請務必尋求專業協助。DIY 的精神是理解與學習,而不是冒險。希望這篇文章能成為你探索車用網路世界的第一塊敲門磚。

🏠 返回首頁