RS-485總線的理論與實(shí)踐
一、EIA RS-485標(biāo)準(zhǔn)
在自動(dòng)化領(lǐng)域,隨著分布式控制系統(tǒng)的發(fā)展,迫切需要一種總線能適合遠(yuǎn)距離的數(shù)字通信。在RS-422標(biāo)準(zhǔn)的基礎(chǔ)上,EIA研究出了一種支持多節(jié)點(diǎn)、遠(yuǎn)距離和接收高靈敏度的RS-485總線標(biāo)準(zhǔn)。
RS-485標(biāo)準(zhǔn)采有用平衡式發(fā)送,差分式接收的數(shù)據(jù)收發(fā)器來(lái)驅(qū)動(dòng)總線,具體規(guī)格要求:
1.接收器的輸入電阻RIN≥12kΩ
2.驅(qū)動(dòng)器能輸出±7V的共模電壓
3.輸入端的電容≤50pF
4.在節(jié)點(diǎn)數(shù)為32個(gè),配置了120Ω的終端電阻的情況下,驅(qū)動(dòng)器至少還能輸出電壓1.5V(終端電阻的大小與所用雙絞線的參數(shù)有關(guān))
5.接收器的輸入靈敏度為200mV(即(V+)-(V-)≥0.2V,表示信號(hào)“0”;(V+)-(V-)≤-0.2V,表示信號(hào)“1”)
因?yàn)镽S-485的遠(yuǎn)距離、多節(jié)點(diǎn)(32個(gè))以及傳輸線成本低的特性,使得EIA RS-485成為工業(yè)應(yīng)用中數(shù)據(jù)傳輸?shù)氖走x標(biāo)準(zhǔn)。
二、影響RS-485總線通訊速度和通信可靠性的三個(gè)因素
1、在通信電纜中的信號(hào)反射
在通信過(guò)程中,有兩種信號(hào)因?qū)е?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/信號(hào)反射">信號(hào)反射:阻抗不連續(xù)和阻抗不匹配。
阻抗不連續(xù),信號(hào)在傳輸線末端突然遇到電纜阻抗很小甚至沒(méi)有,信號(hào)在這個(gè)地方就會(huì)引起反射,如圖1所示。這種信號(hào)反射的原理,與光從一種媒質(zhì)進(jìn)入另一種媒質(zhì)要引起反射是相似的。消除這種反射的方法,就必須在電纜的末端跨接一個(gè)與電纜的特性阻抗同樣大小的終端電阻,使電纜的阻抗連續(xù)。由于信號(hào)在電纜上的傳輸是雙向的,因此,在通訊電纜的另一端可跨接一個(gè)同樣大小的終端電阻,如圖2所示。
從理論上分析,在傳輸電纜的末端只要跨接了與電纜特性阻抗相匹配的終端電阻,就再也不會(huì)出現(xiàn)信號(hào)反射現(xiàn)象。但是,在實(shí)現(xiàn)應(yīng)用中,由于傳輸電纜的特性阻抗與通訊波特率等應(yīng)用環(huán)境有關(guān),特性阻抗不可能與終端電阻完全相等,因此或多或少的信號(hào)反射還會(huì)存在。
引起信號(hào)反射的另個(gè)原因是數(shù)據(jù)收發(fā)器與傳輸電纜之間的阻抗不匹配。這種原因引起的反射,主要表現(xiàn)在通訊線路處在空閑方式時(shí),整個(gè)網(wǎng)絡(luò)數(shù)據(jù)混亂。
信號(hào)反射對(duì)數(shù)據(jù)傳輸?shù)挠绊?,歸根結(jié)底是因?yàn)榉瓷湫盘?hào)觸發(fā)了接收器輸入端的比較器,使接收器收到了錯(cuò)誤的信號(hào),導(dǎo)致CRC校驗(yàn)錯(cuò)誤或整個(gè)數(shù)據(jù)幀錯(cuò)誤。
在信號(hào)分析,衡量反射信號(hào)強(qiáng)度的參數(shù)是RAF(Refection Attenuation Factor反射衰減因子)。它的計(jì)算公式如式(1)。
RAF=20lg(Vref/Vinc) (1)
式中:Vref—反射信號(hào)的電壓大?。籚inc—在電纜與收發(fā)器或終端電阻連接點(diǎn)的入射信號(hào)的電壓大小。
具體的測(cè)量方法如圖3所示。例如,由實(shí)驗(yàn)測(cè)得2.5MHz的入射信號(hào)正弦波的峰-峰值為+5V,反射信號(hào)的峰-峰值為+0.297V,則該通訊電纜在2.5MHz的通訊速率時(shí),它的反射衰減因子為:
RAF=20lg(0.297/2.5)=-24.52dB
要減弱反射信號(hào)對(duì)通訊線路的影響,通常采用噪聲抑制和加偏置電阻的方法。在實(shí)際應(yīng)用中,對(duì)于比較小的反射信號(hào),為簡(jiǎn)單方便,經(jīng)常采用加偏置電阻的方法。在通訊線路中,如何通過(guò)加偏置電阻提高通訊可靠性的原理,后面將做詳細(xì)介紹。
2、在通訊電纜中的信號(hào)衰減
第二個(gè)影響信號(hào)傳輸?shù)囊蛩厥切盘?hào)在電纜的傳輸過(guò)程中衰減。一條傳輸電纜可以把它看出由分布電容、分布電感和電阻聯(lián)合組成的等效電路,如圖4所示
電纜的分布電容C主要是由雙絞線的兩條平行導(dǎo)線產(chǎn)生。導(dǎo)線的電阻在這里對(duì)信號(hào)的影響很小,可以忽略不計(jì)。信號(hào)的損失主要是由于電纜的分布電容和分布電感組成的LC低通濾波器。PROFIBUS用的LAN標(biāo)準(zhǔn)型二芯電感(西門子為DP總線選用的標(biāo)準(zhǔn)電纜),在不同波特率時(shí)的衰減系數(shù)如表1所示。
表1 電纜的衰減系數(shù)
通訊波特率 16MHz 4MHz 38.4kHz 9.6kHz
衰減體系數(shù)(1km) ≤42dB ≤22dB ≤4dB ≤2.5dB
3、在通訊電纜中的純阻負(fù)載
影響通訊性能的第三個(gè)因素是純阻性負(fù)載(也叫直流負(fù)載)的大小。這里指的純阻性負(fù)載主要由終端電阻、偏置電阻和RS-485收發(fā)器三者構(gòu)成。
在敘述EIA RS-485規(guī)范時(shí)曾提到過(guò)RS-485驅(qū)動(dòng)器在帶了32個(gè)節(jié)點(diǎn),配置了150Ω終端電阻的情況下,至少能輸出1.5V的差分電壓。一個(gè)接收器的輸入電阻為12kΩ,整個(gè)網(wǎng)絡(luò)的等效電路如圖5所示。按這樣計(jì)算,RS-485驅(qū)動(dòng)器的負(fù)載能力為:
RL=32個(gè)輸入電阻并聯(lián)||2個(gè)終端電阻=((12000/32)×(150/2))/(12000/32)+(150/2))≈51.7Ω
現(xiàn)在比較常用的RS-485驅(qū)動(dòng)器有MAX485、DS3695、MAX1488/1489以及和利時(shí)公司使用的SN75176A/D等,其中有的RS-485驅(qū)動(dòng)器負(fù)載能力可以達(dá)到20Ω。在不考慮其它諸多因素的情況下,按照驅(qū)動(dòng)能力和負(fù)載的關(guān)系計(jì)算,一個(gè)驅(qū)動(dòng)器可帶節(jié)點(diǎn)的最大數(shù)量將遠(yuǎn)遠(yuǎn)大于32個(gè)。
在通訊波特率比較高的時(shí)候,在線路上偏置電阻是很有必要的。偏置電阻的連接方法如圖6。它的作用是在線路進(jìn)入空閑狀態(tài)后,把總線上沒(méi)有數(shù)據(jù)時(shí)(空閑方式)的電平拉離0電平,如圖7。這樣一來(lái),即使線路中出現(xiàn)了比較小的反射信號(hào)或干擾,掛接在總線上的數(shù)據(jù)接收器也不會(huì)由于這些信號(hào)的到來(lái)而產(chǎn)生誤動(dòng)作。
通過(guò)下面后例子了,可以計(jì)算出偏置電阻的大?。?BR>
終端電阻Rt1=Rr2=120Ω;
假設(shè)反射信號(hào)最大的峰-峰值Vref≤0.3Vp-p,則負(fù)半周的電壓Vref≤0.15V;終端的電阻上由反射信號(hào)引起的反射電流Iref≤0.15/(120||120)=2.5mA。一般RS-485收發(fā)器(包括SN75176)的滯后電壓值(hysteresis value)為50mV,即:
(Ibias-Iref)×(Rt1||Rt2)≥50mV
于是可以計(jì)算出偏置電阻產(chǎn)生的偏置電流Ibias≥3.33mA
+5V=Ibias(R上拉+R下拉+(Rt1||Rt2)) (2)
通過(guò)式2可以計(jì)算出R上拉=R下拉=720Ω
在實(shí)際應(yīng)用中,RS-485總線加偏置電阻有兩種方法:
(1)把偏置電阻平衡分配給總線上的每一個(gè)收發(fā)器。這種方法給掛接在RS-485總線上的每一個(gè)收發(fā)器加了偏置電阻,給每一個(gè)收發(fā)器都加了一個(gè)偏置電壓。
(2)在一段總線上只用一對(duì)偏置電阻。這種方法對(duì)總線上存在大的反射信號(hào)或干擾信號(hào)比較有效。值得注意的是偏置電阻的加入,增加了總線的負(fù)載。
三、RS-485總線的負(fù)載能力和通訊電纜長(zhǎng)度之間的關(guān)系
在設(shè)計(jì)RS-485總線組成的網(wǎng)絡(luò)配置(總線長(zhǎng)度和帶負(fù)載個(gè)數(shù))時(shí),應(yīng)該考慮到三個(gè)參數(shù):純阻性負(fù)載、信號(hào)衰減和噪聲容限。純阻性負(fù)載、信號(hào)衰減這兩個(gè)參數(shù),在前面已經(jīng)討論過(guò),現(xiàn)在要討論的是噪聲容限(Noise Margin)。RS-485總線接收器的噪聲容限至少應(yīng)該大于200mV。前面的論述者是在假設(shè)噪聲容限為0的情況下進(jìn)行的。在實(shí)際應(yīng)用中,為了提高總線的抗干擾能力,總希望系統(tǒng)的噪聲容限比EIA RS-485標(biāo)準(zhǔn)中規(guī)定的好一些。從下面的公式能看出總線帶負(fù)載的多少和通訊電纜長(zhǎng)度之間的關(guān)系:
Vend=0.8(Vdriver-Vloss-Vnoise-Vbias) (3)
其中:Vend為總線末端的信號(hào)電壓,在標(biāo)準(zhǔn)測(cè)定時(shí)規(guī)定為0.2V;Vdriver為驅(qū)動(dòng)器的輸出電壓(與負(fù)載數(shù)有關(guān)。負(fù)載數(shù)在5~35個(gè)之間,Vdriver=2.4V;當(dāng)負(fù)載數(shù)小于5,Vdriver=2.5V;當(dāng)負(fù)載數(shù)大于35,Vdriver≤2.3V);Vloss為信號(hào)在總線中的傳輸過(guò)程中的損耗(與通訊電纜的規(guī)格和長(zhǎng)度有關(guān)),由表1提供的標(biāo)準(zhǔn)電纜的衰減系數(shù),根據(jù)公式衰減系數(shù)b=20lg(Vout/Vin)可以計(jì)算出Vloss=Vin-Vout=0.6V(注:通訊波特率為9.6kbps,電纜長(zhǎng)度1km,如果特率增加,Vloss會(huì)相應(yīng)增大);Vnoise為噪聲容限,在標(biāo)準(zhǔn)測(cè)定時(shí)規(guī)定為0.1V;Vbias是由偏置電阻提供的偏置電壓(典型值為0.4V)。
式(3)中乘以0.8是為了使通信電纜不進(jìn)入滿載狀態(tài)。從式(3)可以看出,Vdriver的大小和總線上帶負(fù)載數(shù)的多少成反比,Vloss的大小和總線長(zhǎng)度成反比,其他幾個(gè)參數(shù)只和用的驅(qū)動(dòng)器類型有關(guān)。因此,在選定了驅(qū)動(dòng)器的RS-495總線上,在通信波特率一定的情況下,帶負(fù)載數(shù)的多少,與信號(hào)能傳輸?shù)淖畲缶嚯x是直接相關(guān)的。具體關(guān)系是:在總線允許的范圍內(nèi),帶負(fù)載數(shù)越多,信號(hào)能傳輸?shù)木嚯x就越小;帶負(fù)載數(shù)據(jù)少,信號(hào)能傳輸?shù)木嚯x就發(fā)越遠(yuǎn)。
四、分布電容對(duì)RS-485總線傳輸性能的影響
電纜的分布電容主是由雙絞線的兩條平行導(dǎo)線產(chǎn)生。另外,導(dǎo)線和地之間也存在分布電容,雖然很小,但在分析時(shí)也不能忽視。分布電容對(duì)總線傳輸性能的影響,主要是因?yàn)榭偩€上傳輸?shù)氖腔ㄐ盘?hào),信號(hào)的表達(dá)方式只有“1”和“0”。在特殊的字節(jié)中,例如0x01,信號(hào)“0”使得分布電容有足夠的充電時(shí)間,而信號(hào)“1”到來(lái)時(shí),由于分布電容中的電荷,來(lái)不及放電,(Vin+)—(Vin-)-還大于200mV,結(jié)果使接愛(ài)誤認(rèn)為是“0”,而最終導(dǎo)致CRC校驗(yàn)錯(cuò)誤,整個(gè)數(shù)據(jù)幀傳輸錯(cuò)誤。具體過(guò)程如圖8所示。
由于總線上分布影響,導(dǎo)致數(shù)據(jù)傳輸錯(cuò)誤,從而使整個(gè)網(wǎng)絡(luò)性能降低。解決這個(gè)問(wèn)題有兩種方法:
(1)降低數(shù)據(jù)傳輸?shù)牟ㄌ芈剩?BR>
(2)使用分布電容小的電纜,提高傳輸線的質(zhì)量。
評(píng)論