(多圖) 波特率自適應(yīng)的RS-485中繼器設(shè)計 上網(wǎng)時間:2007年09月10日 引言 RS-485收發(fā)器采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力;加上接收器具有高靈敏度,能檢測低達200 mV的電壓,故傳輸信號能在千米以外得到恢復(fù)。使用RS-485總線,,一對雙絞線就能實現(xiàn)多站聯(lián)網(wǎng),,構(gòu)成分布式系統(tǒng),,且設(shè)備簡單,、價格低廉,,能進行長距離通信,因而得到了廣泛的應(yīng)用,。由于在雙絞線上的電平損耗,RS-485標(biāo)準(zhǔn)通信的最大傳輸距離是1 200 m,,因此更遠距離的應(yīng)用中必須使用中繼器,。網(wǎng)絡(luò)節(jié)點數(shù)與所選芯片驅(qū)動能力和接收器的輸入阻抗有關(guān),。RS-485標(biāo)準(zhǔn)規(guī)定了最大總線負載為32個單位負載,,若應(yīng)用中總線負載大于32個單位負載則必須使用中繼器。 1 RS-485中繼器原理[12] RS-485是半雙工方式,,兩線雙向傳送差分信號,具有多點,、雙向通信能力,,即允許多個發(fā)送器和接收器連接到同一條總線上,傳輸線上信號的傳輸方向不定,。因此,,識別和控制好傳輸線上的信號傳遞方向是設(shè)計RS-485中繼器的關(guān)鍵,。 RS-485標(biāo)準(zhǔn)規(guī)定:數(shù)據(jù)信號采用差分傳輸方式(differential driver mode),也稱為“平衡傳輸”,。它使用一對雙絞線,,將其中一根線定義為A,另一根線定義為B,,如圖 1所示,。 圖1 RS-485發(fā)送器的示意圖 通常情況下,RS485發(fā)送器A,、B 之間的正電平在+2~+6 V,,是一種邏輯狀態(tài);負電平在-6~-2 V,,是另一種邏輯狀態(tài),。在RS-485發(fā)送器件中,一般有一個“使能”控制信號,,用于控制發(fā)送器與傳輸線的切斷和連接,。當(dāng)“使能”端為低電平時,發(fā)送器輸出處于高阻狀態(tài),稱作“第三態(tài)”,。它是有別于邏輯“1”與“0”的第三種狀態(tài),。 對于RS-485接收器,也作出與發(fā)送器相對的規(guī)定,,收,、發(fā)端通過平衡雙絞線將AA與BB 對應(yīng)相連。當(dāng)在接收端A,、B 之間有大于+200 mV 的電平時,,輸出為正邏輯電平;小于-200 mV 時,,輸出為負邏輯電平,。在接收器的接收平衡線上,電平范圍通常為200 mV~6 V,,如圖2所示,。 圖2 RS-485接收器的示意圖 RS-485 接收器同樣定義邏輯1(正邏輯電平)為B>A 的狀態(tài),邏輯0(負邏輯電平)為A>B 的狀態(tài),,A,、B 之間的壓差不小于200 mV。在RS-485 接收器件中,,一般也有一個“使能”控制信號,,用于控制接收器與傳輸線的切斷和連接。當(dāng)“使能”端為高電平時,,接收器與傳輸線切斷,,接收器輸出為高電平;當(dāng) “使能”端為低電平時,,接收器輸出電平與總線信號的邏輯電平一致,。 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)”),。 圖3 RS-485中斷器原理圖 ?。?)空閑狀態(tài) 當(dāng)中繼器上電啟動運行或總線上沒有數(shù)據(jù)傳送時,中繼器工作在空閑狀態(tài),。RS-485收發(fā)器U1,、U2均為接收數(shù)據(jù)狀態(tài),U1,、U2的EN1,、EN2引腳均為低電平。 (2)數(shù)據(jù)右傳狀態(tài) 當(dāng)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引腳應(yīng)為高電平。此后U2將一直輸出高電平直到下一幀數(shù)據(jù)到來之前,,U2的EN2引腳也應(yīng)為低電平且處于接收狀態(tài),。 (3)數(shù)據(jù)左傳狀態(tài) 數(shù)據(jù)左傳狀態(tài)的過程與數(shù)據(jù)右傳狀態(tài)一致,,只是在一數(shù)據(jù)幀時間段內(nèi)U2的EN2引腳應(yīng)為高電平,。 當(dāng)總線上干擾較大時也有可能發(fā)生總線沖突,數(shù)據(jù)右傳狀態(tài)和數(shù)據(jù)左傳狀態(tài)同時發(fā)生,。此時,,總線上的信號是無效的,但總線沖突(總線雙方同時活動)并不需要中繼器來處理和解決,,而是由通信協(xié)議來處理和防止的,。要求總線沖突(或干擾)結(jié)束后,RS-485中繼器的方向控制器總能自動恢復(fù)正常工作,。
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ù),,通過查表當(dāng)數(shù)據(jù)送給本中繼器下的終端時才開啟數(shù)據(jù)傳輸通道。 第一種方法的缺點是采用電阻,、電容組成延時電路,。由于電阻或電容本身的誤差,運行一段時間后電子器件老化產(chǎn)生的誤差以及溫度的變化,,都會影響延時的準(zhǔn)確性,,而且這種中繼器要求兩個字節(jié)之間的通信時間間隔必須大于一個字節(jié)數(shù)據(jù)的通信時間才能確保不丟失數(shù)據(jù),因此降低了通信速率,。 第二,、三種方法的缺點是采用單片機的中斷來檢測數(shù)據(jù)幀的起始位。單片機的中斷響應(yīng)須要一段時間,,RS-485總線一個數(shù)據(jù)位的時間寬度應(yīng)大于單片機的中斷響應(yīng)時間,,終端處理器才能檢測每數(shù)據(jù)幀的起始位,所以此兩種方法的通信速率也受到限制,。特別是第三種方法中,,單片機要通過對總線上通信內(nèi)容的監(jiān)聽進行相應(yīng)查表來決定本中繼器后面的總線是否與前面的總線連接,。這種方法的缺點是要對總線的通信內(nèi)容進行處理,這不僅降低了通信的實時性,,而且還增加了系統(tǒng)通信協(xié)議的復(fù)雜性,,降低了RS-485總線通信的可靠性。 在工業(yè)現(xiàn)場應(yīng)用中,,RS-485總線的通信速度一般為2 400~115 200 bps,,以前設(shè)計的RS-485中繼器控制RS-485收發(fā)器收發(fā)狀態(tài),以一數(shù)據(jù)幀時間寬度為單元。不同的波特率,,控制RS-485收發(fā)器收發(fā)狀態(tài)的時間寬度也不同,,所以RS-485總線的通信速度不同,需設(shè)置控制RS-485收發(fā)器收發(fā)狀態(tài)的時間寬度,,以適應(yīng)所應(yīng)用RS-485總線的通信速度,。 波特率自適應(yīng)RS-485中繼器的設(shè)計思路是: 控制RS-485收發(fā)器收發(fā)狀態(tài),以一數(shù)據(jù)位時間寬度為單元。若控制RS-485收發(fā)器收發(fā)狀態(tài)時間寬度適應(yīng)任意波特率的一數(shù)據(jù)位時間寬度,,則RS- 485中繼器適應(yīng)任意RS-485總線的通信速度,。為此設(shè)計波特率自適應(yīng)RS-485中繼器,如圖4所示。 圖4 波特率自適應(yīng)RS-485中繼器原理圖 U3,、U4為由CA555組成的相對延時單穩(wěn)觸發(fā)電路,,分別控制RS-485中繼器數(shù)據(jù)左、右傳狀態(tài),。相對延時單穩(wěn)觸發(fā)電路是在由CA555組成的普通單穩(wěn)觸發(fā)電路的基礎(chǔ)上增加了二極管D1和D2,。當(dāng)CA555輸入引腳TRIG為低電平時,CA555內(nèi)部和二極管D1,、D2將RC延時電路放電,,輸出Q端輸出高電平;當(dāng)CA555輸入引腳TRIG變?yōu)楦唠娖綍r,,CA555內(nèi)部和二極管D1,、D2開始使RC延時電路充電,延時一段時間(與R×C有關(guān)),,輸出Q端輸出低電平,。其輸入、輸出信號時序如圖5所示,。 圖5 相對延時單穩(wěn)觸發(fā)電路時序圖 圖5中,,TRIG為CA555的輸入信號;Q為CA555的輸出信號,;Tw為單個或連續(xù)低電平數(shù)據(jù)位的時間寬度,;Trc為U3,、 U4組成的單穩(wěn)觸發(fā)電路中R11×C1(或R12×C2)決定的延時時間寬度,,選擇小于RS-485總線最高波特率(如115 200 bps)的數(shù)據(jù)位的時間寬度為宜,。在本設(shè)計中,控制RS-485收發(fā)器收發(fā)狀態(tài)的時間寬度始終比總線中傳輸數(shù)據(jù)低電平寬度大Trc,而且Trc不會大于任何波特率的一個數(shù)據(jù)位的時間寬度,。所以本文設(shè)計的波特率自適應(yīng)RS-485中繼器適應(yīng)于工業(yè)現(xiàn)場應(yīng)用RS-485總線的任意通信速度,。 由于波特率自適應(yīng)RS-485中繼器以一數(shù)據(jù)位時間寬度為單元,所以只有傳輸?shù)碗娖綌?shù)據(jù)位時,,輸出端RS-485收發(fā)器的輸出使能才打開,,并輸出低電平。當(dāng)傳輸高電平數(shù)據(jù)位時,,輸出端RS-485收發(fā)器的輸出使能關(guān)閉,,RS-485收發(fā)器的輸出為高阻狀態(tài)。所以,,在每端RS-485收發(fā)器的輸出端需增加上拉電阻,、下拉電阻和匹配電阻構(gòu)成的偏置電路,當(dāng)輸出為高阻狀態(tài)時,,在匹配電阻上形成表示高電平的差分信號并輸出[6],。 為提高波特率自適應(yīng)RS-485中繼器的可靠性,可將U3的輸出端經(jīng)一反相器與U4的低電平有效的復(fù)位端R連接,;將U4的輸出端經(jīng)一反相器與 U3的低電平有效的復(fù)位端R連接,。這樣,當(dāng)從RS-485中繼器的一側(cè)向另一側(cè)傳輸數(shù)據(jù)時,,消除了同時向相反方向傳輸數(shù)據(jù)的可能性,。 當(dāng)總線上干擾較大時也有可能發(fā)生總線沖突,數(shù)據(jù)右傳狀態(tài)和數(shù)據(jù)左傳狀態(tài)同時發(fā)生,。由于實際電路的不完全對稱,,波特率自適應(yīng)RS-485中繼器只能向一個方向傳輸數(shù)據(jù),并且當(dāng)總線沖突(或干擾)結(jié)束后,,中繼器處于空閑狀態(tài),,即中繼器兩端的收發(fā)器均處于接收狀態(tài)。 4 結(jié)論 本文提出了由CA555組成的相對延時單穩(wěn)觸發(fā)電路,,并應(yīng)用于RS-485總線中繼器的設(shè)計中,。它使得RS-485收發(fā)器的數(shù)據(jù)發(fā)送狀態(tài)只由 RS-485中繼器接收數(shù)據(jù)端數(shù)據(jù)的一個或連續(xù)多個低電平位來控制,與一數(shù)據(jù)位時間寬度無關(guān),,即與總線傳輸數(shù)據(jù)的波特率無關(guān),,所以本文設(shè)計的RS-485 總線中繼器自適應(yīng)任何波特率數(shù)據(jù)的RS-485總線中繼傳輸。實踐證明,,該波特率自適應(yīng)RS-485中繼器是可靠的,。 參考文獻 [1] 周洪,羅國洲,陳可群. 一種新型智能大夏局域網(wǎng)中繼器的設(shè)計[J].微計算機信息,2005,,29:144-146. [2] 尹征琦. 具有隔離性能的RS-485中繼器及其設(shè)計[J]. 自動化儀表,2003(11):62-65. [3] 姜香菊. RS-485總線上中繼器的研究[J]. 信息技術(shù),,2004(2):39-41. [4] 張紅兵,,黃石生,周漪清. 自動轉(zhuǎn)換收發(fā)狀態(tài)的RS-485信號分配器的設(shè)計[J]. 電測與儀表,2005(3):51-54. [5] 陳良光. 中繼器在RS-485/422分支通信中的應(yīng)用[J]. 單片機與嵌入式系統(tǒng)應(yīng)用,,2001(10):54-56. [6] 趙重明. 幾種RS-485接口收發(fā)方向轉(zhuǎn)換方法[J]. 微型機與應(yīng)用,,2000(10):22,34. |
|
來自: rookie > 《技術(shù)帖》