新聞中心

        EEPW首頁 > 設(shè)計(jì)應(yīng)用 > RS-485總線電平異常解決方案解析

        RS-485總線電平異常解決方案解析

        作者: 時間:2019-11-13 來源:電子產(chǎn)品世界 收藏

        各位工程師是否會遇到這樣的情況,測試單個RS-485設(shè)備數(shù)據(jù)無異常,但設(shè)備組網(wǎng)后,就出現(xiàn)通訊數(shù)據(jù)異常或連接失敗等情況。出錯的原因是什么?本文將從門限電平為你揭秘RS-485組網(wǎng)異常。

        本文引用地址:http://www.104case.com/article/201911/407041.htm

        RS-485總線是具有結(jié)構(gòu)簡單、通信距離遠(yuǎn)、通信速度高、成本低等優(yōu)點(diǎn),廣泛應(yīng)用于工業(yè)通訊、電力監(jiān)控以及儀器儀表等行業(yè)。若總線上接有終端電阻,則在總線空閑狀態(tài)時,RS-485總線AB差分電壓可能處于門限電平(±200mV)之內(nèi),這時可能會導(dǎo)致通信出錯,那么,出錯的原因是什么?MCU接收到的數(shù)據(jù)會發(fā)生什么樣的變化?

        1、 數(shù)據(jù)出錯的原因

        如圖 1所示為8位數(shù)據(jù)位無校驗(yàn)位的UART時序圖,當(dāng)使用UART進(jìn)行通信時,MCU在檢測到起始位后開始接收其后的數(shù)據(jù)。

        image.png

        圖 1  無校驗(yàn)位,8位數(shù)據(jù)位,串口時序圖

        如圖 2所示為STM32串口外設(shè)檢測到起始位的條件,當(dāng)檢測到下降沿(3個高電平+1個低電平)并且采樣序列1和采樣序列2均為0時,STM32檢測到一個起始位。

        每個位采樣16次,采樣點(diǎn)的間隔時間為tbit/16,tbit為每個位的時間,例如通信波特率為115.2kbps,則tbit=1/115.2k=8.68us,則采樣點(diǎn)的間隔時間為8.68us/16=0.5425us。

        image.png

        圖 2  STM32串口外設(shè)檢測到起始位的條件

        下面以RSM485PCHT的門限電平為例進(jìn)行說明,當(dāng)AB差分電壓處于±200mV之內(nèi)時,模塊RXD引腳輸出狀態(tài)不確定。

        當(dāng)總線變?yōu)榭臻e時,若RXD引腳輸出低電平,則可能導(dǎo)致MCU接收到錯誤數(shù)據(jù)或MCU在正常數(shù)據(jù)后誤接收1個0x00。

        image.png

        圖 3  RSM485PCHT門限電平

        2、 數(shù)據(jù)發(fā)生了什么變化?

        如圖 4所示,收發(fā)器1在AB差分電壓處于±200mV門限電平之內(nèi)時輸出高電平,收發(fā)器2在AB差分電壓處于±200mV門限電平之內(nèi)時輸出低電平,可以看出,收發(fā)器2可能導(dǎo)致MCU接收到錯誤的數(shù)據(jù),并且在數(shù)據(jù)后誤接收到1個0x00數(shù)據(jù)。

        image.png

        圖 4  數(shù)據(jù)后多0x00

        如圖 5所示,若總線上持續(xù)存在數(shù)據(jù)信號或連續(xù)發(fā)送多個字節(jié)數(shù)據(jù),在數(shù)據(jù)之間存在的空閑狀態(tài)可能會被收發(fā)器2識別為1個起始位,從而導(dǎo)致數(shù)據(jù)連續(xù)錯誤。

        image.png

        圖 5  數(shù)據(jù)連續(xù)錯誤

        3、 解決方案

        總線空閑時若AB差分電壓處于門限電平之內(nèi),則可能導(dǎo)致數(shù)據(jù)出錯,可以使用如下方法避免總線空閑時AB差分電壓處于門限電平之內(nèi)。

        方案一:在總線組網(wǎng)距離偏長時,為避免因?yàn)榭偩€信號反射而導(dǎo)致通訊異常的情況,都會增加終端電阻來解決總線反射問題,但此時總線電平會被拉低,從而增大總線空閑時AB差分電壓處于門限電平之內(nèi)的風(fēng)險(xiǎn),具體入下圖6所示。面對此類應(yīng)用可使用致遠(yuǎn)電子RSM(3)485PCHT模塊,RS-485接口設(shè)計(jì)時可通過外置一個較小值的上下拉電阻調(diào)節(jié)空閑狀態(tài)時的電壓值,使電平處于門限電平外,具體的幅值變化如下圖7所示。

        image.png

        圖6  終端電阻對總線電平影響

        image.png

        圖7  RSM(3)485PCHT實(shí)物及應(yīng)用連接圖

        方案二:組網(wǎng)中增加終端電阻后,同樣可使用致遠(yuǎn)電子RSM(3)485ECHT模塊,RSM(3)485ECHT具備極高的總線兼容性門限電平為-40mV~-20mV,具體如下圖8所示,在總線電平被終端電阻拉低時(最壞情況總線高電平幅值為0V)仍可識別總線電平,保證通訊的穩(wěn)定性。

        image.png

        圖8  RSM(3)485ECHT實(shí)物圖及門限電平參數(shù)




        關(guān)鍵詞:

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 福贡县| 鄯善县| 荃湾区| 湖南省| 吉隆县| 苍山县| 武功县| 新巴尔虎左旗| 高唐县| 昭觉县| 玛纳斯县| 祁阳县| 江门市| 枝江市| 利川市| 专栏| 电白县| 宣威市| 普定县| 益阳市| 延津县| 敦化市| 洛阳市| 金门县| 东宁县| 齐齐哈尔市| 社旗县| 清镇市| 昆山市| 通海县| 滁州市| 马边| 岳阳县| 乐亭县| 乌鲁木齐县| 民权县| 麟游县| 龙岩市| 兰坪| 崇明县| 辽源市|