rs-485采用平衡發(fā)送和差分接收方式實現(xiàn)通信:發(fā)送端將串行口的ttl電平信號轉(zhuǎn)換成差分信號a,b兩路輸出,經(jīng)過線纜傳輸之后在接收端將差分信號還原成ttl電平信號。由于傳輸線通常使用雙絞線,又是差分傳輸,所以有極強的抗共模干擾的能力,總線收發(fā)器靈敏度很高,可以檢測到低至200mv電壓。故傳輸信號在千米之外都是可以恢復(fù)。rs-485最大的通信距離約為1219m,最大傳輸速率為10mb/s,傳輸速率與傳輸距離成反比,在100kb/s的傳輸速率下,才可以達到最大的通信距離,如果需傳輸更長的距離,需要加485中繼器。rs-485采用半雙工工作方式,支持多點數(shù)據(jù)通信。rs-485總線網(wǎng)絡(luò)拓撲一般采用終端匹配的總線型結(jié)構(gòu)。即采用一條總線將各個節(jié)點串接起來,不支持環(huán)形或星型網(wǎng)絡(luò)。如果需要使用星型結(jié)構(gòu),就必須使用485中繼器或者485集線器才可以。rs-485總線一般最大支持32個節(jié)點,如果使用特制的485芯片,可以達到128個或者256個節(jié)點,最大的可以支持到400個節(jié)點。
RS-485總線芯片的選型RS-485總線芯片的選型RS-485接口已廣泛應(yīng)用于工業(yè)控制、儀器、儀表、多媒體網(wǎng)絡(luò)、機電一體化產(chǎn)品等諸多領(lǐng)域??捎糜赗S-485接口的芯片種類也越來越多。如何在種類繁多的接口芯片中找到最合適的芯片,是擺在每一個使用者面前的一個問題。RS-485接口在不同的使用場合,對芯片的要求和使用方法也有所不同。使用者在芯片的選型和電路的設(shè)計上應(yīng)考慮哪些因素,下面將給出這方面的一些經(jīng)驗總結(jié)。
節(jié)點數(shù)所謂節(jié)點數(shù),即每個RS-485接口芯片的驅(qū)動器能驅(qū)動多少個標準RS-485負載。根據(jù)規(guī)定,標準RS-485接口的輸入阻抗為≥12kΩ,相應(yīng)的標準驅(qū)動節(jié)點數(shù)為32。為適應(yīng)更多節(jié)點的通信場合,有些芯片的輸入阻抗設(shè)計成1/2負載(≥24kΩ)、1/4負載(≥48kΩ)甚至1/8負載(≥96kΩ),相應(yīng)的節(jié)點數(shù)可增加到64、128和256。下圖為一些常見芯片的節(jié)點數(shù)。
半雙工和全雙工
RS-485接口可連接成半雙工和全雙工兩種通信方式。半雙工通信的芯片有SN75176、SN75276、SN75LBC184、MAX485、MAX1487、MAX3082、MAX1483等;全雙工通信的芯片有SN75179、SN75180、MAX488~MAX491、MAX1482等。
(半雙工通信方式)
?。ㄈp工通信方式)
抗雷擊和抗靜電沖擊RS-485接口芯片在使用、焊接或設(shè)備的運輸途中都有可能受到靜電的沖擊而損壞。在傳輸線架設(shè)于戶外的使用場合,接口芯片乃至整個系統(tǒng)還有可能遭致雷電的襲擊。選用抗靜電或抗雷擊的芯片可有效避免此類損失,常見的芯片有MAX485E、MAX487E、MAX1487E等。尤其是SN75LBC184,它不但能抗雷電的沖擊而且能承受高達8kV的靜電放電沖擊。
限斜率驅(qū)動由于信號在傳輸過程中會產(chǎn)生電磁干擾和終端反射,使有效信號和無效信號在傳輸線上相互迭加,嚴重時會使通信無法正常進行。為解決這一問題,某些芯片的驅(qū)動器設(shè)計成限斜率方式,使輸出信號邊沿不要過陡,以不致于在傳輸線上產(chǎn)生過多的高頻分量,從而有效地扼制干擾的產(chǎn)生。如MAX487、SN75LBC184等都具有此功能。
故障保護一些RS-485芯片采用故障保護技術(shù),如SN75276、MAX3080~MAX3089。什么是故障保護,為什么要有故障保護,如果沒有故障保護會產(chǎn)生什么后果?
眾所周知,RS-485接口采用的是一種差分傳輸方式,各節(jié)點之間的通信都是通過一對(半雙工)或兩對(全雙工)雙絞線作為傳輸介質(zhì)。根據(jù)RS-485的標準規(guī)定,接收器的接收靈敏度為±200mV,即接收端的差分電壓大于、等于+200mV時,接收器輸出為高電平;小于、等于-200mV時,接收器輸出為低電平;介于±200mV之間時,接收器輸出為不確定狀態(tài)。在總線空閑即傳輸線上所有節(jié)點都為接收狀態(tài)以及在傳輸線開路或短路故障時,若不采取特殊措施,則接收器可能輸出高電平也可能輸出低電平。一旦某個節(jié)點的接收器產(chǎn)生低電平就會使串行接收器(UART)找不到起始位,從而引起通信異常,解決此類問題的方法有兩種:
?。?)使用帶故障保護的芯片,它會在總線開路、短路和空閑情況下,使接收器的輸出為高電平。確保總線空閑、短路時接收器輸出高電平是由改變接收器輸入門限來實現(xiàn)的。例如,MAX3080~MAX3089輸入靈敏度為-50mV/-200mV,即差分接收器輸入電壓UA-B≥-50mV時,接收器輸出邏輯高電平;如果UA-B≤-200mV,則輸出邏輯低電平。當接收器輸入端總線短路或總線上所有發(fā)送器被禁止時,接收器差分輸入端為0V,從而使接收器輸出高電平。同理,SN75276的靈敏度為0mV/-300mV,因而達到故障保護的目的。
?。?)若使用不帶故障保護的芯片,如SN75176、MAX1487等時,可在軟件上作一些處理,從而避免通信異常。即在進入正常的數(shù)據(jù)通信之前,由主機預(yù)先將總線驅(qū)動為大于+200mV,并保持一段時間,使所有節(jié)點的接收器產(chǎn)生高電平輸出。這樣,在發(fā)出有效數(shù)據(jù)時,所有接收器能夠正確地接收到起始位,進而接收到完整的數(shù)據(jù)。
RS-485芯片的三個應(yīng)用電路 1、基本的RS485電路