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

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

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

五種RS485自動切換方向的方法

Q4MP_gh_c472c21 ? 來源:創(chuàng)易棧 ? 作者:創(chuàng)易棧 ? 2022-03-29 11:51 ? 次閱讀

五種RS485自動切換方向的方法

RS485作為常見的總線之一,幾乎每個工控設(shè)備都在用,我們也對其熟悉不過了。我們都知道RS485雙半雙工通信,其CPU內(nèi)部的根源是串口通信,串口通信是區(qū)分發(fā)送TX和接收RX的,在同一對差分信號線上同時傳輸TX、RX,就是進行方向的控制,方向的控制時機不對,數(shù)據(jù)傳送是要出問題的。

例如下圖1、圖2中,CPU端的TX信號發(fā)送完畢后約100uS后方向引腳 拉低,切換到接收狀態(tài),但是在TX信號發(fā)送完畢后60uS從機就回復(fù)了的RX信號,由于此時還是處于RS485芯片還是處于發(fā)送狀態(tài),此時的接收數(shù)據(jù)將會被忽略,在系統(tǒng)層面就是體現(xiàn)為數(shù)據(jù)接收丟包。

五種RS485自動切換方向的方法

圖1 RS485 接口電路

有些讀者會可能回想,只要從機回復(fù)數(shù)據(jù)晚一些,不要這么快速回復(fù),就不存在這個問題了。但是從機一般都是客戶的機器,我們幾乎不可能要求別人更改回復(fù)時間。例如三菱的Fx3U PLC作為從機時,從主機發(fā)送數(shù)據(jù)結(jié)束到從機回復(fù)數(shù)據(jù),只用了60uS,部分控制板,甚至回復(fù)時間在10uS以內(nèi)。

研究RS485的方向切換的目標(biāo)就是:RS485總線空閑時要處于接收狀態(tài),如果有主機發(fā)送數(shù)據(jù),則置高方向引腳,發(fā)送完成及時切換到接收狀態(tài)。

五種RS485自動切換方向的方法

圖2 方向腳切換時間過長的情形

一、RS485方向切換的方案1:使用反相器自動切換

大部分的低成本RS232-RS485轉(zhuǎn)換器采用了這種方法。具體的實現(xiàn)方法是:把串口的發(fā)送信號TX作為反相器的輸入,反相器的輸出則用來控制RS485收發(fā)器的收發(fā)控制引腳,同時在RS485收發(fā)器的A/B輸出端加上上拉/下拉電阻,具體電路如圖3所示。

五種RS485自動切換方向的方法

圖3 使用反相器自動切換電路

在空閑狀態(tài)下,串口的發(fā)送信號TXD為高電平,經(jīng)過反相器后輸出低電平,使485芯片處于接收狀態(tài),而RS485總線由于上下拉電阻的作用處于A高B低的狀態(tài)。當(dāng)發(fā)送數(shù)據(jù)時,TXD信號線上的低電平比特位控制485芯片進入發(fā)送狀態(tài),將該比特發(fā)送出去。而高電平比特位則使485芯片處于接收狀態(tài),由于RS485總線上下拉電阻把總線置于A高B低的狀態(tài),即表示發(fā)送了高電平。

簡單說,這種電路,就是發(fā)送低電平時,485芯片是 發(fā)送狀態(tài),而發(fā)送高電平時,485芯片屬于接收狀態(tài)。

優(yōu)勢:

只需要增加一個反相器就可以實現(xiàn),無需軟件的干預(yù),反相器可以使用一個三極管即可以實現(xiàn),成本十分低廉(幾分錢);

劣勢:

由于上下拉電阻不可能選值太小,否則會影響正常發(fā)送的數(shù)據(jù)電平。所以這種換向模式在發(fā)送高電平時的驅(qū)動能力,并且,理論上我要求方向引腳要比數(shù)據(jù)先切換方向,但是由于方向引腳經(jīng)過了反相器,達到芯片的時間變長了,比數(shù)據(jù)晚到,所以速率太高的情況容易丟包。如果需要驅(qū)動多個從設(shè)備,就會顯得力不從心,并且驅(qū)動能力太弱,只能短距離傳輸;并且傳輸速度不能太快,一般使用9600bps。

二、RS485方向切換的方案2:使用軟件控制方向

市面上大部分的內(nèi)置RS485的產(chǎn)品基本都是采用此類的方案,如下圖4中的RS_EN引腳。具體的 實現(xiàn)方式是:在空閑器件,RS_EN 為低電平,MCU處于接收狀態(tài),在準(zhǔn)備發(fā)送數(shù)據(jù)之前,MCU會拉高RS_EN,U1處于發(fā)送狀態(tài),發(fā)送完畢之后,RS_EN重新處于低電平,U1處于接收狀態(tài)。

五種RS485自動切換方向的方法

圖4 使用軟件控制方向切換

此類方案的關(guān)鍵是軟件需要掌握好RS_EN引腳的高低電平的時機,假設(shè)發(fā)送完數(shù)據(jù)后,沒有及時切換到接收狀態(tài),而此時從機又回復(fù)數(shù)據(jù),此時就會引起丟包,就會出現(xiàn)文章開頭圖2中的情形。不幸的時,軟件工程師的水平參差不齊,特別是在運行操作系統(tǒng)(Linux、WIndows等)以后,想要十分準(zhǔn)確控制方向引腳的高低電平已經(jīng)十分困難。

優(yōu)勢:

無需增加任何的硬件成本,且RS485的驅(qū)動能力不受影響。

劣勢:

依賴于軟件控制方向引腳,如果運行復(fù)雜的操作系統(tǒng),控制引腳的優(yōu)先級不夠高,或者軟件的優(yōu)化的不夠好,都會導(dǎo)致方向引腳的切換不及時,到時數(shù)據(jù)的丟包。并且,是否丟包還取決于從機的回復(fù)時間,測試過程不一定能夠測試出來。

三、RS485方向切換的方案3:使用觸發(fā)器控制方向

為了克服反相器換向的缺點,出現(xiàn)了一種由RS觸發(fā)器控制的自動換向技術(shù),如圖5所示。這個電路的關(guān)鍵是反相器和RS觸發(fā)器之間的由二極管、電阻、電容組成的充放電電路。在空閑狀態(tài)下,485芯片仍處于接收狀態(tài)。當(dāng)TXD信號線上發(fā)送數(shù)據(jù)的低電平起始位時,反相器輸出高電平,通過二極管為電容迅速充電,使RS觸發(fā)器R端為高電平,S端為低電平,觸發(fā)器輸出高電平,把ISL3152E置于發(fā)送狀態(tài);當(dāng)TXD信號線轉(zhuǎn)換為高電平時,反相器輸出低電平,電容通過電阻緩慢放電,使得R端暫時仍處于高電平狀態(tài),加上S端的高電平狀態(tài),使觸發(fā)器的輸出保持前面的高電平狀態(tài),485芯片仍處于發(fā)送狀態(tài)。電容經(jīng)過一段時間放電后,R端電壓轉(zhuǎn)變?yōu)榈碗娖?則觸發(fā)器輸出低電平,把485芯片置回接收狀態(tài)。通過選擇電阻和電容值,我們可以控制放電速度,使得一個低電平的起始位足以在整個字節(jié)發(fā)送。此類方案參數(shù)一致性非常差,實際使用的都是技高人膽大的。

五種RS485自動切換方向的方法

圖5 使用觸發(fā)器切換方向

優(yōu)勢:

無需軟件干預(yù)切換方向,驅(qū)動能力強(取決于RS485芯片)。

劣勢:

1.增加的器件較多;

2.不同的波特率需要匹配不同的RC參數(shù)

3.溫度、老化、一致性等問題,會導(dǎo)致RC參數(shù)變化,從而導(dǎo)致切換時間錯亂導(dǎo)致丟包。

四、RS485方向切換的方案4:max13487芯片

為了克服軟件參與的方向控制不確定性,美信公司發(fā)布了宣稱首款支持芯片自動換向的RS485芯片,如下圖6,對比其他的RS485芯片,MAX16487的/RE引腳有兩個用于:

(1)/RE為低電平時,打開RO方向的接收數(shù)據(jù)。

(2)/RE為高電平時,芯片進入自動方向切換模式。

一般使用我們將/RE連接高電平,即自動換向模式。

五種RS485自動切換方向的方法

圖6 MAX13487 內(nèi)部框圖

由于美信沒有公布內(nèi)部的邏輯原理,只描述內(nèi)部有一個狀態(tài)機,我們只能外部猜測其工作原理

1.空閑模式下,數(shù)據(jù)流方向為RO方向;此為狀態(tài)1;

2.當(dāng)串口端有數(shù)據(jù)發(fā)送時,由于起始位為低電平,經(jīng)過邏輯功能D后,A

4.經(jīng)過一系列的邏輯運算(以RI、DI為輸入,但是不知道其內(nèi)部的原理);狀態(tài)機檢測到數(shù)據(jù)發(fā)送完畢,芯片變成接收狀態(tài)1。

優(yōu)勢:

由芯片自動切換方向,無需軟件干預(yù)切換方向,驅(qū)動能力強,通信速率高,MAX13488 宣稱最高可以到16Mbps,與普通的RS485芯片性能一樣。

劣勢:

價格比普通的RS485芯片貴一倍以上。

五、RS485方向切換的方案5:周立功芯片RSM(3)485PHT

周立功公司將RS485的三個相關(guān)的功能模塊:DC電源、隔離、RS485芯片三合一,封裝在同一個芯片內(nèi)部,由于沒有內(nèi)部的資料,我們無法獲知其內(nèi)部的邏輯功能。官方資料宣稱最高速率可以達到500Kbps,對于一般的應(yīng)用足以。

優(yōu)勢:

由芯片自動切換方向,無需軟件干預(yù)切換方向,驅(qū)動能力強,通信速率高,DC電源、隔離、RS485芯片功能三合一,節(jié)省板卡空間。

劣勢:

價格比分立器件搭建RS485電路貴,且一旦損害需要要整體更換。

五種RS485自動切換方向的方法

圖7 RSM(3)485PHT原理圖

六、總結(jié)

上述我們提供了5種RS485自動切換方向的方法:分別是反相器法、軟件控制法、觸發(fā)器法、美信MAX13488芯片、周立功RSM(3)485PHT。

反相器法由于驅(qū)動能力太弱、速率太低,僅適用于要求不高的調(diào)試場合,工控場合慎選。

軟件控制法對軟件的要求較高,特別是帶操作系統(tǒng)的芯片,軟件控制的時機較困難。

觸發(fā)器法由于參數(shù)一致性太差,只適合波特率恒定、速率不高的場合;

美信以及周立功提供的方案已經(jīng)芯片化,經(jīng)過了大量的市場驗證,且有大公司做背書,可靠性、溫度性都有很大的保障,優(yōu)先推薦。

原文標(biāo)題:全面解析:RS485方向切換的幾種方案及優(yōu)劣勢對比

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

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

    關(guān)注

    68

    文章

    10805

    瀏覽量

    210847
  • RS485
    +關(guān)注

    關(guān)注

    39

    文章

    1135

    瀏覽量

    82071
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2859

    瀏覽量

    87912
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1607

    瀏覽量

    55381

原文標(biāo)題:全面解析:RS485方向切換的幾種方案及優(yōu)劣勢對比

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于5RS485自動切換方向方案對比

    RS485 作為常見的總線之一,幾乎每個工控設(shè)備都在用,我們也對其熟悉不過了。我們都知道 RS485 雙半雙工通信,其 CPU 內(nèi)部的根源是串口通信,串口通信是區(qū)分發(fā)送 TX 和接收 RX 的,在
    的頭像 發(fā)表于 02-27 10:02 ?1.6w次閱讀
    關(guān)于5<b class='flag-5'>種</b><b class='flag-5'>RS485</b><b class='flag-5'>自動</b><b class='flag-5'>切換</b><b class='flag-5'>方向</b>方案對比

    5RS485電路自動切換方向方法和優(yōu)劣勢對比

    RS485作為常見的總線之一,幾乎每個工控設(shè)備都在用,我們也對其熟悉不過了。我們都知道RS485雙半雙工通信,其CPU內(nèi)部的根源是串口通信,串口通信是區(qū)分發(fā)送TX和接收RX的,在同一對差分信號線上同時傳輸TX、RX,就是進行方向
    發(fā)表于 03-13 10:15 ?2757次閱讀

    RS485常見問題及解決方法

    RS485總線是工業(yè)上最常用的通信方式之一,在實際布線或使用過程中通常會出現(xiàn)一系列問題,今天總結(jié)一些平時RS485通訊可能會出現(xiàn)的通訊問題及其解決方法以供大家參考。什么是RS485?
    的頭像 發(fā)表于 06-14 08:20 ?1667次閱讀
    <b class='flag-5'>RS485</b>常見問題及解決<b class='flag-5'>方法</b>

    如何自動切換RS485 RTS引腳

    引腳,檢查了從MC2200到RS485的TX和RX?,F(xiàn)在我需要從MC2200中切換RTS引腳,有沒有方法可以切換RTS引腳?連接:PIC32 MX(USB CDC)-GT;MC2200
    發(fā)表于 09-17 16:44

    嵌入式系統(tǒng)應(yīng)用中如何實現(xiàn)RS485方向切換?

    本文分別給出硬件實現(xiàn)RS485方向切換和軟件實現(xiàn)RS485方向切換
    發(fā)表于 05-24 06:25

    MCU中RS485接口設(shè)計資料分享

    RS485接口具有抗干擾性強,適合長距離傳輸和多站點通訊等特點,因此在工業(yè)控制中被普遍使用。MCU只有UART接口,如果需要使用RS485通訊,需要外面加一個Transceiver。由于RS485
    發(fā)表于 02-08 07:44

    幾種RS485接口收發(fā)方向轉(zhuǎn)換方法

    幾種RS485接口收發(fā)方向轉(zhuǎn)換方法。
    發(fā)表于 12-21 14:54 ?57次下載

    RS485的實際應(yīng)用和維護RS485的常用方法

    RS485總線是一常見的串行總線標(biāo)準(zhǔn),采用平衡發(fā)送與差分接收的方式,因此具有抑制共模干擾的能力。在一些要求通信距離為幾十米到上千米的時候,RS485總線是一應(yīng)用最為廣泛的總線。而且
    發(fā)表于 11-03 19:48 ?5645次閱讀
    <b class='flag-5'>RS485</b>的實際應(yīng)用和維護<b class='flag-5'>RS485</b>的常用<b class='flag-5'>方法</b>

    RS485方向切換的方案及分析

    來源:創(chuàng)易棧 RS485作為常見的總線之一,幾乎每個工控設(shè)備都在用,我們也對其熟悉不過了。我們都知道RS485雙半雙工通信,其CPU內(nèi)部的根源是串口通信,串口通信是區(qū)分發(fā)送TX和接收RX的,在同一
    的頭像 發(fā)表于 09-16 14:43 ?5646次閱讀

    RS485方向切換的方案

    來源:創(chuàng)易棧 RS485作為常見的總線之一,幾乎每個工控設(shè)備都在用,我們也對其熟悉不過了。我們都知道RS485雙半雙工通信,其CPU內(nèi)部的根源是串口通信,串口通信是區(qū)分發(fā)送TX和接收RX的,在同一
    的頭像 發(fā)表于 09-25 14:18 ?2392次閱讀
    <b class='flag-5'>RS485</b><b class='flag-5'>方向</b><b class='flag-5'>切換</b>的方案

    RS485方向切換的方案分析

    大部分的低成本RS232-RS485轉(zhuǎn)換器采用了這種方法。具體的實現(xiàn)方法是:把串口的發(fā)送信號TX作為反相器的輸入,反相器的輸出則用來控制RS485收發(fā)器的收發(fā)控制引腳
    的頭像 發(fā)表于 10-15 11:20 ?3911次閱讀
    <b class='flag-5'>RS485</b><b class='flag-5'>方向</b><b class='flag-5'>切換</b>的方案分析

    5RS485切換方向方法及優(yōu)劣勢分析

    來源:創(chuàng)易棧,排版整理:曉宇微信公眾號:芯片之家(ID:chiphome-dy)RS485作為常見的總線之一,幾乎每個工控設(shè)備都在用,我們也對其熟悉不過了。我們都知道RS485雙半雙工通...
    發(fā)表于 12-08 11:21 ?7次下載
    5<b class='flag-5'>種</b><b class='flag-5'>RS485</b><b class='flag-5'>切換</b><b class='flag-5'>方向</b>的<b class='flag-5'>方法</b>及優(yōu)劣勢分析

    RS485通信接口特點

    RS485屬于半雙工總線,在實際使用時一般采用主機輪詢或令牌傳遞的方法來分配總線控制權(quán),RS485設(shè)備需要進行發(fā)送和接收的方向轉(zhuǎn)換。比較通用的做法是,每個
    的頭像 發(fā)表于 09-23 14:30 ?2166次閱讀

    5RS485電路自動切換方向方法、優(yōu)劣勢對比

    RS485作為常見的總線之一,幾乎每個工控設(shè)備都在用,我們也對其熟悉不過了。我們都知道RS485雙半雙工通信,其CPU內(nèi)部的根源是串口通信,串口通信是區(qū)分發(fā)送TX和接收RX的,在同一對差分信號線上同時傳輸TX、RX,就是進行方向
    的頭像 發(fā)表于 01-10 09:00 ?5511次閱讀

    關(guān)于RS485收發(fā)的兩控制方法

    RS485屬于半雙工總線,在實際使用時一般采用主機輪詢或令牌傳遞的方法來分配總線控制權(quán),RS485設(shè)備需要進行發(fā)送和接收的方向轉(zhuǎn)換。比較通用的做法是,每個
    發(fā)表于 09-19 12:22 ?2694次閱讀
    關(guān)于<b class='flag-5'>RS485</b>收發(fā)的兩<b class='flag-5'>種</b>控制<b class='flag-5'>方法</b>