RS-232

常用的串列通信介面標準之一

RS-232標準介面(又稱EIA RS-232)是常用的串列通信介面標準之一,它是由美國電子工業協會(EIA)聯合貝爾系統公司、數據機廠家及計算機終端生產廠家於1970年共同制定,其全名是“數據終端沒備( DTE)和數據通信沒備(DCE)之間串列二進位數據交換介面技術標準”。

簡介


在串列通訊時,要求通訊雙方都採用一個標準介面,使不同的設備可以方便地連接起來進行通訊。RS-232-C
RS-232
RS-232
介面(又稱EIARS-232-C)是目前最常用的一種串列通訊介面。(“RS-232-C”中的“-C”只不過表示RS-232的版本,所以與“RS-232”簡稱是一樣的)。
它是在1970年由美國電子工業協會(EIA)聯合貝爾系統、數據機廠家及計算機終端生產廠家共同制定的用於串列通訊的標準。它的全名是“數據終端設備(DTE)和數據通訊設備(DCE)之間串列二進位數據交換介面技術標準”該標準規定採用一個25個腳的DB-25連接器,對連接器的每個引腳的信號內容加以規定,還對各種信號的電平加以規定。後來IBM的PC機將RS232簡化成了DB-9連接器,從而成為事實標準。而工業控制的RS-232口一般只使用RXD、TXD、GND三條線。

特點


信號線少

RS-232匯流排規定了25條線,包含了兩個信號通道,即第一通道(稱為主通道)和第二通道(稱為副通道)。利用RS- 232匯流排可以實現全雙工通信,通常使用的是主通道,而副通道使用較少。在一般應用中,使用3條~9條信號線就可以實現全雙工通信,採用三條信號線(接收線、發送線和信號地)能實現簡單的全雙工通信過程。

靈活的波特率選擇

RS-232規定的標準傳送速率有50b/s、75b/s、110b/s、150b/s、300b/s、600b/s、1200b/s、2400b/s、4800b/s、9600b/s、19200b/s,可以靈活地適應不同速率的設備。對於慢速外設,可以選擇較低的傳送速率:反之,可以選擇較高的傳送速率。

採用負邏輯傳送

規定邏輯“1”的電平為-5V~-15 V,邏輯“0”的電平為+5 V~+15 V。選用該電氣標準的目的在於提高抗干擾能力,增大通信距離。RS -232的雜訊容限為2V,接收器將能識別低至+3V的信號作為邏輯“0”,將高到-3 V的信號作為邏輯“1”。

傳送距離較遠

由於RS -232採用串列傳送方式,並且將微機的TTL電平轉換為RS-232C電平,其傳送距離一般可達30 m。若採用光電隔離20 mA的電流環進行傳送,其傳送距離可以達到1000 m。另外,如果在RS-232匯流排介面再加上Modem,通過有線、無線或光纖進行傳送,其傳輸距離可以更遠。

兩種物理介面

RS - 2-32介面的一種連接器是D13 - 25的25芯插頭座,通常情況下插頭在DCE端,插座在DTE端。

缺點


(1)介面的信號電平值較高,易損壞介面電路的晶元,又因為與TTL電平不兼容故需使用電平轉換電路方能與TTL電路連接。
(2)傳輸速率較低,在非同步傳輸時,波特率為20Kbps;因此在CPLD開發板中,綜合程序波特率只能採用19200,也是這個原因。
(3)介面使用一根信號線和一根信號返回線而構成共地的傳輸形式,這種共地傳輸容易產生共模干擾,所以抗雜訊干擾性弱。
(4)傳輸距離有限,最大傳輸距離標準值為50英尺,實際上也只能用在15米左右。

通信機理


下面以計算機和數據機之間的通信流程來說明RS-232串列通信原理。考慮當數據機處於應答方式下,計算機和數據機之間的RS-232信號間的交互關係和工作過程。假定數據機是全雙工的,並以RS-232
標準規範工作。
(1)初始狀態時,RTS、CTS持續為ON,通過通信程序設置和監測RS232引線狀態。在應答模式下,計算機中的軟體一直監視著振鈴指示(RI),等待RI發出ON信號。
(2)計算機上的通信程序在收到RI信號后,就開始通過振鈴指示器ON/OFF變換的次數對振鈴進行計數,當到達程設定的振鈴次數時,通信程序就發生數據終端就緒(DTR)信號,強迫數據機進入摘機狀態。
(3)等待2s后(FCC規定),數據機自動開始發送其應答載波。這時數據機發出數據機就緒(DSR)信號通知計算機:它已完成所有的準備工作並等待載波信號。
(4)在持續發出DTR信號期間,計算機軟體監測DSR信號。當DSR信號變為ON時,計算機就知道數據機已準備數據鏈路的連接,計算機立即開始監測數據載波監測(CD)信號,以證實數據鏈路的存在。
(5)當源數據機的載波出現在電話線上時,應答數據機就發出CD信號。
(6)通過發送數據線(TD)和接收數據線(RD),開始全雙工通信。在數據鏈路傳輸期間,計算機通過監測CD來確保數據鏈路的存在。
(7)通信任務一旦完成,計算機就禁止DTR,數據機用除去其載波音調、禁止CD和DSR來響應。隨著鏈路被拆除,數據機就會返回初始狀態。
RS-232串列通信距離較近時(<12m),可以用電纜線直接連接標準RS232埠,若距離較遠需附加數據機( Mode),最為簡單的且常用的是三線制接法,即地、接收數據、發送數據三腳相連。

特性


機械特性

RS232標準採用的介面是9針或25針的D型插頭,常用的一般是9針插頭。
RS232C標準介面有25根線,常用的只有9根,它們是:
(1)接收線信號檢出( Received Line Signal Detection,RSD)——用來表示DCE已接通通信鏈路,告知DTE準備接收數據。當本地的 MODEM收到由通信鏈路另一端(遠地)的MODEM送來的載波信號時,使RLSD信號有效,通知終端準備接收,並且由MODEM將接收下來的載波信號解調成數字數據后,沿接收數據線RXD送到終端。此線也叫作數據載波檢出(Data Carrier detection,DCD)線。
(2)接收數據( Received data,RXD)——通過RXD線終端接收從 MODEM發來的串列數據(DCE→DTE)。
(3)發送數據( Transmitted data,TXD)——通過TXD終端將串列數據發送到 MODEM(DTE→DCE)。
(4)數據終端準備好( Data Set Ready,DTR)——有效時(ON)狀態,表明數據終端可以使用。
(5)地線-GND。
(6)數據裝置準備好( Data Set ready,DSR)——有效時(ON)狀態,表明通信裝置處於可以使用的狀態。
(7)請求發送( Request to Send)——用來表示DTE請求DCE發送數據,即當終端要發送數據時,使該信號有效(ON狀態),向 MODEM請求發送。它用來控制 MODEM是否要進入發送狀態。
(8)清除發送( Clear to Send,CTS)―用來表示DCE準備好接收DTE發來的數據,是對請求發送信號RTS的響應信號。當 MODEM已準備好接收終端傳來的數據並向前發送時,使該信號有效,通知終端開始沿發送數據線TXD發送數據。
(9)振鈴指示( Ringing,R)——當 MODEM收到交換台送來的振鈴呼叫信號時,使該信號有效(ON狀態),通知終端,已被呼叫。

電氣特性

在TXD和RXD上:邏輯1(MARK)=-3~-15V;邏輯0(SPACE)=3~15V。在RTS、CTS、DSR、DTR和DCD等控制線上:信號有效(接通,ON狀態,正電壓)=3~15V;信號無效(斷開,OFF狀態,負電壓)=-3~-15V。
以上規定說明了RS232C標準對邏輯電平的定義。對於數據(信息碼),邏輯1(傳號)的電平低於-3V,邏輯0(空號)的電平高於+3V;對於控制信號,接通狀態(ON)即信號有效的電平高於3V,斷開狀態(OFF)即信號無效的電平低於-3V,也就是當傳輸電平的絕對值大於3V時,電路可以有效地檢查出來,介於-3~3V的電壓無意義,低於-15V或高於15V的電壓也認為無意義,因此,實際工作時,應保證電平在±(3~15)V用RS232匯流排連接系統時有近程通信方式和遠程通信方式兩種,近程通信是指傳輸距離小於15m的通信,可以用RS232電纜直接連接;15m以上的長距離通信,需要採用調製調解器。

比較


RS-232與USB都是串列通信,但無論是底層信號、電平定義、機械連接方式,還是數據格式、通信協議等,兩者完全不同。 RS-232是一個流行的介面。在MS-DOS中,四個串列介面稱為COM1、COM2、COM3和COM4,而絕大部分windows應用程序最多可以有4個外設,但是如果用戶要擴充更多外設時,就必須要用插入式串列卡或者外部開關盒實現。 RS-232點對點連接,一個串口只能連接一個外設。
而USB是一種多點、高速的連接方式,採用集線器能實現更多的連接。USB介面的基本部分是串列介面引擎SIE,SIE從USB收發器中接收數據位,轉化為有效位元組傳送給SIE介面;反之,SIE介面也可以接收位元組轉化為串列位送到匯流排。由於PC機串口的最高速率僅為115.2kbps,會形成一個速度瓶頸。RS-232系統包括2個串列信號路徑,其方向相反,分別用於傳輸命令和數據,而命令和狀態必須與數據交織在一起;而USB支持分離的命令和數據通道並允許獨立的狀態報告。 USB是一種方便、靈活、簡單、高速的匯流排結構,與傳統的RS-232介面相比,主要有以下特點:
(1) USB採用單一形式的連接頭和連接電纜,實現了單一的數據通用介面。USB統一的4針插頭,取代了PC機箱后種類繁多的串/並插頭,實現了將計算機常規I/O設備、多媒體設備(部分)、通信設備(電話、網路)以及家用電器統一為一種介面的願望。
(2) USB採用的是一種易於擴展的樹狀結構,通過使用USB Hub擴展,可連接多達127個外設。USB免除所有系統資源的要求,避免了安裝硬體時發生埠衝突的問題,為其它設備空出硬體資源。
(3) USB外設能自動進行設置,支持即插即用與熱插拔。
(4) 靈活供電。USB電纜具有傳送電源的功能,支持節約能源模式,耗電低。USB匯流排可以提供電壓+5v、最大電流500mA的電源,供低功耗的設備作電源使用,不需要額外的電源。
(5) USB可以支持四種傳輸模式:控制傳輸、同步傳輸、中斷傳輸、批量傳輸,可以適用於很多類型的外設。
(6)通信速度快。USB支持三種匯流排速度,低速1.5Mbps、全速12Mbps和高速480Mbps。
(7)數據傳送的可靠性。USB採用差分傳輸方式,且具有檢錯和糾錯功能,保證了數據的正確傳輸。
(8)低成本。USB簡化了外設的連接和配置的方法,有效地減少了系統的總體成本,是一種廉價的簡單實用的解決方案,具有較高的性能價格比。
RS-232應用範圍廣泛、價格便宜、編程容易並且可以比其它介面使用更長的導線,隨著USB埠的越來越普遍,將會出現更多的把USB轉換成RS-232或其它介面的轉換裝置。但是RS-232和類似的介面仍將在諸如監視和控制系統這樣的應用中得到普遍的應用。對習慣使用RS-232的開發者和產品可以考慮設計USB/RS-232轉換器,通過USB匯流排傳輸RS-232數據,即PC端的應用軟體依然是針對RS-232串列埠編程的,外設也是以RS-232為數據通信通道,但從PC到外設之間的物理連接卻是USB匯流排,其上的數據通信也是USB數據格式。採用這種方式的好處在於:一方面保護原有的軟體開發投入,已開發成功的針對RS-232外設的應用軟體可以不加修改地繼續使用;另一方面充分利用了USB匯流排的優點,通過USB介面可連接更多的RS-232設備,不僅可獲得更高的傳輸速度,實現真正的即插即用,同時解決了USB介面不能遠距離傳輸的缺點(USB通訊距離在5米內。