詳解RS-485上下拉電阻的選擇
RS-485總線廣泛應(yīng)用于通信、工業(yè)自動(dòng)化等領(lǐng)域,在實(shí)際應(yīng)中,通常會(huì)遇到是否需要加上下拉電阻以及加多大的電阻合適的問題,下面我們將對(duì)這些問題進(jìn)行詳細(xì)的分析。
為什么需要加上下拉電阻?
根據(jù)RS-485標(biāo)準(zhǔn),當(dāng)485總線差分電壓大于+200mV時(shí),485收發(fā)器輸出高電平;當(dāng)485總線差分電壓小于-200mV時(shí),485收發(fā)器輸出低電平;當(dāng)485總線上的電壓在-200mV~+200mV時(shí),485收發(fā)器可能輸出高電平也可能輸出低電平,但一般總處于一種電平狀態(tài),若485收發(fā)器的輸出低電平,這對(duì)于UART通信來說是一個(gè)起始位,此時(shí)通信會(huì)不正常。
當(dāng)485總線處于開路(485收發(fā)器與總線斷開)或者空閑狀態(tài)(485收發(fā)器全部處于接收狀態(tài),總線沒有收發(fā)器進(jìn)行驅(qū)動(dòng))時(shí),485總線的差分電壓基本為0,此時(shí)總線就處于一個(gè)不確定的狀態(tài)。同時(shí)由于目前485芯片為了提高總線上的節(jié)點(diǎn)數(shù),輸入阻抗設(shè)計(jì)的比較高,例如輸入阻抗為1/4單位阻抗或者1/8單位阻抗(單位阻抗為12kΩ,1/4單位阻抗為48kΩ),在管腳懸空時(shí)容易受到電磁干擾。
因此為了防止485總線出現(xiàn)上述情況,通常在485總線上增加上下拉電阻(通常A接上拉電阻,B總線下拉電阻)。若使用隔離RS-485收發(fā)模塊(例如RSM485PCHT),由于模塊內(nèi)部具有上下拉電阻(對(duì)于RSM485PCHT,內(nèi)部上下拉電阻為24kΩ),因此在模塊外部一般不需要增加上下拉電阻。
1、 什么情況下需要加上下拉電阻?
當(dāng)遇到信號(hào)反射問題時(shí),通常會(huì)通過增加匹配電阻來避免信號(hào)反射,以1對(duì)1通信為例,如圖 1所示。由于485總線通常使用特性阻抗為120Ω的雙絞線,因此在485總線的首尾兩端增加120Ω終端電阻來避免信號(hào)反射問題。
圖 1 兩個(gè)RSM485PCHT模塊通信電路
根據(jù)RSM485PCHT的具體參數(shù)(如表 1)可以得到如圖 2所示等效電路,其中RPU、RPD為模塊內(nèi)部在485總線上加的上下拉電阻,RIN為模塊的輸入阻抗。
表 1 RSM485PCHT參數(shù)
圖 2 RSM485PCHT通信等效示意圖
當(dāng)兩個(gè)模塊都處于接收狀態(tài)時(shí),可以根據(jù)基爾霍夫電流定律對(duì)節(jié)點(diǎn)A和節(jié)點(diǎn)B列出下列公式
根據(jù)上述公式可以計(jì)算AB之間的差分電壓為
此時(shí)模塊已處于不確定狀態(tài),模塊接收器可能輸出為高電平,也可能輸出為低電平,這時(shí)就需要在模塊外部增加上下拉電阻保證模塊在空閑時(shí)不處于不確定狀態(tài)。
2、 上下拉電阻如何取?
假設(shè)模塊的輸出電源電壓VO相同,由于RGND接在一起,因此可以認(rèn)為模塊內(nèi)部的上拉電阻是并聯(lián)在一起的,為了方便解釋,對(duì)圖 2的電路進(jìn)行整理,如圖 3所示,在模塊外部增加上下拉電阻可以選擇只增加一組,也可以選擇在每個(gè)模塊都增加上下拉電阻,為了解釋方便,我們?cè)?85總線上增加一組上下拉電阻。
圖 3 RSM485PCHT通信等效電路圖
其中:RPU為模塊內(nèi)部上拉電阻,RPD為模塊內(nèi)部的下拉電阻,本例中為24kΩ;
RIN為模塊接收器輸入阻抗,本例取最小值為120kΩ;
RT為終端電阻,本例取120Ω;
RPU_EX為模塊外部所加的上拉電阻,RPD_EX為模塊外部所加的下拉電阻;
由于RSM485PCHT的門限電平為-200mV~+200mV,一般留有100mV或200mV的電壓裕量,本例留有100mV的電壓裕量,根據(jù)前面所推導(dǎo)的差分電壓公式,可以得到下面計(jì)算公式
由于RSM485PCHT在供電電壓范圍為4.75V~5.25V,取VO=4.75V(最低輸入電壓VCC=4.75V情況下),可得:
由RPU=24kΩ,可得RPU_EX=RPD_EX=461.9Ω,由于計(jì)算出的電阻值為最大值,因此可以選擇在485總線上僅加一組410Ω或390Ω的上下拉電阻,或者加兩組910Ω上下拉電阻。
3、 如何驗(yàn)證上下拉電阻取值?
上述計(jì)算僅考慮了485總線空閑狀態(tài)時(shí)不處于不確定狀態(tài),并沒有考慮485收發(fā)器的驅(qū)動(dòng)能力和所用元器件的功耗等問題。外部所加上下拉電阻越小,可以將485總線空閑狀態(tài)差分電壓保持的越高,但與此同時(shí),終端電阻和上下拉電阻的功耗也越大,對(duì)485收發(fā)器的驅(qū)動(dòng)能力要求也越高,當(dāng)超過485收發(fā)器的驅(qū)動(dòng)能力時(shí),也會(huì)導(dǎo)致通信失敗。
根據(jù)RS-485標(biāo)準(zhǔn),當(dāng)接收器的輸入阻抗為單位阻抗時(shí)(最小為12k),總線上最多可以接32個(gè)節(jié)點(diǎn),485的差分負(fù)載最大為54Ω,此時(shí)差分輸出電壓最小為1.5V。
圖 4 485總線連接32個(gè)節(jié)點(diǎn)等效示意圖
如圖 4所示,我們可以看到當(dāng)485總線上接有32個(gè)節(jié)點(diǎn)時(shí),總線A或B的共模負(fù)載為:
由此可見,對(duì)于RS-485的標(biāo)準(zhǔn)來說,A總線或B總線的最大共模負(fù)載為375Ω。
圖 5 485總線增加終端電阻等效示意圖
當(dāng)增加終端電阻后,可以發(fā)現(xiàn)485總線的共模負(fù)載沒有發(fā)生變化,但差模負(fù)載急劇減小,差模負(fù)載為
因此當(dāng)485總線的節(jié)點(diǎn)數(shù)達(dá)到最多以及增加終端電阻后,485總線的差模負(fù)載仍大于54Ω,根據(jù)RS-485的標(biāo)準(zhǔn),差分輸出電壓最小為1.5V。
圖 6 RSM485PCHT 64個(gè)節(jié)點(diǎn)等效示意圖
以RSM485PCHT為例說明增加上下拉電阻的情況,如圖 6所示,總線A或B的共模負(fù)載為:
實(shí)際測(cè)試上述情況,驅(qū)動(dòng)輸出的最小差分電壓3.02V,這個(gè)電壓遠(yuǎn)大于RS-485標(biāo)準(zhǔn)規(guī)定的最小差分輸出電壓1.5V。
圖 7 RSM485PCHT 64個(gè)節(jié)點(diǎn)增加終端電阻示意圖
當(dāng)在485總線上增加終端電阻時(shí),可以看出總線A或B的共模負(fù)載并沒有發(fā)生變化,而差分阻抗有了較大的變化,此時(shí)差模負(fù)載為:
計(jì)算出的差模負(fù)載要略大于RS-485標(biāo)準(zhǔn)規(guī)定的最大負(fù)載為54Ω,我們對(duì)RSM485PCHT進(jìn)行實(shí)際測(cè)試,其輸出差分電壓1.58V,略大于標(biāo)準(zhǔn)規(guī)定的最小電壓。
當(dāng)差模負(fù)載為54Ω(485總線接兩個(gè)120Ω終端電阻并且上拉電阻(下拉電阻)與收發(fā)器內(nèi)阻的并聯(lián)值為270Ω)時(shí),RSM485PCHT的差分輸出電壓為1.52V(實(shí)測(cè)值),基本和RS-485標(biāo)準(zhǔn)相同。當(dāng)差模負(fù)載為41.54Ω(485總線接兩個(gè)120Ω終端電阻并且上拉電阻(下拉電阻)與收發(fā)器內(nèi)阻的并聯(lián)值為135Ω)時(shí),RSM485PCHT的差分輸出電壓在1.17V左右(實(shí)測(cè)值),在這種情況下可以通信。但485收發(fā)芯片手冊(cè)中規(guī)定的最大差模負(fù)載通常為54Ω,即在485總線上增加兩個(gè)120Ω后,上拉電阻(下拉電阻)與收發(fā)器輸入阻抗的并聯(lián)值應(yīng)大于270Ω。同時(shí)為了保證穩(wěn)定可靠通信,一般485總線的上拉電阻(下拉電阻)與收發(fā)器輸入阻抗的并聯(lián)值應(yīng)大于375Ω。
4、 總結(jié)
1) 通信線應(yīng)選用屏蔽雙絞線,屏蔽層應(yīng)單點(diǎn)接大地;
2) 當(dāng)我們沒有遇到信號(hào)反射問題時(shí),盡量不要使用終端電阻;
3) 如果使用終端電阻,我們可以通過上下拉電阻調(diào)節(jié)485總線在空閑狀態(tài)的電壓值,保證不處于門限電平(-200mV~+200mV或-200mV~-40mV)范圍內(nèi);
4)當(dāng)我們?cè)黾由舷吕娮钑r(shí),上拉電阻(下拉電阻)與收發(fā)器輸入阻抗的并聯(lián)值應(yīng)大于375Ω。