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