當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > EDN電子技術(shù)設(shè)計(jì)
01問(wèn)題:485差分信號(hào)不對(duì)稱

當(dāng)RS485設(shè)備測(cè)試信號(hào)時(shí)(總線未接從機(jī)),發(fā)現(xiàn)RS485輸出差分信號(hào)關(guān)于GND不對(duì)稱?A,B相的信號(hào)也沒(méi)有覆蓋整個(gè)0-3.3V區(qū)間。如下圖1所示所示:明顯看出來(lái)RS485 信號(hào)A低電平?jīng)]到GND,RS485信號(hào)B高電平?jīng)]到VDD。

查看芯片手冊(cè),芯片手冊(cè)中關(guān)于芯片內(nèi)部A,B相對(duì)地等效阻抗是大于98kΩ,典型值200kΩ(典型值在芯片手冊(cè)中未標(biāo)明,詢問(wèn)原廠得到)。如下圖2。既然內(nèi)部對(duì)地電阻是對(duì)稱的,外部電路上下拉也是對(duì)稱的,為什么測(cè)出來(lái)不對(duì)稱呢?圖 1 RS485網(wǎng)絡(luò)信號(hào)波形圖 2接收器輸入阻抗值02
解決過(guò)程
總線上的電壓是分壓的結(jié)果,如下圖3示意:

圖 3 添加了總線偏壓電阻后的DC路徑是不是跟總線上的負(fù)載有關(guān)?帶著這個(gè)猜想試著斷開(kāi)負(fù)載:先將總線上負(fù)載去掉(電路上去掉R21,R22)。測(cè)試出來(lái)如下圖4所示,改善不大,基本沒(méi)看出來(lái)有什么變化,還是不對(duì)稱。圖 4 RS485總線AB相去掉0R電阻其他沒(méi)有別的東西了,挺奇怪,假設(shè)芯片內(nèi)部A,B相標(biāo)注的輸入阻抗值是準(zhǔn)確的,那么總線輸出一定是對(duì)稱的?難道是上下拉電阻的問(wèn)題?問(wèn)題是上下拉電阻是一樣大啊,不可能是這個(gè)問(wèn)題吧,帶著試試看的心里去掉了上下拉電阻R19、R25,再次測(cè)量總線信號(hào),如下圖5所示,波形基本對(duì)稱了,解決了??磥?lái)是外部上下拉電阻問(wèn)題。我理解錯(cuò)了,以為只要是內(nèi)外電阻、上下拉電阻一樣,信號(hào)就會(huì)對(duì)稱。其實(shí)不然,對(duì)于RS485 總線來(lái)說(shuō):當(dāng)強(qiáng)上拉或強(qiáng)下拉時(shí),采到的信號(hào)是不對(duì)稱的,舉一個(gè)極端一點(diǎn)的例子:A用0R強(qiáng)上拉到VDD,那么A發(fā)1,可以輸出高電平,沒(méi)問(wèn)題,但是當(dāng)A發(fā)0時(shí),是無(wú)法輸出低電平的,這是上下拉電阻阻值造成的不對(duì)稱,對(duì)于B也如此。就像MCU的GPIO一樣,同一個(gè)GPIO口,它的推拉電流能力也不一樣。這是造成測(cè)試出來(lái)差分信號(hào)不對(duì)稱的原因。另外一種不對(duì)稱可能是由不同廠家的RS485芯片造成的,因?yàn)椴煌瑥S家的485芯片驅(qū)動(dòng)能力略有差異。如果RS485網(wǎng)絡(luò)中主從是不一樣廠家的芯片,就有可能出線總線電平不對(duì)稱的情況出線。圖5 RS485 AB總線斷開(kāi)0R+去掉上下拉電阻有細(xì)心的小伙伴發(fā)現(xiàn)上面的波形好像在高低電平期間不是很平坦,這個(gè)在我們測(cè)試信號(hào)的時(shí)候經(jīng)常會(huì)遇到,也很容易忽略,這其實(shí)是使用示波器之前進(jìn)行校準(zhǔn)導(dǎo)致的,校準(zhǔn)完成之后復(fù)測(cè)信號(hào),波形圖如下圖6,非常完美。圖6 RS485 AB總線斷開(kāi)0R+去掉上下拉電阻+已校準(zhǔn)探頭

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉