一、RS485基本知識
RS-485接口芯片已廣泛應用于工業(yè)控制、儀器、儀表、多媒體網絡、機電一體化產品等諸多領域??捎糜?u>RS-485接口的芯片種類也越來越多。如何在種類繁多的接口芯片中找到最合適的芯片,是擺在每一個使用者面前的一個問題。RS-485接口在不同的使用場合,對芯片的要求和使用方法也有所不同。使用者在芯片的選型和電路的設計上應考慮哪些因素,由于某些芯片的固有特性,通信中有些故障甚至還需要在軟件上作相應調整,如此等等。希望本文對解決RS-485接口的某些常見問題有所幫助。
1.RS—485接口標準
傳輸方式:差分
傳輸介質:雙絞線
標準節(jié)點數(shù):32
最遠通信距離:1200m 共模電壓最大、最小值:+12V;-7V
差分輸入范圍:-7V~+12V
接收器輸入靈敏度:±200mV
接收器輸入阻抗:≥12kΩ
2節(jié)點數(shù)及半雙工和全雙工通信
2.1 節(jié)點數(shù)
所謂節(jié)點數(shù),即每個485接口芯片的驅動器能驅動多少個標準485負載。根據規(guī)定,標準485接口的輸入阻抗為≥12kΩ,相應的標準驅動節(jié)點數(shù)為32。為適應更多節(jié)點的通信場合,有些芯片的輸入阻抗設計成1/2負載(≥24kΩ)、1/4負載(≥48kΩ)甚至1/8負載(≥96kΩ),相應的節(jié)點數(shù)可增加到64、128和256。表1為一些常見芯片的節(jié)點數(shù)。
32SN75176,SN75276,SN75179,SN75180,MAX485,MAX488,MAX490
64SN75LBC184
128MAX487,MAX1487
256MAX1482,MAX1483,MAX3080~MAX3089
2.2 半雙工和全雙工
RS-485接口可連接成半雙工和全雙工兩種通信方式。半雙工通信的芯片有SN75176、SN75276、SN75LBC184、MAX485、MAX 1487、MAX3082、MAX1483等;全雙工通信的芯片有SN75179、SN75180、MAX488~MAX491、MAX1482等。
(a)半雙工通信電路
(b)全雙工通信電路
3應用中的常見問題
3.1 抗雷擊和抗靜電沖擊
RS-485接口芯片在使用、焊接或設備的運輸途中都有可能受到靜電的沖擊而損壞。在傳輸線架設于戶外的使用場合,接口芯片乃至整個系統(tǒng)還有可能遭致雷電的襲擊。選用抗靜電或抗雷擊的芯片可有效避免此類損失,常見的芯片有MAX485E、MAX487E、MAX1487E等。特別值得一提的是SN75LBC184,它不但能抗雷電的沖擊而且能承受高達8kV的靜電放電沖擊,是目前市場上不可多得的一款產品。
3.2 限斜率驅動
由于信號在傳輸過程中會產生電磁干擾和終端反射,使有效信號和無效信號在傳輸線上相互迭加,嚴重時會使通信無法正常進行。為解決這一問題,某些芯片的驅動器設計成限斜率方式,使輸出信號邊沿不要過陡,以不致于在傳輸線上產生過多的高頻分量,從而有效地扼制干擾的產生。如MAX487、SN75LBC184等都具有此功能。
3.3 故障保護
故障保護技術是近兩年產生的,一些新的RS-485芯片都采用了此項技術,如SN75276、MAX3080~MAX3089。什么是故障保護,為什么要有故障保護,如果沒有故障保護會產生什么后果?
眾所周知,RS-485接口采用的是一種差分傳輸方式,各節(jié)點之間的通信都是通過一對(半雙工)或兩對(全雙工)雙絞線作為傳輸介質。根據RS-485的標準規(guī)定,接收器的接收靈敏度為±200mV,即接收端的差分電壓大于、等于+200 mV時,接收器輸出為高電平;小于、等于-200mV時,接收器輸出為低電平;介于±200mV之間時,接收器輸出為不確定狀態(tài)。在總線空閑即傳輸線上所有節(jié)點都為接收狀態(tài)以及在傳輸線開路或短路故障時,若不采取特殊措施,則接收器可能輸出高電平也可能輸出低電平。一旦某個節(jié)點的接收器產生低電平就會使串行接收器(UART)找不到起始位,從而引起通信異常,解決此類問題的方法有兩種:
(1)使用帶故障保護的芯片,它會在總線開路、短路和空閑情況下,使接收器的輸出為高電平。確??偩€空閑、短路時接收器輸出高電平是由改變接收器輸入門限來實現(xiàn)的。例如,MAX3080~MAX 3089輸入靈敏度為-50mV/-200mV,即差分接收器輸入電壓UA-B≥-50mV時,接收器輸出邏輯高電平;如果UA-B≤-200mV,則輸出邏輯低電平。當接收器輸入端總線短路或總線上所有發(fā)送器被禁止時,接收器差分輸入端為0V,從而使接收器輸出高電平。同理,SN75276的靈敏度為0mV/-300mV,因而達到故障保護的目的。
(2)若使用不帶故障保護的芯片,如SN75176、MAX1487等時,可在軟件上作一些處理,從而避免通信異常。即在進入正常的數(shù)據通信之前,由主機預先將總線驅動為大于+200mV,并保持一段時間,使所有節(jié)點的接收器產生高電平輸出。這樣,在發(fā)出有效數(shù)據時,所有接收器能夠正確地接收到起始位,進而接收到完整的數(shù)據。
二、RS485應用設計
1SN75176 485芯片DE控制端的設計
由于應用系統(tǒng)中,主機與分機相隔較遠,通信線路的總長度往往超過400米,而分機系
統(tǒng)上電或復位又常常不在同一個時刻完成。如果在此時某個75176的DE端電位為“1”,那
么它的485總線輸出將會處于發(fā)送狀態(tài),也就是占用了通信總線,這樣其它的分機就無法與
主機進行通信。這種情況尤其表現(xiàn)在某個分機出現(xiàn)異常情況下(死機),會使整個系統(tǒng)通信
崩潰。因此在電路設計時,應保證系統(tǒng)上電復位時75176的DE端電位為“0”。由于8031在復
位期間,I/O口輸出高電平,故圖2電路的接法有效地解決復位期間分機“咬”總線的問題。
2 隔離光耦電路的參數(shù)選取
在應用系統(tǒng)中,由于要對現(xiàn)場情況進行實時監(jiān)控及響應,通信數(shù)據的波特率往往做得較
高(通常都在4800波特以上)。限制通信波特率提高的“瓶頸”,并不是現(xiàn)場的導線(現(xiàn)場
施工一般使用5類非屏蔽的雙絞線),而是在與單片機系統(tǒng)進行信號隔離的光耦電路上。此
處采用TIL117。電路設計中可以考慮采用高速光耦,如6N137、6N136等芯片,也可以優(yōu)化普
通光耦電路參數(shù)的設計,使之能工作在最佳狀態(tài)。例如:電阻R2、R3如果選取得較大,將會
使光耦的發(fā)光管由截止進入飽和變得較慢;如果選取得過小,退出飽和也會很慢,所以這兩
只電阻的數(shù)值要精心選取,不同型號的光耦及驅動電路使得這兩個電阻的數(shù)值略有差異,這
一點在電路設計中要特別慎重,不能隨意,通常可以由實驗來定。
3 485總線輸出電路部分的設計
輸出電路的設計要充分考慮到線路上的各種干擾及線路特性阻抗的匹配。由于工程環(huán)境
比較復雜,現(xiàn)場常有各種形式的干擾源,所以485總線的傳輸端一定要加有保護措施。在電
路設計中采用穩(wěn)壓管D1、D2組成的吸收回路,也可以選用能夠抗浪涌的TVS瞬態(tài)雜波抑制器
件,或者直接選用能抗雷擊的485芯片(如SN75LBC184等)。
考慮到線路的特殊情況(如某一臺分機的485芯片被擊穿短路),為防止總線中其它分
機的通信受到影響,在75176的485信號輸出端串聯(lián)了兩個20Ω的電阻R10、R11。這樣本機的
硬件故障就不會使整個總線的通信受到影響。
在應用系統(tǒng)工程的現(xiàn)場施工中,由于通信載體是雙絞線,它的特性阻抗為120Ω左右,
所以線路設計時,在RS-485網絡傳輸線的始端和末端各應接1只120Ω的匹配電阻(如圖1中
R8),以減少線路上傳輸信號的反射。
由于RS-485芯片的特性,接收器的檢測靈敏度為± 200mV,即差分輸入端VA-VB ≥
+200mV,輸出邏輯1,VA-VB ≤-200mV,輸出邏輯0;而A、B端電位差的絕對值小于200mV
時,輸出為不確定。如果在總線上所有發(fā)送器被禁止時,接收器輸出邏輯0,這會誤認為通
信幀的起始引起工作不正常。解決這個問題的辦法是人為地使A端電位高于B兩端電位,這樣
RXD的電平在485總線不發(fā)送期間(總線懸浮時)呈現(xiàn)唯一的高電平,8031單片機就不會被誤
中斷而收到亂字符。通過在485電路的A、B輸出端加接上拉、下拉電阻R7、R9,即可很好地
解決這個問題。
審核編輯:符乾江
-
芯片
+關注
關注
456文章
50880瀏覽量
424142 -
485通訊
+關注
關注
1文章
12瀏覽量
3337
發(fā)布評論請先 登錄
相關推薦
評論