N年前做門禁系統(tǒng)上位機軟件開發(fā)的時候突擊培訓過串口通信編程基礎(chǔ)。后來在我的腦海里一直認為RS485總線能且只能掛接256個設(shè)備(因為地址是1byte,取值范圍也就0-255)。
本文引用地址:http://www.ex-cimer.com/article/201612/330507.htm后來經(jīng)過幾個項目的了解,發(fā)現(xiàn)這個數(shù)字有著比較大的出入。有專門做串口嵌入式設(shè)備開發(fā)的說RS485總線只能掛接32個節(jié)點,這是由它自身的驅(qū)動能力決定的。而到網(wǎng)上搜索發(fā)現(xiàn)有人說可以支持128個,也有說能支持256個,甚至400個......莫衷一是。
后來靜下心來找了一些資料發(fā)現(xiàn)他們說的都沒錯(咳,只怪自己理解有誤沒有理論聯(lián)系實際?。?/p>
485通訊中一個串口可以控制多少個設(shè)備的問題是與該485網(wǎng)絡(luò)中的電氣特性和協(xié)議特性所決定的。所謂電氣特性就是指的是要保證485網(wǎng)絡(luò)中的特征阻抗在允許的范圍內(nèi),應該是120歐姆左右,連接的設(shè)備越多,特征阻抗越小,所以一般在485網(wǎng)絡(luò)中一般都要加120歐姆的終端電阻。同時還要保證信號的衰減在可接受范圍內(nèi)。如MIXIM489,你就知道他能分辨的電壓是什么了。所以就有了長距離傳輸加中繼的情況了。所謂協(xié)議特性是指在485網(wǎng)絡(luò)中傳輸?shù)膮f(xié)議支持的尋址范圍,如MODBUS應該是32個,不過好象只能連接31個設(shè)備,因為還有一個留給自己(應該是這樣,具體的我有點忘記)。
設(shè)備數(shù)和接口驅(qū)動芯片有關(guān): 32 SN75176,MAX490,MAX485,SN75179,SN75180,MAX488等 64 SN75184 128 MAX487 256 MAX1482,MAX3080等。
RS-485的”節(jié)點數(shù)”主要是依”接收器輸入阻抗”而定;根據(jù)規(guī)定,標準RS-485接口的輸入阻抗為≥12kΩ,相應的標準驅(qū)動節(jié)點數(shù)為32個。為適應更多節(jié)點的通信場合,有些芯片的輸入阻抗設(shè)計成1/2負載(≥24kΩ)、1/4負載(≥48kΩ)甚至1/8負載(≥96kΩ),相應的節(jié)點數(shù)可增加到64個、128個和256個。以泓格的I/O模塊為例,每個485網(wǎng)絡(luò)最多的節(jié)點為256個,加中繼I-7510后,每個485網(wǎng)只要工作在不同的波特率:1200,2400,4800,9600,19200,38400,57600,115200之下,就可以允許相同的地址號。所以中繼模塊不但可以使通訊距離增加,還可以增加節(jié)點數(shù)。泓格模塊的485網(wǎng)絡(luò)中節(jié)點數(shù)最大為:256*8=2048個。
一條RS485總線能并聯(lián)多少臺設(shè)備要看什么芯片,并和所用電纜的品質(zhì)相關(guān),節(jié)點越多、傳輸距離越遠、電磁環(huán)境越惡劣,所選的電纜要求就越高。
支持32個節(jié)點數(shù)的芯片:SN75176,SN75276,SN75179,SN75180,MAX485,MAX488,MAX490
支持64個節(jié)點數(shù)的芯片:SN75LBC184
支持128個節(jié)點數(shù)的芯片:MAX487,MAX1487
支持256個節(jié)點數(shù)的芯片:MAX1482,MAX1483,MAX3080~MAX3089
評論