RS-485總線應(yīng)用中,時(shí)常會(huì)遇到不同的RS-485設(shè)備之間通訊,不同的設(shè)備間兼容性存在不同,有的設(shè)備很穩(wěn)定,有的設(shè)備卻時(shí)常收到異常數(shù)據(jù),這是什么原因?qū)е碌哪??又?yīng)如何避免呢?
RS-485應(yīng)用異常?
某儲(chǔ)能客戶在使用我司全隔離RS-485收發(fā)芯片SM4500過程中,時(shí)常會(huì)出現(xiàn)數(shù)據(jù)不穩(wěn)定情況,如下圖 1,客戶設(shè)備與不同的RS-485設(shè)備通訊時(shí),有的設(shè)備通訊穩(wěn)定,有的設(shè)備則時(shí)不時(shí)會(huì)收到異常電平。
圖1 SM4500應(yīng)用簡圖
經(jīng)過測試發(fā)現(xiàn)客戶板卡RS-485通道在空閑時(shí),總線電平處于0電位。如圖 1所示,RS-485標(biāo)準(zhǔn)規(guī)定了當(dāng)AB總線間電平處于-200mV~+200mV時(shí),接收器端(RXD)會(huì)接收到不確定電平(為解釋方便,下面統(tǒng)稱“門限電平”)。而不同的RS-485設(shè)備,門限電平存在不同,SM4500門限電平為-10mV ~?-200mV,當(dāng)與門限電平為-200mV ~?+200mV的設(shè)備通訊時(shí),就有可能出現(xiàn)異常,那么如何避免這一問題發(fā)生?
圖2 RS-485?接收電平示意圖
? 總線電平不確定狀態(tài)原因
1.?少不了的上下拉電阻
如圖 3、圖 4,為SM4500通訊的總線波形,發(fā)送數(shù)據(jù)時(shí)(非空閑狀態(tài)),總線電平最大值為3.28V,最小值為-2.96V;空閑狀態(tài)時(shí),總線電平最大值為240mV,最小值為-160mV,此時(shí)總線已經(jīng)處于不確定狀態(tài)。
圖3?SM4500非空閑時(shí)2Mbps總線波形
圖4?SM4500空閑時(shí)總線波形
根據(jù)SM4500手冊的典型連接電路圖,在總線上增加上下拉電阻后,總線電平被拉高,此時(shí)已經(jīng)遠(yuǎn)大于不確定狀態(tài)電壓,如圖 6??梢娫赗S-485應(yīng)用過程中,上下拉電阻是必不可少的。
圖5?SM4500典型連接電路圖
圖6?SM4500空閑時(shí)波形(設(shè)置上下拉電阻100kΩ)
2.?“多余的”終端電阻
想必各位工程師都知道終端電阻的作用是消除信號(hào)反射,因此實(shí)際應(yīng)用中往往都會(huì)默認(rèn)設(shè)置,但其實(shí)并不是所有情況都需要終端電阻,有時(shí)終端電阻反而會(huì)引入一些問題。前面說到總線空閑處于不確定狀態(tài)時(shí),可以通過設(shè)置上下拉電阻避免,但在接入終端電阻后,總線電平又會(huì)進(jìn)入到不確定狀態(tài),如圖 7。這又怎么解決呢?
圖7?SM4500空閑時(shí)波形(設(shè)置上下拉電阻100kΩ、60Ω終端電阻)
??如何使總線不處于門限電平內(nèi)
我們先來看下為什么在接入終端電阻后,總線電平又會(huì)進(jìn)入到不確定狀態(tài)。SM4500總線端輸入阻抗高達(dá)上百kΩ,在設(shè)置終端電阻后,忽略內(nèi)阻的影響,假設(shè)總線上各節(jié)點(diǎn)的SM4500的輸出電壓VISOOUT相同,得到總線空閑時(shí)電平計(jì)算公式如下,通訊等效示意如圖 8,其中R上、R下為總線的上下拉電阻,R為終端電阻。
圖8?SM4500通訊等效示意圖
根據(jù)上述公式,計(jì)算圖 7總線空閑電壓VAB=VISOOUT*60Ω/(100kΩ+100kΩ+60Ω),這里VISOOUT可取5.1V,可得VAB=1.53mV(與實(shí)測波形相符),處于RS-485標(biāo)準(zhǔn)規(guī)定的門限電平內(nèi)。通過公式發(fā)現(xiàn),只要減小上下拉電阻就能提高總線空閑時(shí)的電平,因此得到如下公式:
所以只要上下拉電阻<735Ω,空閑時(shí)的總線電平就能>200mV。例如取R上=510Ω進(jìn)行驗(yàn)證,此時(shí)計(jì)算VAB=283mV,實(shí)測總線電平如圖 9,光標(biāo)測量總線電平為276mV(考慮到有線阻和測量的誤差,因此符合理論值)。另外,上下拉電阻是不是越小的話,會(huì)越好呢?其實(shí)不然,上下拉電阻越小總線空閑狀態(tài)差分電壓保持的也越高,此時(shí),終端電阻和上下拉電阻的功耗也越大,對RS-485收發(fā)器的驅(qū)動(dòng)能力要求也越高,當(dāng)超過RS-485收發(fā)器的驅(qū)動(dòng)能力時(shí),也會(huì)導(dǎo)致通信失?。ㄔ敿?xì)分析可查看往期文章《詳解RS-485上下拉電阻的選擇》)。
圖9?SM4500空閑時(shí)總線波形(設(shè)置上下拉電阻510Ω、60Ω終端電阻)
如圖 10,SM4500的門限電平為-10mV ~ -200mV,實(shí)際上要比RS-485標(biāo)準(zhǔn)規(guī)定的范圍小,也就是說總線空閑時(shí)更不容易進(jìn)入到門限電平內(nèi)。根據(jù)上下拉電阻計(jì)算公式,當(dāng)VAB電壓趨近于0時(shí),上下拉電阻會(huì)趨近于無窮大,換言之,SM4500理論上不設(shè)置上下拉電阻也能正常通訊。但實(shí)際上使用SM4500的設(shè)備往往會(huì)與不同的RS-485設(shè)備通訊,加上總線易受干擾產(chǎn)生波動(dòng),因此為了總線兼容性更好,設(shè)置上下拉電阻也是必須的。
圖10??SM4500真值表
??總結(jié)
-
- RS-485總線網(wǎng)絡(luò)中設(shè)置上下拉電阻是必須的,這樣可以避免總線空閑時(shí)進(jìn)入門限電平內(nèi);如果總線設(shè)置終端電阻,此時(shí)需要根據(jù)實(shí)際情況調(diào)整上下拉電阻大小,必要時(shí)適當(dāng)加大終端電阻,以避免總線空閑時(shí)處于門限電平內(nèi);
SM4500門限電平范圍小,總線空閑時(shí)更不容易進(jìn)入門限電平內(nèi),兼容性好。