轉載自https://zhuanlan.zhihu.com/p/456959022 部分修改
CAN 總線終端電阻,一般來說都是 120 歐姆,實際上在設計的時候,也是兩個 60 歐姆的電阻串起來,而總線上一般有兩個 120Ω的節點,基本上稍微知道點 CAN 總線的人都知道這個道理。
。終端電阻的作用
CAN 總線終端電阻的作用有 3 個:
1、提高抗干擾能力,讓高頻低能量的信號迅速走掉
2、確保總線快速進入隱性狀態,讓寄生電容的能量更快走掉;
3、提高信號質量,放置在總線的兩端,讓反射能量降低。
一、提高抗干擾能力
CAN 總線有 “顯性” 和“隱性”兩種狀態,“顯性”代表 “0”,“隱性” 代表“1”,由 CAN 收發器決定。下圖是一個 CAN 收發器的典型內部結構圖,CANH、CANL 連接總線。
總線顯性時,收發器內部 Q1、Q2 導通,CANH、CANL 之間產生壓差;隱性時,Q1、Q2 截止,CANH、CANL 處於無源狀態,壓差為 0。
總線若無負載,隱性時差分電阻阻值很大,內部的 MOS 管屬於高阻態,外部的干擾只需要極小的能量即可令總線進入顯性(一般的收發器顯性門限最小電壓僅 500mV)。這個時候如果有差模干擾過來,總線上就會有明顯的波動,而這些波動沒有地方能夠吸收掉他們,就會在總線上創造一個顯性位出來。所以為提升總線隱性時的抗干擾能力,可以增加一個差分負載電阻,且阻值盡可能小,以杜絕大部分噪聲能量的影響。然而,為了避免需要過大的電流總線才能進入顯性,阻值也不能過小。
二、確保快速進入隱性狀態
在顯性狀態期間,總線的寄生電容會被充電,而在恢復到隱性狀態時,這些電容需要放電。如果 CANH、CANL 之間沒有放置任何阻性負載,電容只能通過收發器內部的差分電阻放電,這個阻抗是比較大的,按照 RC 濾波電路的特性,放電時間就會明顯比較長。我們在收發器的 CANH、CANL 之間加入一個 220PF 的電容進行模擬試驗,位速率為 500kbit/s,波形如圖,這個波形的下降沿就是比較長的狀態。
為了讓總線寄生電容快速放電,確保總線快速進入隱性狀態,需要在 CANH、CANL 之間放置一個負載電阻。增加一個 60Ω的電阻后,波形如圖,從圖中看出,顯性恢復到隱性的時間縮減到 128nS,與顯性建立時間相當。
三、提高信號質量
信號在較高的轉換速率情況下,信號邊沿能量遇到阻抗不匹配時,會產生信號反射;傳輸線纜橫截面的幾何結構發生變化,線纜的特征阻抗會隨之變化,也會造成反射。
能量發生反射時,導致反射的波形與原來的波形進行疊加,就會產生振鈴。
在總線線纜的末端,阻抗急劇變化導致信號邊沿能量反射,總線信號上會產生振鈴,若振鈴幅度過大,就會影響通信質量。在線纜末端增加一個與線纜特征阻抗一致的終端電阻,可以將這部分能量吸收,避免振鈴的產生。
別人進行了一個模擬試驗(圖片都是我抄過來的),位速率為 1Mbit/s,收發器 CANH、CANL 接一根 10m 左右的雙絞線,收發器端接 120Ω電阻保證隱性轉換時間,末端不加負載。末端信號波形如圖所示,信號上升沿出現了振鈴。
若雙絞線末端增加一個 120Ω的電阻,末端信號波形明顯改善,振鈴消失。
一般在直線型拓撲中,線纜兩端即是發送端,也是接收端,故線纜兩端需各加一個終端電阻。
而在實際應用過程中,CAN 總線一般都不是完美的總線式的設計,很多時候是總線型和星型的混合結構,這個時候一般都將 CAN 終端電阻布置在線束最遠的兩端,來盡量的模擬 CAN 總線的標准結構。
為什么選 120Ω?
什么是阻抗?在電學中,常把對電路中電流所起的阻礙作用叫做阻抗。阻抗單位為歐姆,常用 Z 表示,是一個復數 Z= R+i(ωL–1/(ωC))。具體說來阻抗可分為兩個部分,電阻(實部)和電抗(虛部)。其中電抗又包括容抗和感抗,由電容引起的電流阻礙稱為容抗,由電感引起的電流阻礙稱為感抗。這里的阻抗是指 Z 的模。
任何一根線纜的特征阻抗都可以通過實驗的方式得出。線纜的一端接方波發生器(這里指的不一定是信號發生器,因為信號發生器的功率很低,且阻抗一般默認50Ω。可以使用門電路,或MCU的IO),另一端接一個可調電阻,並通過示波器觀察電阻上的波形。調整電阻阻值的大小,直到電阻上的信號是一個良好的無振鈴的方波,此時的電阻值可以認為與線纜的特征阻抗一致。
采用兩根汽車使用的典型線纜,將它們扭制成雙絞線,就可根據上述方法得到特征阻抗大約為 120Ω,這也是 CAN 標准推薦的終端電阻阻值,所以這個 120Ω是測出來的,不是算出來的,都是根據實際的線束特性進行計算得到的。當然在 ISO 11898-2 這個標准里面也是有定義的。
為什么功率還要選 0.25W?
這個就要結合一些故障狀態也計算,汽車 ECU 的所有接口都需要考慮短路到電源和短路到地的情況,所以我們也需要考慮 CAN 總線的節點短路到電源的情況,根據標准需要考慮短路到 18V 的情況,假設 CANH 短路到 18V,電流會通過終端電阻流到 CANL 上,而 CANL 內部由於限流的原因,最大注入電流為 50mA(TJA1145 的規格書上標注),這時候 120Ω電阻的功率就是 50mA50mA120Ω=0.3W。考慮到高溫情況下的降額,終端電阻的功率就是 0.5W。轉載文章代表原作者觀點,侵刪 。