RS485總線的標準
rs-485采用平衡發送和差分接收方式實現通信:發送端將串行口的ttl電平信號轉換成差分信號a,b兩路輸出,經過線纜傳輸之后在接收端將差分信號還原成ttl電平信號。由于傳輸線通常使用雙絞線,又是差分傳輸,所以有極強的抗共模干擾的能力,總線收發器靈敏度很高,可以檢測到低至200mv電壓。故傳輸信號在千米之外都是可以恢復。rs-485最大的通信距離約為1219m,最大傳輸速率為10mb/s,傳輸速率與傳輸距離成反比,在100kb/s的傳輸速率下,才可以達到最大的通信距離,如果需傳輸更長的距離,需要加485中繼器。rs-485采用半雙工工作方式,支持多點數據通信。rs-485總線網絡拓撲一般采用終端匹配的總線型結構。即采用一條總線將各個節點串接起來,不支持環形或星型網絡。如果需要使用星型結構,就必須使用485中繼器或者485集線器才可以。rs-485總線一般最大支持32個節點,如果使用特制的485芯片,可以達到128個或者256個節點,最大的可以支持到400個節點。
RS-485總線芯片的選型
RS-485總線芯片的選型RS-485接口已廣泛應用于工業控制、儀器、儀表、多媒體網絡、機電一體化產品等諸多領域。可用于RS-485接口的芯片種類也越來越多。如何在種類繁多的接口芯片中找到最合適的芯片,是擺在每一個使用者面前的一個問題。RS-485接口在不同的使用場合,對芯片的要求和使用方法也有所不同。使用者在芯片的選型和電路的設計上應考慮哪些因素,下面將給出這方面的一些經驗總結。
節點數
所謂節點數,即每個RS-485接口芯片的驅動器能驅動多少個標準RS-485負載。根據規定,標準RS-485接口的輸入阻抗為≥12kΩ,相應的標準驅動節點數為32。為適應更多節點的通信場合,有些芯片的輸入阻抗設計成1/2負載(≥24kΩ)、1/4負載(≥48kΩ)甚至1/8負載(≥96kΩ),相應的節點數可增加到64、128和256。下圖為一些常見芯片的節點數。
半雙工和全雙工
RS-485接口可連接成半雙工和全雙工兩種通信方式。半雙工通信的芯片有SN75176、SN75276、SN75LBC184、MAX485、MAX1487、MAX3082、MAX1483等;全雙工通信的芯片有SN75179、SN75180、MAX488~MAX491、MAX1482等。
(半雙工通信方式)
(全雙工通信方式)
抗雷擊和抗靜電沖擊
RS-485接口芯片在使用、焊接或設備的運輸途中都有可能受到靜電的沖擊而損壞。在傳輸線架設于戶外的使用場合,接口芯片乃至整個系統還有可能遭致雷電的襲擊。選用抗靜電或抗雷擊的芯片可有效避免此類損失,常見的芯片有MAX485E、MAX487E、MAX1487E等。尤其是SN75LBC184,它不但能抗雷電的沖擊而且能承受高達8kV的靜電放電沖擊。
限斜率驅動
由于信號在傳輸過程中會產生電磁干擾和終端反射,使有效信號和無效信號在傳輸線上相互迭加,嚴重時會使通信無法正常進行。為解決這一問題,某些芯片的驅動器設計成限斜率方式,使輸出信號邊沿不要過陡,以不致于在傳輸線上產生過多的高頻分量,從而有效地扼制干擾的產生。如MAX487、SN75LBC184等都具有此功能。
故障保護
一些RS-485芯片采用故障保護技術,如SN75276、MAX3080~MAX3089。什么是故障保護,為什么要有故障保護,如果沒有故障保護會產生什么后果?
眾所周知,RS-485接口采用的是一種差分傳輸方式,各節點之間的通信都是通過一對(半雙工)或兩對(全雙工)雙絞線作為傳輸介質。根據RS-485的標準規定,接收器的接收靈敏度為±200mV,即接收端的差分電壓大于、等于+200mV時,接收器輸出為高電平;小于、等于-200mV時,接收器輸出為低電平;介于±200mV之間時,接收器輸出為不確定狀態。在總線空閑即傳輸線上所有節點都為接收狀態以及在傳輸線開路或短路故障時,若不采取特殊措施,則接收器可能輸出高電平也可能輸出低電平。一旦某個節點的接收器產生低電平就會使串行接收器(UART)找不到起始位,從而引起通信異常,解決此類問題的方法有兩種:
(1)使用帶故障保護的芯片,它會在總線開路、短路和空閑情況下,使接收器的輸出為高電平。確保總線空閑、短路時接收器輸出高電平是由改變接收器輸入門限來實現的。例如,MAX3080~MAX3089輸入靈敏度為-50mV/-200mV,即差分接收器輸入電壓UA-B≥-50mV時,接收器輸出邏輯高電平;如果UA-B≤-200mV,則輸出邏輯低電平。當接收器輸入端總線短路或總線上所有發送器被禁止時,接收器差分輸入端為0V,從而使接收器輸出高電平。同理,SN75276的靈敏度為0mV/-300mV,因而達到故障保護的目的。
(2)若使用不帶故障保護的芯片,如SN75176、MAX1487等時,可在軟件上作一些處理,從而避免通信異常。即在進入正常的數據通信之前,由主機預先將總線驅動為大于+200mV,并保持一段時間,使所有節點的接收器產生高電平輸出。這樣,在發出有效數據時,所有接收器能夠正確地接收到起始位,進而接收到完整的數據。
RS-485芯片的三個應用電路
1、基本的RS485電路
上圖是最基本的RS485電路,R/D為低電平時,發送禁止,接收有效,R/D為高電平時,則發送有效,接收截止。上拉電阻R7和下拉電阻R8,用于保證無連接的SP485R芯片處于空閑狀態,提供網絡失效保護,提高RS485節點與網絡的可靠性,R7,R8,R9這三個電阻,需要根據實際應用改變大小,特別是使用120歐或更小的終端電阻時,R9就不需要了,此時R7,R8使用680歐電阻。正常情況下,一般R7=R8=4.7K,R9不要。
圖中鉗位于6.8V的管V4,V5,V6,都是為了保護RS485總線的,避免受外界干擾,也可以選擇集成的總線保護原件。另外圖中的L1,L2,C1,C2為可選安裝原件,用于提高電路的EMI性能。
2、帶隔離的RS485電路
根本原理與基本電路的原理相似。使用DC-DC器件可以產生1組與微處理器電路完全隔離的電源輸出,用于向RS485收發器提供+5V電源。電路中的光耦器件速率會影響RS485電路的通信速率。上圖中選用了NEC的光耦PS2501,受其影響,該電路的通訊速率控制在19200bps下。
3、自動切換電路
上圖中,TX,RX引腳均需要上拉電阻,這一點特別重要。
接收:默認沒有數據時,TX為高電平,三極管導通,RE為低電平使能,RO收數據有效,MAX485為接收態。
發送:發送數據時,TX會先有一個下拉的電平(起始位-由高向低),表示開始發送數據,此時三極管截止,DE為高電平發送使能。當發送數據“0”時,由于DI接口相當于接地,此時數據“0”就會傳輸到AB扣,A-B《0,則傳輸“0”,完成低電平傳輸,當發送“1”時,此時三極管導通,按理說RO會使能,此時由于還處于發送數據中,這種狀態下MAX485處于高阻太,此時的狀態通過A上來,B下拉電阻決定,此時A-B》0傳輸“1”,完成高電平的傳輸。
RS-485應用經驗
1、收發時序不匹配:
485是半雙工的通信,收發轉換是需要一定的時間的,所以一般在收發轉換之間,和每發送完一幀數據之后,都要有相應的延時,如果出現收發不正常、或第一幀數據之后就出現誤碼現象,則可以適當的增加一下延時時間,以觀問題是否解決。
2、R0接上拉電阻:
異步通信數據以字節的方式傳送,在每一個字節傳送之前,先要通過一個低電平起始位實現握手。為防止干擾信號誤觸發RO(接收器輸出)產生負跳變,使接收端MCU進入接收狀態,建議RO外接10kΩ上拉電阻。
3、合理選用芯片。
例如,對外置設備為防止強電磁(雷電)沖擊,建議選用TI的75LBC184等防雷擊芯片,對節點數要求較多的可選用SIPEX的SP485R。此外經我們實驗發現,ADI的非隔離型485芯片ADM487E、隔離型芯片ADM2483、ADM2587在多節點、防雷擊方面也有著很好的表現。
RS-485布線施工的注意事項
485總線由于其布線簡單,穩定可靠從而廣泛的應用于視頻監控,門禁對講,樓宇報警等各個領域中,但是,在485總線布線過程中由于有很多不完全準確的概念導致出現很多問題。現在總結了一些常見的注意事項。
● 布線一定要布多股屏蔽雙絞線,多股是為了備用,屏蔽是為了出現特殊情況時調試,雙絞是因為485通訊采用差模通訊原理,雙絞的抗干擾性最好。
● 因為RS-485接口組成的半雙工網絡一般只需二根連線,所以RS-485接口均采用屏蔽雙絞線傳輸。485+和485-數據線一定要互為雙絞。不采用雙絞線,是極端錯誤的。485總線一定要是手牽手式的總線結構,堅決杜絕星型連接和分叉連接。設備供電的交流電及機箱一定要真實接地,而且接地良好,有很多地方表面上有三角插座,其實根本沒有接地,要小心接地良好時,可以確保設備被雷擊、浪涌沖擊靜電累計時可以配合設備的防雷設計較好地釋放能量,保護485總線設備和相關芯片不受傷害,避免和強電走在一起,以免強電對其干擾。
● 現在市場上有很多設備都是用RS232接口與RS485接口,如果有一臺232接口的設備與一臺485接口的設備通信,那就需要一個轉換器,把232接口的設備的232信號轉換成485信號,然后再與485接口的設備通信,所以RS232轉RS485轉換器就成為485總線系統的標準配置。
● RS232轉RS485轉換器分為無源型,有源防雷型,有源防雷光隔離型。無源型485轉換器采用串口竊電技術供電,但是由于其體積小,很多保護電路不能做上去,導致對485設備以及電腦的保護不是很好。由于采用串口竊電技術,電源供給不足,導致負載較小。有源的轉換器除了實現232和485的轉換,還能保證兩者之間電氣隔離!因為485的線路往往比較長,線路上有干擾,采取隔離措施后即使485線路上有干擾也不會影響RS232接口。
● 485信號線不可以和電源線一同走線。在實際施工當中,由于走線都是通過管線走的,施工方有的時候為了圖方便,直接將485信號線和電源線綁在一起,由于強電具有強烈的電磁信號對弱電進行干擾,從而導致485信號不穩定,導致通信不穩定。
● 選擇使用普通的超五類屏蔽雙絞線即網線就可以。由于原材料價格上漲,導致現在市場上的線材魚龍混雜,有不良商人利用某種合金來頂替銅絲來做網線,在外面鍍銅以蒙混客戶。具體區別方法:看網線截面,如果是銅色的話,就是銅絲,如為白色,則是用合金以次充好。合金一般比較脆,容易斷,而且導電性遠不如銅絲,很容易在工程施工中造成問題。線材一般那建議選擇標準的485線,其為屏蔽雙絞線,傳輸線不是像網線那樣為單股的銅絲,而是多股銅絲絞在一起形成一根線,從而即使某根小銅絲斷掉,也不會影響整個的使用。
● 485布線借助485集線器和485中繼器可以任意布設成星型接線與樹形接線。485布線規范是必須要手牽手的布線,一旦沒有借助485集線器和485中繼器直接布設成星型連接和樹形連接,很容易造成信號反射導致總線不穩定。很多施工方在485布線過程中,使用了星型接線和樹形接線,有的時候整個系統非常穩定,但是有的時候則總是出現問題,又很難查找原因,一般都是由于不規范布線所引起的。
● 485總線必須要接地。在很多技術文檔中,都提到485總線必須要接地,但是沒有詳細的提出如何接地。嚴格的說,485總線必須要單點可靠接地。單點就是整個485總線上只能是有一個點接地,不能多點接地,因為將其接地是因為要將地線(一般都是屏蔽線作地線)上的電壓保持一致,防止共模干擾,如果多點接地適得其反。可靠接地時整個485線路的地線必須要有良好的接觸,從而保證電壓一致,因為在實際施工中,為了接線方便,將線剪成多段再連接,但是沒有將屏蔽線作良好的連接,從而使得其地線分成了多段,電壓不能保持一致,導致共模干擾。
評論
查看更多