RS485接口原理及應(yīng)用
一、RS485簡介:
為擴(kuò)展應(yīng)用范圍,美國電子工業(yè)協(xié)會(EIA)又于1983年在RS-422基礎(chǔ)上制定了RS-485標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同 一條總線上,同時(shí)增加了發(fā)送器的驅(qū)動能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍,后命名為TIA/EIA-485-A標(biāo)準(zhǔn)。
RS485接口組成的半雙工網(wǎng)絡(luò),一般是兩線制(以前有四線制接法,只能實(shí)現(xiàn)點(diǎn)對點(diǎn)的通信方式,現(xiàn)很少采用),多采用屏蔽雙絞線傳輸。這種接線方式為總線式拓?fù)浣Y(jié)構(gòu)在同一總線上最多可以掛接32個(gè)結(jié)點(diǎn)。在RS485通信網(wǎng)絡(luò)中一般采用的是主從通信方式,即一個(gè)主機(jī)帶多個(gè)從機(jī)。很多情況下,連接RS-485通信鏈路時(shí)只是簡單地用一對雙絞線將各個(gè)接口的“A”、“B”端連接起來。RS485接口連接器采用DB-9的9芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485采用DB-9(針)。
二、RS485特點(diǎn):
1. RS-485的電氣特性:采用差分信號負(fù)邏輯,邏輯"1”以兩線間的電壓差為+(2~6)V表示;邏輯"0"以兩線間的電壓差為-(2~6)V表示。接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片, 且該電平與TTL電平兼容,可方便與TTL電路連接。
2. RS-485的數(shù)據(jù)最高傳輸速率為10Mbps。
3. RS-485接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干擾能力增強(qiáng),即抗噪聲干擾性好。
4. RS-485最大的通信距離約為1219m,最大傳輸速率為10Mbps,傳輸速率與傳輸距離成反比,在100KbpS的傳輸速率下,才可以達(dá)到最大的通信距離,如果需傳輸更長的距離,需要加485中繼器。RS-485總線一般最大支持32個(gè)節(jié)點(diǎn),如果使用特制的485芯片,可以達(dá)到128個(gè)或者256個(gè)節(jié)點(diǎn),最大的可以支持到400個(gè)節(jié)點(diǎn)。
RS485通信原理
RS485是一種在工業(yè)上作為數(shù)據(jù)交換的手段而廣泛使用的串行通信方式,數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,因此具有較強(qiáng)的抗干擾能力。它采用一對雙絞線,將其中一線定義為A,另一線定義為B。
通常情況下,RS485的信號在傳送出去之前會先分解成正負(fù)對稱的兩條線路(即我們常說的A、B信號線),當(dāng)?shù)竭_(dá)接收端后,再將信號相減還原成原來的信號。發(fā)送驅(qū)動器A、B之間的正電平在+2~6V,是一個(gè)正1邏輯狀態(tài);負(fù)電平在-2~6V,是一個(gè)負(fù)0邏輯狀態(tài);另有一個(gè)信號地C。在RS485中還有一“使能”端。“使能”端是用于控制發(fā)送驅(qū)動器與傳輸線的切斷與連接。當(dāng)“使能”端起作用時(shí),發(fā)送驅(qū)動器處于高阻狀態(tài),稱作“第三態(tài)”,即它是有別于邏輯“1”與“0”的第三態(tài)。
接收端與發(fā)送端的電平邏輯規(guī)定,收、發(fā)端通過平衡雙絞線將AA與BB對應(yīng)相連,當(dāng)在接收端AB之間(DT)=(D+)-(D-)有大于+200mV的電平時(shí),輸出正邏輯電平,小于-200mV時(shí),輸出負(fù)邏輯電平。接收器接收平衡線上的電平范圍通常在200mV~6V之間。
例如:發(fā)送“1”時(shí),驅(qū)動器收到控制器發(fā)送來的高電平,之后A端輸出高電平,B端輸出低電平;接收器A端收到高電平,B端收到低電平,兩個(gè)信號相減得到“1”。同理,發(fā)送“0”時(shí),驅(qū)動器收到控制發(fā)送來的低電平,之后A、B兩端分別輸出低、高電平,接收端A、B則接收到低、高電平,兩個(gè)信號相減后得到“0”。
如果受到干擾,則接收端AB之間(DT)=[(D+)+Noise]-[(D-)+Noise]= (D+)-(D-),由此可以看出干擾信號被消除。
RS485應(yīng)用中的問題
一、信號反射問題
在溝通心過程中,當(dāng)阻抗不連續(xù)或阻抗不匹配時(shí),會產(chǎn)生信號反射,和光從一種介質(zhì)進(jìn)入另一種介質(zhì)時(shí)產(chǎn)生發(fā)射是一樣的。
信號反射對數(shù)據(jù)傳輸?shù)挠绊懀悍瓷湫盘栍|發(fā)了接收器輸入端的比較器,使接收器收到錯(cuò)誤的信號,從而導(dǎo)致數(shù)據(jù)接受的錯(cuò)誤。
二、信號反射的消除
1、使電纜的末端的阻抗和電纜的特性阻抗大小一樣,由于信號在電纜上的傳輸是雙向的,因此在通訊電纜的另一端跨接一個(gè)同樣大小的終端電阻即可。一般線纜的阻抗大小在100-120歐之間,因此終端電阻可選用120歐。在實(shí)際中,由于線纜的特性阻抗不可能與終端電阻完全相等,因此或多或少的信號反射還是會存在的;
2、加偏置電阻,將A加上拉電阻,B端加下拉電阻,使總線空閑時(shí)接收器輸出固定為1。否則,總線空閑時(shí)的反射信號可能使接收器的輸出變?yōu)?,從而使控制器誤以為有新的數(shù)據(jù)發(fā)送。
三、信號接地
接地處理不當(dāng)往往會導(dǎo)致電子系統(tǒng)不能穩(wěn)定的工作甚至危及整個(gè)系統(tǒng)的安全。很多情況下,連接RS485通信鏈路時(shí)只是簡單的用一對雙絞線將各個(gè)接口的“A”、“B”端連接起來,而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患。
四、共模干擾問題
RS485接口均采用差分方式傳輸信號,并不需要相對于某個(gè)參照點(diǎn)來檢測信號,系統(tǒng)只需檢測兩線之間的電位差就可以了。但是人們往往忽視了收發(fā)器有一定的共模電壓范圍,如RS485收發(fā)器共模電壓范圍為-7-+12V,只有滿足上述條件,整個(gè)網(wǎng)絡(luò)才能正常工作。當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時(shí)就會影響通信的穩(wěn)定,甚至損壞接口。例如:當(dāng)驅(qū)動器A向B發(fā)送數(shù)據(jù)時(shí),發(fā)送驅(qū)動器共模電壓為Va,由于兩個(gè)系統(tǒng)具有各自獨(dú)立的系統(tǒng)地,存在著地電位差Vg,那么接收器輸入端的共模電壓Vb就會達(dá)到Vb=Va+Vg,雖然RS485標(biāo)準(zhǔn)規(guī)定Va<=3V,但是Vg可能很大,導(dǎo)致接收器共模輸入Vb超出正常范圍,使系統(tǒng)不能正常工作。
解決共模干擾:可使用一根低阻的信號地將兩個(gè)工作地連接起來,使共模干擾Vg被短路,可以有限的解決共模干擾。但是當(dāng)干擾源內(nèi)阻比較小時(shí),這種方法不太有效,因?yàn)闀诮拥鼐€上形成較大的環(huán)路電流。這時(shí)可采用浮地技術(shù),即使系統(tǒng)的電路地與機(jī)殼或大地隔離。