常用接口--RS485


RS485電路設計(差分傳輸、半雙工)

      RS-485是針對UART串口的一種接口標准,它定義了串行通信系統中發送器和接收器的一系列電氣特性。相比於RS-232,RS-485標准的通信系統抗干擾能力較強,可實現長距離數據傳輸﹐同時支持多個收發器連接到同一個通信網絡中。因此,RS-485在工業控制領域以及有類似需求的系統中得到了廣泛的應用。

(1)RS485的電氣特性:邏輯“1”用兩條線之間的電壓差表示為+(2-6)V;邏輯“0”-(2-6)V兩條線之間的電壓差表示。接口信號電平低於RS232,不易損壞接口電路芯片。此外,接口信號電平與TTL電平兼容,可以很容易地與TTL電路連接。

(2)RS485的最高數據傳輸為10Mbps

(3)RS485接口,采用平衡驅動和差分接收相結合的方式,提高了抗共模干擾能力,即工控機良好的抗噪聲干擾能力。

(4)RS485接口的最大傳輸距離為4000英尺,實際可達3000米。此外,RS232接口只允許連接總線上的一個收發器,即單站容量。RS485接口允許多達128收發器連接到總線。也就是說,它具有多站能力,使用戶可以很容易地建立設備網絡,使用一個單一的RS485接口。

(5)RS485串行接口具有良好的抗噪聲性能、較長的傳輸距離和多工位性能,是串行接口的首選接口。因為RS485接口構成一個半雙工網絡,一般只有兩條線路,所以RS485接口都是使用屏蔽雙絞線傳輸。RS485接口連接器采用DB-9插頭插座,智能終端RS485接口采用DB-9(孔),鍵盤接口RS485采用DB-9(針)。

 

接口電子特性:

所采用的是差分信號(兩根線)傳輸方式,邏輯為1時Signal兩線電壓差在+2 ~ +6V,邏輯為0時Signal兩線電壓差在-2 ~ -6V。

 

 

 

SP3485信號轉換芯片介紹:

SP3485芯片是+3.3V低功耗半雙工收發器,適用於RS-485和RS-422串行協議,作為RS-485串行協議時的電路設計圖如下:

 

 

 

 

參考設計: RS485串口部分的原理圖如下圖所示。由於ZYNQ PL側串口輸入輸出引腳為TTL電平,用3.3V代表邏輯“1”,0V代表邏輯“0”;而RS-485電平標准采用差分信號的差值電壓來代表邏輯“0”和“1”。因此當FPGA與RS485接口標准的設備通信時,需要加電平轉換芯片SP3485.實現 RS485電平與TTL電平的轉換。

 

 

 

 

 

       由於RS-485為半雙工通信方式,需要通過使能信號來控制發送和接收過程。在下圖中,電平轉換芯片SP3485的2號引腳為低電平接收使能,3號引腳為高電平發送使能。在這里我們將兩個引腳連接在一起,只需要通過一個信號R$485_DE即可控制收發過程:當RS485_DE為高電平時,SP3485處於發送過程;當RS485_DE為低電平時,SP3485處於接收過程。4'
RO 就是芯片接收到的數據再由他發送出去。
對485來說,485是發送數據,那 FPGA就是接收數據。
DI就是驅動器輸入,就是FPGA發出數據給485的第四個引腳。

 

下圖為RS232/RS485的選擇接口,由上圖可知,SP3485芯片端口的RS485_RX和 RS485_TX並沒有直接和ZYNQ的引腳相連接,而是連接到開發板的P1口,RS232串口和RS485串口共用P1口的UART2_TX和UART2_RX,UART2_TX和UART2_RX是直接和FPGA的引腳相連接的,這樣的設計方式實現了有限I0的多種復用功能。因此,在做RS485串口通信實驗時,需要使用杜邦線或者跳帽將.RS485_RX和UART2_TX連接在一起,RS485_TX和UART2_RX連接在一起。

 

1:A和B之間為什么要加串一個120歐姆的電阻?
485總線通常使用特性阻抗為120Q的雙絞線,因此在485總線的首尾兩端增加120Q終端電阻來避免信號反射問題。

2:為什么需要加上下拉電阻?,
根據 RS-485標准,當485總線差分電壓大於+200mV時,485收發器輸出高電平;當 485總線差分電壓小於-200mV時,485收發器輸出低電平;當485總線上的電壓在-200mV~+200mV時,485收發器可能輸出高電平也可能輸出低電平,但一般總處於一種電平狀態,若485收發器的輸出低電平,這對於UART通信來說是一個起始位,此時通信會不正常。v當485總線處於開路(485收發器與總線斷開)或者空閑狀態(485收發器全部處於接收狀態,總線沒有收發器進行驅動)時,485總線的差分電壓基本為0,此時總線就處於一個不確定的狀態。同時由於目前485芯片為了提高總線上的節點數,輸入阻抗設計的比較高,例如輸入阻抗為1/4單位阻抗或者1/8單位阻抗(單位阻抗為12kQ,1/4單位阻抗為48k Q),在管腳懸空時容易受到電磁干擾。因此為了防止485總線出現上述情況,通常在485總線上增加上下拉電阻(通常A接上拉電阻,B總線下拉電阻)。若使用隔離RS-485收發模塊(例如RSM485PCHT),由於模塊內部具有上下拉電阻(對於RSM485PCHT,內部上下拉電阻為 24kQ),因此在模塊外部一般不需要增加上下拉電阻。

 

 

 

 

其中,“RS485_RX”網絡由ZYNQ輸出的UART2_TX驅動。當UART2_TX為高,即不發送時,三極管導通,“RD485_DE”被拉低,此時SP3485芯片工作在接收狀態,RS485差分總線的電平被外部電阻強制拉高,達到了輸出高電平的的狀態。當UART2_TX為低,即開始發送時,三極管截止,“RD485_DE”被拉高,此時SP3485芯片工作在發送狀態,RS485差分總線的電平由 UART2_TX來驅動。這樣就實現了RS485收發狀態的自動控制。

參考設計2:

 

 

 

 

 

L1為共模電感,共模電感能夠對衰減共模干擾,對單板內部的干擾以及外部的干擾都能抑制,能提高產品的抗干擾能力,同時也能減小通過信號線對外的輻射,共模電感阻抗選擇范圍為120歐/100MHz ~2200歐/100MHz,典型值選取1000 歐/10OMHz ; 
//共模電感(Common mode Choke),也叫共模扼流圈,常用於電腦的開關電源中過濾共模的電磁干擾信號。在板卡設計中,共模電感也是起EMI濾波的作用,用於抑制高速信號線產生的電磁波向外輻射發射。ll
C1、C2為濾波電容,給干擾提供低阻抗的回流路徑,能有效減小對外的共模電流以同時對外界干擾能夠濾波;電容簽值選取范圍為22PF~1000pF,典型值選取100pF;若信號線對金屬外殼有絕緣耐壓要求,那么差分線對地的兩個濾波電容需要考慮耐壓;
當電路上有多個節點時要考慮降低或去掉濾波電容的值。C3為接口地和數字地之間的跨接電容,典型取值為1000pF,C3容值可根據測試惰況進行調整;

 

 

RS-422和RS-485電路原理基本相同,都是以差動方式發送和接收,不需要數字地線。差動模式使得同速率條件傳輸距離更遠,這正是二者與RS232的根本區別。

RS-422通過兩對雙絞線可以全雙工工作收發互不影響,RS485采用一對雙絞線故只能半雙工工作,發收不能同時進行,RS-422不允許出現多個發送端而只能有多個接受端。因為有兩對雙絞線實現全雙工,故有四條信號線T/R+,T/R-,以及一條GND線。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM