0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

踩坑又給項(xiàng)目埋雷,RS485自動(dòng)收發(fā)電路設(shè)計(jì)

張飛電子實(shí)戰(zhàn)營 ? 來源:張飛電子實(shí)戰(zhàn)營 ? 2024-12-06 09:59 ? 次閱讀

前言

這個(gè)文章的題目有點(diǎn)騙眼球的感覺,其實(shí)是自己踩過大坑,很是痛恨這個(gè)電路,希望大家以后不要踩了。工程師要畫這個(gè)電路時(shí),網(wǎng)上一搜,不經(jīng)深入分析就拿來用,給項(xiàng)目埋了炸彈。

RS485自動(dòng)收發(fā)電路

因?yàn)?a href="http://wenjunhu.com/tags/rs/" target="_blank">RS485采用叉分信號,只支持半雙工。正常的RS485芯片驅(qū)動(dòng)電路是需要GPIO來切換發(fā)送和接收模式。如下圖所示,一般的RS485電平轉(zhuǎn)換芯片都有RE/DE腳,用來切換收發(fā)模式。

fadd6caa-afd3-11ef-93f3-92fbcf53809c.jpg

RS485標(biāo)準(zhǔn)電路參考

嵌入式行業(yè),特別是MCU相關(guān)的都比較愛摳成本,便宜的MCU往往就是GPIO數(shù)量不夠。如果是上Linux系統(tǒng)的方案,一般串口支持RS485就還得改GPIO驅(qū)動(dòng),會(huì)有軟件工作量。于是有大聰明發(fā)明了自動(dòng)切換的電路,省掉了那個(gè)GPIO。下圖是網(wǎng)上找的一個(gè)自動(dòng)收發(fā)電路圖,收發(fā)原理直接看圖中文字描述。

1. 不發(fā)送數(shù)據(jù)時(shí),接收模式,沒問題。

2. 發(fā)送數(shù)據(jù)0時(shí),發(fā)送模式,輸出0,沒問題。

3. 發(fā)送數(shù)據(jù)1時(shí),接收模式,外圍A,B由上下拉電路控制,輸出1,問題出在這里。

fb0794b2-afd3-11ef-93f3-92fbcf53809c.jpg

RS485自動(dòng)收發(fā)電路

由于自己示波器測量的圖片丟失,網(wǎng)上找別的測試圖來說明,引用文章鏈接:

https://zhuanlan.zhihu.com/p/48018717

三極管的關(guān)斷時(shí)間較長(主要是由于三極管關(guān)斷時(shí)的存儲時(shí)間較長),因此若TXD發(fā)送低電平,DE&RE引腳較長時(shí)間后才會(huì)升至高電平,才會(huì)切到發(fā)送模式,發(fā)送低電平的延時(shí)時(shí)間較長,如下圖所示為1.204 μs。

fb201974-afd3-11ef-93f3-92fbcf53809c.jpg

關(guān)斷延時(shí)

二是自動(dòng)收發(fā)電路發(fā)送高電平是通過外部上下拉電阻驅(qū)動(dòng)的,上升沿較緩慢,波形如下圖所示,可以看出,發(fā)送高電平的上升沿較為緩慢,限制了高速通信的應(yīng)用。

fb4a770a-afd3-11ef-93f3-92fbcf53809c.jpg

上下拉驅(qū)動(dòng)上升沿緩慢

RS485自動(dòng)收發(fā)電路風(fēng)險(xiǎn)

如下圖所示,TXD變?yōu)楦唠娖?,DE&RE引腳降為低電平,AB差分電壓緩慢上升,由于此時(shí)RS-485收發(fā)器已經(jīng)處于接收狀態(tài),在AB差分電壓上升至RS-485收發(fā)器門限電平前RXD引腳會(huì)出現(xiàn)到一段時(shí)間的低電平信號,例如門限電平為-200mV~-50mV的收發(fā)器,AB差分電壓上升至-50mV前RS-485收發(fā)器均可輸出低電平,此低電平信號的時(shí)間與AB差分電壓上升時(shí)間和RS-485收發(fā)器的接收延時(shí)有關(guān)。由于串口一般是將每個(gè)位分成16份,檢測中間的3份的電平信號從而確定此位的信號高低,因此若此低電平信號保持至每個(gè)位的信號檢測時(shí),則會(huì)使MCU接收到一個(gè)起始位,從而接收到錯(cuò)誤的數(shù)據(jù),因此這個(gè)問題同樣限制了高速通信的應(yīng)用并且降低了通信的可靠性。

fb5ce3fe-afd3-11ef-93f3-92fbcf53809c.jpg

rxd接收到低電平

我們在實(shí)際應(yīng)用中就是遇到這個(gè)問題,概率收到錯(cuò)誤數(shù)據(jù),導(dǎo)致丟包(數(shù)據(jù)校驗(yàn)不通過而丟棄)。在研發(fā)的環(huán)境中,連接的終端設(shè)備少,距離近,這個(gè)丟包概率比較低,不容易發(fā)現(xiàn)。在Modbus應(yīng)用中,概率丟包只會(huì)影響數(shù)值更新速度慢,影響不大。但是我們在現(xiàn)場做升級操作時(shí),幾乎很難成功,因?yàn)樵谘邪l(fā)環(huán)境沒問題,我們優(yōu)先排查現(xiàn)場環(huán)境信號干擾等問題,浪費(fèi)了很多時(shí)間。這個(gè)電路有兩個(gè)缺點(diǎn):

1. 通信速度慢:

三極管有電容效應(yīng),導(dǎo)致關(guān)斷時(shí)間較長,導(dǎo)致RE/DE從低到高電平變化出現(xiàn)比較大的斜坡.同時(shí)485輸出高電平,是依靠上下拉來完成的,會(huì)導(dǎo)致上升沿不夠迅速,因此上下拉的阻值選擇也是影響速度的關(guān)鍵。

2. 驅(qū)動(dòng)能力弱:

由于當(dāng)tx為高,485電平是由其上拉電阻完成的,因此弱提高驅(qū)動(dòng)能力,就要減小電阻,由于485芯片驅(qū)動(dòng)能力有限,電阻太小會(huì)導(dǎo)致tx為低的時(shí)候,485芯片無法將485總線拉低,因此總線上所有上拉電阻的并聯(lián)值不應(yīng)該小于375歐。還用當(dāng)接入120歐的終端電阻的時(shí)候,AB兩相的電壓差由終端電阻和上下拉分壓得到,會(huì)導(dǎo)致AB兩相的電壓差變小,因此自動(dòng)收發(fā)串口轉(zhuǎn)RS485設(shè)計(jì)不太適合添加終端電阻。

終端電阻的問題

終端電阻主要是為了匹配通信線的特性阻抗,防止信號反射,提高信號質(zhì)量。在組建RS-485總線網(wǎng)絡(luò)時(shí),通常使用特性阻抗為120Ω的屏蔽雙絞線,由于RS-485收發(fā)器輸入阻抗一般較高(例如RSM485ECHT輸入阻抗為96kΩ,最多可連接256個(gè)節(jié)點(diǎn)),在信號傳輸?shù)娇偩€末端時(shí)會(huì)由于受到的瞬時(shí)阻抗發(fā)生突變(以RSM485ECHT為例,阻抗由120Ω變?yōu)?6kΩ),導(dǎo)致信號發(fā)生反射,影響信號的質(zhì)量。

實(shí)際上只有距離+高速率的環(huán)境需要添加終端電阻,例如長度>500米 + 波特率超過500kbps。

總結(jié)和建議

RS485總線和電路看似簡單,但是要看應(yīng)用場景,對穩(wěn)定性有要求的不建議使用自動(dòng)收發(fā)驅(qū)動(dòng)電路。

在沒有遇到信號反射問題時(shí),盡量不要使用終端電阻;硬件設(shè)計(jì)時(shí),可以預(yù)留外掛或焊接120Ω電阻的位置。

要查看RS485驅(qū)動(dòng)芯片的輸入阻抗參數(shù),和支持外掛設(shè)備數(shù)。上、下拉電阻與收發(fā)器輸入阻抗的并聯(lián)值應(yīng)大于375Ω;

如果是現(xiàn)場做工程項(xiàng)目,建議帶上萬用表和示波器,測一下空閑狀態(tài)下的電壓值,收發(fā)的信號質(zhì)量,這樣才安心。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • RS485
    +關(guān)注

    關(guān)注

    39

    文章

    1159

    瀏覽量

    82324
  • 收發(fā)電路
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    2018

原文標(biāo)題:踩坑又給項(xiàng)目埋雷,這RS485自動(dòng)收發(fā)電路設(shè)計(jì)

文章出處:【微信號:zfdzszy,微信公眾號:張飛電子實(shí)戰(zhàn)營】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RS422/RS485收發(fā)器SC5122替代MAX3490廣泛用于通信領(lǐng)域

    RS422/RS485收發(fā)器SC5122替代MAX3490廣泛用于通信領(lǐng)域
    的頭像 發(fā)表于 11-26 10:10 ?197次閱讀
    <b class='flag-5'>RS</b>422/<b class='flag-5'>RS485</b><b class='flag-5'>收發(fā)</b>器SC5122替代MAX3490廣泛用于通信領(lǐng)域

    工業(yè)現(xiàn)場經(jīng)常用到的 RS485 通信,原來它的收發(fā)機(jī)制是這樣的

    _EN2)置于發(fā)送狀態(tài),完成數(shù)據(jù)發(fā)送后,再把RS485收發(fā)器件切回接收狀態(tài)。 這種方式簡單易行,不需增加額外成本,這種方法很多人都會(huì)知道并且基本上都用的方法。 第二種:自動(dòng)換向 但是,當(dāng)我們采用某種硬件平臺
    發(fā)表于 11-26 09:37

    RS485典型電路設(shè)計(jì)

    RS485常用的典型電路設(shè)計(jì)
    發(fā)表于 11-24 14:09 ?1次下載

    RS485保護(hù)電路設(shè)計(jì)改進(jìn)方案

    RS485保護(hù)電路的設(shè)計(jì) 1問題: 最近設(shè)計(jì)的一塊板子的RS485接口因?yàn)楦唠妷罕粨舸龤В?慘不忍睹??梢砸妶D片。 圖一 事故現(xiàn)場 ? 其具體嚴(yán)重的后果有三個(gè): TVS被擊穿; RS485
    的頭像 發(fā)表于 11-20 10:45 ?394次閱讀
    <b class='flag-5'>RS485</b>保護(hù)<b class='flag-5'>電路設(shè)計(jì)</b>改進(jìn)方案

    如何解決RS-485自動(dòng)收發(fā)電路應(yīng)用異常?

    導(dǎo)讀為節(jié)省MCU的I/O資源,RS-485自動(dòng)收發(fā)收發(fā)器經(jīng)常會(huì)被使用,但該類收發(fā)器或多或少會(huì)遇到一些應(yīng)用問題,這一類問題該如何解決?本文將
    的頭像 發(fā)表于 11-02 08:06 ?274次閱讀
    如何解決<b class='flag-5'>RS-485</b><b class='flag-5'>自動(dòng)</b><b class='flag-5'>收發(fā)電路</b>應(yīng)用異常?

    Rs485電路的限流電阻為什么都用ptc

    在探討為什么RS485電路的限流電阻常用PTC(Positive Temperature Coefficient,正溫度系數(shù))材料時(shí),我們需要從多個(gè)角度進(jìn)行深入分析。 一、引言 RS485作為一種
    的頭像 發(fā)表于 10-06 14:58 ?698次閱讀
    <b class='flag-5'>Rs485</b><b class='flag-5'>電路</b>的限流電阻為什么都用ptc

    RS485收發(fā)模塊無法接收數(shù)據(jù)

    RS485收發(fā)模塊 NSI83085只能發(fā)送,不能接收數(shù)據(jù) 用RS485轉(zhuǎn)串口調(diào)試板子發(fā)現(xiàn),板子發(fā)送的字符電腦能夠收到,但是電腦發(fā)送的字符,板子收不到,剛開始認(rèn)為是RE使能腳的問題,在軟件把RE
    發(fā)表于 07-31 18:16

    485自動(dòng)收發(fā)電路優(yōu)缺點(diǎn)

    以下是關(guān)于485自動(dòng)收發(fā)電路優(yōu)缺點(diǎn): 優(yōu)點(diǎn): 通信距離長:485自動(dòng)收發(fā)電路可以實(shí)現(xiàn)長距離通信,
    的頭像 發(fā)表于 07-13 09:05 ?1585次閱讀

    純干貨!RS485接口電路設(shè)計(jì)攻略

    發(fā)送使能信號,實(shí)現(xiàn)自動(dòng)或手動(dòng)切換。 ? 對于自動(dòng)收發(fā)電路設(shè)計(jì),可能需要更復(fù)雜的邏輯來自動(dòng)管理發(fā)送和接收狀態(tài),以適應(yīng)不同通信場景。 RS485
    發(fā)表于 05-27 14:29

    RS485接口電路設(shè)計(jì)攻略

    本文主要討論如何設(shè)計(jì)RS485接口電路,以及簡單介紹接口電路設(shè)計(jì)通常涉及到幾個(gè)關(guān)鍵要素。什么是RS485?RS485是半雙工通信,半雙工通信
    的頭像 發(fā)表于 05-24 08:20 ?3159次閱讀
    <b class='flag-5'>RS485</b>接口<b class='flag-5'>電路設(shè)計(jì)</b>攻略

    rs485收發(fā)器芯片選擇?

    在當(dāng)今工業(yè)自動(dòng)化、智能樓宇以及數(shù)據(jù)通信等領(lǐng)域,RS485通信協(xié)議因其出眾的可靠性、長距離傳輸和多節(jié)點(diǎn)通信能力備受青睞。然而,為了實(shí)現(xiàn)RS485通信,選擇一款合適的收發(fā)器芯片至關(guān)重要。本
    的頭像 發(fā)表于 05-14 14:45 ?1098次閱讀

    啟明智顯技術(shù)分享|芯片應(yīng)用中RS485自動(dòng)收發(fā)電路常見問題解析

    RS485自動(dòng)收發(fā)電路”作為芯片應(yīng)用中的一項(xiàng)關(guān)鍵技術(shù),其在數(shù)據(jù)傳輸和通信方面發(fā)揮著不可或缺的作用。啟明智顯在多個(gè)尺寸的中控屏和串口屏上基于ESP32-S3方案和Model系列產(chǎn)品實(shí)現(xiàn)了對RS
    的頭像 發(fā)表于 04-29 14:55 ?2354次閱讀
    啟明智顯技術(shù)分享|芯片應(yīng)用中<b class='flag-5'>RS485</b><b class='flag-5'>自動(dòng)</b><b class='flag-5'>收發(fā)電路</b>常見問題解析

    RS-485自動(dòng)收發(fā)電路中偏置電阻與終端電阻的選用

    RS-485自動(dòng)收發(fā)電路比帶控制腳電路在應(yīng)用上少一個(gè)I/O腳,在主控資源緊張時(shí)會(huì)更受歡迎。那么自動(dòng)收發(fā)電
    的頭像 發(fā)表于 01-23 11:24 ?2741次閱讀
    <b class='flag-5'>RS-485</b><b class='flag-5'>自動(dòng)</b><b class='flag-5'>收發(fā)電路</b>中偏置電阻與終端電阻的選用

    什么是RS485接口?

    、應(yīng)用以及一些常見的問題。 一、RS485接口概述 RS485接口是一種半雙工、平衡傳輸?shù)耐ㄐ沤涌冢瑥V泛應(yīng)用于工業(yè)自動(dòng)化、智能交通、智能建筑等領(lǐng)域。它基于差分信號傳輸,具有較強(qiáng)的抗干擾能力,使得數(shù)據(jù)傳輸更加穩(wěn)定可靠。
    的頭像 發(fā)表于 01-11 17:37 ?5060次閱讀

    使用自動(dòng)收發(fā)RS485電路時(shí),A,B線波形只有半波是怎么回事?

    各位好,我在調(diào)試RS485時(shí)候遇到一個(gè)問題。在使用自動(dòng)收發(fā)RS485電路時(shí),發(fā)現(xiàn)A,B線波形只有半波。
    發(fā)表于 01-03 08:34