詳解RS-485之信號反射與終端電阻
RS-485總線具有結(jié)構(gòu)簡單、成本低等優(yōu)點(diǎn),但各位工程師在組建RS-485總線網(wǎng)絡(luò)時(shí),為提升整個(gè)網(wǎng)絡(luò)通信的可靠性,想必會經(jīng)常會遇到一個(gè)問題:需不需要加終端電阻呢?本文將為你解答。
1、終端電阻的作用
對于RS-485總線,終端電阻主要是為了匹配通信線的特性阻抗,防止信號反射,提高信號質(zhì)量。
在組建RS-485總線網(wǎng)絡(luò)時(shí),通常使用特性阻抗為120Ω的屏蔽雙絞線,由于RS-485收發(fā)器輸入阻抗一般較高(例如RSM485ECHT輸入阻抗為96kΩ,最多可連接256個(gè)節(jié)點(diǎn)),在信號傳輸?shù)娇偩€末端時(shí)會由于受到的瞬時(shí)阻抗發(fā)生突變(以RSM485ECHT為例,阻抗由120Ω變?yōu)?6kΩ),導(dǎo)致信號發(fā)生反射,影響信號的質(zhì)量。RSM485ECHT在1200m,500kbps通信速率的情況下不加終端電阻和加終端電阻的波形如圖 1和圖 2所示,終端電阻明顯改善了信號的質(zhì)量。
圖1 RSM485ECHT 1200m 500kbps不加終端電阻
圖2 RSM485ECHT 1200m 500kbps 加終端電阻
2、終端電阻帶來的問題
終端電阻雖然可以提高信號質(zhì)量,但還具有以下幾個(gè)問題:
1)降低了驅(qū)動(dòng)信號的幅值
RS-485總線上的負(fù)載越大,RS-485收發(fā)器輸出差分電壓幅值越低,RSM485ECHT在5m,500kbps的情況下不加終端電阻和加終端電阻的波形如圖 3和圖 4所示,可以看出驅(qū)動(dòng)信號在增加終端電阻后降低了2V左右。
圖3 RSM485ECHT 5m 500kbps 不加終端
圖4 RSM485ECHT 5m 500kbps 加終端
2)增大了通信線上的壓降
增加終端電阻使通信線纜上的電流增大,產(chǎn)生了較大的壓差,降低了接收端的信號幅值。RSM485ECHT在1200m,115.2kbps首端和末端的信號波形如圖 5和圖 6所示(0.75mm2通信線),末端信號與首端信號相比下降了0.7V左右。
圖5 RSM485ECHT 1200m 115.2kbps 加終端電阻 首端波形
圖6 RSM485ECHT 1200m 115.2kbps 加終端電阻 末端波形
3)增大了收發(fā)器的功耗
增加終端電阻對于接收狀態(tài)時(shí)的工作電流影響不大,但會大大增加驅(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ā)器的功耗,對于有功耗要求的應(yīng)用場合,應(yīng)謹(jǐn)慎使用終端電阻。
4)降低總線空閑時(shí)的差分電壓
如圖 7所示為兩個(gè)RSM485ECHT通信示意圖。
圖7 RSM485ECHT通信等效示意圖
當(dāng)兩個(gè)模塊都處于接收狀態(tài)時(shí),可以根據(jù)基爾霍夫電流定律對節(jié)點(diǎn)A和節(jié)點(diǎn)B列出下列公式:
其中:RPUD為RSM485ECHT內(nèi)置上下拉電阻,120kΩ;RIN為RSM485ECHT輸入阻抗,96kΩ;根據(jù)上述公式可以計(jì)算AB之間的差分電壓為:
由于RSM485ECHT的門限電平為-200mV~-40mV,所以在上述情況下,模塊仍然輸出高電平,保證總線空閑時(shí)不會誤接收數(shù)據(jù)。但對于門限電平為-200mV~+200mV的RS-485收發(fā)器,輸出電平為不確定狀態(tài),此時(shí)有可能誤接收數(shù)據(jù)。
3、如何解決增加終端電阻后空閑狀態(tài)的問題?
對于空閑狀態(tài)的問題有兩個(gè)解決方法:
1)使用類似RSM485ECHT的模塊(門限電平為-200mV~-40mV),當(dāng)RS-485總線的差分電壓大于-40mV時(shí)RS-485收發(fā)器的輸出即為高電平。
2)使用RSM485PCHT或RSM485PHT等帶有輸出隔離電源的模塊,可以通過在外部增加較小的上下拉電阻將RS-485總線的空閑狀態(tài)時(shí)的電壓拉到+200mV以上(一般要留有100mV或200mV以上的裕量),保證空閑時(shí)RS-485總線差分電壓不處于門限電平范圍內(nèi),但上下拉電阻值不能太小,一般總線上拉(或下拉)并聯(lián)值要大于375Ω。
4、什么時(shí)候需要加終端電阻?
1)通信速度低或者通信距離近的情況下建議不加終端電阻
通信速度低或者通信距離近的情況下,信號反射對通信信號的影響不大,而且不加終端電阻可以大大降低功耗,并且通過加較大上下拉電阻值即可保證RS-485總線空閑時(shí)具有較高的差分電壓幅值,提高了通信的可靠性。
2)通信距離較長且通信速度較快,對信號質(zhì)量要求較高的情況
此時(shí)可以增加終端電阻,防止阻抗突變引起的信號反射問題,提高信號質(zhì)量,但應(yīng)確保在總線空閑時(shí)總線的差分電壓不處于門限電平范圍內(nèi)。
3)對功耗有要求且通信距離較長的情況
反射信號在總線上來回反彈,反射信號會逐漸消耗掉。對于串口通信,MCU一般在一個(gè)位的中間時(shí)間對信號進(jìn)行采樣,由于低通信速度的情況下,每一個(gè)位的時(shí)間較長,所以在到達(dá)采樣點(diǎn)時(shí)反射信號已被消耗掉,對通信已無影響。RSM485ECHT在1200m 9600bps不加終端電阻首端和末端的波形如圖8和圖9所示,可以看出反射信號在到達(dá)每一個(gè)位中間前就已經(jīng)被消耗掉了。[!--empirenews.page--]
所以對RS-485的收發(fā)器的功耗有較高要求且通信距離較長的應(yīng)用,應(yīng)適當(dāng)降低通信的速度。
圖8 RSM485ECHT 1200m 9600bps 不加終端 首端波形
圖9 RSM485ECHT 1200m 9600bps 不加終端 末端波形