RS-485接口電路指南
1. 為什么需要平衡傳輸線標(biāo)準(zhǔn)
本文引用地址:http://www.ex-cimer.com/article/201807/383753.htm本文的重點在于工業(yè)最廣泛使用的平衡傳輸線標(biāo)準(zhǔn):ANSI/TIA/EIA-485-A(以下簡稱485)。在回顧一些485標(biāo)準(zhǔn)的關(guān)鍵方面后,通過一個工廠自動化例子,介紹實際項目中如何實施差分傳輸結(jié)構(gòu)。
遠(yuǎn)距離、高噪聲環(huán)境下,計算機組件和外設(shè)之間的數(shù)據(jù)傳輸通常是困難的,如果有可能的話,盡量使用單端驅(qū)動器和接收器。對于這種需要遠(yuǎn)距離通訊的系統(tǒng),推薦使用平衡數(shù)字電壓接口。
485是一個平衡(差分)數(shù)字傳輸線接口,是為了改善TIA/EIA-232(以下簡稱232)的局限性而開發(fā)出來的。485具有以下特性:
通訊速率高 – 可達(dá)到50M bits/s
通訊距離遠(yuǎn) – 可達(dá)到1200米(注:100Kbps情況下)
差分傳輸 – 較小的噪聲輻射
多驅(qū)動器和接收器
在實際應(yīng)用中,如果兩個或更多計算機之間需要價格低廉、連接可靠的數(shù)據(jù)通訊,都可以使用485驅(qū)動器、接收器或收發(fā)器。一個典型的例子是銷售終端機和中心計算機之間使用485傳輸信息。使用雙絞線傳輸平衡信號具有較低的噪聲耦合,加上485具有很寬的共模電壓范圍,所以485允許高達(dá)50M bit/s的速率通訊,或者在低速情況下具有數(shù)千米通訊距離。
由于485用途廣泛,越來越多的標(biāo)準(zhǔn)委員會將485標(biāo)準(zhǔn)作為它們通訊標(biāo)準(zhǔn)的物理層規(guī)范。包括ANSI的SCSI(小型計算機系統(tǒng)接口)、Profibus標(biāo)準(zhǔn)、DIN測量總線以及中國的的多功能電能表通訊協(xié)議標(biāo)準(zhǔn)DL/T645。
平衡傳輸線標(biāo)準(zhǔn)485于1983年開發(fā),用于主機與外設(shè)之間的數(shù)據(jù)、時鐘或控制線的數(shù)據(jù)傳輸接口。標(biāo)準(zhǔn)僅規(guī)定了電氣層,其它的像協(xié)議、時序、串行或并行數(shù)據(jù)以及鏈接器全部由設(shè)計者或更高層協(xié)議定義。
最初,485標(biāo)準(zhǔn)被定義為是對TIA/EIA-422標(biāo)準(zhǔn)(以下簡稱422)的靈活性方面升級。鑒于422僅是單工通訊(注:422使用兩對差分通訊線,發(fā)送使用一對,接收使用一對,所以數(shù)據(jù)在一條線上是單向傳輸?shù)?,485允許在一對信號線上有多個驅(qū)動器和接收器,有利于半雙工通訊(見圖1)。和422一樣,485沒有規(guī)定最大電纜長度,但是在使用24-AWG電纜、100kbps條件下,可以傳輸1.2km;485同樣沒有限制最大信號速率,而是由上升沿時間和位時間的比率限制,這和232相似。在大多數(shù)情況下,因為傳輸線效應(yīng)和外界噪聲影響,電纜長度比驅(qū)動器更能限制信號速率。
2.系統(tǒng)設(shè)計注意事項
2.1線負(fù)載
在485標(biāo)準(zhǔn)中,線負(fù)載要考慮線路終端和傳輸線上的負(fù)載。是否對傳輸線終端匹配取決于系統(tǒng)設(shè)計,也受傳輸線長度和信號速率的影響(一般情況下,低速短距離可以不進行終端匹配)。
2.1.1傳輸線終端匹配
可以將傳輸線劃分為兩種模型:分布式參數(shù)模型[1]和集總參數(shù)模型[2]。測試傳輸線屬于哪種模型取決于信號的渡越(上升/下降)時間tt與驅(qū)動器輸出到線纜末端的傳播時間tpd。
如果2tpd≥tt/5,則傳輸線必須按照分布式參數(shù)模型處理,并且必須處理好傳輸線終端匹配;其它情況下,傳輸線看作節(jié)點參數(shù)模型,這時傳輸線終端匹配不是必須的。
注1:分布式參數(shù)模型 - 電路中的電壓和電流是時間的函數(shù)而且與器件的幾何尺寸和空間位置有關(guān)。
注2:集總參數(shù)模型 - 電路中任意兩個端點間的電壓和流入任一器件端點的電流完全確定,與器件的幾何尺寸和空間位置無關(guān)。
2.1.2單位負(fù)載概念
掛接在同一485通訊總線上的驅(qū)動器和接收器,其最大數(shù)量取決于它們的負(fù)載特性。驅(qū)動器和接收器的負(fù)載都是相對單位負(fù)載而衡量的。485標(biāo)準(zhǔn)規(guī)定一根傳輸總線上最多可以掛接32個單位負(fù)載。
單位負(fù)載定義為:在12V共模電壓環(huán)境中,允許通過穩(wěn)態(tài)負(fù)載1mA電流,或者是在-7V共模電壓環(huán)境中,允許通過穩(wěn)態(tài)負(fù)載0.8mA電流。單位負(fù)載可能由驅(qū)動器、接收器和失效保護電阻組成,但不包括AC終端匹配電阻。
圖2給出了SN75LBC176A收發(fā)器單位負(fù)載計算的例子。因為這款設(shè)備將驅(qū)動器和接收器集成到一起構(gòu)成了收發(fā)器(即驅(qū)動器輸出和接收器輸入連接到了同一根總線上),因此很難分別獲取驅(qū)動器泄漏電流和接收器輸入電流。為了便于計算,將接收器輸入阻抗看作12 k并給收發(fā)器1mA電流。這可以代表一個單位負(fù)載,一跟傳輸總線上允許32個這樣的負(fù)載。
只要接收器的輸入阻抗大于12k,那么可以在一根傳輸總線上使用多于32個這樣的收發(fā)器。
圖2:單位負(fù)載概念
2.2信號衰減和失真
一個有用的常識是:在最大信號速率(單位:Hz)通訊的條件下,允許信號衰減-6dB。一般情況下,電纜供應(yīng)商會提供信號衰減圖表。圖3所示的曲線顯示了24-AWG電纜衰減和頻率的關(guān)系。
圖3:信號衰減
確定隨機噪聲、抖動、失真等對信號影響程度的最簡單方法是使用眼圖。圖4顯示使用20AWG雙絞線電纜500米處、不同信號速率下,接收端的信號失真情況。當(dāng)信號速率進一步增加,抖動的影響變得更加顯著。在1Mbit/s時,抖動大約為5%,而在3.5Mbit/s時,信號開始徹底被淹沒,傳輸質(zhì)量嚴(yán)重降級。在實際系統(tǒng)中,可允許的最大抖動一般要小于5%。
圖4:485信號失真 VS 信號速率
2.3故障保護和失效保護
2.3.1故障保護
和其它任何系統(tǒng)設(shè)計一樣,必須習(xí)慣性的考慮故障應(yīng)對措施,不論這些故障是自然產(chǎn)生還是因環(huán)境誘導(dǎo)產(chǎn)生。對于工廠控制系統(tǒng),通常要求對極端噪聲電壓進行防護。485提供的差分傳輸機制,特別是寬共模電壓范圍,使得485對噪聲具有一定的免疫力。但面對復(fù)雜惡劣環(huán)境時,其免疫力可能不足。有幾種方法可以提供保護,最有效的方法是通過電流隔離,后面會討論這個方法。電流隔離能夠提供更好的系統(tǒng)級保護,但是價格也更高。更流行并且比較便宜的方案是使用二極管保護。使用二極管方法代替電流隔離是一種折衷方法,在更低層次上提供保護。外接二極管和內(nèi)部集成瞬態(tài)保護二極管的例子如下圖所示:
圖5所示485收發(fā)器SN75LBC176外接二極管來防止瞬態(tài)毛刺。
圖5:噪聲環(huán)境中的輸入保護
RT通常是終端匹配電阻,等于電纜特性阻抗R0。
圖6所示內(nèi)部集成瞬態(tài)抑制二極管的485收發(fā)器SN75LBC184,用于既希望使用完整485功能,PCB空間又受限的場合。SN75LBC184在內(nèi)部集成了保護二極管,針對高能量電氣噪聲環(huán)境,可直接替換SN75LBC176。
圖6:集成瞬態(tài)電壓保護,用于噪聲環(huán)境
2.3.2失效保護
許多485應(yīng)用也要求提供失效保護,失效保護對于應(yīng)用層是很有用的,需要仔細(xì)考慮并充分理解。
在任何多個驅(qū)動器/接收器共用同一總線的接口系統(tǒng)中,驅(qū)動器大多數(shù)時間處于非活動狀態(tài),這個狀態(tài)被稱為總線空閑狀態(tài)。當(dāng)驅(qū)動器處于空閑狀態(tài)時,驅(qū)動器輸出高阻態(tài)。當(dāng)總線空閑時,沿線電壓處于浮空狀態(tài)(也就是說,不確定是高電平還是低電平)。這可能會造成接收器被錯誤地觸發(fā)為高電平或低電平(取決于環(huán)境噪聲和線路浮空前最后一次電平極性)。顯然,這種情況是不受歡迎的。在接收器前面需要有相關(guān)電路,將這種不確定狀態(tài)變成已知的、預(yù)先約定好的電平,這稱之為失效保護。此外,失效保護還要能防止因短路而引起的數(shù)據(jù)錯誤。
有很多方法可以實現(xiàn)失效保護,包括增加硬件電路和使用軟件協(xié)議。盡管軟件協(xié)議實現(xiàn)起來比較復(fù)雜,但這是優(yōu)先推薦的方法。但是因為大多數(shù)系統(tǒng)設(shè)計師、硬件設(shè)計師更喜歡使用硬件實現(xiàn)失效保護,增加硬件電路實現(xiàn)失效保護更經(jīng)常被使用。
無論出現(xiàn)短路還是開路情況,失效保護電路必須為接收器提供明確的輸入電壓。如果通訊線所處環(huán)境非常惡劣,則線路終端匹配也是必須的。
目前很多廠商開始將一些失效保護電路(如開路失效保護)集成到芯片內(nèi)部。通常這些額外的電路只是在接收器同相輸入端增加一個大阻值上拉電阻、在接收器反相端增加一個大阻值下拉電阻。這兩個電阻通常在100KΩ左右,這些電阻和終端匹配電阻形成一個潛在的驅(qū)動器,僅能提供幾個mV的差分電壓。因此,這個電壓(接收器臨界電壓)并不足以切換接收器狀態(tài)。使用這樣的內(nèi)部上下拉電阻允許總線不進行終端匹配,但是會顯著的降低最大信號速率和可靠性。
圖7給出了一些485接口通用外置失效保護電路,每個電路都盡力維持接收器輸入端電壓不小于最小臨界值并在一個或多個故障條件(開路、空閑、短路)下,維持一個已知的邏輯狀態(tài)。在這些電路中,R2代表傳輸線阻抗匹配電阻,并成為電壓驅(qū)動器的一部分:產(chǎn)生穩(wěn)態(tài)偏置電壓。這里假設(shè)每個接收器代表1個單位負(fù)載。
圖7右半部分的表格中列出了一些典型電阻和電容值、提供的失效保護類型、使用的單位負(fù)載個數(shù)和信號失真。在下一節(jié)中,會通過對短路失效電路中的電阻值計算,來說明如何修改這些電阻值以便適用于特定設(shè)計。
圖7:外部485失效保護電路
要實現(xiàn)短路保護,需要更多的電阻。當(dāng)電纜短路時,傳輸線阻抗變?yōu)榱?,終端匹配電阻也背短路。在接收器輸入端串聯(lián)額外的電阻可以實現(xiàn)短路失效保護。
圖8所示的額外電阻R3僅能用于驅(qū)動器和接收器分離的場合。現(xiàn)在的絕大部分485驅(qū)動器和接收器都集成到一個芯片上(稱之為收發(fā)器),并且在內(nèi)部連接到同一個總線上,這種收發(fā)器不可以使用短路失效保護。如果需要進行短路保護,可以選擇內(nèi)部集成短路保護的收發(fā)器或者使用驅(qū)動器和接收器分離的器件,比如SN75ALS180。如果在收發(fā)器使用短路失效保護電路,則電阻R3會引起輸出信號額外的失真。驅(qū)動器和接收器分離的器件SN75ALS180不會有這個問題,因為驅(qū)動器是直接連到總線上的,旁路掉了R3。
圖8:短路/開路失效保護電路
下面對電阻值經(jīng)行計算。如果傳輸線短路,R2從電路中移除,則接收器輸入端電壓為:
VID= VCC * 2R3 / (2R1 + 2R3)
對于485應(yīng)用,標(biāo)準(zhǔn)規(guī)定接收器可識別最低至200mV的輸入信號。因此當(dāng)VID> VIT或者VID > 200mV,能夠確定一個已知狀態(tài)。這是第一個設(shè)計約束條件:
VCC* 2R3 / (2R1 + 2R3) > 200mV
當(dāng)傳輸線上為高阻態(tài)時,接收器受到R1、R2和R3的影響,其輸入電壓為:
VID= VCC* (R2 + 2R3) / (2R1 + R2 + 2R3)
得到第二個設(shè)計約束條件:
VCC * (R2 + 2R3) / (2R1 + R2 + 2R3) > 200mV
傳輸線會受終端匹配電阻R2與兩倍的(R1+R3)并聯(lián)影響。傳輸線的特性阻抗Zo與之相匹配,這得到第三個設(shè)計約束條件:
Zo= 2R2 * (R1 + R3) / (2R1 + R2 +2R3)
其它設(shè)計約束條件包括由失效保護電路提供的額外線負(fù)載、由R3和R1引起的信號失真以及接收器輸入電阻。
注:SN75HVD10等3.3V 485收發(fā)器以及更新產(chǎn)品內(nèi)部集成了短路/開路失效保護電路。
2.4電流隔離
計算機和工業(yè)串行接口往往處于噪聲環(huán)境中,可能會影響數(shù)據(jù)傳輸?shù)耐暾?。對于任何接口電路,?jīng)過測試的可以改善噪聲性能的方法是電流隔離。
在數(shù)據(jù)通訊系統(tǒng)中,隔離是指多個驅(qū)動器和接收器之間沒有直接電流流通。隔離變壓器為系統(tǒng)提供電源,光耦或數(shù)字隔離器件提供數(shù)據(jù)隔離。電流隔離可以去除地環(huán)流,抑制噪聲電壓。因此,使用這種技術(shù)可以抑制共模噪聲,降低其它輻射噪聲。
舉一個例子,圖9顯示了過程控制系統(tǒng)的一個節(jié)點,通過485鏈路連接數(shù)據(jù)記錄器和主計算機。
當(dāng)臨近的電動機啟動時,數(shù)據(jù)記錄器和計算機的地電勢會出現(xiàn)瞬間不同,這通常會引起一個大電流。如果數(shù)據(jù)通訊沒有采用隔離方案,數(shù)據(jù)可能會丟失,更壞的情況下會損害計算機。
2.4.1電路描述
圖9所示的原理圖是分布式監(jiān)視、控制和管理系統(tǒng)的一個節(jié)點,這種方案通常用于過程控制。數(shù)據(jù)通過一對雙絞線傳輸,地線使用屏蔽層。這類應(yīng)用常常需要低功耗,因為許多遠(yuǎn)程分站使用電池或者要求有備用電池(電容停電后,需要設(shè)備能使用備用電池工作一定時間)。此外,使用低功耗計數(shù),可以使用小型隔離變壓器。如圖9所示,收發(fā)器使用SN65HVD10,當(dāng)然任何TI公司3.3V或5V RS485收發(fā)器、3.3-V TIA/EIA-644 LVDS或者3.3-V TIA/EIA-899 M-LVDS收發(fā)器都可以使用這個電路。
2.4.2操作原理
圖9所示的例子可用于3.3V或5V,電源使用變壓器隔離,數(shù)據(jù)信號采用數(shù)字隔離器隔離。因為485收發(fā)器需要隔離電源,可調(diào)LDO穩(wěn)壓器必須被隔離??梢允褂门c非門振蕩電路驅(qū)動隔離變壓器實現(xiàn)這一功能。變壓器的輸出電壓經(jīng)過調(diào)整、濾波后,供低壓差線性穩(wěn)壓器使用。在高EMI環(huán)境中,這種方法常用于預(yù)防其它遠(yuǎn)距離供電子系統(tǒng)的噪聲耦合到主電源。TPS7101用于給其它電子元件供電,最多提供500mA電流。通過調(diào)節(jié)偏置電阻R7,TPS7101可輸出3.3V或5V,具體阻值見BOM清單。
數(shù)據(jù)信號隔離又三通道數(shù)字隔離器ISO7231M完成。該設(shè)備可以通過150Mbps信號速率,提供2.5KV(rms)電壓隔離和50KV/us瞬間放電保護。
圖9:3.3V或5V隔離485節(jié)點(左邊是大地地平面,右邊是隔離地平面)
表1:3.3V或5V隔離485節(jié)點BOM清單
3.過程控制設(shè)計舉例
為了獲得更多485系統(tǒng)設(shè)計知識,一個比較好的方法是看具體的例子??紤]這樣一個系統(tǒng):系統(tǒng)容量為1個主控制器、數(shù)個分站的工廠自動化系統(tǒng),每個分站都可以發(fā)送和接收數(shù)據(jù)。
系統(tǒng)特性如下所示,通用規(guī)格見圖10。
最遠(yuǎn)分站距主控制器500米
31臺分站(加上主機共32臺設(shè)備)
信號傳輸速率為500 kbit/s
半雙工通訊
圖10:過程控制設(shè)計舉例
遵循485標(biāo)準(zhǔn)的設(shè)備以500 kbit/s傳輸數(shù)據(jù),要求驅(qū)動器輸出渡越(上升/下降)時間tt不能大于0.3個單位間隔時間(UI),所以有:
tt≤ 0.3 * UI
tt≤ 0.3 * (1 /(500 * 103) ) = 600ns
如果電纜傳輸信號速度等于光在真空中的傳播速度,則信號傳輸延時tpd為3.33ns/m,乘以傳輸線長度500米,為1667ns。
根據(jù)2.1節(jié)的公式可以確定傳輸線是分布式參數(shù)模型還是節(jié)點參數(shù)模型:若2tpd ≥ tt/5,則認(rèn)為傳輸線為分布式參數(shù)模型。顯然,3334 > 120,所以本例的傳輸線模型為分布式參數(shù)模型。在工業(yè)環(huán)境中,這種傳輸線必須要終端匹配。
關(guān)于衰減,盡管信號速率為500 kbit/s的基本頻率為250 kHz,我們?nèi)匀话凑?00 kHz來計算衰減,這是因為信號中其實包含更高頻的部分。根據(jù)最大衰減不要超過-6dB的經(jīng)驗法則,要求500米電纜末端最大衰減小于-6dB,即0.36dB/30米。我們查看圖3所示的圖表,這是電纜廠商提供的衰減與頻率關(guān)系的圖表,500 kHz頻率對應(yīng)的衰減為0.5dB/30米還要多一些,超過設(shè)計約束條件0.14dB/30米。在本例中這是允許的,因為稍微減少保守規(guī)則提供的噪聲容限是可以接受的。
評論