簡介
在串行通訊時,要求通訊雙方都采用一個标準接口,使不同的設備可以方便地連接起來進行通訊。RS-232-C接口(又稱EIARS-232-C)是目前最常用的一種串行通訊接口。(“RS-232-C”中的“-C”隻不過表示RS-232的版本,所以與“RS-232”簡稱是一樣的)。
它是在1970年由美國電子工業協會(EIA)聯合貝爾系統、調制解調器廠家及計算機終端生産廠家共同制定的用于串行通訊的标準。它的全名是“數據終端設備(DTE)和數據通訊設備(DTE)之間串行二進制數據交換接口技術标準”該标準規定采用一個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~15V,邏輯“0”的電平為+5V~+15V。選用該電氣标準的目的在于提高抗幹擾能力,增大通信距離。RS-232的噪聲容限為2V,接收器将能識别高至+3V的信号作為邏輯“0”,将低到-3V的信号作為邏輯“1”。
傳送距離較遠
由于RS-232采用串行傳送方式,并且将微機的TTL電平轉換為RS-232C電平,其傳送距離一般可達30m。若采用光電隔離20mA的電流環進行傳送,其傳送距離可以達到1000m。另外,如果在RS-232總線接口再加上Modem,通過有線、無線或光纖進行傳送,其傳輸距離可以更遠。
兩種物理接口
RS-232接口的一種連接器是D13-25的25芯插頭座,通常情況下插頭在DCE端,插座在DTE端。777
缺點
(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)接收線信号檢出(eceived Line Signal Detection,RSDR)—用來表示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 Terminal 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以上的長距離通信,需要采用調制調解器。
RS232與USB比較
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采用的是一種易于擴展的樹狀結構,通過使用USBHub擴展,可連接多達127個外設。USB免除所有系統資源的要求,避免了安裝硬件時發生端口沖突的問題,為其它設備空出硬件資源。
(3)USB外設能自動進行設置,支持即插即用與熱插拔。
(4)靈活供電。USB電纜具有傳送電源的功能,支持節約能源模式,耗電低。USB總線可以提供電壓+5v、最大電流2A的電源,供低功耗的設備作電源使用,不需要額外的電源。
(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米内。