RS485通信总线详解
RS485 總線詳解
RS-485 是美國電子工業協會(EIA)在 1983 年批準了一個新的平衡傳輸標準(Balanced Transmission Standard)也稱作差分,EIA 剛開始將 RS(Recommended Standard)做為標準的前綴,不過后來為了便于識別標準的來源,將 RS 改為 EIA/TIA,所以目前該標準的名稱為 TIA-485,但目前工程師們依舊習慣繼續沿用 RS-485 作為該總線標準的名稱。
1. 前言
RS-485 屬于電氣標準,該標準定義了接口的物理層標準例如電壓,阻抗等等,而不對軟件協議,通信時序,通信數據給予定義。而是由用戶或通用軟件協議來定義。目前可以使用 RS-485 作為物理層的通用標準協議(純軟件協議)有工業 HART 總線,Modbus 協議和 Profibus DP 協議。
2. 電氣特性
(1) RS485 有兩線制和四線制兩種接線,四線制只能實現點對點的通信方式(一個主機連接一個從機),現很少采用,多采用的是兩線制接線(A 線,B 線)方式,這種接線方式為總線式拓撲結構,總線多采用屏蔽雙絞線傳輸數據,在同一總線上最多可以掛接 32 個節點,即一個主機可以連接多個從機。
(2) RS-485 以兩線間的電壓差為 +2V 到 +6V 表示邏輯 1 ,以兩線間的電壓差為 -2V 到 -6V 表示邏輯 0 。接口信號電平比 RS-232 更低(RS232 為 -15V 到 +15V),所以相比 RS-232 更不易損壞接口芯片,同時 RS-485 電平與 TTL 電平兼容,可方便與 TTL 電路連接。
(3) RS-485 采用差分信號傳輸,減少了潛在的電磁干擾 EMI,差分信號的值很大程度上與 GND 的精確值無關,所以能夠抵抗電源的干擾。
(4) 符合 RS-485 標準的驅動器能夠提供不小于 1.5V 的差分輸出(在 54 Ohm 負載下),RS-485 最小差分電壓容限 200mV,也就是說接收端在差分電壓低于 200mV 時就無法正確識別邏輯 0和邏輯 1。
(5) RS-485 的數據最高傳輸速率為 10Mbps ,即 每秒可傳輸 10M 位數據,而 RS-232 傳輸速率僅為 20Kbps。
(6) RS-485 理論上最大可傳輸距離為 3000米,在實際操作中極限距離僅達 1200 米。
(7) RS-485 僅支持半雙工通信,因為通信雙方需要共用一對差分信號線傳輸數據,但是一對差分信號線無法同時傳輸雙方的數據,因此由于通信線路制約無法支持全雙工通信。
2.1 理解單端/差分傳輸
(1) 單端傳輸(非平衡傳輸):在傳輸過程中,使用一根導線,在這根導線上傳輸對地(GND)之間的電位差,利用電位差來表示數據邏輯 0 和 1,傳輸的信號叫單端信號。
(2) 差分傳輸(平衡傳輸):差分傳輸是使用兩根線進行傳輸信號,這兩根線上的信號振幅相等,相位相差 180 度,極性相反。在這兩根線上傳輸的信號就是差分信號,信號接收端比較這兩個信號的電位差來判斷發送端發送數據的邏輯 0 和邏輯 1。
2.2 差分傳輸抗干擾原理
單端傳輸方式,因為地并不會被干擾,而輸出信號產生干擾后,輸出信號與地的電位差發生變化,導致污染原始信號,噪聲最終與輸出信號共同輸出。
差分傳輸方式,則源端發出的 + 信號與 - 信號的相位是相反的,而對于共模噪聲而言在 +/- 兩條線上都會存在,理想情況噪聲是等幅同相的,而接收端,相當于一個減法器,有用信號由于相位相反則經過減法器仍然保留,而噪聲則會被抵消。
3. 時序
RS-485 在時序上非常簡單,沒有諸如 SPI,I2C 的同步時鐘線,由于是差分數據線所以不需要我們編寫程序以控制時序,在時序上沒有太多可解讀的內容,但是我們還是需要了解一下 RS-485 的時序,如下圖。
不過差分數據線可以使用雙通道示波器解讀數據,例如示波器通道一接入 RS-485 的 A 線,通道二接入 RS-485 的 B 線,開啟示波器的 Math 功能使用通道一減去通道二即可得到實際的數據波形。
4. 收發器
在 RS485 通信網絡中,每個總線節點設備通常會使用 RS-485 收發器來轉換節點設備的 TTL 邏輯電平到 RS-485 差分電平。
RS-485 通信需要結合使用單片機,DSP 處理器的 UART 接口,通過 UART 將數據發送到 RS-485 收發器,再由 RS-485 對數據電平進行轉換并發送給數據接收端。
如果使用 FPGA 使用 RS-485 則需要實現一個支持串口收發的 IP 模塊。甚至也可以使用 GPIO 模擬 UART 時序與 RS-485 收發器通信,只不過這需要占用大量 CPU 資源以實現底層數據位的收發。
5. 匹配電阻
在設備少,距離短的情況下即使不使用終端負載電阻整個網絡也能很好的工作,但伴隨著距離的遞增通信質量,性能逐漸降低。
理論上,在每個接收數據信號的中點進行采樣時,只要反射信號在開始采樣時衰減到足夠低就可以不考慮匹配。但這在實際上難以掌握,美國 MAXIM 公司提到一條經驗性的原則可以用來判斷在什么樣的數據速率和電纜長度時需要進行匹配:當信號的轉換時間(上升或下降時間)超過電信號沿總線單向傳輸所需時間的 3 倍以上時就可以不加匹配電阻。
一般終端匹配采用終端電阻方法,RS-485 應在總線電纜的開始和末端都并接終端電阻。終端電阻在 RS-485 網絡中取 120 Ohm。相當于電纜特性阻抗的電阻,因為大多數雙絞線電纜特性阻抗大約在100Ohm-120Ohm。
終端匹配方法簡單有效,唯一的缺點是匹配電阻需要消耗較大功率,對于功耗限制比較嚴格的系統不太適用。另外一種比較省電的匹配方式是 RC 匹配。利用一只電容 C 隔斷直流成分可以節省大部分功率。但電容 C 的取值是個難點,需要在功耗和匹配質量間進行折中。還有一種采用二極管的匹配方法,這種方案雖未實現真正的匹配,但它利用二極管的鉗位作用能迅速削弱反射信號,達到改善信號質量的目的,節能效果顯著。
6. 接口設計
RS-485 收發器是大部分芯片公司都涉及的產品,比如 TI,Microchip 等廠商都有,選擇接口芯片的時候需要考慮芯片的供電電壓輸入邏輯是否與使用的處理器,DSP的電平兼容,另外 RS-485 收發器接收電路的阻抗是否是符合 RS-485 標準輸入阻抗。
接口電路設計的時候還需要考慮 EMC 要求,在一些設備現場真的有很強的干擾,比如電網上有大功率電機等感性負載運行,這些負載可能干擾設備,另外也可能存在空間輻射干擾,這時候可以考慮采用屏蔽雙絞線。
7. 隔離設計
在很多工業現場可能有大電流開關設備,電機感性設備等,噪聲很有可能通過通訊的接地耦合進設備。尤其在工業設備中,一般都會設計成帶隔離的接口電路。為了降低接地噪聲要設計隔離接口,可以考慮選擇具有隔離功能的芯片,比如 ADI 的
iCoupler 技術產品 ADM2481,ADM2485。當然也可以采用光耦加普通 RS-485 收發器的方式。唯一需要注意的是需要設計一個帶隔離的電源,給隔離兩側電路分別供電。
8. ESD 保護
在工業應用中雷擊,電源波動,靜電放電都會產生較大的瞬變電壓并對 RS-485 收發器造成損害,所以需要在 RS-485 端口處設置保護電路。
保護電路可以使用外部鉗位器件(例如 TVS 二極管)。TVS 將總線上的電壓鉗位到 RS-485 收發器的共模電壓范圍(-7V–12V)。對于更高的電壓瞬變,可在受保護器件與輸入引腳之間串聯電阻(10-20 Ohm)來加強保護。
9. 共地問題
由于 RS-485 采用 差分 的方式傳輸,因此抗干擾能力更強,通信距離也比 RS-232 更遠。RS-485 通信一般是半雙工的,僅需要 2 根信號線,如果是全雙工的,則需要 4 根信號線。
實際上 RS485 需要三根線分別是 A,B 和 GND,GND 用于通信雙方設備接地。但由于 RS485 使用差分傳輸,所以一般會認為 GND 不重要,經常省略甚至使用兩芯線或者用視頻線來傳輸 RS485 信號。雖然如果不接地線,在很多場合是能正常工作的,但可能會產生以下兩個問題:
(1) 共模干擾問題: RS-485 接口采用差分方式傳輸信號,并不需要相對于某個參照點來檢測信號,系統只需檢測兩線之間的電位差即可。但是 RS-485 收發器有一定的共模電壓范圍,一般電壓范圍為 -7V 到 +12V,只有滿足上述條件,整個網絡才能正常工作。如果總線上有很多的節點,當網絡線路中共模電壓超出該范圍就會影響通信的穩定性。
(2) EMI 電磁兼容性問題:發送驅動器輸出信號中的共模部分需要一個返回通路,如沒有信號地這樣低阻的返回通道,信號中的共模部分就會以輻射的形式返回源端,總線會像天線一樣向外輻射電磁波。
以上就是關于 RS-485 的技術細節,在實際硬件接口設計需要 RS-485 收發器配合使用,常用的 RS-485 收發器有 SN75176BDR,其原理圖如下:
實際使用時注意設計接口保護電路,防止損壞收發芯片。
總結
以上是生活随笔為你收集整理的RS485通信总线详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取鼠标的坐标
- 下一篇: chrome扩展写法