工程師們經(jīng)常面臨的一個問題是,如何為RS-485 應用設計一款非數(shù)據(jù)速率依賴型半雙工中繼器。例如,通過給現(xiàn)有網(wǎng)絡添加分接頭,設計一款超出建議最大線纜長度(1200m) 的遠距離網(wǎng)絡,或者設計一款星型拓撲網(wǎng)絡。各種系統(tǒng)所使用的數(shù)據(jù)速率并不相同,從10 kbps 到200 kbps,不一而足。
遠程節(jié)點之間的接地電位差(GPD) 所產(chǎn)生的電壓,超出了大多數(shù)總線收發(fā)器的最大共模電壓范圍,因此必須在網(wǎng)絡節(jié)點電子組件和總線之間實施電隔離。
《參考文獻1》中,線纜長度與數(shù)據(jù)速率的對比特性表明,應使用1200m(4000英尺)的最大線纜長度(圖1)。使用該長度時,常用120-Ω、AWG24 無屏蔽雙絞線(UTP) 的電阻接近端電阻器值,并使總線信號擺幅減小一半(6 dB)。
圖1 線纜長度與數(shù)據(jù)速率的關系
在RS-485 技術文獻中,為了簡便起見,收發(fā)器產(chǎn)品說明書通常會介紹一種全雙工中繼器設計。但是,在遠距離傳輸網(wǎng)絡中,數(shù)千個儀表都使用全雙工線纜并不可取,因為線纜和配線都非常的昂貴。
為了實施一款更遠距離的半雙工模式遠距傳輸網(wǎng)絡,我們必須安裝一個半雙工中繼器。圖2 顯示了一個系統(tǒng)結構圖。由于半雙工中繼器連接至兩個總線段,該中繼器必須包含兩個獨立的收發(fā)器,每個收發(fā)器都經(jīng)由信號隔離器連接至其各自總線,并連接至一個隔離于兩個收發(fā)器部分的控制邏輯。該控制邏輯及時關閉和開啟中繼器的驅動器和接收機部分。任意方向的發(fā)來數(shù)據(jù)信號都可對其初始化。
圖2 雙隔離半雙工中繼器總線擴展
兩種最為常用的時序控制方法是圖3 所示單觸發(fā)電路和圖4 所示時延反相緩沖器電路。為了確保正確的開關行為,兩種方法都要求對上電和總線閑置以后的啟動條件進行定義。通過故障保護偏壓電阻器RFS 可以完成這項工作,其在沒有收發(fā)器有效驅動總線時,產(chǎn)生一個大于接收機輸入敏感度VFS > +200 mV 的故障保護電壓VFS。
圖3 利用一個單觸發(fā)電路實施的收發(fā)器時序控制
圖4 利用一個反相緩沖器電路實施的收發(fā)器時序控制
完整執(zhí)行一遍單觸發(fā)電路的功能運行順序(此處以數(shù)字編號,請參見圖3),清楚地說明了該中繼器的工作過程:
1、在總線閑置期間,由于VFS,兩個中繼器端口的接收機輸出均為高電平。因此,兩個收發(fā)器在接收模式下相互牽制。
2、接下來,端口1 上發(fā)來數(shù)據(jù)包起始位的到達,驅動RX1 輸出為低。這種轉變觸發(fā)單觸發(fā)電路,從而驅動其輸出為高,并激活驅動器DR2。
3、正確計算時間常量RD × CD,以使該單觸發(fā)電路輸出在整個數(shù)據(jù)包時間期間都保持高態(tài)。
4、在單觸發(fā)時間常量期間,DR2 始終驅動總線2。XCVROUT 代表總線2 上遠程收發(fā)器的接收機輸出狀態(tài)。請注意,DR2 被激活時,上拉電阻器RPU 拉高未激活接收機(RX2) 的輸出,以使RX1 保持激活狀態(tài)。
這種解決方案的缺點是,R-C 時間常量取決于數(shù)據(jù)包長度和發(fā)送信號的數(shù)據(jù)速率。另外,單觸發(fā)電路易受噪聲瞬態(tài)的影響,容易引起偽觸發(fā)和中繼器故障。
不過,單觸發(fā)電路常用于接口橋接,例如:RS-232 到RS-485 轉換器等。這些轉換器直接把RS-485 網(wǎng)絡連接至老式PC 或者RS-232 控制機器的RS-232 端口。
有一種更加穩(wěn)健和不依賴于數(shù)據(jù)速率的方法可以替代單觸發(fā)電路,即通過一種具有不同充電和放電時間的反相施米特(Schmitt) 觸發(fā)緩沖器,實現(xiàn)時序控制。優(yōu)先原則是在邏輯低狀態(tài)期間主動驅動總線,并在邏輯高狀態(tài)期間關閉驅動器。然后,根據(jù)逐位原則開啟和關閉序列,從而使中繼器功能獨立于數(shù)據(jù)速率和數(shù)據(jù)包長度。
完整執(zhí)行一遍反相器控制中繼器的功能運行順序(此處以數(shù)字編號,請參見圖4),可以清楚地說明其運行過程:
1、在總線閑置期間,由于VFS,兩個中繼器端口的接收機輸出均為高。延遲電容CD 獲得完全充電,驅動反相器輸出為低態(tài),以使收發(fā)器維持在接收模式下。
2、之后,總線1 出現(xiàn)一個低位,驅動RX1輸出為低電平,快速對CD 放電,并激活驅動器DR2。
3、當總線電壓變?yōu)檎╒Bus > 200 mV)時,RX1 輸出變?yōu)楦?,其驅動DR2 輸出為高,并通過RD 對CD 緩慢充電。必須正確計算最小時間常量(RD × CD),以使最大電源電壓VCC(max) 和最小正反相器輸入閾值VTH+(min) 時,延遲時間tD 超過驅動器最大低到高傳播延遲tPLH(max),即超出30%。例如,電容為CD = 100 Pf 時,RD 的要求電阻值為:
4、根據(jù)延遲時間(tD) 與實際數(shù)據(jù)位間隔時間的對比情況,延長驅動器激活時間,以在總線建立有效的高態(tài)信號。需在從發(fā)射模式切換至接收模式以前完成這項工作,目的是讓接收機輸出始終保持高態(tài)。由于接收機傳播延遲短于驅動器,因此接收機不可能變?yōu)榈蛻B(tài),即使是一瞬間的低態(tài)都不可能。驅動器一旦關閉,外部故障保護電阻器便將總線2 偏壓至200 mV 以上,其被活躍接收機看作是一個定義高電平。
5、某個總線閑置,低位VOD < 1.5 V,高位之初時延(tD) 的VOD > 1.5 V,此時,總線2 的差動輸出電壓為VOD = VFS > +200 mV。之后,其余高位VOD = VFS > +200 mV。
此外,XCVROUT代表總線2 上遠程收發(fā)器的接收機輸出狀態(tài)。傳統(tǒng)中繼器設計的數(shù)據(jù)速率通常被限制為10 kbps,更短傳播延遲的一些現(xiàn)代收發(fā)器擁有高達100 kbps 以上的數(shù)據(jù)速率。
為了簡便起見,到目前為止,中繼器討論始終都沒有涉及電隔離這一重要內容。但是,在一些遠距傳輸網(wǎng)絡(中繼器的主要應用領域)中,網(wǎng)絡節(jié)點之間的大接地電位差(GPD) 很是常見。這些GPD 以收發(fā)器輸入強共模電壓的形式存在,如果不實施電隔離,它們會對器件產(chǎn)生破壞力。當收發(fā)器總線電路隔離于其控制電路時,總線系統(tǒng)獨立于本地節(jié)點的接地電位。
圖2 顯示了隔離于節(jié)點控制電路的總線節(jié)點驅動器和接收機部分。但是,就中繼器而言,必須使用雙隔離,因為內部控制邏輯必須隔離于總線1 和總線2。另外,兩個總線還必須相互隔離。圖5 顯示了實施這種隔離的一個中繼器電路,表1列出了其材料清單(BOM)。電路使用兩個經(jīng)過隔離的RS-485 收發(fā)器,每個收發(fā)器都要求一個單獨的隔離電源VISO,其源自于控制部分的中央3.3V 電源(請參見圖6)。
圖5 雙隔離半雙工中繼器
圖6 雙隔離電源設計
結論
中繼器可用作總線擴展器或者分接頭延長器。用作總線擴展器時,中繼器構建一個總線的末端和另一個總線的開端。這樣可以在兩個端口固定安置故障保護電阻器和端接電阻器。但是,當中繼器用作分接頭延長器時,它可以放置在網(wǎng)絡的任何位置。這時,應去除連接總線的端口的電阻器,但是仍然保留分接頭端口的電阻器。
表1 中繼器信號路徑材料清單
參考文獻
1、2006 年1 月1 日刊發(fā)的TIA TSB-89“TIA/EIA-485-A應用指南”,網(wǎng)站地址:www.global.ihs.com。
相關網(wǎng)站
http://www.ti.com.cn/lsds/ti_zh/analog/interface.page
www.ti.com.cn/product/cn/partnumber
使用ISO15、SN6501 或者SN74LVC2G14 代替上面地址中的“partnumber”