新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 集成與中控系統中的RS485串口通信技術

        集成與中控系統中的RS485串口通信技術

        作者: 時間:2016-12-14 來源:網絡 收藏
        隨著中控設備在智能AV系統中的廣泛應用,大量的中控數據線連接的音頻、視頻、燈光、升降臺、投影機等設備。而在中控與其它系統對接的協議里面,主要是以紅外、串口、IP、DMX512和MIDI協議為主。紅外控制在專業中使用的并不多,所以中控的紅外接口通常都是連接的民用CD、DVD等音源(專業音源設備基本上是不使用紅外接口);DMX512的用途比較單一,基本上只是為數字燈光控制器服務的。基于IP通信的Telnet協議是今后的中控接口的一個發展方向。但是目前來看,基于串口通信的Telnet協議依據其穩定性和安全性,依然是工業控制的首選。

        中控系統使用串口Telnet的通訊中,在物理層主要是RS232C和RS485兩種傳輸協議是最常用的(Telnet屬于表示層的高層協議,而RS232C/485屬于物理層協議,請參考OSI模型解析)。RS232C屬于平衡半雙工雙點對傳傳輸協議,而RS485支持多點傳送的半雙工平衡傳輸協議,它們的區別除了一個是點對點,一個是多點對多點外,傳輸距離也是有很大差別的。參見下表。

        本文引用地址:http://www.104case.com/article/201612/329735.htm

        描述

        RS232C

        RS423

        RS422

        RS485

        操作模式

        單端

        單端

        差分

        差分

        驅動器與接收器的總數量(在RS485網絡中同一時刻只有一個驅動器是有效的)

        1 個驅動
        1個接收

        1個驅動10個接收

        1 個驅動
        10個接收

        32個驅動
        32 個接收

        最大電纜長度

        50英尺

        4000英尺

        4000英尺

        4000英尺

        最大傳輸速率(RS232:40英尺,而RS422/RS485 :4000英尺)

        20kb/s

        100kb/s

        10Mb/s-100Kb/s

        10Mb/s-100Kb/s

        驅動器最大輸出電壓

        +/-25V

        +/-6V

        -0.25V 到 +6V

        -7V 到 +12V

        驅動器輸出電平(最小輸出電平)

        有負載

        +/-5V to +/-15V

        +/-3.6V

        +/-2.0V

        +/-1.5V

        驅動器輸出電平(最大輸出電平)

        空載

        +/-25V

        +/-6V

        +/-6V

        +/-6V

        驅動器負載電阻 (歐姆)

        3k to 7k

        >=450

        100

        54

        最大轉換率

        30V/uS

        可調

        ——

        ——

        接收器最大輸入電壓

        +/-15V

        +/-12V

        -10V to +10V

        -7V to +12V

        接收器輸入靈敏度

        +/-3V

        +/-200mV

        +/-200mV

        +/-200mV

        接收器輸入阻抗(歐姆), (RS485在一個標準負載下)

        3k 到7k

        最小4k

        最小4k

        >=12k

        一、 連線

        通常的RS485(正規名稱是TIA/EIA-485-A)是使用平衡雙線連接的。一共三條線分別為信號正、信號副和地線。數據信號在傳輸以前是非平衡的,經過差分放大器后變成了平衡信號。見圖一。

        圖一 RS485信號的連接方法

        采用平衡連接的傳輸線其目的就是為了大幅度減少外界的干擾電平信號,它的原理和我們音頻中使用平衡傳輸是一樣的。理想的平衡傳輸信號其兩個正負極(見圖二,對應的是1+和2+輸入)電平是時間上的嚴格對齊,1+的高電平,對應2+的低電平,反之亦然。

        圖二 理想的平衡RS485信號傳輸電平

        盡管傳輸RS485信號可以采用任何導電導線,但是通常是使用雙絞線來連接為最佳。

        二、 為什么使用雙絞線

        從字面上解釋雙絞線就是一對長度相等的金屬絲互相螺旋狀擰在一起的導線對。為什么要使用雙絞線傳輸RS485信號呢?那是為了解決在長距離的高速網絡中存在的兩個主要問題:EMI(Electro Magnetic Interference:電磁干擾)輻射干擾和EMI接收干擾。

        1、輻射干擾:在高速傳輸數據的時候,接收端是依靠高低電平的垂直邊沿(上升沿/下降沿)來判斷數據的變化的,頻率越高,邊沿變化的越快,相應的高頻奇次諧波含量也越高。下圖三是125kHz方波信號的FFT照片,由圖上我們可以看出它在5MHz上還有很大的諧波能量。

        圖三 125kHz方波信號的FFT延伸到5MHz

        由于高頻方波本身的輻射問題,再加之長線傳輸(此時的長線相當于發射天線),其對外的輻射特性得到了加強。使用雙絞線則可以有效地抑制這種輻射干擾。其實它的原理很簡單,當兩條平行對絞天線在輻射電磁波的時候,由于工作電平是反相,所以輻射電磁波將被抵消。當然完全抵消只是個理論數值,抵消效果取決于對絞線的長度是不是完全一致,以及對絞密度和線間的緊合度,這些都是和對絞線的制作工藝有很大的關系。所以我們可能會發現,用一些比較高檔的線(比如Belden 9841)可以傳輸更遠的RS485信號,而且誤碼率很低。

        2、接收干擾:這是針對接收端來說的抵抗干擾的能力。上面我們談到高頻傳輸線基本上相當于一個天線,當天線以對絞的方式傳輸反相信號的時候會抵消輻射電平。同樣的原理,它也會幫助接收端抵消輸入的噪聲信號。外部輸入來的“無用”噪聲信號在完全相等長度和均勻對絞的線對里面是以“共模信號(大小相同,方向相同)”存在的;而有用的信號在這里是以“差模信號(大小相同,方向相反)”存在的。而對接收端的差分放大器而言,它只接收差模信號而抑制共模信號(差分放大器有個電參數叫共模抑制比CMRR,一般大于60dB為優)。

        三、 雙絞線的特性阻抗

        雙絞線的特性阻抗和其它高頻電纜一樣。要主意的是,特性阻抗和電阻是不同的概念。電阻可以用萬用表測出來,特性阻抗不能測。(阻抗是電阻和電抗的統稱,電阻部分是針對直流電路來說的,這部分用萬用表可以測量。但是電抗是指電纜間的容抗和感抗之和。電抗只是對交流信號有作用,信號的頻率越高,這種表現就越明顯)。電抗的單位也是歐姆,它的大小取決于雙絞線的線徑、絕緣體的導電能力(介電常數)、絕緣體和銅線的排列位置等。盡管TIA/EIA-485-A里面沒有特別指明這個特性阻抗的數值,一般地廠商都是將這個數值定在120Ω。見圖四。

        圖四 雙絞線的特性阻抗

        上圖我們可以看出來,雙絞線的特性阻抗從任何位置看都是處處相等的。高頻傳輸電纜和我們在低頻的導線不同,高頻傳輸中,信號在任何環節的阻抗都必須相等,否則就會出現反射(參見《通信原理》)。信號反射會引起誤碼率的升高以及傳輸距離縮短。從前面對阻抗的分析可以開出來,高頻傳輸雙絞線若避免產生信號反射,主要取決于制線的工藝水平。要求阻抗“處處相等”就要求銅材和絕緣體的一致性,以及纏繞的均勻性。在使用過程中我們也要注意,對雙絞線擠壓、踩踏、卷曲等都會導致絕緣體與銅線之間的相對位置的改變而造成阻抗失配,失配將引起信號的反射。

        一般來說,一個RS485網絡是必須要加入終端電阻的,而且這個電阻的阻值必須和雙絞線匹配。對于一個標準的RS485雙絞線電纜來說,終端電阻應該和雙絞線阻抗一致的120Ω。我們按照圖五的方式分別連接不同的終端電阻進行測量,看看連接54Ω和120Ω兩種電阻的電平傳遞失真特性。

        圖五左側連接的54Ω,右側連接的是120Ω

        從上圖我們可以看出來,對于120Ω特性阻抗的雙絞線來說,失配會引起比較強烈的反射,導致傳輸信號出現失真,引起誤碼。由于阻抗失配導致的信號反射失真率可以用下面的公式來計算:

        終端電阻的加裝位置也是非常重要的,嚴格上講,它只能連接到雙絞線的兩個端點,而且應該是兩端都加的。在實際應用中,一般發送器都是只有1個,所以這種情況下發送端就可以不加這個電阻了,因為它已經沒有反向的電流了。

        我們在實踐中可能發現這樣的問題,就是在一端加上了終端電阻,但是要小于120Ω,有時候小到60Ω才起作用。這是因為你使用的雙絞線阻抗不正確導致的。通常的廉價的RS485傳輸線由于制造工藝的原因,阻抗是很不準確的,而且是變化的很厲害,這樣會導致信號來回反射。此時如果加入了個小電阻,會加大傳送器的輸出電流。但是這樣做的結果是傳輸距離的大大縮短,可能要下降到150米以內了。不過雙絞線的特性阻抗我們一般是無法測量的,所以單純從說明書上也很難判斷。前面我們舉例的美國Belden 9841雙絞線在國內的零售價在10元/米,它的工藝就非常好,數據的穩定性和傳輸距離都接近理論值(距離達到1000米左右)。

        現在的很多RS485終端設備在端口處都已經自帶了120Ω的終端電阻了(參見設備指標說明),這樣的設備連接就無須另外加終端電阻了。

        四、 一個RS485網絡的傳輸/接收能力

        只有一對雙絞線構成的RS485網絡到底可以同時連接多少個發送器/接收器呢?很多人想得到這個問題的答案,其實這個數量的限制在TEA/EIA-485-A的手冊上也沒有一個確切的說法。因為盡管這種半雙工平衡RS485網絡的數據結構允許在一個網絡中可以同時存在多個發送器/接收器,但是其數量還是取決于每個接收器和所有非活動發送器的網絡負載。

        理想的情況是一個RS485網絡中的所有接收器和非活動的發送器的阻抗都是無窮大的,這樣它們就不再消耗任何發送器能量,這種情況下對接收器和非活動發送器的數量就沒有限制了。但是事實上這樣的情況是沒有的。由于接收器和其它的發送器都將成為網絡的負載,所以實際的連接數量還要根據雙絞線的質量來確定了。

        舉例子,如果采用最優質的RS485雙絞線,阻抗嚴格為120Ω的時候,采用MAXIM的Max3485發送器和Max487接收器,最多可以同時連接32個Max3485發送器和128個Max487接收器。這個情況可能是“最好”的了吧。

        五、 正確的RS485連接方式

        結合上面對RS485網絡的技術分析,現在給出幾種正確的連接方式供參考。

        1、一個發送器一個接收器。參見圖六。

        這是一種最常見的連接方式,在這種連接下,終端電阻盡管有些多余(可以不用),但是養成一種良好的設計習慣也是十分必要的。

        圖六一個發送器和一個接收器的正確連接

        2、 一個發送器,多個接收器。見圖七。

        這種連接方式也是比較常見,這里要注意兩個問題,一個就是末端的終端電阻一定要加上;另一個問題就是分支線一定要短,通常要少于1米,這點非常重要,否則這段支線可能會引起阻抗的失配,導致誤碼率的升高。

        圖七一個發送器和多個接收器的正確連接

        3、一對收發器。見圖八。

        這也是一種常見的連接,其原理與圖六是相同的。

        圖八 兩對收發器的正確連接

        4、多對收發器。見圖九。

        它的原理和圖七也是相似的,重要的也是要注意終端電阻的添加(注意,不能將最兩邊的收發器外側的終端電阻省略),還有就是分支線要盡量地短。

        圖九 多對收發器的正確連接

        六、 錯誤的RS485連接方式

        另外的幾種連接情況,可能會引起傳輸距離以及誤碼率的提高問題,希望能引起大家的注意。

        1、無終端電阻匹配。見圖十。

        可能讀者會注意,這種連接和圖六非常相似,只是在分支線以后還有100英尺的懸空線。在圖六中我們說,那個終端電阻是可以省略的,那么為什么增加了這100英尺的懸空線就成了錯誤連接了呢?這個就是高頻信號傳輸的特點。高頻電路分析中,我們不能以低頻信號 “電路”的概念去理解信號的傳遞。圖十中當主信號延干線繼續向右傳遞的時候,由于末端沒有連接終端電阻,所以信號在完全失配的情況下會完全反射(終端在開路和短路的情況下,對于高頻信號來說都是全反射,只是相位不同)。全反射的信號會在干線上與正向信號疊加,由于距離的原因,反向傳遞的信號會出現雜亂的疊加,其結果就是引起輸出端的信號嚴重失真,引起誤碼。

        圖十 無終端匹配的錯誤連接

        圖十中的信號測量結果在下半部分左側(測量點在A-B),我們和圖十右下側的匹配狀態波形做比較可以看出全反射對信號的影響。所以我們在工程中要注意,高頻信號的延長線要做好處理,不要以為什么都不連接就沒有問題。

        2、錯誤的終端電阻安裝位置。見圖十一。

        依據圖十的問題,如果沒有將終端電阻放置在主干線的末端,而是放置在其它位置,盡管這樣可以對前段的阻抗做出匹配,但是終端電阻到雙絞線電纜末端的地方依然會產生反射現象,并與發送信號疊加形成誤碼。誤碼的形狀參見圖十一的左下(測量點在A-B)。讀者可以和右下側的正確終端電阻連接波形進行比較。

        圖十一 不正確的終端電阻連接

        3、多重線纜并聯。見圖十二。

        這樣的連接也是常見的錯誤。而且可能會引起更多的問題。

        圖十二 錯誤的多重線纜并聯

        第一個問題是RS485發送器的設計是為驅動一條電纜的,當并聯四條電纜的時候,其驅動能力明顯下降,這就意味著一些比較小的邏輯電平將無法傳送,傳輸距離也大打折扣。第二個問題就是特性阻抗的變化。在打結點,四條分支線并聯在一起會引起負載阻抗的嚴重失配,信號的反射情況將更為劇烈。

        4、過長的分支電纜。見圖十三。

        圖十三過長的支線也會引起阻抗失配

        與圖七類似,但是不同的地方是分支線長度過長。盡管此時在干線末端已經正確地連接了負載阻抗,但是太長的支線與右側干線之間的并聯關系依然使阻抗產生失配,這種情況下低電平段將發生信號畸變,畸變波形見圖十三左下(測量點在A-B),并與右下側正確的短支線連接對比。

        讀者可以將圖十三和圖十左比較可以發現,干線上的完全反射影響的是高電平信號,而支線引發的阻抗失配主要是引起低電平信號畸變。

        參考文獻:

        1. TIA/EIA-485-A Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems

        2. TSB89 Application Guidelines for TIA/EIA-485-A



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 武清区| 长沙市| 泰兴市| 莱西市| 措勤县| 磐石市| 宜黄县| 利川市| 贵阳市| 子洲县| 望谟县| 乐至县| 西峡县| 神池县| 巢湖市| 区。| 合江县| 峡江县| 临夏市| 分宜县| 卓尼县| 南皮县| 来宾市| 芜湖县| 宜君县| 霸州市| 怀宁县| 镇康县| 黔南| 广昌县| 长寿区| 塘沽区| 伊金霍洛旗| 那曲县| 罗城| 仁布县| 永平县| 开阳县| 都昌县| 常熟市| 永泰县|