作為上世紀(jì)80年代早期批準(zhǔn)的一個平衡傳輸標(biāo)準(zhǔn),RS-485似乎已成為工業(yè)界永不過時的接口標(biāo)準(zhǔn)。關(guān)于它的文獻(xiàn)有很多,但對于很少接觸接口設(shè)計的系統(tǒng)工程師而言,如此海量的文獻(xiàn)就有些讓人吃不消了。
本文旨在討論RS-485標(biāo)準(zhǔn)的主要內(nèi)容,為初接觸它的設(shè)計師提供入門指南。研究文末參考的一些附加應(yīng)用筆記可進(jìn)一步幫助設(shè)計師在最短的時間內(nèi)完成一套可靠的數(shù)傳設(shè)計。
RS-485標(biāo)準(zhǔn)的用途
RS-485只定義了用于平衡多點傳輸線的驅(qū)動器和接收器的電特性,因此很多更高層標(biāo)準(zhǔn)都將其作為物理層引用。
網(wǎng)絡(luò)拓?fù)?
總線節(jié)點以菊花鏈或總線拓?fù)浞绞铰?lián)網(wǎng)。(見圖1)也就是說,每個節(jié)點都通過很短的線頭連接到主線纜。該接口總線通常設(shè)計為用于半雙工傳輸,也就是說它只用一對信號線,驅(qū)動數(shù)據(jù)和接收數(shù)據(jù)只能在不同時刻出現(xiàn)在信號線上。

圖1:RS-485總線結(jié)構(gòu)(左)與半雙工總線結(jié)構(gòu)(右)。
這就需要通過方向控制信號(例如驅(qū)動器/接收器使能信號)控制節(jié)點操作的協(xié)議,以確保任何時刻總線上都只能有一個驅(qū)動器在活動,而必須避免多個驅(qū)動器同時訪問總線導(dǎo)致總線競爭。
信號電平
RS-485驅(qū)動器必需在54的負(fù)載上提供最小1.5V的差分輸出,而RS-485接收器則必需能檢測到最小為200mv的差分輸入(見圖2)。這兩個值為可靠數(shù)據(jù)傳輸提供了足夠的裕度,即便信號經(jīng)過線纜和連接器發(fā)生嚴(yán)重衰減時亦如此。而穩(wěn)健性正是RS-485適用于噪聲環(huán)境的長距離聯(lián)網(wǎng)的主要原因。

圖2:RS-485規(guī)定的最小總線信號電平
線纜類型
在雙絞線上傳送差分信號為RS-485應(yīng)用帶來了很大好處。這是因為外部噪聲源產(chǎn)生的噪聲總是等量耦合進(jìn)兩根信號線中,屬于共模噪聲,而這能在差分接收器的輸入處就被抑制掉。
工業(yè)用RS-485線纜是特性阻抗為120和22AWG的塑封非屏蔽雙絞線。圖3所示為一對用于半雙工網(wǎng)絡(luò)的UTP線纜的橫截面。

圖3:RS-485通信線纜示例
為了保持網(wǎng)絡(luò)的電特性,除了網(wǎng)絡(luò)線纜的連接之外,印制電路板的布線和RS-485設(shè)備連接器上的管腳分配需保持兩根信號線之間的距離均等且足夠靠近。
總線端接與線頭長度
數(shù)據(jù)傳輸線應(yīng)進(jìn)行端接,而且線頭應(yīng)盡可能短,以避免傳輸線上發(fā)生信號反射。良好的端接要求終端電阻RT與傳輸線線纜的特征阻抗Z0匹配。RS-485建議采用Z0為120的線纜,因此通常每根線纜末端都采用120的電阻進(jìn)行端接。

圖4:利用共模噪聲濾波器對RS-485進(jìn)行端接
噪聲環(huán)境下的應(yīng)用往往用兩個RC低通濾波器替代這些120的電阻,以增強(qiáng)對共模噪聲的濾波(見圖4)。值得注意的是,兩個濾波器的電阻值應(yīng)相等(最好采用精密電阻)以確保兩個濾波器具有相同的滾降頻率。電阻容差過大會導(dǎo)致濾波器轉(zhuǎn)角頻率出現(xiàn)偏差,而導(dǎo)致共模噪聲轉(zhuǎn)換為差模噪聲,使接收器的抗噪性能降低。
線頭的電長度(即收發(fā)器與線纜干線之間的距離)應(yīng)小于驅(qū)動器輸入信號上升時間的1/10。表1列出了圖4中不同驅(qū)動信號上升時間對應(yīng)的最大線纜線頭長度。

故障保險
故障保險(failsafe)是指接收器可以在無輸入信號時保證一個確定的輸出狀態(tài)。可能導(dǎo)致信號丟失的原因有三種:1)電路開路:由電線斷線或收發(fā)器從總線上斷開導(dǎo)致;2)電路短路:絕緣失效導(dǎo)致傳輸差分對信號的兩根線互相短路;3)總線空閑:總線上沒有驅(qū)動器工作。
由于以上幾種條件可能導(dǎo)致傳統(tǒng)的接收器在輸入信號為零時輸出隨機(jī)的狀態(tài),因此現(xiàn)代收發(fā)器設(shè)計中均為開路、短路和總線空閑狀態(tài)下的故障保險設(shè)計了專門的偏置電路。當(dāng)輸入信號為零時,該電路會使接收器的輸出保持在一個確定的狀態(tài)。
盡管這些帶故障保險的收發(fā)器宣稱能減少元器件個數(shù),但它們10mV的最壞情況噪聲裕度使外部故障保險電路的設(shè)計成為必要。
外部故障保險電路包含一個電阻分壓器,用以產(chǎn)生足夠的差分總線電壓,將接收器的輸出驅(qū)動至一個確定的狀態(tài)。為確保電路具備足夠的噪聲裕度,VAB在200mV接收器輸入閾值之外還必需能涵蓋最大差分噪聲。按下式計算故障保險偏置電阻RB在最壞情況條件下(即最低電壓,最大噪聲條件下)的阻值:

其中VAB=200mV + VNoise。在最小總線電壓為4.75V,VAB=0.25V并且Zo=120時,RB的計算結(jié)果為528。在RT上串聯(lián)兩個523的電阻(見圖5左),就在總線一端建立起一個故障保險電路。

圖5:總線空閑的外部故障保險偏置
由于驅(qū)動器依靠電流輸出,因此必需為輸出電流提供一個負(fù)載。為總線增加收發(fā)器和故障保險電路同時也增大了所需的總負(fù)載電流。為了估計總線允許的最大負(fù)載個數(shù),RS-485定義了一個假想的單位負(fù)載(UL),一個UL代表的負(fù)載阻抗約為12k。符合標(biāo)準(zhǔn)的驅(qū)動器必需能驅(qū)動32個這樣的單位負(fù)載。如今的收發(fā)器往往采用的是減小了的單位負(fù)載,例如1/8UL,因此總線上允許連接的收發(fā)器個數(shù)多達(dá)256個。
由于故障保險偏置電路就占據(jù)了總線負(fù)載中多達(dá)20UL,因此總線上允許的最大接收機(jī)個數(shù)就減少了。因此,當(dāng)采用1/8的收發(fā)器時,總線上最多能連接96個設(shè)備。即

數(shù)據(jù)率與總線長度的關(guān)系
最大總線長度受傳輸線損耗與某個數(shù)據(jù)率下的信號抖動限制。在抖動達(dá)到波特周期的10%或以上時,數(shù)據(jù)可靠性會急劇下降。圖6給出了傳統(tǒng)RS-485驅(qū)動器在10%信號抖動下,不同數(shù)據(jù)率特性對應(yīng)的線纜長度。

圖6:不同數(shù)據(jù)率下的線纜長度
在圖6中,第一部分代表了線長受主要非抗性(即阻性)線纜損耗限制的數(shù)據(jù)率范圍。第2部分中,線纜的電抗性損耗隨頻率增加,因此頻率增加后允許的線纜長度就減小了。經(jīng)驗準(zhǔn)則告訴我們線長(單位為英寸)乘以數(shù)據(jù)率(單位為bps)應(yīng)小于3107。當(dāng)線長較短時,線纜損耗可以忽略,這時,限制最大可能數(shù)據(jù)率的只有驅(qū)動信號的上升時間(第3部分)。
小節(jié)點間距