RS485總線是一種常用的差分信號(hào)傳輸方式,RS485總線具有抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)、節(jié)點(diǎn)數(shù)多等優(yōu)點(diǎn),廣泛應(yīng)用于通信、工業(yè)自動(dòng)化等領(lǐng)域。但是,在實(shí)際應(yīng)用中,我們可能會(huì)遇到一個(gè)問(wèn)題,就是RS485總線是否需要在A和B兩條線上加上下拉電阻,以及加多大的電阻合適。前文介紹了RS485總線信號(hào)常見(jiàn)故障排查, 本文將對(duì)RS485總線為什么要加上下拉電阻及下拉電阻阻值的計(jì)算選型這個(gè)問(wèn)題進(jìn)行分析和解釋。
首先,我們需要了解RS485總線的工作原理和信號(hào)特性。根據(jù)RS-RS485標(biāo)準(zhǔn),RS485總線是通過(guò)兩條線(A和B)來(lái)傳輸差分信號(hào)的,根據(jù)兩條線之間的電壓差來(lái)判斷的當(dāng)前數(shù)據(jù)位是0還是1。
RS485傳輸時(shí)的的數(shù)據(jù)有三種狀態(tài):
1.當(dāng)A和B之間的電壓差 VAB=UA-UB 大于+200mV時(shí),RS485收發(fā)器輸出的邏輯為1;
2.當(dāng)A和B之間的電壓差 VAB=UA-UB 小于-200mV時(shí),RS485收發(fā)器輸出邏輯為0;
3.當(dāng)A和B之間的電壓差 VAB=UA-UB 在-200mV~+200mV之間時(shí),RS485收發(fā)器可能輸出高電平也可能輸出低電平,是一個(gè)不確定的狀態(tài)。
在正常情況下,我們希望接收器收到的數(shù)據(jù)只能是0或1,對(duì)于不確定的狀態(tài)是不能出現(xiàn)在RS485總線上的。那么,什么情況下會(huì)出現(xiàn)不確定的狀態(tài)呢?主要有以下幾種情況:
1.當(dāng)RS485總線處于空閑狀態(tài)時(shí),也就是說(shuō),所有的RS485收發(fā)器都處于接收狀態(tài),沒(méi)有任何一個(gè)收發(fā)器在驅(qū)動(dòng)總線時(shí)。此時(shí),由于沒(méi)有任何信號(hào)源在總線上產(chǎn)生差分電壓,A和B兩條線上的電壓基本相等,也就是說(shuō),差分電壓基本為0。
2.當(dāng)RS485總線處于開(kāi)路狀態(tài)時(shí),也就是說(shuō),某個(gè)RS485收發(fā)器與總線斷開(kāi)連接時(shí)。此時(shí),由于斷開(kāi)連接的收發(fā)器不再對(duì)總線產(chǎn)生影響,其余收發(fā)器之間的差分電壓也基本為0。
3.當(dāng)RS485驅(qū)動(dòng)器輸出不足以使A、B產(chǎn)生絕對(duì)值大于200mV壓差時(shí),也就是說(shuō)此時(shí)RS485總線信號(hào)狀態(tài)已經(jīng)不能反映驅(qū)動(dòng)器狀態(tài),接收器也無(wú)法識(shí)別正確信號(hào)。
當(dāng)RS485總線出現(xiàn)不確定的狀態(tài)時(shí),會(huì)導(dǎo)致通信錯(cuò)誤或失效。例如,如果某個(gè)RS485收發(fā)器在不確定狀態(tài)下認(rèn)為收到數(shù)據(jù)0信號(hào),向串口輸出低電平,那么對(duì)于UART通信來(lái)說(shuō),這就相當(dāng)于一個(gè)起始位(Start Bit),會(huì)引起誤判或誤碼;如果某個(gè)RS485收發(fā)器在不確定狀態(tài)下輸出高低電平交替變化,那么對(duì)于UART通信來(lái)說(shuō),就會(huì)干擾正常數(shù)據(jù),導(dǎo)致UART接收器收到異常數(shù)據(jù)。
為了防止RS485總線出現(xiàn)不確定的狀態(tài),我們根據(jù)這兩種異常分析,導(dǎo)致這兩種異常的原因都是當(dāng)收發(fā)器處于接收狀態(tài)時(shí),AB線上無(wú)法保持正常電壓差導(dǎo)致的。要保持空閑或斷線的狀態(tài)下也能有正確的壓差,我們需要在A和B兩條線上加上下拉電阻(通常A接上拉電阻,B接下拉電阻),以保證總線在空閑或開(kāi)路狀態(tài)下有一個(gè)固定的差分電壓。如下圖所示:
那么,在選擇下拉電阻的大小時(shí),我們需要考慮哪些因素呢?主要有以下幾個(gè)方面:
1.上下拉電阻應(yīng)該足夠小,以保證空閑或開(kāi)路狀態(tài)下的差分電壓大于+200mV或小于-200mV(根據(jù)具體情況選擇),從而避免不確定狀態(tài)。
2.上下拉電阻應(yīng)該足夠大,以減少功耗和熱量,同時(shí)不影響RS485收發(fā)器的驅(qū)動(dòng)能力和輸出電壓。
3.上下拉電阻應(yīng)該與RS485收發(fā)器的輸入阻抗、終端電阻、總線長(zhǎng)度、節(jié)點(diǎn)數(shù)等因素相匹配,以保證總線的阻抗匹配和信號(hào)完整性。
首先,我們針對(duì)收發(fā)器處于斷線的狀態(tài)時(shí),此時(shí)收發(fā)器A、B電壓由RU、RT、RD和RIN共同決定,既:
通常我們將RU和RD使用相同的值,則公式可簡(jiǎn)化為:
此時(shí),我們?cè)O(shè)芯片內(nèi)部差分輸入電阻RIN=15KΩ、VCC=3.3V且RT=120R,可以算出此時(shí)0Ω≤R≤239Ω,當(dāng)然只要R≤232.5KΩ都能滿足斷線情況下A、B線處于數(shù)據(jù)1狀態(tài)。
針對(duì)于空閑狀態(tài),考慮到大部分節(jié)點(diǎn)設(shè)備都會(huì)在在A、B線上添加RU和和RD電阻,且會(huì)在終端上增加 RT 電阻。如下圖所示:
我們根據(jù)前面的推導(dǎo)過(guò)程可知,不同的只是因?yàn)樵黾庸?jié)點(diǎn)而增加的輸入電阻和上下拉電阻,所以我們根據(jù)上述電路可以推導(dǎo)出如下的公式:
在這個(gè)公式中,m為帶上下拉電阻的節(jié)點(diǎn)數(shù)量,n為節(jié)點(diǎn)數(shù)量??偩€A端和B端的差值我們定義為最小的200mA,這樣我們就可以將這個(gè)公式簡(jiǎn)化為:
有了這個(gè)公式就可以根據(jù)實(shí)際的節(jié)點(diǎn)數(shù)量來(lái)確定上下拉電阻的值。
然而根據(jù)這個(gè)公式計(jì)算出來(lái)的結(jié)果僅僅只是一個(gè)理想值,在實(shí)際使用中上下拉電阻一般都是在節(jié)點(diǎn)內(nèi)部確定了的。不同的節(jié)點(diǎn)設(shè)備,其內(nèi)部的上下拉電阻可能不同,我們需要考量節(jié)點(diǎn)的數(shù)量來(lái)考量這個(gè)電阻的值。要確定上下拉電阻的值還需要考慮驅(qū)動(dòng)芯片的帶載能力。不能將上下拉電阻設(shè)置的很小。
總之,RS485總線要在AB線上加上下拉電阻,主要是為了保證總線在空閑或開(kāi)路狀態(tài)下有一個(gè)固定的差分電壓,從而避免不確定狀態(tài)導(dǎo)致的通信錯(cuò)誤或失效。在選擇下拉電阻的大小時(shí),需要綜合考慮功耗、驅(qū)動(dòng)能力、阻抗匹配等因素,以保證通信的穩(wěn)定性和可靠性。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國(guó)銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號(hào)B5棟(前臺(tái)座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號(hào)-3