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

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

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

原來(lái)RS-485這么簡(jiǎn)單?

QuTG_CloudBrain ? 來(lái)源:記得誠(chéng) ? 2023-03-22 09:20 ? 次閱讀

RS-485概述

RS-485和RS-232一樣,都是串行通信標(biāo)準(zhǔn),現(xiàn)在的標(biāo)準(zhǔn)名稱是TIA485/EIA-485-A,但是人們會(huì)習(xí)慣稱為RS-485標(biāo)準(zhǔn),RS-485常用在工業(yè)、自動(dòng)化、汽車和建筑物管理等領(lǐng)域。

RS-485總線彌補(bǔ)了RS-232通信距離短,速率低的缺點(diǎn),RS-485的速率可高達(dá)10Mbit/s,理論通訊距離可達(dá)1200米;RS-485和RS-232的單端傳輸不一樣,是差分傳輸,使用一對(duì)雙絞線,其中一根線定義為A,另一個(gè)定義為B。

RS-485物理層

RS-485的物理層負(fù)責(zé)在設(shè)備和物理傳輸介質(zhì)之間傳輸原始數(shù)據(jù)。它處理電信號(hào)到數(shù)字?jǐn)?shù)據(jù)的轉(zhuǎn)換,同時(shí)定義電壓、時(shí)序、數(shù)據(jù)速率等。

① 差分信號(hào)

長(zhǎng)距離布線會(huì)有信號(hào)衰減,而且引入噪聲和干擾的可能性更大,在線纜A和B上的表現(xiàn)就是電壓幅度的變化,但是,采用差分線的好處就是,差值相減就會(huì)忽略掉干擾依舊能輸出正常的信號(hào),把這種差分接收器忽略兩條信號(hào)線上相同電壓的能力稱為共模抑制。

02f4c218-c803-11ed-bfe3-dac502259ad0.png

標(biāo)準(zhǔn)規(guī)定了,邏輯1:+2V to +6V;邏輯0:-6V to -2V。

RS-485不需要使用特定的總線電壓,只看最小差分電壓,在較長(zhǎng)的電纜長(zhǎng)度上,接收器接收到的電壓可能會(huì)降低到+/- 200 mV,這對(duì)于RS-485仍然是完全可以接受的,這也是RS-485的優(yōu)點(diǎn)之一。

031047e0-c803-11ed-bfe3-dac502259ad0.png

很多收發(fā)器的標(biāo)準(zhǔn)達(dá)到甚至超過(guò)TIA/EIA-485A規(guī)范,在實(shí)際使用中,以器件的SPEC參數(shù)為主,如下某收發(fā)器的負(fù)輸入閾值最小也是-200mV。

03301b4c-c803-11ed-bfe3-dac502259ad0.png

② 信號(hào)定義

現(xiàn)在很多的RS-485轉(zhuǎn)換器都是兼容RS-422的,所以看到很多轉(zhuǎn)換器上面的信號(hào)都是T/R+、T/R-,即對(duì)應(yīng)RS-485的A+和B-。

03445314-c803-11ed-bfe3-dac502259ad0.png

對(duì)于DB9針型的母頭,RS-485有如下的接線定義示意,Pin6~Pin9為N/A不接。

DB9 輸出信號(hào) RS-422全雙工接線 RS-485半雙工接線
1 T/R+ 發(fā)(A+) RS-485(A+)
2 T/R- 發(fā)(B-) RS-485(B-)
3 RXD+ 收(A+)
4 RXD- 收(B-)
5 GND 地線 地線

③拓?fù)浣Y(jié)構(gòu)

RS485有兩線制和四線制兩種接線,四線制只能實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信方式,現(xiàn)很少采用,多采用的是兩線制接線方式,這種接線方式為總線拓?fù)浣Y(jié)構(gòu),在同一總線上最多可以掛接32個(gè)節(jié)點(diǎn)。

RS-485總線同I2C,也是主從模式,支持點(diǎn)對(duì)點(diǎn)單從機(jī)模式,也支持多從機(jī)模式,不支持多主機(jī)模式。

035cfae0-c803-11ed-bfe3-dac502259ad0.jpg

RS-485收發(fā)器

RS-485是差分傳輸,如果用單片機(jī)控制RS-485接口的設(shè)備,需要用到收發(fā)器,這一點(diǎn)和CAN總線是類似的,如下是一個(gè)MCU控制一個(gè)RS-485的圖示。

037c5d54-c803-11ed-bfe3-dac502259ad0.jpg

收發(fā)器內(nèi)部是一個(gè)接收器(上半部分)加一個(gè)發(fā)送器(下半部分),下面簡(jiǎn)單說(shuō)說(shuō)收發(fā)器的原理,便于理解MCU是如何和485設(shè)備通信的。

0396d684-c803-11ed-bfe3-dac502259ad0.png

RS-485收發(fā)器內(nèi)部結(jié)構(gòu)

其中:

A和B為總線;

R為接收器輸入;

RE為接收器使能信號(hào);

DE為發(fā)送器使能信號(hào);

D為發(fā)送器輸出;

對(duì)于使能信號(hào),字母上面加一橫的為低電平有效(如上圖RE),不加的為高電平有效(如DE)。

對(duì)于發(fā)送器,有如下的真值表:

1、當(dāng)驅(qū)動(dòng)器使能引腳DE為邏輯高時(shí),差分輸出A和B遵循數(shù)據(jù)輸入D處的邏輯狀態(tài)。D處的邏輯高導(dǎo)致A轉(zhuǎn)為高,B轉(zhuǎn)為低。在這種情況下,定義為VOD=VA-VB的差分輸出電壓為正。當(dāng)D為低時(shí),輸出狀態(tài)反轉(zhuǎn),B變高,A變低,VOD為負(fù)。

2、當(dāng)DE低時(shí),兩個(gè)輸出都變成高阻抗。在這種情況下,與D處的邏輯狀態(tài)是不相關(guān)的。

03acba6c-c803-11ed-bfe3-dac502259ad0.png

發(fā)送器真值表

對(duì)于接收器,有如下的真值表:

1、當(dāng)接收器使能引腳RE邏輯低時(shí),接收器被激活。當(dāng)定義為VID=VA–VB的差分輸入電壓為正且高于正輸入閾值VIT+時(shí),接收機(jī)輸出R變高。當(dāng)VID為負(fù)且低于負(fù)輸入閾值VIT-,接收機(jī)輸出R變低。如果VID在VIT+和VIT-之間,則輸出不確定。

2、當(dāng)RE為邏輯高或懸空時(shí),接收機(jī)輸出為高阻抗,VID的大小和極性無(wú)關(guān)。

03c45672-c803-11ed-bfe3-dac502259ad0.png

接收器真值表

RS-485數(shù)據(jù)鏈路

上面講到的RS-485收發(fā)器的工作原理,下面簡(jiǎn)單描述RS-485的數(shù)據(jù)鏈路,可以先看一下通俗易懂的UART協(xié)議幀格式

03dd2350-c803-11ed-bfe3-dac502259ad0.jpg

主機(jī)發(fā)送給從機(jī)或者從機(jī)發(fā)送給主機(jī),都會(huì)占用到A和B線,所以RS-485多用在半雙工模式。

主機(jī)的GPIO會(huì)控制RS-485收發(fā)器的DE管腳,設(shè)置發(fā)送模式,從UART TXD線向RS-485收發(fā)器的數(shù)據(jù)(D或DI)線發(fā)送一個(gè)字節(jié),收發(fā)器將在A和B線上將單端UART位流轉(zhuǎn)換為差分位流,數(shù)據(jù)離開收發(fā)器后,主機(jī)立即將收發(fā)器的模式切換為接收模式。

從機(jī)和主機(jī)是類似的,從機(jī)控制RS-485收發(fā)器的/RE管腳,設(shè)置為接收模式,接收主機(jī)發(fā)送的比特流,將其轉(zhuǎn)換為單端信號(hào),通過(guò)從機(jī)的UART RXD線接收,當(dāng)從機(jī)準(zhǔn)備好響應(yīng)時(shí),它按主機(jī)原來(lái)的方式進(jìn)行發(fā)送,而主機(jī)變?yōu)榻邮铡?/p>

RS-232和RS-485轉(zhuǎn)換

RS-232和RS-485之間可以轉(zhuǎn)換,一個(gè)方法是RS-232轉(zhuǎn)換成TTL,再由TTL轉(zhuǎn)換為RS-485,當(dāng)然也有芯片支持將RS-232直接轉(zhuǎn)換成RS-485,網(wǎng)上有很多模塊。

RS-232和RS-485轉(zhuǎn)換模塊

RS-485和CAN的區(qū)別

雖說(shuō)RS-485沒(méi)有標(biāo)準(zhǔn)的數(shù)據(jù)協(xié)議格式,但和CAN總線在很多地方是有相似的,比如A&B和CANH&CANL都是差分信號(hào),通信都需要收發(fā)器,都需要120歐姆的匹配電阻等等。

總線特性 CAN總線 RS-485總線
硬件成本 稍高 低廉
總線利用率 優(yōu)先級(jí)自動(dòng)仲裁,利用率高 采用輪詢,利用率低
數(shù)據(jù)傳輸率
錯(cuò)誤檢測(cè)機(jī)制 控制器帶校驗(yàn)機(jī)制,保證底層數(shù)據(jù)傳輸正確 只有物理層規(guī)范,無(wú)數(shù)據(jù)鏈路層規(guī)定
單節(jié)點(diǎn)故障影響 總線無(wú)影響 總線癱瘓
開發(fā)成本 軟件開發(fā)靈活,時(shí)間成本低 開發(fā)難度較大
系統(tǒng)成本 較低

RS-485常用電路

網(wǎng)上找的一個(gè)常用的RS-485電路,其中需要注意兩點(diǎn):

041d65e6-c803-11ed-bfe3-dac502259ad0.png

1、使能信號(hào)RE和DE可采用一個(gè)GPIO控制,節(jié)省資源,GPIO25輸出高電平,RE=DE=0V,進(jìn)入接收模式;GPIO25輸出低電平,RE=DE=3.3V,進(jìn)入發(fā)送模式。

2、有一些電路中會(huì)在A上加上拉,B上加下拉電阻,主要原因是:RS-485總線在idle狀態(tài),電平是不固定的,即電平在-200mV~+200mV之間,收發(fā)器可能輸出高也可能輸出低,UART在空閑時(shí)需要保持高電平的,如果此時(shí)收發(fā)器輸出一個(gè)低電平,對(duì)UART來(lái)說(shuō)是一個(gè)start bit,會(huì)導(dǎo)致通信異常,關(guān)于Ru和Rd的阻值在這里不作過(guò)多贅述,后面有機(jī)會(huì)會(huì)詳細(xì)寫一篇文章。

關(guān)于第二點(diǎn),需要注意:

① A上加上拉,B上加下拉,接反數(shù)據(jù)通信也可能出錯(cuò)。

② 某些收發(fā)器內(nèi)部集成上下拉電阻,則外部不需要再添加。

審核編輯:湯梓紅

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

    關(guān)注

    10

    文章

    3370

    瀏覽量

    105789
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2773

    瀏覽量

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

    關(guān)注

    10

    文章

    2858

    瀏覽量

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

    關(guān)注

    4

    文章

    562

    瀏覽量

    35230
  • RS-485
    +關(guān)注

    關(guān)注

    11

    文章

    672

    瀏覽量

    84112
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    原來(lái)RS-485的通信距離幾乎是無(wú)盡的

    RS-232/RS-485中繼轉(zhuǎn)換器一邊轉(zhuǎn)換還一邊中繼,每接一個(gè)中繼轉(zhuǎn)換器那么RS-485的距離就再增加1200米,還無(wú)需外接電源。中繼轉(zhuǎn)換器將RS-232口轉(zhuǎn)換為相互中繼的2個(gè)
    發(fā)表于 09-17 15:46

    無(wú)極性RS-485簡(jiǎn)單解決方法

    RS-485的2根信號(hào)線為A 和B,簡(jiǎn)單的定義就是電平高的一根為A,低的為B。如果RS-485總線傳輸了很遠(yuǎn)之后,A和B搞混了,不是搞反了,那么有如下簡(jiǎn)單的方法就可以將無(wú)極性的
    發(fā)表于 10-20 15:58

    RS-485的手拉手連接

    比較手拉手的方案與直接并聯(lián)方案,說(shuō)明手拉手可以實(shí)現(xiàn)不限距離和節(jié)點(diǎn)數(shù)的連接。1、簡(jiǎn)單RS-485直接并聯(lián)連接這種直接并聯(lián)連接也是RS-485的最簡(jiǎn)單的連接方式。5個(gè)
    發(fā)表于 12-08 09:35

    RS-485通訊協(xié)議的介紹

    改進(jìn)了物理層,因而保留了串口通訊協(xié)議應(yīng)用簡(jiǎn)單的特點(diǎn)。二、RS-485物理層RS-485RS-232的差異只體現(xiàn)在物理層上,它們的協(xié)議層是相同的,也是使用串口數(shù)據(jù)包的形式傳輸數(shù)據(jù)。而由
    發(fā)表于 08-20 06:08

    RS-485的相關(guān)資料推薦

    前世今生RS-485,RS是什么意思呢?是Recommended Standard的縮寫,就是推薦標(biāo)準(zhǔn)的意思。485是標(biāo)準(zhǔn)標(biāo)識(shí)號(hào),至于為什么定這個(gè)標(biāo)識(shí)號(hào),則無(wú)需深究。RS-485又稱為
    發(fā)表于 01-26 07:41

    RS-485的相關(guān)資料分享

    RS-485概述RS-485RS-232一樣,都是串行通信標(biāo)準(zhǔn),現(xiàn)在的標(biāo)準(zhǔn)名稱是TIA485/EIA-485-A,但是人們會(huì)習(xí)慣稱為
    發(fā)表于 02-09 07:10

    iCoupler Isolation in RS-485 A

    iCoupler Isolation in RS-485 Applications:The RS-485 bus standard is one of the most widely used
    發(fā)表于 06-21 10:31 ?22次下載

    RS-485總線標(biāo)準(zhǔn)及幾種常見的RS-485接口電路介紹

    RS-485總線標(biāo)準(zhǔn)及幾種常見的RS-485接口電路介紹
    發(fā)表于 12-21 14:45 ?0次下載

    RS-485應(yīng)用設(shè)計(jì)參考

    幾乎所有的電子產(chǎn)品都帶有通信接口。從最初的數(shù)據(jù)模擬信號(hào)到后來(lái)的RS-232,在到我們今天要談到的RS-485接口,各種無(wú)線接口等。RS-485的標(biāo)準(zhǔn)全稱為TIAA/EIA-485串行通
    發(fā)表于 04-07 16:44 ?1519次閱讀

    RS-485是什么,RS-485它應(yīng)該如何進(jìn)行布線

    RS-485是一個(gè)物理接口,簡(jiǎn)單來(lái)說(shuō),也就是硬件。RS-485屬于有線傳輸,所以就需要硬件傳輸媒介,實(shí)際就是兩根線就可以了,這兩根線上傳輸?shù)膶?shí)際上是同一個(gè)信號(hào),只是發(fā)送端把這個(gè)信號(hào)一分為二,不過(guò)在
    發(fā)表于 08-10 16:36 ?1.8w次閱讀
    <b class='flag-5'>RS-485</b>是什么,<b class='flag-5'>RS-485</b>它應(yīng)該如何進(jìn)行布線

    RS-485選型及應(yīng)用指南

    RS-485選型及應(yīng)用指南
    發(fā)表于 10-25 09:37 ?15次下載

    RS-485收發(fā)切換】使用RS-485要注意的一個(gè)問(wèn)題

    RS-485收發(fā)切換】使用RS-485要注意的一個(gè)問(wèn)題
    發(fā)表于 11-25 11:21 ?21次下載
    【<b class='flag-5'>RS-485</b>收發(fā)切換】使用<b class='flag-5'>RS-485</b>要注意的一個(gè)問(wèn)題

    原來(lái)RS-485這么簡(jiǎn)單

    RS-485概述RS-485RS-232一樣,都是串行通信標(biāo)準(zhǔn),現(xiàn)在的標(biāo)準(zhǔn)名稱是TIA485/EIA-485-A,但是人們會(huì)習(xí)慣稱為
    發(fā)表于 12-05 16:51 ?31次下載
    <b class='flag-5'>原來(lái)</b><b class='flag-5'>RS-485</b><b class='flag-5'>這么</b><b class='flag-5'>簡(jiǎn)單</b>?

    聊聊RS-485總線

    RS-485RS是什么意思呢?是Recommended Standard的縮寫,就是推薦標(biāo)準(zhǔn)的意思。
    發(fā)表于 11-12 09:38 ?2109次閱讀

    RS-485總線】RS-485網(wǎng)絡(luò)該如何加終端電阻?

    RS-485總線具有結(jié)構(gòu)簡(jiǎn)單、成本低等優(yōu)點(diǎn),但各位工程師在組建RS-485總線網(wǎng)絡(luò)時(shí),為提升整個(gè)網(wǎng)絡(luò)通信的可靠性,想必會(huì)經(jīng)常會(huì)遇到一個(gè)問(wèn)題:需不需要加終端電阻呢?本文將為你解答。終端電阻的作用對(duì)于
    的頭像 發(fā)表于 09-14 08:05 ?391次閱讀
    【<b class='flag-5'>RS-485</b>總線】<b class='flag-5'>RS-485</b>網(wǎng)絡(luò)該如何加終端電阻?