各位工程師想必都知道
終端電阻的作用是消除信號(hào)反射,但其實(shí)并不是所有情況都需要終端電阻,有時(shí)終端電阻反而會(huì)影響信號(hào)質(zhì)量。本篇文章為大家深度解析
CAN/
RS-485總線的終端電阻設(shè)置。如果我們查詢百度百科,終端電阻的檔案似乎十分清白:仿佛在通訊鏈路的首末兩端加上這樣一個(gè)法寶,即可避免信號(hào)的反射,使信號(hào)的傳播更為順暢。這樣說雖然沒有錯(cuò)誤,但仍有些細(xì)枝末節(jié)沒能捋出頭緒。下面讓我們來看看CAN總線和485總線中終端電阻的情況如何?
一CAN總線CAN總線中,終端電阻是必不可少的。它存在的意義主要包括兩點(diǎn):可以確保電平快速進(jìn)入隱性狀態(tài);提升信號(hào)質(zhì)量。1、確保電平快速進(jìn)入隱性狀態(tài)在顯性狀態(tài)期間,總線的寄生
電容會(huì)被充電,而在恢復(fù)到隱性狀態(tài)時(shí),這些電容需要放電。如果CANH、CANL之間沒有放置任何阻性負(fù)載,電容只能通過
收發(fā)器內(nèi)部的差分電阻放電。我們?cè)谑瞻l(fā)器的CANH、CANL之間加入一個(gè)220PF的電容進(jìn)行模擬試驗(yàn),位速率為500kbit/s,波形如下圖所示。CAN總線 220pf無終端電阻CAN總線 220pf增加終端電阻2、提高信號(hào)質(zhì)量信號(hào)在較高的轉(zhuǎn)換速率情況下,信號(hào)邊沿能量遇到
阻抗不匹配時(shí),會(huì)產(chǎn)生信號(hào)反射;傳輸線纜橫截面的幾何結(jié)構(gòu)發(fā)生變化,線纜的特征阻抗會(huì)隨之變化,也會(huì)造成反射。在總線線纜的末端,阻抗急劇變化導(dǎo)致信號(hào)邊沿能量反射,總線信號(hào)上會(huì)產(chǎn)生振鈴,若振鈴幅度過大,就會(huì)影響通信質(zhì)量。在線纜末端增加一個(gè)與線纜特征阻抗一致的終端電阻,可以將這部分能量吸收,避免振鈴的產(chǎn)生,如下圖所示。CAN總線無終端電阻CAN總線增加終端電阻
二485總線1、
RS-485總線增加終端電阻好處485總線設(shè)置終端電阻主要是為了用來抑制信號(hào)的反射。提高信號(hào)質(zhì)量組建RS-485總線網(wǎng)絡(luò)時(shí),通常使用特性阻抗為120Ω的屏蔽雙絞線,由于RS-485收發(fā)器輸入阻抗一般較高(例如RSM485ECHT輸入阻抗為96kΩ,最多可連接256個(gè)節(jié)點(diǎn)),在信號(hào)傳輸?shù)娇偩€末端時(shí)會(huì)由于受到的瞬時(shí)阻抗發(fā)生突變(以RSM485ECHT為例,阻抗由120Ω變?yōu)?6kΩ),導(dǎo)致信號(hào)發(fā)生反射,影響信號(hào)的質(zhì)量。RSM485ECHT在1200m,500kbps通信速率的情況下不加終端電阻和加終端電阻的波形如下圖所示,終端電阻明顯改善了信號(hào)的質(zhì)量。RSM485ECHT 1200m 500kbps不加終端電阻RSM485ECHT 1200m 500kbps 加終端電阻2、RS-485增加終端電阻的問題終端電阻雖然可以提高信號(hào)質(zhì)量,但還具有以下幾個(gè)問題:降低了驅(qū)動(dòng)信號(hào)的幅值RS-485總線上的負(fù)載越大,RS-485收發(fā)器輸出差分電壓幅值越低,RSM485ECHT在5m,500kbps的情況下不加終端電阻和加終端電阻的波形如下圖所示。RSM485ECHT 5m 500kbps 不加終端RSM485ECHT 5m 500kbps 加終端增大了通信線上的壓降增加終端電阻使通信線纜上的
電流增大,產(chǎn)生了較大的壓差,降低了接收端的信號(hào)幅值。RSM485ECHT在1200m,115.2kbps首端和末端的信號(hào)波形如下圖所示(0.75mm2通信線),末端信號(hào)與首端信號(hào)相比下降了0.7V左右。RSM485ECHT 1200m 115.2kbps 加終端電阻 首端波形RSM485ECHT 1200m 115.2kbps 加終端電阻 末端波形增大了收發(fā)器的功耗增加終端電阻對(duì)于接收狀態(tài)時(shí)的工作電流影響不大,但會(huì)大大增加驅(qū)動(dòng)狀態(tài)時(shí)的工作電流。以RSM485ECHT為例,RSM485ECHT處于接收狀態(tài)時(shí)工作電流為20mA左右,在驅(qū)動(dòng)狀態(tài)不加終端電阻時(shí)工作電流為27mA左右,在驅(qū)動(dòng)狀態(tài)加終端電阻時(shí)工作電流為83mA左右,可以看出終端電阻大大增加了RS-485收發(fā)器的功耗,對(duì)于有功耗要求的應(yīng)用場合,應(yīng)謹(jǐn)慎使用終端電阻。3、RS-485終端電阻設(shè)置通信速度低或者通信距離近的情況下建議不加終端電阻通信速度低或者通信距離近的情況下,信號(hào)反射對(duì)通信信號(hào)的影響不大,而且不加終端電阻可以大大降低功耗,并且通過加較大上下拉電阻值即可保證RS-485總線空閑時(shí)具有較高的差分電壓幅值,提高了通信的可靠性。通信距離較長且通信速度較快,對(duì)信號(hào)質(zhì)量要求較高的情況此時(shí)可以增加終端電阻,防止阻抗突變引起的信號(hào)反射問題,提高信號(hào)質(zhì)量,但應(yīng)確保在總線空閑時(shí)總線的差分電壓不處于門限電平范圍內(nèi)。對(duì)功耗有要求且通信距離較長的情況反射信號(hào)在總線上來回反彈,反射信號(hào)會(huì)逐漸消耗掉。RSM485ECHT 1200m 9600bps 不加終端 首端波形RSM485ECHT 1200m 9600bps 不加終端 末端波形
三 :總結(jié)對(duì)于CAN總線而言,為保證通訊的穩(wěn)定性,必須增設(shè)終端電阻;RS-485總線不一樣。終端電阻的設(shè)置需要根據(jù)情況而設(shè)置,在設(shè)計(jì)建議預(yù)留終端電阻位置或者使用ZLG隔離收發(fā)器系列產(chǎn)品,能有效解決總線干擾、通信異常等問題。與傳統(tǒng)的設(shè)計(jì)相比,其內(nèi)置完整的隔離DC-DC
電路、信號(hào)隔離電路、總線收
發(fā)電路以及防護(hù)電路,具備更高的集成度與可靠性,適用于需要高穩(wěn)定性通訊的場合,能夠有效幫助您提升總線通信防護(hù)等級(jí)。
四:怎樣檢測CAN總線上的終端電阻阻值
終端電阻是為了消除在通信電纜中的信號(hào)反射,在通信過程中,有兩種原因?qū)е滦盘?hào)反射:阻抗不連續(xù)和阻抗不匹配。阻抗不連續(xù),信號(hào)在傳輸線末端突然遇到電纜阻抗很小甚至沒有,信號(hào)在這個(gè)地方就會(huì)引起反射。這種信號(hào)反射的原理,與光從一種媒質(zhì)進(jìn)入另一種媒質(zhì)要引起反射是相似的。 消除這種反射的方法,就必須在電纜的末端跨接一個(gè)與電纜的特性阻抗同樣大小的終端電阻,使電纜的阻抗連續(xù)。由于信號(hào)在電纜上的傳輸是雙向的,因此,在通訊電纜的另一端可跨接一個(gè)同樣大小的終端電阻。 引起信號(hào)反射的另外一個(gè)原因是數(shù)據(jù)收發(fā)器與傳輸電纜之間的阻抗不匹配。這種原因引起的反射,主要表現(xiàn)在通訊線路處在空閑方式時(shí),整個(gè)網(wǎng)絡(luò)數(shù)據(jù)混亂。 為了提高網(wǎng)絡(luò)節(jié)點(diǎn)的拓?fù)淠芰?,CAN總線兩端需要接有120Ω的抑制反射的終端電阻, 它對(duì)匹配總線阻抗起著非常重要的作用,如果忽略此電阻,會(huì)使數(shù)字通信的抗干擾性和可靠性大大降低,甚至無法通信。 不合適的CAN總線終端電阻導(dǎo)致的錯(cuò)誤 CAN總線ISO 11898協(xié)議規(guī)定,CAN總線必須在網(wǎng)絡(luò)的兩端,通常是網(wǎng)絡(luò)主控制器和網(wǎng)絡(luò)最遠(yuǎn)端的節(jié)點(diǎn)之間安裝合適的總線終端電阻(在位于DB-9接口的第2和第7引 腳的CAN_H和 CAN_L信號(hào)線之間安裝一個(gè)120歐姆的電阻)。詳細(xì)請(qǐng)參考相關(guān)鏈接部分“為NI-CAN硬件安裝合適的終端電阻”,更為詳細(xì)地了解如何為NI-CAN 網(wǎng)絡(luò)安裝終端電阻。在沒有安裝合適的終端電阻的情況下,通信可能會(huì)出現(xiàn)下面非預(yù)期的行為: 在低波特率的情況下能夠正確通信,但是在波特率較高時(shí)會(huì)出錯(cuò)(具體出錯(cuò)的波特率的值取決于一系列因素,包括CAN網(wǎng)絡(luò)長度、數(shù)據(jù)幀上攜帶的數(shù)據(jù)----它能夠改變具體傳輸?shù)淖罡哳l率以及網(wǎng)絡(luò)附近的電磁干擾等等)。 值得注意的是,在安裝了合適的終端電阻的情況下,通信總是正常的。但是在40K較低的波特率下,通信仍然是正常的,因此這點(diǎn)是不符合CAN ISO 11898規(guī)范的地方。 CAN錯(cuò)誤 - Form錯(cuò)誤、CRC錯(cuò)誤、Bit錯(cuò)誤、Stuff錯(cuò)誤和其他由于不合適終端電阻所導(dǎo)致的錯(cuò)誤。如果出現(xiàn)這些錯(cuò)誤,則請(qǐng)按照附件中的知識(shí)庫文章來檢驗(yàn)是否 安裝了合適的終端電阻。更多短語CAN錯(cuò)誤的信息,請(qǐng)參考相關(guān)鏈接一欄中的NI-CAN硬件和軟件用戶手冊(cè)(附錄B包含了一個(gè)CAN標(biāo)準(zhǔn)的總結(jié),并包含一 個(gè)叫“CAN錯(cuò)誤檢測與約束”,該章節(jié)詳細(xì)描述了CAN錯(cuò)誤)。 Stuff錯(cuò)誤就是一個(gè)可以用沒有合適的終端電阻來解釋的CAN錯(cuò)誤(這個(gè)錯(cuò)誤在CAN ISO 11898規(guī)范中進(jìn)行了定義)。當(dāng)總線上連續(xù)出現(xiàn)6位相同的數(shù)據(jù)時(shí),就會(huì)發(fā)生Stuff錯(cuò)誤。當(dāng)發(fā)送器件檢測到連續(xù)5位相同的數(shù)據(jù)時(shí),就會(huì)自動(dòng)在數(shù)據(jù)流后面插入一個(gè)完成停止位,這個(gè)位會(huì) 被所有的接收器件檢測到并自動(dòng)去除掉。這個(gè)填充位的策略能夠保證數(shù)據(jù)流中有足夠的信號(hào)沿,從而保證同一個(gè)數(shù)據(jù)幀中的數(shù)據(jù)同步。如果接收器件檢測到連續(xù)6位 相同的數(shù)據(jù)位,那么一定是由于同步丟失,導(dǎo)致接收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)不相同。而在沒有合適的終端電阻的情況下,就會(huì)發(fā)生這樣的事情,數(shù)據(jù)幀中的某些數(shù)據(jù) 能夠正確地接收和發(fā)送,而在接收的CAN接口處,整個(gè)幀(或者數(shù)據(jù)幀的完整性)沒有正確的保持和被接收。出現(xiàn)這種情況的原因是,一般來說CAN網(wǎng)絡(luò)定義傳輸線,根據(jù)傳輸線理論,如果在接收端沒有合適的終端電阻,那么足夠高頻率的信號(hào)在執(zhí)行長度的傳輸線上是不 能正確被傳輸?shù)?。這里的終端電阻一般指網(wǎng)絡(luò)匹配,該負(fù)載一般選擇使傳輸功率最大,并且其值等于網(wǎng)絡(luò)端口阻抗共軛值(這里指的是接收端的CAN接口,實(shí)際 上,考慮到噪聲和其他影響,許多應(yīng)用中常使用不一樣的終端電阻)。 值得慶幸的是,在CAN ISO 11898規(guī)范中,已經(jīng)將整個(gè)CAN網(wǎng)絡(luò)的終端電阻簡化為在網(wǎng)絡(luò)兩端安裝兩個(gè)120歐姆的電阻(就如同第一部分描述的一樣,這完全符合CAN標(biāo)準(zhǔn))。
五:如何用萬用表測量CAN總線
檢測提示 ● 電壓檢測 (
示波器):電壓檢測的前提條件是,蓄電池已連接并且點(diǎn)火開關(guān)已接通。 ● 電阻測量:在電阻測量時(shí),在測量前必須把待測部件斷電。為此應(yīng)斷開車輛蓄電池的接線。等待約3 分鐘,直到系統(tǒng)中的所有
電容器放完電。 CAN總線 CAN (控制器區(qū)域網(wǎng)絡(luò)) 總線系統(tǒng)是一種線形總線系統(tǒng)并具有以下特征: ● 信號(hào)雙向傳播。 ● 所有總線用戶都接收同一個(gè)信息。每個(gè)總線用戶決定,它是否利用該信息。 ● 通過簡單并聯(lián)即可添加附加的總線用戶。 ● 此總線系統(tǒng)構(gòu)成一個(gè)多主控單元系統(tǒng)。每個(gè)總線用戶可以是主控單元也可以是副控制單元,根據(jù)其作為發(fā)射器還是接收器被連接而定。 ● 傳輸媒介是雙線連接。導(dǎo)線的名稱為:CAN Low (低速) 和 CAN High (高速) ● 原則上每個(gè)總線用戶可以通過總線同所有其它總用戶通信。通過干預(yù)法,控制總線上的數(shù)據(jù)交換。 數(shù)據(jù)總線 K-CAN (車身 CAN)、PT-CAN (傳動(dòng)系 CAN) 和 F-CAN (底盤 CAN) 之間的主要區(qū)別是: ● K-CAN:數(shù)據(jù)傳輸率約 100 kBit/s。可以進(jìn)行單線運(yùn)行。 ● PT-CAN:數(shù)據(jù)傳輸率約 500 kBit/s。不能進(jìn)行單線運(yùn)行。 ● F-CAN:數(shù)據(jù)傳輸率約 500 kBits/s。不能單線運(yùn)行 主控單元 主控單元是主動(dòng)式通信方,通信的主動(dòng)權(quán)由它發(fā)出。主控制單元掌控總線,并控制通信。主控制單元能夠在總線系統(tǒng)中向被動(dòng)式總線用戶 (副控制單元) 發(fā)送信息,并根據(jù)被動(dòng)式用戶的要求接收信息。 副控單元 副控制單元是一個(gè)被動(dòng)式通信用戶。副控制單元被要求接收和發(fā)送數(shù)據(jù)。 多主控單元系統(tǒng) 在一個(gè)多主控單元系統(tǒng)中所有的通信用戶在某個(gè)時(shí)間都能夠擔(dān)當(dāng)主控單元或副控制單元的角色。 示波器測量 為了弄清 CAN 總線是否完好工作,必須觀察總線上的通信情況。在這種情況下不需要分析單個(gè)位,而只需要觀察 CAN 總線是否工作。示波器測量說明:‘CAN 總線很可能無故障工作’。 如果用示波器測量 CAN 低 (或 CAN 高) 導(dǎo)線和接地之間的電壓,則獲得一個(gè)處于下列電壓極限范圍內(nèi)的類矩形波信號(hào): K-CAN: CAN Low (低速) 對(duì)地:U 最小 = 1 V,U 最大 = 5 V CAN High (高速) 對(duì)地:U 最小 = 0 V,U 最大 = 4 V 這些值都是近似值,根據(jù)總線上的負(fù)載可能有幾個(gè) 100 mV 的偏差 測量 K-CAN:CH1 CAN 低,CH2 CAN 高 如果用示波器測量 CAN 低 (或 CAN 高) 導(dǎo)線和接地之間的電壓,則獲得一個(gè)處于下列電壓極限范圍內(nèi)的類矩形波信號(hào): PT-CAN 和 F-CAN: CAN Low (低速) 對(duì)地:U 最小 = 1.5 V,U 最大 = 2.5 V CAN High (高速) 對(duì)地:U 最小 = 2.5 V,U 最大 = 3.5 V 測量 PT-CAN:CH1 CAN 低,CH2 CAN 高 總線端測量 測量前提 : ● CAN 總線必須斷電。 ● 不允許使用其它測量儀 (并聯(lián)測量儀)。 ● 測量在 CAN-Low 導(dǎo)線和 CAN-High 導(dǎo)線之間進(jìn)行。 ● 實(shí)際值允許與標(biāo)準(zhǔn)值有幾歐姆的偏差。 K-CAN : 因?yàn)殡娮韪鶕?jù)控制單元內(nèi)部的開關(guān)邏輯而變化,所以在 K-CAN 總線上不能進(jìn)行規(guī)定的電阻測量! PT-CAN、F-CAN : 為了避免信號(hào)反射,在 2 個(gè) CAN 總線用戶上 (在 PT-CAN 網(wǎng)絡(luò)中的距離最遠(yuǎn)) 分別連接一個(gè) 120 Ω 的終端電阻。這兩個(gè)終端電阻并聯(lián),并構(gòu)成一個(gè) 60 Ω 的等效電阻。關(guān)閉供電電壓后可以在數(shù)據(jù)線之間測量這個(gè)等效電阻。此外,單個(gè)電阻可以各自分開測量。 通過 60 Ω 等效電阻進(jìn)行測量的提示:把一個(gè)便于拆裝的控制單元從總線上脫開。然后在插頭上測量 CAN-Low導(dǎo)線和 CAN-High 導(dǎo)線之間的電阻。 提示! 并非所有車輛都在 CAN 總線上有終端電阻。可以根據(jù)相應(yīng)的電路圖檢查,在連接的車輛上是否安裝有
終端電阻。 CAN 總線失效 當(dāng) K-CAN 或 PT-CAN 數(shù)據(jù)總線失效時(shí),在 CAN-Low 或 CAN-High 導(dǎo)線上可能存在短路或斷路?;蛘吣硞€(gè)控制單元已損壞。 為了查找故障原因,建議進(jìn)行下列工作步驟: ● 將總線用戶從 CAN 總線上依次拔下,直至找到故障原因 (= 控制單元 X)。 ● 檢查通往控制單元 X 的導(dǎo)線是否短路或斷路。 ● 如有可能,檢測控制單元 X。 ● 如果某個(gè)控制單元至 CAN 總線的分支線短路,僅執(zhí)行該工作步驟就成功了。如果 CAN
總線中的一條導(dǎo)線自身短路,則必須檢查電線束。