日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RS-485原理

發布時間:2023/12/9 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RS-485原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. RS-485概述

RS-485和RS-232一樣,都是串行通信標準,現在的標準名稱是TIA485/EIA-485-A,但是人們會習慣稱為RS-485標準,RS-485常用在工業、自動化、汽車和建筑物管理等領域。

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

雙絞線

2. RS-485物理層

RS-485的物理層負責在設備和物理傳輸介質之間傳輸原始數據。它處理電信號到數字數據的轉換,同時定義電壓、時序、數據速率等。

2.1. 差分信號

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

標準規定了,邏輯1:+2V to +6V;邏輯0:-6V to -2V。

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

很多收發器的標準達到甚至超過TIA/EIA-485A規范,在實際使用中,以器件的SPEC參數為主,如下某收發器的負輸入閾值最小也是-200mV。

2.2. 信號定義

現在很多的RS-485轉換器都是兼容RS-422的,所以看到很多轉換器上面的信號都是T/R+、T/R-,即對應RS-485的A+和B-。

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

DB9

輸出信號

RS-422全雙工接線

RS-485半雙工接線

1

T/R+

發(A+)

RS-485(A+)

2

T/R-

發(B-)

RS-485(B-)

3

RXD+

收(A+)

4

RXD-

收(B-)

5

GND

地線

地線

2.3. 拓撲結構

RS485有兩線制和四線制兩種接線,四線制只能實現點對點的通信方式,現很少采用,多采用的是兩線制接線方式,這種接線方式為總線拓撲結構,在同一總線上最多可以掛接32個節點。

RS-485總線同I2C,也是主從模式,支持點對點單從機模式,也支持多從機模式,不支持多主機模式。

3. RS-485收發器

RS-485是差分傳輸,如果用單片機控制RS-485接口的設備,需要用到收發器,這一點和CAN總線是類似的,如下是一個MCU控制一個RS-485的圖示。

收發器內部是一個接收器(上半部分)加一個發送器(下半部分),下面簡單說說收發器的原理,便于理解MCU是如何和485設備通信的。

RS-485收發器內部結構

其中:

  • A和B為總線;

  • R為接收器輸入;

  • RE為接收器使能信號;

  • DE為發送器使能信號;

  • D為發送器輸出;

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

對于發送器,有如下的真值表:

  • 當驅動器使能引腳DE為邏輯高時,差分輸出A和B遵循數據輸入D處的邏輯狀態。D處的邏輯高導致A轉為高,B轉為低。在這種情況下,定義為VOD=VA-VB的差分輸出電壓為正。當D為低時,輸出狀態反轉,B變高,A變低,VOD為負。
  • 當DE低時,兩個輸出都變成高阻抗。在這種情況下,與D處的邏輯狀態是不相關的。
發送器真值表

對于接收器,有如下的真值表:

  • 當接收器使能引腳RE邏輯低時,接收器被激活。當定義為VID=VA–VB的差分輸入電壓為正且高于正輸入閾值VIT+時,接收機輸出R變高。當VID為負且低于負輸入閾值VIT-,接收機輸出R變低。如果VID在VIT+和VIT-之間,則輸出不確定。
  • 當RE為邏輯高或懸空時,接收機輸出為高阻抗,VID的大小和極性無關。
接收器真值表

4. RS-485數據鏈路

上面講到的RS-485收發器的工作原理,下面簡單描述RS-485的數據鏈路。

主機發送給從機或者從機發送給主機,都會占用到A和B線,所以RS-485多用在半雙工模式。

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

從機和主機是類似的,從機控制RS-485收發器的/RE管腳,設置為接收模式,接收主機發送的比特流,將其轉換為單端信號,通過從機的UART RXD線接收,當從機準備好響應時,它按主機原來的方式進行發送,而主機變為接收。

5. RS-232和RS-485轉換

RS-232和RS-485之間可以轉換,一個方法是RS-232轉換成TTL,再由TTL轉換為RS-485,當然也有芯片支持將RS-232直接轉換成RS-485,網上有很多模塊。

RS-232和RS-485轉換模塊

6. RS-485和CAN的區別

雖說RS-485沒有標準的數據協議格式,但和CAN總線在很多地方是有相似的,比如A&B和CANH&CANL都是差分信號,通信都需要收發器,都需要120歐姆的匹配電阻等等。

總線特性

CAN總線

RS-485總線

硬件成本

稍高

低廉

總線利用率

優先級自動仲裁,利用率高

采用輪詢,利用率低

數據傳輸率

錯誤檢測機制

控制器帶校驗機制,保證底層數據傳輸正確

只有物理層規范,無數據鏈路層規定

單節點故障影響

?總線無影響

總線癱瘓

開發成本

軟件開發靈活,時間成本低

開發難度較大

系統成本

較低?

7. RS-485常用電路

網上找的一個常用的RS-485電路,其中需要注意兩點:

  • 使能信號RE和DE可采用一個GPIO控制,節省資源,GPIO25輸出高電平,RE=DE=0V,進入接收模式;GPIO25輸出低電平,RE=DE=3.3V,進入發送模式。
  • 有一些電路中會在A上加上拉,B上加下拉電阻,主要原因是:RS-485總線在idle狀態,電平是不固定的,即電平在-200mV~+200mV之間,收發器可能輸出高也可能輸出低,UART在空閑時需要保持高電平的,如果此時收發器輸出一個低電平,對UART來說是一個start bit,會導致通信異常,關于Ru和Rd的阻值在這里不作過多贅述,后面有機會會詳細寫一篇文章。

關于第二點,需要注意:

  • A上加上拉,B上加下拉,接反數據通信也可能出錯。
  • 某些收發器內部集成上下拉電阻,則外部不需要再添加。

總結

以上是生活随笔為你收集整理的RS-485原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。