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

2021-04-24 05:48:30 字數 4005 閱讀 8416

引 言rs-485收發器採用平衡傳送和差分接收,因此具有抑制共模干擾的能力;加上接收器具有高靈敏度,能檢測低達200 mv的電壓,故傳輸訊號能在千公尺以外得到恢復。使用rs-485匯流排,一對雙絞線就能實現多站聯網,構成分布式系統,且裝置簡單、**低廉,能進行長距離通訊,因而得到了廣泛的應用。由於在雙絞線上的電平損耗,rs-485標準通訊的最大傳輸距離是1 200 m,因此更遠距離的應用中必須使用中繼器。網路節點數與所選晶元驅動能力和接收器的輸入阻抗有關。rs-485標準規定了最大匯流排負載為32個單位負載,若應用中匯流排負載大於32個單位負載則必須使用中繼器。

1 rs-485中繼器原理

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

rs-485標準規定:資料訊號採用差分傳輸方式(differential drivel mode),也稱為「平衡傳輸」。它使用一對雙絞線,將其中一根線定義為a,另一根線定義為b,如圖1所示。

通常情況下,rs-485傳送器a、b之間的正電平在+2~+6 v,是一種邏輯狀態;負電平在-6~-2 v,是另一種邏輯狀態。在rs-485傳送器件中,一般有乙個「使能」控制訊號,用於控制傳送器與傳輸線的切斷和連線。當「使能」端為低電平時,傳送器輸出處於高阻狀態,稱作「第三態」。它是有別於邏輯「1」與「0」的第三種狀態。

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

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邊的匯流排傳送(簡稱「資料左傳狀態」)。

(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 幾種rs-485中繼器

現有的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所示。

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中,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收發器的輸出端需增加上拉電阻、下拉電阻和匹配電阻構成的偏置電路,當輸出為高阻狀態時,在匹配電阻上形成表示高電平的差分訊號並輸出。

為提高波特率自適應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中繼器是可靠的。

RS485波特率問題

最近再做乙個專案,發現485不能傳送資料,感到非常奇怪!後來查閱相關資料才發現可能是 485波特率設定過高 我設定的485波特率是115200 後來把波特率改小一點,改成9600 結果就能正常通訊了!做485實驗時,波特率不能設定太高!波特率越高,代表傳輸訊號頻率越高。相同的電纜,訊號頻率越高時,感...

RS485的施工建議

一 關於485匯流排的幾個概念 1 485匯流排的通訊距離可以達到1200公尺。根據485匯流排結構理論,在理想環境的前提下,485匯流排傳輸距離可以達到1200公尺。其條件是通訊線材優質達標,波特率為9600,只負載一台485裝置,才能使得通訊距離達到1200公尺,所以通常485匯流排實際的穩定的...

串列埠波特率的理解

bit就是位,也叫位元位,是計算機中最小的單位 byte是位元組,也就是b 1位元組 byte 8位 bit 既 位只有兩種形式0和1,只能表示2種狀態,而位元組是有8個位組成的。可以表示256個狀態。1byte 8 bit,1kb 1024 byte,1mb 1024 kb,1g 1024 mb,...