一、RS485基本知識(shí)
RS-485接口芯片已廣泛應(yīng)用于工業(yè)控制、儀器、儀表、多媒體網(wǎng)絡(luò)、機(jī)電一體化產(chǎn)品等諸多領(lǐng)域。可用于RS-485接口的芯片種類也越來(lái)越多。如何在種類繁多的接口芯片中找到最合適的芯片,是擺在每一個(gè)使用者面前的一個(gè)問(wèn)題。RS-485接口在不同的使用場(chǎng)合,對(duì)芯片的要求和使用方法也有所不同。使用者在芯片的選型和電路的設(shè)計(jì)上應(yīng)考慮哪些因素,由于某些芯片的固有特性,通信中有些故障甚至還需要在軟件上作相應(yīng)調(diào)整,如此等等。希望本文對(duì)解決RS-485接口的某些常見(jiàn)問(wèn)題有所幫助。
1RS-485接口標(biāo)準(zhǔn)
傳輸方式:差分
傳輸介質(zhì):雙絞線
標(biāo)準(zhǔn)節(jié)點(diǎn)數(shù):32
最遠(yuǎn)通信距離:1200m 共模電壓最大、最小值:+12V;-7V
差分輸入范圍:-7V~+12V
接收器輸入靈敏度:±200mV
接收器輸入阻抗:≥12kΩ
2節(jié)點(diǎn)數(shù)及半雙工和全雙工通信
2.1 節(jié)點(diǎn)數(shù)
所謂節(jié)點(diǎn)數(shù),即每個(gè)RS-485接口芯片的驅(qū)動(dòng)器能驅(qū)動(dòng)多少個(gè)標(biāo)準(zhǔn)RS-485負(fù)載。根據(jù)規(guī)定,標(biāo)準(zhǔn)RS-485接口的輸入阻抗為≥12kΩ,相應(yīng)的標(biāo)準(zhǔn)驅(qū)動(dòng)節(jié)點(diǎn)數(shù)為32。為適應(yīng)更多節(jié)點(diǎn)的通信場(chǎng)合,有些芯片的輸入阻抗設(shè)計(jì)成1/2負(fù)載(≥24kΩ)、1/4負(fù)載(≥48kΩ)甚至1/8負(fù)載(≥96kΩ),相應(yīng)的節(jié)點(diǎn)數(shù)可增加到64、128和256。表1為一些常見(jiàn)芯片的節(jié)點(diǎn)數(shù)。
表1
節(jié)點(diǎn)數(shù) | 型 號(hào) |
32 | SN75176,SN75276,SN75179,SN75180,MAX485,MAX488,MAX490 |
64 | SN75LBC184 |
128 | MAX487,MAX1487 |
256 | MAX1482,MAX1483,MAX3080~MAX3089 |
2.2 半雙工和全雙工
RS-485接口可連接成半雙工和全雙工兩種通信方式。半雙工通信的芯片有SN75176、SN75276、SN75LBC184、MAX485、MAX 1487、MAX3082、MAX1483等;
全雙工通信的芯片有SN75179、SN75180、MAX488~MAX491、MAX1482等。
(a)半雙工通信電路
(b)全雙工通信電路
3應(yīng)用中的常見(jiàn)問(wèn)題
3.1 抗雷擊和抗靜電沖擊
RS-485接口芯片在使用、焊接或設(shè)備的運(yùn)輸途中都有可能受到靜電的沖擊而損壞。在傳輸線架設(shè)于戶外的使用場(chǎng)合,接口芯片乃至整個(gè)系統(tǒng)還有可能遭致雷電的襲擊。選用抗靜電或抗雷擊的芯片可有效避免此類損失,常見(jiàn)的芯片有MAX485E、MAX487E、MAX1487E等。特別值得一提的是SN75LBC184,它不但能抗雷電的沖擊而且能承受高達(dá)8kV的靜電放電沖擊,是目前市場(chǎng)上不可多得的一款產(chǎn)品。
3.2 限斜率驅(qū)動(dòng)
由于信號(hào)在傳輸過(guò)程中會(huì)產(chǎn)生電磁干擾和終端反射,使有效信號(hào)和無(wú)效信號(hào)在傳輸線上相互迭加,嚴(yán)重時(shí)會(huì)使通信無(wú)法正常進(jìn)行。為解決這一問(wèn)題,某些芯片的驅(qū)動(dòng)器設(shè)計(jì)成限斜率方式,使輸出信號(hào)邊沿不要過(guò)陡,以不致于在傳輸線上產(chǎn)生過(guò)多的高頻分量,從而有效地扼制干擾的產(chǎn)生。如MAX487、SN75LBC184等都具有此功能。
3.3 故障保護(hù)
故障保護(hù)技術(shù)是近兩年產(chǎn)生的,一些新的RS-485芯片都采用了此項(xiàng)技術(shù),如SN75276、MAX3080~MAX3089。什么是故障保護(hù),為什么要有故障保護(hù),如果沒(méi)有故障保護(hù)會(huì)產(chǎn)生什么后果?
眾所周知,RS-485接口采用的是一種差分傳輸方式,各節(jié)點(diǎn)之間的通信都是通過(guò)一對(duì)(半雙工)或兩對(duì)(全雙工)雙絞線作為傳輸介質(zhì)。根據(jù)RS-485的標(biāo)準(zhǔn)規(guī)定,接收器的接收靈敏度為±200mV,即接收端的差分電壓大于、等于+200 mV時(shí),接收器輸出為高電平;小于、等于-200mV時(shí),接收器輸出為低電平;介于±200mV之間時(shí),接收器輸出為不確定狀態(tài)。在總線空閑即傳輸線上所有節(jié)點(diǎn)都為接收狀態(tài)以及在傳輸線開(kāi)路或短路故障時(shí),若不采取特殊措施,則接收器可能輸出高電平也可能輸出低電平。一旦某個(gè)節(jié)點(diǎn)的接收器產(chǎn)生低電平就會(huì)使串行接收器(UART)找不到起始位,從而引起通信異常,解決此類問(wèn)題的方法有兩種:
(1)使用帶故障保護(hù)的芯片,它會(huì)在總線開(kāi)路、短路和空閑情況下,使接收器的輸出為高電平。確??偩€空閑、短路時(shí)接收器輸出高電平是由改變接收器輸入門(mén)限來(lái)實(shí)現(xiàn)的。例如,MAX3080~MAX 3089輸入靈敏度為-50mV/-200mV,即差分接收器輸入電壓UA-B≥-50mV時(shí),接收器輸出邏輯高電平;如果UA-B≤-200mV,則輸出邏輯低電平。當(dāng)接收器輸入端總線短路或總線上所有發(fā)送器被禁止時(shí),接收器差分輸入端為0V,從而使接收器輸出高電平。同理,SN75276的靈敏度為0mV/-300mV,因而達(dá)到故障保護(hù)的目的。
(2)若使用不帶故障保護(hù)的芯片,如SN75176、MAX1487等時(shí),可在軟件上作一些處理,從而避免通信異常。即在進(jìn)入正常的數(shù)據(jù)通信之前,由主機(jī)預(yù)先將總線驅(qū)動(dòng)為大于+200mV,并保持一段時(shí)間,使所有節(jié)點(diǎn)的接收器產(chǎn)生高電平輸出。這樣,在發(fā)出有效數(shù)據(jù)時(shí),所有接收器能夠正確地接收到起始位,進(jìn)而接收到完整的數(shù)據(jù)。
3.4 光電隔離
在某些工業(yè)控制領(lǐng)域,由于現(xiàn)場(chǎng)情況十分復(fù)雜,充分考慮現(xiàn)場(chǎng)的復(fù)雜環(huán)境,在電路設(shè)計(jì)中注意了以下三個(gè)問(wèn)題。
二、RS485應(yīng)用設(shè)計(jì)
1SN75176 485芯片DE控制端的設(shè)計(jì)
由于應(yīng)用系統(tǒng)中,主機(jī)與分機(jī)相隔較遠(yuǎn),通信線路的總長(zhǎng)度往往超過(guò)400米,而分機(jī)系統(tǒng)上電或復(fù)位又常常不在同一個(gè)時(shí)刻完成。如果在此時(shí)某個(gè)75176的DE端電位為“1”,那么它的485總線輸出將會(huì)處于發(fā)送狀態(tài),也就是占用了通信總線,這樣其它的分機(jī)就無(wú)法與主機(jī)進(jìn)行通信。這種情況尤其表現(xiàn)在某個(gè)分機(jī)出現(xiàn)異常情況下(死機(jī)),會(huì)使整個(gè)系統(tǒng)通信崩潰。因此在電路設(shè)計(jì)時(shí),應(yīng)保證系統(tǒng)上電復(fù)位時(shí)75176的DE端電位為“0”。由于8031在復(fù)位期間,I/O口輸出高電平,故圖2電路的接法有效地解決復(fù)位期間分機(jī)“咬”總線的問(wèn)題。
2 隔離光耦電路的參數(shù)選取
在應(yīng)用系統(tǒng)中,由于要對(duì)現(xiàn)場(chǎng)情況進(jìn)行實(shí)時(shí)監(jiān)控及響應(yīng),通信數(shù)據(jù)的波特率往往做得較高(通常都在4800波特以上)。限制通信波特率提高的“瓶頸”,并不是現(xiàn)場(chǎng)的導(dǎo)線(現(xiàn)場(chǎng)施工一般使用5類非屏蔽的雙絞線),而是在與單片機(jī)系統(tǒng)進(jìn)行信號(hào)隔離的光耦電路上。此處采用TIL117。電路設(shè)計(jì)中可以考慮采用高速光耦,如6N137、6N136等芯片,也可以優(yōu)化普通光耦電路參數(shù)的設(shè)計(jì),使之能工作在最佳狀態(tài)。例如:電阻R2、R3如果選取得較大,將會(huì)使光耦的發(fā)光管由截止進(jìn)入飽和變得較慢;如果選取得過(guò)小,退出飽和也會(huì)很慢,所以這兩只電阻的數(shù)值要精心選取,不同型號(hào)的光耦及驅(qū)動(dòng)電路使得這兩個(gè)電阻的數(shù)值略有差異,這一點(diǎn)在電路設(shè)計(jì)中要特別慎重,不能隨意,通??梢杂蓪?shí)驗(yàn)來(lái)定。
3 485總線輸出電路部分的設(shè)計(jì)
輸出電路的設(shè)計(jì)要充分考慮到線路上的各種干擾及線路特性阻抗的匹配。由于工程環(huán)境比較復(fù)雜,現(xiàn)場(chǎng)常有各種形式的干擾源,所以485總線的傳輸端一定要加有保護(hù)措施。在電路設(shè)計(jì)中采用穩(wěn)壓管D1、D2組成的吸收回路,也可以選用能夠抗浪涌的TVS瞬態(tài)雜波抑制器件,或者直接選用能抗雷擊的485芯片(如SN75LBC184等)。
考慮到線路的特殊情況(如某一臺(tái)分機(jī)的485芯片被擊穿短路),為防止總線中其它分機(jī)的通信受到影響,在75176的485信號(hào)輸出端串聯(lián)了兩個(gè)20Ω的電阻R10、R11。這樣本機(jī)的硬件故障就不會(huì)使整個(gè)總線的通信受到影響。
在應(yīng)用系統(tǒng)工程的現(xiàn)場(chǎng)施工中,由于通信載體是雙絞線,它的特性阻抗為120Ω左右,所以線路設(shè)計(jì)時(shí),在RS-485網(wǎng)絡(luò)傳輸線的始端和末端各應(yīng)接1只120Ω的匹配電阻(如圖1中R8),以減少線路上傳輸信號(hào)的反射。
由于RS-485芯片的特性,接收器的檢測(cè)靈敏度為± 200mV,即差分輸入端VA-VB ≥+200mV,輸出邏輯1,VA-VB ≤-200mV,輸出邏輯0;而A、B端電位差的絕對(duì)值小于200mV時(shí),輸出為不確定。如果在總線上所有發(fā)送器被禁止時(shí),接收器輸出邏輯0,這會(huì)誤認(rèn)為通信幀的起始引起工作不正常。解決這個(gè)問(wèn)題的辦法是人為地使A端電位高于B兩端電位,這樣RXD的電平在485總線不發(fā)送期間(總線懸浮時(shí))呈現(xiàn)唯一的高電平,8031單片機(jī)就不會(huì)被誤中斷而收到亂字符。通過(guò)在485電路的A、B輸出端加接上拉、下拉電阻R7、R9,即可很好地解決這個(gè)問(wèn)題。
圖1 RS485應(yīng)用典型電路
三、軟件的編程
485芯片的軟件編程對(duì)產(chǎn)品的可靠性也有很大影響。由于485總線是異步半雙工的通信總線,在某一個(gè)時(shí)刻,總線只可能呈現(xiàn)一種狀態(tài),所以這種方式一般適用于主機(jī)對(duì)分機(jī)的查詢方式通信,總線上必然有一臺(tái)始終處于主機(jī)地位的設(shè)備在巡檢其它的分機(jī),所以需要制定一套合理的通信協(xié)議來(lái)協(xié)調(diào)總線的分時(shí)共用。這里采用的是數(shù)據(jù)包通信方式。通信數(shù)據(jù)是成幀成包發(fā)送的,每包數(shù)據(jù)都有引導(dǎo)碼、長(zhǎng)度碼、地址碼、命令碼、內(nèi)容、校驗(yàn)碼等部分組成。
其中引導(dǎo)碼是用于同步每一包數(shù)據(jù)的引導(dǎo)頭;長(zhǎng)度碼是這一包數(shù)據(jù)的總長(zhǎng)度;命令碼是主機(jī)對(duì)分機(jī)(或分機(jī)應(yīng)答主機(jī))的控制命令;地址碼是分機(jī)的本機(jī)地址號(hào);“內(nèi)容”是這一包數(shù)據(jù)里的各種信息;校驗(yàn)碼是這一包數(shù)據(jù)的校驗(yàn)標(biāo)志,可以采用奇偶校驗(yàn)、和校驗(yàn)等不同的方式。
在485芯片的通信中,尤其要注意對(duì)485控制端DE的軟件編程。為了可靠的工作,在485總線狀態(tài)切換時(shí)需要做適當(dāng)延時(shí),再進(jìn)行數(shù)據(jù)的收發(fā)。具體的做法是在數(shù)據(jù)發(fā)送狀態(tài)下,先將控制端置“1”,延時(shí)1ms左右的時(shí)間,再發(fā)送有效的數(shù)據(jù),一包數(shù)據(jù)發(fā)送結(jié)束后再延時(shí)1ms后,將控制端置“0”。這樣的處理會(huì)使總線在狀態(tài)切換時(shí),有一個(gè)穩(wěn)定的工作過(guò)程。
三種常用電路如下:
1、基本的RS485電路
上圖是最基本的RS485電路,R/D為低電平時(shí),發(fā)送禁止,接收有效;R/D為高電平時(shí),則發(fā)送有效,接收截止。通過(guò)軟件控制SP485R的收發(fā)模式。在主從模式下,主機(jī)發(fā)送完命令后,應(yīng)該立即拉低R/D,處于接收模式;而同時(shí)處于從機(jī)的設(shè)備,一班處于接收狀態(tài),只有收到發(fā)給自己的命令后且需要應(yīng)答的,才拉高R/D,進(jìn)行發(fā)送。
上拉電阻R7和下拉電阻R8,用于保證無(wú)連接的SP485R芯片處于空閑狀態(tài),提供網(wǎng)絡(luò)失效保護(hù),提高RS485節(jié)點(diǎn)與網(wǎng)絡(luò)的可靠性,R7,R8,R9這三個(gè)電阻,需要根據(jù)實(shí)際應(yīng)用改變大小,特別是使用120歐或更小的終端電阻時(shí),R9就不需要了,此時(shí)R7,R8使用680歐電阻。正常情況下,一般R7=R8=4.7K,R9不要。
圖中鉗位于6.8V的管V4,V5,V6,都是為了保護(hù)RS485總線的,避免受外界干擾,也可以選擇集成的總線保護(hù)原件。另外圖中的L1,L2,C1,C2為可選安裝原件,用于提高電路的EMI性能.
2、帶隔離的RS485電路
根本原理與基本電路的原理相似。使用DC-DC器件可以產(chǎn)生1組與微處理器電路完全隔離的電源輸出,用于向RS485收發(fā)器提供+5V電源。電路中的光耦器件速率會(huì)影響RS485電路的通信速率。上圖中選用了NEC的光耦PS2501,受其影響,該電路的通訊速率控制在19200bps下。
3、自動(dòng)切換電路
上圖中,TX,RX引腳均需要上拉電阻,這一點(diǎn)特別重要。
接收:默認(rèn)沒(méi)有數(shù)據(jù)時(shí),TX為高電平,三極管導(dǎo)通,RE為低電平使能,RO收數(shù)據(jù)有效,MAX485為接收態(tài)。
發(fā)送:發(fā)送數(shù)據(jù)時(shí),TX會(huì)先有一個(gè)下拉的電平(起始位-由高向低),表示開(kāi)始發(fā)送數(shù)據(jù),此時(shí)三極管截止,DE為高電平發(fā)送使能。當(dāng)發(fā)送數(shù)據(jù)“0”時(shí),由于DI接口相當(dāng)于接地,此時(shí)數(shù)據(jù)“0”就會(huì)傳輸?shù)紸B扣,A-B<0,則傳輸“0”,完成低電平傳輸,當(dāng)發(fā)送“1”時(shí),此時(shí)三極管導(dǎo)通,按理說(shuō)RO會(huì)使能,此時(shí)由于還處于發(fā)送數(shù)據(jù)中,這種狀態(tài)下MAX485處于高阻態(tài),此時(shí)的狀態(tài)通過(guò)A上來(lái),B下拉電阻決定,此時(shí)A-B>0傳輸“1”,完成高電平的傳輸。
注意:這里面有個(gè)疑惑,發(fā)送數(shù)據(jù)“1”,三極管RE低電平有效,應(yīng)該是接收使能,為什么芯片是高阻態(tài)呢?這是因?yàn)閁ART發(fā)送數(shù)據(jù)是有一定格式的,TX和RX數(shù)據(jù)均以“位”為最小單位進(jìn)行傳輸,在發(fā)送數(shù)據(jù)之前,UART之間要約定好數(shù)據(jù)傳輸速率,即波特率,數(shù)據(jù)傳輸格式(數(shù)據(jù)位,校驗(yàn),停止),平時(shí)數(shù)據(jù)線處于空閑狀態(tài)(1狀態(tài)),當(dāng)發(fā)送數(shù)據(jù)時(shí),TX由“1”變?yōu)椤?”維持1位的時(shí)間,這樣接收方檢測(cè)到開(kāi)始位后,再等待1.5位時(shí)間就開(kāi)始一位一位的進(jìn)行數(shù)據(jù)傳輸了,也就是說(shuō),已經(jīng)確定好發(fā)送狀態(tài),電路發(fā)送“1”時(shí)RE雖然有效,但是由于它處于發(fā)送階段,芯片也不會(huì)收,即芯片處于高阻狀態(tài)。
審核編輯:劉清
-
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
52文章
8236瀏覽量
146365 -
下拉電阻
+關(guān)注
關(guān)注
4文章
147瀏覽量
20534 -
接收器
+關(guān)注
關(guān)注
14文章
2472瀏覽量
71911 -
靜電放電
+關(guān)注
關(guān)注
3文章
287瀏覽量
44656 -
RS-485接口
+關(guān)注
關(guān)注
0文章
55瀏覽量
14292
原文標(biāo)題:非常經(jīng)典的RS485介紹及典型應(yīng)用電路
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論