(1)基本概念
RS485總線傳輸協(xié)議是一種串行總線通信協(xié)議標準,RS485總線采用平衡發(fā)送,差分接收的結(jié)構(gòu)設(shè)計,因此具有抑制共模干擾的能力。RS485總線的數(shù)據(jù)傳輸速率最高可達 ,最遠傳輸距離可達1000米左右。RS485不是點對點式的總線結(jié)構(gòu),而是分布式架構(gòu),其總線能夠連接多達128個收發(fā)器。
RS-485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。RS-485采用半雙工工作方式,任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。RS-485用于多點互連時非常方便,可以省掉許多信號線。應(yīng)用RS-485可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺驅(qū)動器和32臺接收器。在RS232或RS485設(shè)備聯(lián)成的設(shè)備網(wǎng)中,如果設(shè)備數(shù)量超過2臺,就必須使用RS485做通訊介質(zhì),RS485網(wǎng)的設(shè)備間要想互通信息只有通過“主(Master)”設(shè)備中轉(zhuǎn)才能實現(xiàn),這個主設(shè)備通常是PC,而這種設(shè)備網(wǎng)中只允許存在一個主設(shè)備,其余全部是從(Slave)設(shè)備。
RS-485 ( EIA-485 標準)是RS-422的改進,因為它增加了設(shè)備的個數(shù),從10個增加到32個,同時定義了在最大設(shè)備個數(shù)情況下的電氣特性,以保證足夠的信號電壓。有了多個設(shè)備的能力,你可以使用一個單個RS-485口建立設(shè)備網(wǎng)絡(luò)。出色抗噪和多設(shè)備能力,在工業(yè)應(yīng)用中建立連向PC機的分布式設(shè)備網(wǎng)絡(luò)、其他 數(shù)據(jù)收集 控制器、HMI或者其他操作時,串行連接會選擇RS-485。RS-485是RS-422的超集,因此所有的RS-422設(shè)備可以被RS-485控制。RS-485可以用超過4000英尺的線進行串行通行。
為改進RS232通信距離短、速率低的缺點,EIA在基于RS422的基礎(chǔ)上制定了RS485接口標準。RS485是平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力,它的最大傳輸距離為1200米,實際可達3000米,傳輸速率最高可達10Mbit/s。所以,一般在要求通信距離為幾十米到上千米時,會廣泛采用RS-485串行通信。
RS-485采用半雙工工作方式,允許在簡單的一對屏蔽雙絞線上進行多點、雙向通信,不過任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。
與RS232不同的是,RS485的工作方式是差分工作方式,所謂差分工作方式,是指在一堆雙絞線中,一條定義為A,一條定義為B。RS485采用差分信號負邏輯,+2V~+6V表示“0”,- 6V~- 2V表示“1”。RS485有兩線制和四線制兩種接線,四線制是全雙工通訊方式,兩線制是半雙工通訊方式。
RS485和RS232一樣都是基于串口的通訊接口,數(shù)據(jù)收發(fā)的操作是一致的,但是它們在實際應(yīng)用中通訊模式卻有著很大的區(qū)別,RS232接口為全雙工數(shù)據(jù)通訊模式,而RS485接口為半雙工數(shù)據(jù)通訊模式,數(shù)據(jù)的收發(fā)不能同時進行,為了保證數(shù)據(jù)收發(fā)的不沖突,在RS485中還有一個使能端,使能端是用于控制發(fā)送驅(qū)動器與傳輸線的切斷與連接,可以認為是一個開關(guān)。當開關(guān)即使能端信號為1時,信號就輸出,當使能端信號是0時,信號就無法輸出。相應(yīng)也要求軟件上必須將收發(fā)的過程嚴格地分開。
RS-485與RS-422的不同還在于其共模輸出電壓是不同的,RS-485是-7V至+12V之間,而RS-422在-7V至+7V之間;RS-485滿足所有RS-422的規(guī)范,所以RS-485的驅(qū)動器可以用在RS-422網(wǎng)絡(luò)中應(yīng)用。RS-485與RS-422一樣,其最大傳輸距離約為1219米,最大傳輸速率為10Mbps。平衡雙絞線的長度與傳輸速率成反比,在100Kbps速率以下,才可能使用規(guī)定最長的電纜長度。只有在很短的距離下才能獲得最高速率傳輸。一般100米長雙絞線最大傳輸速率僅為1Mbps。
RS485接口組成的半雙工網(wǎng)絡(luò),一般是兩線制(以前有四線制接法,只能實現(xiàn)點對點的通信方式,現(xiàn)很少采用),多采用屏蔽雙絞線傳輸。這種接線方式為總線式拓撲結(jié)構(gòu)在同一總線上最多可以掛接32個結(jié)點。在RS485通信網(wǎng)絡(luò)中一般采用的是主從通信方式,即一個主機帶多個從機。很多情況下,連接RS-485通信鏈路時只是簡單地用一對雙絞線將各個接口的“A”、“B”端連接起來。RS485接口連接器采用DB-9的9芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485采用DB-9(針)
(2) RS-485引腳定義
RS-485的兩線制引腳定義:
序號 | 名稱 | 作用 | 備注 |
---|---|---|---|
1 | Data-/B/485- | 發(fā)送正 | 必連 |
2 | Data/B/485+ | 接收正 | 必連 |
5 | GND | 地線 | 不連 |
9 | +9V | 電源 | 不連 |
RS-485的四線制引腳定義:
序號 | 名稱 | 作用 | 備注 |
---|---|---|---|
1 | TDA-/Y | 發(fā)送A | TXD+/A,必連 |
2 | TDB+/Z | 發(fā)送B | TXD-/B,必連 |
3 | RDA-/A | 接收A | RXD-,必連 |
4 | RDB+/B | 接收B | RXD+,必連 |
5 | GND | 地線 | 不連 |
?
RS485標準物理接口也是9個引腳的,對于引腳定義有不同的標識:
英式標識為 TDA(-) 、TDB(+) 、RDA(-) 、RDB(+) 、GND
美式標識為 Y 、Z 、 A 、 B 、 GND
中式標識為 TXD(+)/A 、TXD(-)/B 、RXD(-) 、RXD(+)、GND
RS485兩線一般定義為:“A、B"或"Date+、Date-” ,也就是我們即常說的485+、485- 。
具體還要根據(jù)廠家的使用信號針腳而定,有的RS485也可能使用了RTS或DTR等針腳。其中支持RS485接口的芯片(MAX481,MAX483,MAX485,MAX487,MAX1487等)。
? ? (3)通信
? 在 RS485 通信網(wǎng)絡(luò)中,通常會使用 485 收發(fā)器來轉(zhuǎn)換 TTL 電平和 RS485 電平。各路節(jié)點連接到 485 收發(fā)器上,而收發(fā)器通過差分線連接到網(wǎng)絡(luò)總線,串口控制器與收發(fā)器之間一般使用 TTL 信號傳輸,收發(fā)器與總線則使用差分信號來傳輸。發(fā)送數(shù)據(jù)時,串口控制器的 TX 信號經(jīng)過收發(fā)器轉(zhuǎn)換成差分信號傳輸?shù)娇偩€上,而接收數(shù)據(jù)時,收發(fā)器把總線上的差分信號轉(zhuǎn)化成 TTL 信號通過 RX 引腳傳輸?shù)酱诳刂破髦?。通常在這些節(jié)點中只能有一個主機,剩下的全為從機。在總線的起止端分別加了一個?120 歐的匹配電阻。
(4)硬件設(shè)計
? RS485 與RS422 均采用差分平衡傳輸?shù)姆绞?,所以他們的電平方式,一般采用A、B 引腳的方式。
? 電平定義:
以U = A - B 的電壓值為劃分依據(jù)
發(fā)送端:邏輯1:+2V ~ +6V;邏輯0:-6V ~ -2V
接收端:邏輯1:>= 200mv;邏輯0:<= -200mv
? 信號電平轉(zhuǎn)換:
在單片機設(shè)計系統(tǒng)中,常把信號電平在TTL 與485 之間轉(zhuǎn)換,獲得良好的傳輸質(zhì)量,并使MCU更好的處理信號。
下圖是485通信的應(yīng)用電路設(shè)計:
3V3與+5V是兩組不共地的電源,一般用隔離型的DC-DC來實現(xiàn)。通過光耦隔離來實現(xiàn)信號的隔離傳輸,MAX485與MCU系統(tǒng)不共地,完全隔離則有效的抑制了高共模電壓的產(chǎn)生,大大降低485的損壞率,提高了系統(tǒng)穩(wěn)定性。但也存在電路體積過大、電路繁瑣、分立器件過多,傳輸速率受光電器件限制等缺點,對整個系統(tǒng)的穩(wěn)定性也有一定影響。
? RS485_DIR:為控制位,控制發(fā)送還是接收數(shù)據(jù);
當RS485_DIR=1(高電平時),光耦電路U3截止,/RE=1(無效),DE=1(有效),即發(fā)送數(shù)據(jù);
當RS485_DIR=0 (低電平時),光耦電路U3導(dǎo)通,/RE=0(有效),DE=0(無效),即接收數(shù)據(jù);
MAX485芯片管腳定義:
?
RO :串口接收端
DI :串口傳輸端
/RE:485接收端
DE: 485發(fā)送端
(5) RS485通信缺點
?
RS485總線是一種常規(guī)的通信總線,它不能夠做總線的自動仲裁,也就是不能夠同時發(fā)送數(shù)據(jù)以避免總線競爭,所以整個系統(tǒng)的通信效率必然較低,數(shù)據(jù)冗余量較大,對于速度要求高的應(yīng)用場所不適應(yīng)用RS485總線。同時由于RS485總線上通常只有一臺主機,所以這種總線方式是典型的集中—分散型控制系統(tǒng)。一旦主機出現(xiàn)故障,會使整個系統(tǒng)的通信限于癱瘓狀態(tài),因此做好主機的在線備份是一個重要措施。
RS485有兩線制和四線制兩種接線,四線制只能實現(xiàn)點對點的通信方式,現(xiàn)很少采用,現(xiàn)在多采用的是兩線制接線方式,這種接線方式為總線式拓樸結(jié)構(gòu)在同一總線上最多可以掛接32個結(jié)點。在RS485通信網(wǎng)絡(luò)中一般采用的是主從通信方式,即一個主機帶多個從機。很多情況下,連接RS-485通信鏈路時只是簡單地用一對雙絞線將各個接口的“A”、“B”端連接起來。而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患,有二個原因:
(1)共模干擾問題:RS-485接口采用差分方式傳輸信號方式,并不需要相對于某個參照點來檢測信號,系統(tǒng)只需檢測兩線之間的電位差就可以了。但人們往往忽視了收發(fā)器有一定的共模電壓范圍,RS-485收發(fā)器共模電壓范圍為-7~+12V,只有滿足上述條件,整個網(wǎng)絡(luò)才能正常工作。當網(wǎng)絡(luò)線路中共模電壓超出此范圍時就會影響通信的穩(wěn)定可靠,甚至損壞接口。
(2)EMI問題:發(fā)送驅(qū)動器輸出信號中的共模部分需要一個返回通路,如沒有一個低阻的返回通道(信號地),就會以輻射的形式返回源端,整個總線就會像一個巨大的天線向外輻射電磁波。
由于PC機默認的只帶有RS232接口,有兩種方法可以得到PC上位機的RS485電路:
(1)通過RS232/RS485轉(zhuǎn)換電路將PC機串口RS232信號轉(zhuǎn)換成RS485信號,對于情況比較復(fù)雜的工業(yè)環(huán)境最好是選用防浪涌帶隔離珊的產(chǎn)品。(2)通過PCI多串口卡,可以直接選用輸出信號為RS485類型的擴展卡。
? 因為采用兩線制,數(shù)據(jù)的發(fā)送和接收都要用到這對差分信號線,發(fā)送和接收不能同時進行,所以只能采用半雙工的方式工作。
? ? (6)優(yōu)點
? RS485標準規(guī)定采用差分信號進行數(shù)據(jù)傳輸,兩線間的電壓差為+2v到+6v表示邏輯“1”,兩線間的電壓差為-2v到-6v表示邏輯“0”。使用差分信號能有效的減少噪音信號的干擾,延長通信距離,RS485的通信距離可以達到1500m,RS485接口信號的電平比RS232降低了,所以不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便地與TTL電路連接。
? RS485采用兩線制,這種接線方式為總線式拓撲結(jié)構(gòu),在同一總線上,可以同時存在多個節(jié)點。
? 由于RS-485是從RS-422基礎(chǔ)上發(fā)展而來的,所以RS-485許多電氣規(guī)定與RS-422相仿。如都采用平衡傳輸方式、都需要在傳輸線上接終接電阻等。RS-485可以采用二線與四線方式,二線制可實現(xiàn)真正的多點雙向通信。RS-485總線,在要求通信距離為幾十米到上千米時,廣泛采用RS-485 串行總線標準。RS-485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線收發(fā)器具有高靈敏度,能檢測低至200mV的電壓,故傳輸信號能在千米以外得到恢復(fù)。RS-485采用半雙工工作方式,任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。RS-485用于多點互連時非常方便,可以省掉許多信號線。應(yīng)用RS-485可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺驅(qū)動器和32臺接收器。
? RS-485使用該標準的數(shù)字通信網(wǎng)絡(luò)能在遠距離條件下以及電子噪聲大的環(huán)境下有效傳輸信號。RS-485使得連接本地網(wǎng)絡(luò)以及多支路通信鏈路的配置成為可能。
? 該標準允許連接多個收發(fā)器,即具有多站能力,這樣可以利用單一的RS485接口方便地建立起一個設(shè)備網(wǎng)絡(luò)。
審核編輯:黃飛
評論