RS-232、RS-422、RS-485原理(lǐ)區(qū)别和(hé)聯系!
2020-6-11新聞
串口通(tōng)訊是電氣工程師面對(duì)的(de)最基本的(de)一個(gè)通(tōng)訊方式,RS-232是其中最簡單的(de)一種。很多(duō)初學者往往搞不清楚UART和(hé)RS-232、RS-422、RS-485的(de)聯系和(hé)區(qū)别,本文将談談這(zhè)幾個(gè)概念的(de)理(lǐ)解,幫助大(dà)家理(lǐ)清它們之間的(de)關系。
如果把串口通(tōng)訊比做(zuò)交通(tōng),UART比作車站,那麽一幀的(de)數據就好比汽車。汽車跑在路上,要遵守交通(tōng)規則。如果是市内,一般限速30、40,而高(gāo)速公路則可(kě)以到120。而汽車走什(shén)麽路,限速多(duō)少,就要看協議(yì)怎麽規定了(le)。常見的(de)串口協議(yì)有RS-232、RS-422、RS-485等,他(tā)們之間有何細微差别?下(xià)面我們就一起來(lái)探討(tǎo)一下(xià)。
一、UART是什(shén)麽
UART是通(tōng)用(yòng)異步收發傳輸器(Universal Asynchronous Receiver/Transmitter),通(tōng)常稱作UART,是一種異步收發傳輸器,是設備間進行異步通(tōng)信的(de)關鍵模塊。UART負責處理(lǐ)數據總線和(hé)串行口之間的(de)串/并、并/串轉換,并規定了(le)幀格式;通(tōng)信雙方隻要采用(yòng)相同的(de)幀格式和(hé)波特率,就能在未共享時(shí)鐘(zhōng)信号的(de)情況下(xià),僅用(yòng)兩根信号線(Rx 和(hé)Tx)就可(kě)以完成通(tōng)信過程,因此也(yě)稱爲異步串行通(tōng)信。
若加入一個(gè)合适的(de)電平轉換器,如SP3232E、SP3485,UART 還(hái)能用(yòng)于RS-232、RS-485 通(tōng)信,或與計算(suàn)機的(de)端口連接。UART 應用(yòng)非常廣泛,手機、工業控制、PC 等應用(yòng)中都要用(yòng)到UART。
UART使用(yòng)的(de)是異步,串行通(tōng)信。
串行通(tōng)信是指利用(yòng)一條傳輸線将資料一位位地順序傳送。特點是通(tōng)信線路簡單,利用(yòng)簡單的(de)線纜就可(kě)實現通(tōng)信,降低成本,适用(yòng)于遠(yuǎn)距離通(tōng)信,但傳輸速度慢(màn)的(de)應用(yòng)場(chǎng)合。
異步通(tōng)信以一個(gè)字符爲傳輸單位,通(tōng)信中兩個(gè)字符間的(de)時(shí)間間隔多(duō)少是不固定的(de),然而在同一個(gè)字符中的(de)兩個(gè)相鄰位間的(de)時(shí)間間隔是固定的(de)。
數據傳送速率用(yòng)波特率來(lái)表示,即每秒鐘(zhōng)傳送的(de)二進制位數。例如數據傳送速率爲120字符/秒,而每一個(gè)字符爲10位(1個(gè)起始位,7個(gè)數據位,1個(gè)校驗位,1個(gè)結束位),則其傳送的(de)波特率爲10×120=1200字符/秒=1200波特。
數據通(tōng)信格式如下(xià)圖:
其中各位的(de)意義如下(xià):
起始位:先發出一個(gè)邏輯”0”信号,表示傳輸字符的(de)開始。
數據位:可(kě)以是5~8位邏輯”0”或”1”。如ASCII碼(7位),擴展BCD碼(8位)。小端傳輸
校驗位:數據位加上這(zhè)一位後,使得(de)“1”的(de)位數應爲偶數(偶校驗)或奇數(奇校驗)
停止位:它是一個(gè)字符數據的(de)結束标志。可(kě)以是1位、1.5位、2位的(de)高(gāo)電平。
空閑位:處于邏輯“1”狀态,表示當前線路上沒有資料傳送。
注:異步通(tōng)信是按字符傳輸的(de),接收設備在收到起始信号之後隻要在一個(gè)字符的(de)傳輸時(shí)間内能和(hé)發送設備保持同步就能正确接收。下(xià)一個(gè)字符起始位的(de)到來(lái)又使同步重新校準(依靠檢測起始位來(lái)實現發送與接收方的(de)時(shí)鐘(zhōng)自同步的(de))
二、RS-232标準
RS-232是美(měi)國電子工業協會EIA(Electronic Industry Association)制定的(de)一種串行物(wù)理(lǐ)接口标準。RS是英文“推薦标準”的(de)縮寫,232爲标識号。RS-232是對(duì)電氣特性以及物(wù)理(lǐ)特性的(de)規定,隻作用(yòng)于數據的(de)傳輸通(tōng)路上,它并不内含對(duì)數據的(de)處理(lǐ)方式。需要說明(míng)一下(xià),很多(duō)人(rén)經常把RS-232、RS-422、RS-485 誤稱爲通(tōng)訊協議(yì),這(zhè)是很不應該的(de),其實它們僅是關于UART通(tōng)訊的(de)一個(gè)機械和(hé)電氣接口标準(頂多(duō)是網絡協議(yì)中的(de)物(wù)理(lǐ)層面)。
該标準規定采用(yòng)一個(gè)25 個(gè)腳的(de)DB-25 連接器,對(duì)連接器的(de)每個(gè)引腳的(de)信号内容加以規定,還(hái)對(duì)各種信号的(de)電平加以規定。後來(lái)IBM的(de)PC 機将RS-232 簡化(huà)成了(le)DB-9 連接器,從而成爲今天的(de)事實标準。而工業控制的(de)RS-232 口一般隻使用(yòng)RXD(2)、TXD(3)、GND(5) 三條線。
早期由于PC都帶有RS-232接口,所以我們需要使用(yòng)UART時(shí),都選擇RS-232。但是現在個(gè)人(rén)電腦(nǎo),不光(guāng)是筆記本,包括台式機都不再帶有RS-232的(de)接口,大(dà)家看到電腦(nǎo)主闆上面沒有DB9的(de)接口。所以現在開發闆都選擇TTL的(de)UART,或者直接UART轉USB做(zuò)在開發闆上。
嵌入式裏面說的(de)串口,一般是指UART口, 但是我們經常搞不清楚它和(hé)COM口的(de)區(qū)别, 以及RS232, TTL等關系, 實際上UART,COM指的(de)物(wù)理(lǐ)接口形式(硬件), 而TTL、RS-232是指的(de)電平标準(電信号).
UART有4個(gè)pin(VCC, GND, RX, TX), 用(yòng)的(de)TTL電平, 低電平爲0(0V),高(gāo)電平爲1(3.3V或以上)。
三、RS-485/ RS-422标準
RS-232接口可(kě)以實現點對(duì)點的(de)通(tōng)信方式,但這(zhè)種方式不能實現聯網功能。于是,爲了(le)解決這(zhè)個(gè)問題,一個(gè)新的(de)标準RS-485産生了(le)。RS-485的(de)數據信号采用(yòng)差分(fēn)傳輸方式,也(yě)稱作平衡傳輸,它使用(yòng)一對(duì)雙絞線,将其中一線定義爲A,另一線定義爲B。
通(tōng)常情況下(xià),發送驅動器A、B之間的(de)正電平在+2~+6V,是一個(gè)邏輯狀态,負電平在-2~6V,是另一個(gè)邏輯狀态。另有一個(gè)信号地C,在RS-485中還(hái)有一“使能”端,而在RS-422中這(zhè)是可(kě)用(yòng)可(kě)不用(yòng)的(de)。
RS-422 的(de)電氣性能與RS-485完全一樣。主要的(de)區(qū)别在于:RS-422 有4 根信号線:兩根發送、兩根接收。由于RS-422 的(de)收與發是分(fēn)開的(de)所以可(kě)以同時(shí)收和(hé)發(全雙工),也(yě)正因爲全雙工要求收發要有單獨的(de)信道,所以RS-422适用(yòng)于兩個(gè)站之間通(tōng)信,星型網、環網,不可(kě)用(yòng)于總線網;RS-485 隻有2 根信号線,所以隻能工作在半雙工模式,常用(yòng)于總線網。
1.RS-485的(de)電氣特性:邏輯“1”以兩線間的(de)電壓差爲+(2~6)V表示;邏輯“0”以兩線間的(de)電壓差爲-(2~6)V表示。接口信号電平比RS-232-C降低了(le),就不易損壞接口電路的(de)芯片,且該電平與TTL電平兼容,可(kě)方便與TTL 電路連接。
2.RS-485的(de)數據最高(gāo)傳輸速率爲10Mbps 。
3.RS-485接口是采用(yòng)平衡驅動器和(hé)差分(fēn)接收器的(de)組合,抗共模幹擾能力增強,即抗噪聲幹擾性好。
4.RS-485最大(dà)的(de)通(tōng)信距離約爲1219M,最大(dà)傳輸速率爲10Mb/S,傳輸速率與傳輸距離成反比,在100Kb/S的(de)傳輸速率下(xià),才可(kě)以達到最大(dà)的(de)通(tōng)信距離,如果需傳輸更長(cháng)的(de)距離,需要加485中繼器。RS-485總線一般最大(dà)支持32個(gè)節點,如果使用(yòng)特制的(de)485芯片,可(kě)以達到128個(gè)或者256個(gè)節點,最大(dà)的(de)可(kě)以支持到400個(gè)節點。
由于RS-232 接口标準出現較早,難免有不足之處,主要有以下(xià)幾點:
(1) 接口的(de)信号電平值較高(gāo),易損壞接口電路芯片,又因爲232電平與TTL電平不兼容故需使用(yòng)電平轉換電路方能與TTL電路連接;
(2) 傳輸速率較低,在異步傳輸時(shí),波特率爲20Kbps。現在由于采用(yòng)了(le)新的(de)UART芯片,波特率達到115.2Kbps(1.832M/16);
(3) 接口使用(yòng)一根信号線和(hé)一根信号返回線而構成共地的(de)傳輸形式,這(zhè)種共地傳輸容易産生共模幹擾,所以抗噪聲幹擾性弱;
(4) 傳輸距離有限,最大(dà)傳輸距離标準值爲50 米,實際上也(yě)隻能用(yòng)在15 米左右;
(5) RS-232 隻容許一對(duì)一的(de)通(tōng)信,沒有考慮構成串行總線。(這(zhè)點很重要,在很多(duō)控制場(chǎng)景,是一控多(duō),如果主設備都需要跟從設備點對(duì)點通(tōng)信,那現場(chǎng)布線成蜘蛛網了(le))
非平衡型串行通(tōng)信接口RS-423,RS-449
平衡型串行通(tōng)信接口RS-422
RS-422(EIA RS-422-A Standard)是Apple的(de)Macintosh計算(suàn)機的(de)串口連接标準。RS-422使用(yòng)差分(fēn)信号,RS-232使用(yòng)非平衡參考地的(de)信号。差分(fēn)傳輸使用(yòng)兩根線發送和(hé)接收信号,對(duì)比RS-232,它能更好的(de)抗噪聲和(hé)有更遠(yuǎn)的(de)傳輸距離。在工業環境中更好的(de)抗噪性和(hé)更遠(yuǎn)的(de)傳輸距離是一個(gè)很大(dà)的(de)優點。
四、RS-232與RS-485對(duì)比
1、抗幹擾性:RS485 接口是采用(yòng)平衡驅動器和(hé)差分(fēn)接收器的(de)組合,抗噪聲幹擾性好。RS232 接口使用(yòng)一根信号線和(hé)一根信号返回線而構成共地的(de)傳輸形式,這(zhè)種共地傳輸容易産生共模幹擾。
2、傳輸距離:RS485 接口的(de)最大(dà)傳輸距離标準值爲 1200 米(9600bps 時(shí)),實際上可(kě)達 3000 米。RS232 傳輸距離有限,最大(dà)傳輸距離标準值爲 50 米,實際上也(yě)隻能用(yòng)在 15 米左右。
3、通(tōng)信能力:RS-485 接口在總線上是允許連接多(duō)達128個(gè)收發器,用(yòng)戶可(kě)以利用(yòng)單一的(de) RS-485 接口方便地建立起設備網絡。RS-232隻允許一對(duì)一通(tōng)信。
4、傳輸速率:RS-232傳輸速率較低,在異步傳輸時(shí),波特率爲 20Kbps。RS-485 的(de)數據最高(gāo)傳輸速率爲 10Mbps 。
5、信号線:RS485 接口組成的(de)半雙工網絡,一般隻需二根信号線。RS-232 口一般隻使用(yòng) RXD、TXD、GND 三條線 。
6、電氣電平值:RS-485的(de)邏輯"1"以兩線間的(de)電壓差爲+(2-6) V 表示;邏輯"0"以兩線間的(de)電壓差爲-(2-6)V 表 示 。在 RS-232-C 中任何一條信号線的(de)電壓均爲負邏輯關系。即:邏輯"1",-5- -15V;邏輯"0 " +5- +15V 。
五、RS-422與RS-485對(duì)比
RS-485的(de)電氣性能與RS-422完全一樣。主要的(de)區(qū)别在于:
1、RS-422 有4 根信号線:兩根發送(Y、Z)、兩根接收(A、B)。由于RS-422 的(de)收與發是分(fēn)開的(de)所以可(kě)以同時(shí)收和(hé)發(全雙工)。
2、RS-485 隻有兩根數據線:發送和(hé)接收都是A 和(hé)B。由于RS-485 的(de)收與發是共用(yòng)兩根線,所以不能同時(shí)收和(hé)發(半雙工)。
RS-485标準采用(yòng)平衡式發送,差分(fēn)式接收的(de)數據收發器來(lái)驅動總線,具體規格要求:
接收器的(de)輸入電阻RIN≥12kΩ
驅動器能輸出±7V的(de)共模電壓
輸入端的(de)電容≤50pF
在節點數爲32個(gè),配置了(le)120Ω的(de)終端電阻的(de)情況下(xià),驅動器至少還(hái)能輸出電壓1.5V(終端電阻的(de)大(dà)小與所用(yòng)雙絞線的(de)參數有關)
接收器的(de)輸入靈敏度爲200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V,表示信号“1”)
因爲RS-485的(de)遠(yuǎn)距離、多(duō)節點(32個(gè))以及傳輸線成本低的(de)特性,使得(de)EIA RS-485成爲工業應用(yòng)中數據傳輸的(de)首選标準。
(1) RS-485 的(de)電氣特性:發送端:邏輯“0”以兩線間的(de)電壓差+(2 ~6)V 表示;邏輯“1”以兩線間的(de)電壓差-(2 ~6)V 表示。接收端:A 比B 高(gāo)200mV 以上即認爲是邏輯“0”,A 比B 低200mV 以上即認爲是邏輯“1”;
(2) RS-485 的(de)數據最高(gāo)傳輸速率爲10Mbps。但是由于RS-485 常常要與PC 機的(de)RS-232 口通(tōng)信,所以實際上一般最高(gāo)115.2Kbps。又由于太高(gāo)的(de)速率會使RS-485 傳輸距離減小,所以往往爲9600bps 左右或以下(xià);
(3) RS-485 接口是采用(yòng)平衡驅動器和(hé)差分(fēn)接收器的(de)組合,抗噪聲幹擾性好;
(4) RS-485 接口的(de)最大(dà)傳輸距離标準爲1200 米(9600bps 時(shí)),實際上可(kě)達3000米,RS-485 接口在總線上是容許連接多(duō)達128 個(gè)收發器、即RS-485 具有多(duō)機通(tōng)信功能,這(zhè)樣用(yòng)戶可(kě)以利用(yòng)單一的(de)RS-485 接口方便的(de)建立起網絡。因爲RS-485 接口組成的(de)半雙工網絡,一般隻需二根信号線,所以RS-485 接口均采用(yòng)雙絞線傳輸。RS-485 的(de)國際标準并沒有規定RS-485 的(de)接口連接器标準、所以采用(yòng)接線端子或者DB-9、DB-25 等連接器都可(kě)以。
在使用(yòng)RS-485 接口時(shí),對(duì)于特定的(de)傳輸線徑,從發生器到負載其數據信号傳輸所容許的(de)最大(dà)電纜長(cháng)度是數據信号速率的(de)函數,這(zhè)個(gè)長(cháng)度數據主要是受信号失真及噪聲等影(yǐng)響所限制。最大(dà)電纜長(cháng)度與信号速率的(de)關系曲線是使用(yòng)24AWG 銅芯雙絞電話(huà)電纜(線徑爲0.51mm),線間旁路電容爲52.5PF/M,終端負載電阻爲100 歐時(shí)所得(de)出的(de)。(引自GB11014-89 附錄A)。當數據信号速率降低到90Kbit/S 以下(xià)時(shí),假定最大(dà)容許的(de)信号損失爲6dBV 時(shí),則電纜長(cháng)度被限制在1200m。實際上,在實用(yòng)時(shí)是完全可(kě)以取得(de)比它大(dà)的(de)電纜長(cháng)度。當使用(yòng)不同線徑的(de)電纜,則取得(de)的(de)最大(dà)電纜長(cháng)度是不相同的(de)。例如:當數據信号速率爲600Kbit/S 時(shí),采用(yòng)24AWG 電纜,最大(dà)電纜長(cháng)度是200m,若采用(yòng)19AWG電纜(線徑爲0.91mm)則電纜長(cháng)度将可(kě)以大(dà)于200m;若采用(yòng)28AWG 電纜(線徑爲0.32mm),則電纜長(cháng)度隻能小于200m。
RS-485的(de)遠(yuǎn)距離通(tōng)信建議(yì)采用(yòng)屏蔽電纜,并且将屏蔽層作爲地線。
六、影(yǐng)響RS-485總線通(tōng)訊速度和(hé)通(tōng)信可(kě)靠性的(de)三個(gè)因素
1、在通(tōng)信電纜中的(de)信号反射
在通(tōng)信過程中,有兩種信号因素導緻信号反射:阻抗不連續和(hé)阻抗不匹配。
阻抗不連續,信号在傳輸線末端突然遇到電纜阻抗很小甚至沒有,信号在這(zhè)個(gè)地方就會引起反射,如圖所示。這(zhè)種信号反射的(de)原理(lǐ),與光(guāng)從一種媒質進入另一種媒質要引起反射是相似的(de)。消除這(zhè)種反射的(de)方法,就必須在電纜的(de)末端跨接一個(gè)與電纜的(de)特性阻抗同樣大(dà)小的(de)終端電阻,使電纜的(de)阻抗連續。由于信号在電纜上的(de)傳輸是雙向的(de),因此,在通(tōng)訊電纜的(de)另一端可(kě)跨接一個(gè)同樣大(dà)小的(de)終端電阻。
從理(lǐ)論上分(fēn)析,在傳輸電纜的(de)末端隻要跨接了(le)與電纜特性阻抗相匹配的(de)終端電阻,就再也(yě)不會出現信号反射現象。但是,在實現應用(yòng)中,由于傳輸電纜的(de)特性阻抗與通(tōng)訊波特率等應用(yòng)環境有關,特性阻抗不可(kě)能與終端電阻完全相等,因此或多(duō)或少的(de)信号反射還(hái)會存在。
引起信号反射的(de)另一個(gè)原因是數據收發器與傳輸電纜之間的(de)阻抗不匹配。這(zhè)種原因引起的(de)反射,主要表現在通(tōng)訊線路處在空閑方式時(shí),整個(gè)網絡數據混亂。
信号反射對(duì)數據傳輸的(de)影(yǐng)響,歸根結底是因爲反射信号觸發了(le)接收器輸入端的(de)比較器,使接收器收到了(le)錯誤的(de)信号,導緻CRC校驗錯誤或整個(gè)數據幀錯誤。
在信号分(fēn)析,衡量反射信号強度的(de)參數是RAF(Refection AttenuationFactor反射衰減因子)。它的(de)計算(suàn)公式如式(1)。
RAF=20lg(Vref/Vinc) (1)
式中:Vref—反射信号的(de)電壓大(dà)小;Vinc—在電纜與收發器或終端電阻連接點的(de)入射信号的(de)電壓大(dà)小。
具體的(de)測量方法如圖3所示。例如,由實驗測得(de)2.5MHz的(de)入射信号正弦波的(de)峰-峰值爲+5V,反射信号的(de)峰-峰值爲+0.297V,則該通(tōng)訊電纜在2.5MHz的(de)通(tōng)訊速率時(shí),它的(de)反射衰減因子爲:
RAF=20lg(0.297/2.5)=-24.52dB
要減弱反射信号對(duì)通(tōng)訊線路的(de)影(yǐng)響,通(tōng)常采用(yòng)噪聲抑制和(hé)加偏置電阻的(de)方法。在實際應用(yòng)中,對(duì)于比較小的(de)反射信号,爲簡單方便,經常采用(yòng)加偏置電阻的(de)方法。在通(tōng)訊線路中,如何通(tōng)過加偏置電阻提高(gāo)通(tōng)訊可(kě)靠性的(de)原理(lǐ)。
2、在通(tōng)訊電纜中的(de)信号衰減
第二個(gè)影(yǐng)響信号傳輸的(de)因素是信号在電纜的(de)傳輸過程中衰減。一條傳輸電纜可(kě)以把它看出由分(fēn)布電容、分(fēn)布電感和(hé)電阻聯合組成的(de)等效電路,如圖所示。
電纜的(de)分(fēn)布電容C主要是由雙絞線的(de)兩條平行導線産生。導線的(de)電阻在這(zhè)裏對(duì)信号的(de)影(yǐng)響很小,可(kě)以忽略不計。信号的(de)損失主要是由于電纜的(de)分(fēn)布電容和(hé)分(fēn)布電感組成的(de)LC低通(tōng)濾波器。PROFIBUS用(yòng)的(de)LAN标準型二芯電纜(西門子爲DP總線選用(yòng)的(de)标準電纜),在不同波特率時(shí)的(de)衰減系數如表1所示。
電纜的(de)衰減系數
3、在通(tōng)訊電纜中的(de)純阻負載
影(yǐng)響通(tōng)訊性能的(de)第三個(gè)因素是純阻性負載(也(yě)叫直流負載)的(de)大(dà)小。這(zhè)裏指的(de)純阻性負載主要由終端電阻、偏置電阻和(hé)RS-485收發器三者構成。
在叙述EIA RS-485規範時(shí)曾提到過RS-485驅動器在帶了(le)32個(gè)節點,配置了(le)150Ω終端電阻的(de)情況下(xià),至少能輸出1.5V的(de)差分(fēn)電壓。一個(gè)接收器的(de)輸入電阻爲12kΩ,整個(gè)網絡的(de)等效電路如圖5所示。按這(zhè)樣計算(suàn),RS-485驅動器的(de)負載能力爲:
RL=32個(gè)輸入電阻并聯2個(gè)終端電阻=((12000/32)×(150/2))/(12000/32)+(150/2))≈51.7Ω
現在比較常用(yòng)的(de)RS-485驅動器有MAX485、DS3695、MAX1488/1489以及和(hé)利時(shí)公司使用(yòng)的(de)SN75176A/D等,其中有的(de)RS-485驅動器負載能力可(kě)以達到20Ω。在不考慮其它諸多(duō)因素的(de)情況下(xià),按照(zhào)驅動能力和(hé)負載的(de)關系計算(suàn),一個(gè)驅動器可(kě)帶節點的(de)最大(dà)數量将遠(yuǎn)遠(yuǎn)大(dà)于32個(gè)。
在通(tōng)訊波特率比較高(gāo)的(de)時(shí)候,在線路上偏置電阻是很有必要的(de)。偏置電阻的(de)連接方法如圖6。它的(de)作用(yòng)是在線路進入空閑狀态後,把總線上沒有數據時(shí)(空閑方式)的(de)電平拉離0電平,如圖7。這(zhè)樣一來(lái),即使線路中出現了(le)比較小的(de)反射信号或幹擾,挂接在總線上的(de)數據接收器也(yě)不會由于這(zhè)些信号的(de)到來(lái)而産生誤動作。
通(tōng)過下(xià)面後例子了(le),可(kě)以計算(suàn)出偏置電阻的(de)大(dà)小:
終端電阻Rt1=Rr2=120Ω;
假設反射信号最大(dà)的(de)峰-峰值Vref≤0.3Vp-p,則負半周的(de)電壓Vref≤0.15V;終端的(de)電阻上由反射信号引起的(de)反射電流Iref≤0.15/(120||120)=2.5mA。一般RS-485收發器(包括SN75176)的(de)滞後電壓值(hysteresis value)爲50mV,即:
(Ibias-Iref)×(Rt1||Rt2)≥50mV
于是可(kě)以計算(suàn)出偏置電阻産生的(de)偏置電流Ibias≥3.33mA
+5V=Ibias(R上拉+R下(xià)拉+(Rt1||Rt2)) (2)
通(tōng)過式2可(kě)以計算(suàn)出R上拉=R下(xià)拉=720Ω
在實際應用(yòng)中,RS-485總線加偏置電阻有兩種方法:
(1)把偏置電阻平衡分(fēn)配給總線上的(de)每一個(gè)收發器。這(zhè)種方法給挂接在RS-485總線上的(de)每一個(gè)收發器加了(le)偏置電阻,給每一個(gè)收發器都加了(le)一個(gè)偏置電壓。
(2)在一段總線上隻用(yòng)一對(duì)偏置電阻。這(zhè)種方法對(duì)總線上存在大(dà)的(de)反射信号或幹擾信号比較有效。值得(de)注意的(de)是偏置電阻的(de)加入,增加了(le)總線的(de)負載。
七、RS-485總線的(de)負載能力和(hé)通(tōng)訊電纜長(cháng)度之間的(de)關系
在設計RS-485總線組成的(de)網絡配置(總線長(cháng)度和(hé)帶負載個(gè)數)時(shí),應該考慮到三個(gè)參數:純阻性負載、信号衰減和(hé)噪聲容限。純阻性負載、信号衰減這(zhè)兩個(gè)參數,在前面已經討(tǎo)論過,現在要討(tǎo)論的(de)是噪聲容限(Noise Margin)。RS-485總線接收器的(de)噪聲容限至少應該大(dà)于200mV。前面的(de)論述者是在假設噪聲容限爲0的(de)情況下(xià)進行的(de)。在實際應用(yòng)中,爲了(le)提高(gāo)總線的(de)抗幹擾能力,總希望系統的(de)噪聲容限比EIA RS-485标準中規定的(de)好一些。從下(xià)面的(de)公式能看出總線帶負載的(de)多(duō)少和(hé)通(tōng)訊電纜長(cháng)度之間的(de)關系:
Vend=0.8(Vdriver-Vloss-Vnoise-Vbias)(3)
其中:Vend爲總線末端的(de)信号電壓,在标準測定時(shí)規定爲0.2V;Vdriver爲驅動器的(de)輸出電壓(與負載數有關。負載數在5~35個(gè)之間,Vdriver=2.4V;當負載數小于5,Vdriver=2.5V;當負載數大(dà)于35,Vdriver≤2.3V);Vloss爲信号在總線中的(de)傳輸過程中的(de)損耗(與通(tōng)訊電纜的(de)規格和(hé)長(cháng)度有關),由表1提供的(de)标準電纜的(de)衰減系數,根據公式衰減系數b=20lg(Vout/Vin)可(kě)以計算(suàn)出Vloss=Vin-Vout=0.6V(注:通(tōng)訊波特率爲9.6kbps,電纜長(cháng)度1km,如果特率增加,Vloss會相應增大(dà));Vnoise爲噪聲容限,在标準測定時(shí)規定爲0.1V;Vbias是由偏置電阻提供的(de)偏置電壓(典型值爲0.4V)。
式(3)中乘以0.8是爲了(le)使通(tōng)信電纜不進入滿載狀态。從式(3)可(kě)以看出,Vdriver的(de)大(dà)小和(hé)總線上帶負載數的(de)多(duō)少成反比,Vloss的(de)大(dà)小和(hé)總線長(cháng)度成反比,其他(tā)幾個(gè)參數隻和(hé)用(yòng)的(de)驅動器類型有關。因此,在選定了(le)驅動器的(de)RS-495總線上,在通(tōng)信波特率一定的(de)情況下(xià),帶負載數的(de)多(duō)少,與信号能傳輸的(de)最大(dà)距離是直接相關的(de)。具體關系是:在總線允許的(de)範圍内,帶負載數越多(duō),信号能傳輸的(de)距離就越小;帶負載數據少,信号能傳輸的(de)距離就發越遠(yuǎn)。
八、分(fēn)布電容對(duì)RS-485總線傳輸性能的(de)影(yǐng)響
電纜的(de)分(fēn)布電容主是由雙絞線的(de)兩條平行導線産生。另外,導線和(hé)地之間也(yě)存在分(fēn)布電容,雖然很小,但在分(fēn)析時(shí)也(yě)不能忽視。分(fēn)布電容對(duì)總線傳輸性能的(de)影(yǐng)響,主要是因爲總線上傳輸的(de)是基波信号,信号的(de)表達方式隻有“1”和(hé)“0”。在特殊的(de)字節中,例如0x01,信号“0”使得(de)分(fēn)布電容有足夠的(de)充電時(shí)間,而信号“1”到來(lái)時(shí),由于分(fēn)布電容中的(de)電荷,來(lái)不及放電,(Vin+)—(Vin-)-還(hái)大(dà)于200mV,結果使接愛(ài)誤認爲是“0”,而最終導緻CRC校驗錯誤,整個(gè)數據幀傳輸錯誤。具體過程如圖所示。
由于總線上分(fēn)布影(yǐng)響,導緻數據傳輸錯誤,從而使整個(gè)網絡性能降低。解決這(zhè)個(gè)問題有兩種方法:
(1)降低數據傳輸的(de)波特率;
(2)使用(yòng)分(fēn)布電容小的(de)電纜,提高(gāo)傳輸線的(de)質量。
僅僅用(yòng)一對(duì)雙絞線将各個(gè)接口的(de)A、B端連接起來(lái),而不對(duì)RS-485通(tōng)信鏈路的(de)信号接地,在某些情況下(xià)也(yě)可(kě)以工作,但給系統埋下(xià)了(le)隐患。RS-485接口采用(yòng)差分(fēn)方式傳輸信号并不需要對(duì)于某個(gè)參照(zhào)點來(lái)檢測信号系統,隻需檢測兩線之間的(de)電位差就可(kě)以了(le)。但應該注意的(de)是收發器隻有在共模電壓不超出一定範圍(-7V至+12V)的(de)條件下(xià)才能正常工作。當共模電壓超出此範圍,就會影(yǐng)響通(tōng)信的(de)可(kě)靠直至損壞接口。如圖1所示,當發送器A向接收器B發送數據時(shí),發送器A的(de)輸出共模電壓爲VOS,由于兩個(gè)系統具有各自獨立的(de)接地系統存在著(zhe)地電位差VGPD,那麽接收器輸入端的(de)共模電壓就會達到VCM=VOS+VGPD。RS-485标準規定VOS≤3V,但VGPD可(kě)能會有很大(dà)幅度(十幾伏甚至數十伏),并可(kě)能伴有強幹擾信号緻使接收器共模輸入VCM超出正常圍,在信号線上産生幹擾電流影(yǐng)響正常通(tōng)信,或損壞設備。
總結:
串口是一種非常通(tōng)用(yòng)的(de)設備接口,是儀器儀表設備常用(yòng)的(de)通(tōng)信接口,常用(yòng)于遠(yuǎn)程采集設備數據或者實現遠(yuǎn)程控制。串口的(de)開發也(yě)比較簡單,是很多(duō)工程師最喜歡的(de)接口之一。