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