工程師們經常面臨的一個問題是,如何為RS-485應用設計一款非數據速率依賴型半雙工中繼器。例如,通過給現有網絡添加分接頭,設計一款超出建議最大線纜長度 (1200m) 的遠距離網絡,或者設計一款星型拓撲網絡。各種系統所使用的數據速率并不相同,從10 kbps到200 kbps,不一而足。
遠程節點之間的接地電位差(GPD)所產生的電壓,超出了大多數
總線收發器的最大共模電壓范圍,因此必須在網絡節點電子組件和總線之間實施電隔離。
《參考文獻1》中,線纜長度與數據速率的對比特性表明,應使用1200m(4000英尺)的最大線纜長度(圖1)。使用該長度時,常用120-Ω、AWG24無屏蔽雙絞線(UTP)的電阻接近端電阻器值,并使總線信號擺幅減小一半(6 dB)。
圖1:線纜長度與數據速率的關系
在RS-485技術文獻中,為了簡便起見,收發器產品說明書通常會介紹一種全雙工中繼器設計。但是,在遠距離傳輸網絡中,數千個儀表都使用全雙工線纜并不可取,因為線纜和配線都非常的昂貴。
為了實施一款更遠距離的半雙工模式遠距傳輸網絡,我們必須安裝一個半雙工中繼器。圖2顯示了一個系統結構圖。由于半雙工中繼器連接至兩個總線段,該中繼器必須包含兩個獨立的收發器,每個收發器都經由
信號隔離器連接至其各自總線,并連接至一個隔離于兩個收發器部分的控制邏輯。該控制邏輯及時關閉和開啟中繼器的驅動器和接收機部分。任意方向的發來數據信號都可對其初始化。
圖2:雙隔離半雙工中繼器總線擴展
兩種最為常用的時序控制方法是圖3所示單觸發電路和圖4所示時延反相緩沖器電路。為了確保正確的開關行為,兩種方法都要求對上電和總線閑置以后的啟動條件進行定義。通過故障保護偏壓電阻器RFS可以完成這項工作,其在沒有收發器有效驅動總線時,產生一個大于接收機輸入敏感度V
FS> +200 mV的故障保護電壓V
FS。
圖3:利用一個單觸發電路實施的收發器時序控制
圖4:利用一個反相緩沖器電路實施的收發器時序控制
完整執行一遍單觸發電路的功能運行順序(此處以數字編號,請參見圖 3),清楚地說明了該中繼器的工作過程:
1、 在總線閑置期間,由于V
FS,兩個中繼器端口的接收機輸出均為高電平。因此,兩個收發器在接收模式下相互牽制。
2、 接下來,端口1上發來數據包起始位的到達,驅動RX1輸出為低。這種轉變觸發單觸發電路,從而驅動其輸出為高,并激活驅動器DR2。
3、 正確計算時間常量R
D× C
D,以使該單觸發電路輸出在整個數據包時間期間都保持高態。
4、 在單觸發時間常量期間,DR2始終驅動總線2。XCVR
OUT代表總線2上遠程收發器的接收機輸出狀態。請注意,DR2被激活時,上拉電阻器RPU拉高未激活接收機 (RX2) 的輸出,以使RX1保持激活狀態。
這種解決方案的缺點是,R-C時間常量取決于數據包長度和發送信號的數據速率。另外,單觸發電路易受噪聲瞬態的影響,容易引起偽觸發和中繼器故障。
不過,單觸發電路常用于接口橋接,例如:RS-232到RS-485轉換器等。這些轉換器直接把RS-485網絡連接至老式PC或者RS-232控制機器的RS-232端口。
有一種更加穩健和不依賴于數據速率的方法可以替代單觸發電路,即通過一種具有不同充電和放電時間的反相施米特(Schmitt)觸發緩沖器,實現時序控制。優先原則是在邏輯低狀態期間主動驅動總線,并在邏輯高狀態期間關閉驅動器。然后,根據逐位原則開啟和關閉序列,從而使中繼器功能獨立于數據速率和數據包長度。
完整執行一遍反相器控制中繼器的功能運行順序(此處以數字編號,請參見圖4),可以清楚地說明其運行過程:
1、 在總線閑置期間,由于V
FS,兩個中繼器端口的接收機輸出均為高。延遲電容CD獲得完全充電,驅動反相器輸出為低態,以使收發器維持在接收模式下。
2、 之后,總線1出現一個低位,驅動RX1輸出為低電平,快速對C
D放電,并激活驅動器DR2。
3、 當總線電壓變為正(V
Bus> 200 mV)時,RX1輸出變為高,其驅動DR2輸出為高,并通過R
D對C
D緩慢充電。必須正確計算最小時間常量(R
D× C
D),以使最大電源電壓V
CC(max)和最小正反相器輸入閾值V
TH+(min)時,延遲時間t
D超過驅動器最大低到高傳播延遲t
PLH(max),即超出30%。例如,電容為C
D= 100 Pf 時,R
D的要求電阻值為:

4、 根據延遲時間(t
D)與實際數據位間隔時間的對比情況,延長驅動器激活時間,以在總線建立有效的高態信號。需在從發射模式切換至接收模式以前完成這項工作,目的是讓接收機輸出始終保持高態。由于接收機傳播延遲短于驅動器,因此接收機不可能變為低態,即使是一瞬間的低態都不可能。驅動器一旦關閉,外部故障保護電阻器便將總線2偏壓至200 mV以上,其被活躍接收機看作是一個定義高電平。
5、 某個總線閑置,低位V
OD< 1.5 V,高位之初時延 (t
D)的V
OD>1.5 V,此時,總線2的差動輸出電壓為V
OD=V
FS> +200 mV。之后,其余高位V
OD= V
FS> +200 mV。
此外,XCVR
OUT代表總線2上遠程收發器的接收機輸出狀態。傳統中繼器設計的數據速率通常被限制為10 kbps,更短傳播延遲的一些現代收發器擁有高達100 kbps以上的數據速率。
為了簡便起見,到目前為止,中繼器討論始終都沒有涉及電隔離這一重要內容。但是,在一些遠距傳輸網絡(中繼器的主要應用領域)中,網絡節點之間的大接地電位差(GPD)很是常見。這些GPD以收發器輸入強共模電壓的形式存在,如果不實施電隔離,它們會對器件產生破壞力。當收發器總線電路隔離于其控制電路時,總線系統獨立于本地節點的接地電位。
表1:中繼器信號路徑材料清單

圖2顯示了隔離于節點控制電路的總線節點驅動器和接收機部分。但是,就中繼器而言,必須使用雙隔離,因為內部控制邏輯必須隔離于總線1和總線2。另外,兩個總線還必須相互隔離。圖5顯示了實施這種隔離的一個中繼器電路,表1列出了其材料清單 (BOM)。電路使用兩個經過隔離的RS-485收發器,每個收發器都要求一個單獨的隔離電源VISO,其源自于控制部分的中央3.3V電源(請參見圖6)。
圖5:雙隔離半雙工中繼器
圖6:雙隔離電源設計
結論
中繼器可用作總線擴展器或者分接頭延長器。用作總線擴展器時,中繼器構建一個總線的末端和另一個總線的開端。這樣可以在兩個端口固定安置故障保護電阻器和端接電阻器。但是,當中繼器用作分接頭延長器時,它可以放置在網絡的任何位置。這時,應去除連接總線的端口的電阻器,但是仍然保留分接頭端口的電阻器。(e