首頁 > 新聞係統 > 電子技術 > 技術 > 模擬設計 正文 > 論壇 返回 打印

波特率自適應的RS-485中繼器設計

  引言

  收發器采用平衡發送和差分接收,因此具有抑製共模幹擾的能力;加上接收器具有高靈敏度,能檢測低達200 mV的電壓,故傳輸信號能在千米以外得到恢複。使用RS-485總線,一對雙絞線就能實現多站聯網,構成分布式係統,且設備簡單、價格低廉,能進行長距離通信,因而得到了廣泛的應用。由於在雙絞線上的電平損耗,RS-485標準通信的最大傳輸距離是1 200 m,因此更遠距離的應用中必須使用。網絡節點數與所選芯片驅動能力和接收器的輸入阻抗有關。RS-485標準規定了最大總線負載為32個單位負載,若應用中總線負載大於32個單位負載則必須使用中繼器。

  1 RS-485中繼器原理[12]

  RS-485是半雙工方式,兩線雙向傳送差分信號,具有多點、雙向通信能力,即允許多個發送器和接收器連接到同一條總線上,傳輸線上信號的傳輸方向不定。因此,識別和控製好傳輸線上的信號傳遞方向是設計RS-485中繼器的關鍵。

  RS-485標準規定:數據信號采用差分傳輸方式(differential driver mode),也稱為“平衡傳輸”。它使用一對雙絞線,將其中一根線定義為A,另一根線定義為B,如圖 1所示。

RS-485發送器的示意圖

圖1  RS-485發送器的示意圖

  通常情況下,RS485發送器A、B 之間的正電平在+2~+6 V,是一種邏輯狀態;負電平在-6~-2 V,是另一種邏輯狀態。在RS-485發送器件中,一般有一個“使能”控製信號,用於控製發送器與傳輸線的切斷和連接。當“使能”端為低電平時,發送器輸出處於高阻狀態,稱作“第三態”。它是有別於邏輯“1”與“0”的第三種狀態。

  對於RS-485接收器,也作出與發送器相對的規定,收、發端通過平衡雙絞線將AA與BB 對應相連。當在接收端A、B 之間有大於+200 mV 的電平時,輸出為正邏輯電平;小於-200 mV 時,輸出為負邏輯電平。在接收器的接收平衡線上,電平範圍通常為200 mV~6 V,如圖2所示。

RS-485接收器的示意圖

圖2  RS-485接收器的示意圖

  RS-485 接收器同樣定義邏輯1(正邏輯電平)為B>A 的狀態,邏輯0(負邏輯電平)為A>B 的狀態,A、B 之間的壓差不小於200 mV。在RS-485 接收器件中,一般也有一個“使能”控製信號,用於控製接收器與傳輸線的切斷和連接。當“使能”端為高電平時,接收器與傳輸線切斷,接收器輸出為高電平;當 “使能”端為低電平時,接收器輸出電平與總線信號的邏輯電平一致。

  RS-485中繼器原理圖如圖3所示。正常工作時主要有三個狀態:空閑狀態,數據從RS-485收發器U1邊的總線往RS-485收發器U2邊的總線傳送(簡稱“數據右傳狀態”),數據從RS-485收發器U2邊的總線往RS-485收發器U1邊的總線傳送(簡稱“數據左傳狀態”)。

RS-485中斷器原理圖

圖3  RS-485中斷器原理圖

  (1)空閑狀態

  當中繼器上電啟動運行或總線上沒有數據傳送時,中繼器工作在空閑狀態。RS-485收發器U1、U2均為接收數據狀態,U1、U2的EN1、EN2引腳均為低電平。

  (2)數據右傳狀態

  當RS-485收發器U1邊檢測到連接其A、B引腳總線上的差動信號有數據向右邊傳送時,它通過RS-485收發器U1的RO引腳以RS-232的方式逐位接收數據,並通過RS-485收發器U2的DI引腳以RS-232的方式逐位輸出數據。傳送順序為先傳一個低電平起始位,再傳8位數據位,最後傳1位高電平結束位,為一數據幀,此段時間U2的EN2引腳應為高電平。此後U2將一直輸出高電平直到下一幀數據到來之前,U2的EN2引腳也應為低電平且處於接收狀態。

  (3)數據左傳狀態

  數據左傳狀態的過程與數據右傳狀態一致,隻是在一數據幀時間段內U2的EN2引腳應為高電平。

  當總線上幹擾較大時也有可能發生總線衝突,數據右傳狀態和數據左傳狀態同時發生。此時,總線上的信號是無效的,但總線衝突(總線雙方同時活動)並不需要中繼器來處理和解決,而是由通信協議來處理和防止的。要求總線衝突(或幹擾)結束後,RS-485中繼器的方向控製器總能自動恢複正常工作。

  2  幾種[16]

  現有的RS-485中繼器通常采用三種方法來實現:①  采用RC充放電延時與RS觸發器的配合來控製RS-485芯片的數據收發方向;②  采用單片機的定時器定時控製RS-485接口收發方向;③  采用單片機串口監視總線上的數據,通過查表當數據送給本中繼器下的終端時才開啟數據傳輸通道。

  第一種方法的缺點是采用電阻、電容組成延時電路。由於電阻或電容本身的誤差,運行一段時間後電子器件老化產生的誤差以及溫度的變化,都會影響延時的準確性,而且這種中繼器要求兩個字節之間的通信時間間隔必須大於一個字節數據的通信時間才能確保不丟失數據,因此降低了通信速率。

  第二、三種方法的缺點是采用單片機的中斷來檢測數據幀的起始位。單片機的中斷響應須要一段時間,RS-485總線一個數據位的時間寬度應大於單片機的中斷響應時間,終端處理器才能檢測每數據幀的起始位,所以此兩種方法的通信速率也受到限製。特別是第三種方法中,單片機要通過對總線上通信內容的監聽進行相應查表來決定本中繼器後麵的總線是否與前麵的總線連接。這種方法的缺點是要對總線的通信內容進行處理,這不僅降低了通信的實時性,而且還增加了係統通信協議的複雜性,降低了RS-485總線通信的可靠性。

  3  RS-485中繼器

  在工業現場應用中,RS-485總線的通信速度一般為2 400~115 200 bps,以前設計的RS-485中繼器控製RS-485收發器收發狀態,以一數據幀時間寬度為單元。不同的波特率,控製RS-485收發器收發狀態的時間寬度也不同,所以RS-485總線的通信速度不同,需設置控製RS-485收發器收發狀態的時間寬度,以適應所應用RS-485總線的通信速度。

  波特率自適應RS-485中繼器的設計思路是: 控製RS-485收發器收發狀態,以一數據位時間寬度為單元。若控製RS-485收發器收發狀態時間寬度適應任意波特率的一數據位時間寬度,則RS- 485中繼器適應任意RS-485總線的通信速度。為此設計波特率自適應RS-485中繼器,如圖4所示。

 波特率自適應RS-485中繼器原理圖

圖4  波特率自適應RS-485中繼器原理圖

  U3、U4為由CA555組成的相對延時單穩觸發電路,分別控製RS-485中繼器數據左、右傳狀態。相對延時單穩觸發電路是在由CA555組成的普通單穩觸發電路的基礎上增加了二極管D1和D2。當CA555輸入引腳TRIG為低電平時,CA555內部和二極管D1、D2將RC延時電路放電,輸出Q端輸出高電平;當CA555輸入引腳TRIG變為高電平時,CA555內部和二極管D1、D2開始使RC延時電路充電,延時一段時間(與R×C有關),輸出Q端輸出低電平。其輸入、輸出信號時序如圖5所示。

相對延時單穩觸發電路時序圖

圖5  相對延時單穩觸發電路時序圖

  圖5中,TRIG為CA555的輸入信號;Q為CA555的輸出信號;Tw為單個或連續低電平數據位的時間寬度;Trc為U3、U4組成的單穩觸發電路中R11×C1(或R12×C2)決定的延時時間寬度,選擇小於RS-485總線最高波特率(如115 200 bps)的數據位的時間寬度為宜。在本設計中,控製RS-485收發器收發狀態的時間寬度始終比總線中傳輸數據低電平寬度大Trc,而且Trc不會大於任何波特率的一個數據位的時間寬度。所以本文設計的波特率自適應RS-485中繼器適應於工業現場應用RS-485總線的任意通信速度。

  由於波特率自適應RS-485中繼器以一數據位時間寬度為單元,所以隻有傳輸低電平數據位時,輸出端RS-485收發器的輸出使能才打開,並輸出低電平。當傳輸高電平數據位時,輸出端RS-485收發器的輸出使能關閉,RS-485收發器的輸出為高阻狀態。所以,在每端RS-485收發器的輸出端需增加上拉電阻、下拉電阻和匹配電阻構成的偏置電路,當輸出為高阻狀態時,在匹配電阻上形成表示高電平的差分信號並輸出[6]。

  為提高波特率自適應RS-485中繼器的可靠性,可將U3的輸出端經一反相器與U4的低電平有效的複位端R連接;將U4的輸出端經一反相器與 U3的低電平有效的複位端R連接。這樣,當從RS-485中繼器的一側向另一側傳輸數據時,消除了同時向相反方向傳輸數據的可能性。

  當總線上幹擾較大時也有可能發生總線衝突,數據右傳狀態和數據左傳狀態同時發生。由於實際電路的不完全對稱,波特率自適應RS-485中繼器隻能向一個方向傳輸數據,並且當總線衝突(或幹擾)結束後,中繼器處於空閑狀態,即中繼器兩端的收發器均處於接收狀態。

  4  結論

  本文提出了由CA555組成的相對延時單穩觸發電路,並應用於RS-485總線中繼器的設計中。它使得RS-485收發器的數據發送狀態隻由 RS-485中繼器接收數據端數據的一個或連續多個低電平位來控製,與一數據位時間寬度無關,即與總線傳輸數據的波特率無關,所以本文設計的RS-485 總線中繼器自適應任何波特率數據的RS-485總線中繼傳輸。實踐證明,該波特率自適應RS-485中繼器是可靠的。

  參考文獻

  [1]  周洪,羅國洲,陳可群. 一種新型智能大夏局域網中繼器的設計[J].微計算機信息,2005,29:144-146.

  [2]  尹征琦. 具有隔離性能的RS-485中繼器及其設計[J]. 自動化儀表,2003(11):62-65.

  [3]  薑香菊. RS-485總線上中繼器的研究[J]. 信息技術,2004(2):39-41.

  [4]  張紅兵,黃石生,周漪清. 自動轉換收發狀態的RS-485信號分配器的設計[J]. 電測與儀表,2005(3):51-54.

  [5]  陳良光. 中繼器在RS-485/422分支通信中的應用[J]. 單片機與嵌入式係統應用,2001(10):54-56.

  [6]  趙重明. 幾種RS-485接口收發方向轉換方法[J]. 微型機與應用,2000(10):22,34.



http://www.autooo.net/autooo/Electronic/Tech/moni/2007-10-27/39382.html