新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 波特率自適應的RS-485中繼器設計

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

——
作者: 時間:2007-09-11 來源:單片機與嵌入式系統(tǒng)應用 收藏
引言

  RS-4805收發(fā)器采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力;加上接收器具有高靈敏度,能檢測低達200 mV的電壓,故傳輸信號能在千米以外得到恢復。使用總線,一對雙絞線就能實現(xiàn)多站聯(lián)網(wǎng),構(gòu)成分布式系統(tǒng),且設備簡單、價格低廉,能進行長距離通信,因而得到了廣泛的應用。由于在雙絞線上的電平損耗,標準通信的最大傳輸距離是1 200 m,因此更遠距離的應用中必須使用。網(wǎng)絡節(jié)點數(shù)與所選芯片驅(qū)動能力和接收器的輸入阻抗有關。標準規(guī)定了最大總線負載為32個單位負載,若應用中總線負載大于32個單位負載則必須使用。

  1 RS-485原理[12]

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

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

RS-485發(fā)送器的示意圖

圖1  RS-485發(fā)送器的示意圖

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

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

RS-485接收器的示意圖

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

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

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

RS-485中斷器原理圖

圖3  RS-485中斷器原理圖

 ?。?)空閑狀態(tài)

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

 ?。?)數(shù)據(jù)右傳狀態(tài)

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

 ?。?)數(shù)據(jù)左傳狀態(tài)

  數(shù)據(jù)左傳狀態(tài)的過程與數(shù)據(jù)右傳狀態(tài)一致,只是在一數(shù)據(jù)幀時間段內(nèi)U2的EN2引腳應為高電平。

  當總線上干擾較大時也有可能發(fā)生總線沖突,數(shù)據(jù)右傳狀態(tài)和數(shù)據(jù)左傳狀態(tài)同時發(fā)生。此時,總線上的信號是無效的,但總線沖突(總線雙方同時活動)并不需要中繼器來處理和解決,而是由通信協(xié)議來處理和防止的。要求總線沖突(或干擾)結(jié)束后,RS-485中繼器的方向控制器總能自動恢復正常工作。

2  幾種RS-485中繼器[16]

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

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

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

  3  自適應RS-485中繼器

  在工業(yè)現(xiàn)場應用中,RS-485總線的通信速度一般為2 400~115 200 bps,以前設計的RS-485中繼器控制RS-485收發(fā)器收發(fā)狀態(tài),以一數(shù)據(jù)幀時間寬度為單元。不同的,控制RS-485收發(fā)器收發(fā)狀態(tài)的時間寬度也不同,所以RS-485總線的通信速度不同,需設置控制RS-485收發(fā)器收發(fā)狀態(tài)的時間寬度,以適應所應用RS-485總線的通信速度。

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

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

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

  U3、U4為由CA555組成的相對延時單穩(wěn)觸發(fā)電路,分別控制RS-485中繼器數(shù)據(jù)左、右傳狀態(tài)。相對延時單穩(wěn)觸發(fā)電路是在由CA555組成的普通單穩(wěn)觸發(fā)電路的基礎上增加了二極管D1和D2。當CA555輸入引腳TRIG為低電平時,CA555內(nèi)部和二極管D1、D2將RC延時電路放電,輸出Q端輸出高電平;當CA555輸入引腳TRIG變?yōu)楦唠娖綍r,CA555內(nèi)部和二極管D1、D2開始使RC延時電路充電,延時一段時間(與R



評論


相關推薦

技術專區(qū)

關閉