- RS232
1 概述
RS-232-C是美國(guó)電子工業(yè)協(xié)會(huì)EIA(ElectronicIndustryAssociation)制定的一種串行物理接口標(biāo)準(zhǔn)。RS是英文“推薦標(biāo)準(zhǔn)”的縮寫,232為標(biāo)識(shí)號(hào),C表示修改次數(shù)。RS-232-C總線標(biāo)準(zhǔn)設(shè)有25條信號(hào)線,包括一個(gè)主通道和一個(gè)輔助通道。
在多數(shù)情況下主要使用主通道,對(duì)于一般雙工通信,僅需幾條信號(hào)線就可實(shí)現(xiàn),如一條發(fā)送線、一條接收線及一條地線。
RS-232-C標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、19200、38400波特。
RS-232-C標(biāo)準(zhǔn)規(guī)定,驅(qū)動(dòng)器允許有2500pF的電容負(fù)載,通信距離將受此電容限制,例如,采用150pF/m的通信電纜時(shí),最大通信距離為15m;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是RS-232屬單端信號(hào)傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20m以內(nèi)的通信。
2 接口標(biāo)準(zhǔn)
串行通信接口標(biāo)準(zhǔn)經(jīng)過使用和發(fā)展,目前已經(jīng)有幾種。但都是在RS-232標(biāo)準(zhǔn)的基礎(chǔ)上經(jīng)過改進(jìn)而形成的。所以,以RS-232C為主來(lái)討論。RS-232C標(biāo)準(zhǔn)是美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開發(fā)的1969年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在0~20000b/s范圍內(nèi)的通信。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口的有關(guān)問題,如信號(hào)線功能、電氣特性都作了明確規(guī)定。由于通信設(shè)備廠商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備,因此,它作為一種標(biāo)準(zhǔn),目前已在微機(jī)通信接口中廣泛采用。
在討論RS-232C接口標(biāo)準(zhǔn)的內(nèi)容之前,先說(shuō)明兩點(diǎn):
終端
首先,RS-232-C標(biāo)準(zhǔn)最初是遠(yuǎn)程通信連接數(shù)據(jù)終端設(shè)備DTE(DataTerminalEquipment)與數(shù)據(jù)通信設(shè)備DCE(DataCommunicateEquipment)而制定的。因此這個(gè)標(biāo)準(zhǔn)的制定,并未考慮計(jì)算機(jī)系統(tǒng)的應(yīng)用要求。但目前它又廣泛地被借來(lái)用于計(jì)算機(jī)(更準(zhǔn)確的說(shuō),是計(jì)算機(jī)接口)與終端或外設(shè)之間的近端連接標(biāo)準(zhǔn)。顯然,這個(gè)標(biāo)準(zhǔn)的有些規(guī)定和計(jì)算機(jī)系統(tǒng)是不一致的,甚至是相矛盾的。有了對(duì)這種背景的了解,我們對(duì)RS-232C標(biāo)準(zhǔn)與計(jì)算機(jī)不兼容的地方就不難理解了。
收發(fā)
其次,RS-232C標(biāo)準(zhǔn)中所提到的“發(fā)送”和“接收”,都是站在DTE立場(chǎng)上,而不是站在DCE的立場(chǎng)來(lái)定義的。由于在計(jì)算機(jī)系統(tǒng)中,往往是CPU和I/O設(shè)備之間傳送信息,兩者都是DTE,因此雙方都能發(fā)送和接收。
3 協(xié)議標(biāo)準(zhǔn)
RS-232C標(biāo)準(zhǔn)(協(xié)議)的全稱是EIA-RS-232C標(biāo)準(zhǔn),其中EIA(ElectronicIndustryAssociation)代表美國(guó)電子工業(yè)協(xié)會(huì),RS(recommendedstandard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識(shí)號(hào),C代表RS232的最新一次修改(1969),在這之前,有RS232B、RS232A。它規(guī)定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送過程。常用物理標(biāo)準(zhǔn)還有EIARS-422A、EIARS-423A、EIARS-485。這里只介紹EIARS-232C(簡(jiǎn)稱232,RS232)。例如,目前在IBMPC機(jī)上的COM1、COM2接口,就是RS-232C接口。
電氣特性
EIA-RS-232C對(duì)電氣特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定。
在TxD和RxD上:
邏輯1(MARK)=-3V~-15V
邏輯0(SPACE)=+3~+15V
在RTS、CTS、DSR、DTR和DCD等控制線上:
信號(hào)有效(接通,ON狀態(tài),正電壓)=+3V~+15V
信號(hào)無(wú)效(斷開,OFF狀態(tài),負(fù)電壓)=-3V~-15V
以上規(guī)定說(shuō)明了RS-232C標(biāo)準(zhǔn)對(duì)邏輯電平的定義。對(duì)于數(shù)據(jù)(信息碼):邏輯“1”(傳號(hào))的電平低于-3V,邏輯“0”(空號(hào))的電平高于+3V;對(duì)于控制信號(hào);接通狀態(tài)(ON)即信號(hào)有效的電平高于+3V,斷開狀態(tài)(OFF)即信號(hào)無(wú)效的電平低于-3V,也就是當(dāng)傳輸電平的絕對(duì)值大于3V時(shí),電路可以有效地檢查出來(lái),介于-3~+3V之間的電壓無(wú)意義,低于-15V或高于+15V的電壓也認(rèn)為無(wú)意義,因此,實(shí)際工作時(shí),應(yīng)保證電平在-3V~-15V或+3V~+15V之間。
EIARS-232C與TTL轉(zhuǎn)換:EIARS-232C是用正負(fù)電壓來(lái)表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)接口或終端的TTL器件連接,必須在EIARS-232C與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。目前較為廣泛地使用集成電路轉(zhuǎn)換器件,如MC1488、SN75150芯片可完成TTL電平到EIA電平的轉(zhuǎn)換,而MC1489、SN75154可實(shí)現(xiàn)EIA電平到TTL電平的轉(zhuǎn)換。MAX232芯片可完成TTL←→EIA雙向電平轉(zhuǎn)換。
機(jī)械特性
連接器:由于RS-232C并未定義連接器的物理特性,因此,出現(xiàn)了DB-25、DB-15和DB-9各種類型的連接器,其引腳的定義也各不相同。下面分別介紹兩種連接器。
?。?)DB-25:PC和XT機(jī)采用DB-25型連接器。DB-25連接器定義了25根信號(hào)線,分為4組:
?、佼惒酵ㄐ诺?個(gè)電壓信號(hào)(含信號(hào)地SG)2,3,4,5,6,7,8,20,22
?、?0mA電流環(huán)信號(hào)9個(gè)(12,13,14,15,16,17,19,23,24)
③空6個(gè)(9,10,11,18,21,25)
?、鼙Wo(hù)地(PE)1個(gè),作為設(shè)備接地端(1腳)
注意,20mA電流環(huán)信號(hào)僅IBMPC和IBMPC/XT機(jī)提供,至AT機(jī)及以后,已不支持。
?。?)DB-9:
在AT機(jī)及以后,不支持20mA電流環(huán)接口,使用DB-9連接器,作為提供多功能I/O卡或主板上COM1和COM2兩個(gè)串行接口的連接器。它只提供異步通信的9個(gè)信號(hào)。DB-9型連接器的引腳分配與DB-25型引腳信號(hào)完全不同。因此,若與配接DB-25型連接器的DCE設(shè)備連接,必須使用專門的電纜線。
電纜長(zhǎng)度:在通信速率低于20kb/s時(shí),RS-232C所直接連接的最大物理距離為15m(50英尺)。
最大直接傳輸距離說(shuō)明:RS-232C標(biāo)準(zhǔn)規(guī)定,若不使用MODEM,在碼元畸變小于4%的情況下,DTE和DCE之間最大傳輸距離為15m(50英尺)??梢娺@個(gè)最大的距離是在碼元畸變小于4%的前提下給出的。為了保證碼元畸變小于4%的要求,接口標(biāo)準(zhǔn)在電氣特性中規(guī)定,驅(qū)動(dòng)器的負(fù)載電容應(yīng)小于2500pF。
接口信號(hào)
RS-232C的功能特性定義了25芯標(biāo)準(zhǔn)連接器中的20根信號(hào)線,其中2條地線、4條數(shù)據(jù)線、11條控制線、3條定時(shí)信號(hào)線,剩下的5根線作備用或未定義。常用的只有10根,它們是:
(1)聯(lián)絡(luò)控制信號(hào)線:
數(shù)據(jù)發(fā)送準(zhǔn)備好(Datasetready-DSR)——有效時(shí)(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。
數(shù)據(jù)終端準(zhǔn)備好(Dataterminalready-DTR)——有效時(shí)(ON)狀態(tài),表明數(shù)據(jù)終端可以使用。
這兩個(gè)信號(hào)有時(shí)連到電源上,一上電就立即有效。這兩個(gè)設(shè)備狀態(tài)信號(hào)有效,只表示設(shè)備本身可用,并不說(shuō)明通信鏈路可以開始進(jìn)行通信了,能否開始進(jìn)行通信要由下面的控制信號(hào)決定。
請(qǐng)求發(fā)送(Requesttosend-RTS)——用來(lái)表示DTE請(qǐng)求DCE發(fā)送數(shù)據(jù),即當(dāng)終端準(zhǔn)備要接收MODEM傳來(lái)的數(shù)據(jù)時(shí),使該信號(hào)有效(ON狀態(tài)),請(qǐng)求MODEM發(fā)送數(shù)據(jù)。它用來(lái)控制MODEM是否要進(jìn)入發(fā)送狀態(tài)。
允許發(fā)送(Cleartosend-CTS)——用來(lái)表示DCE準(zhǔn)備好接收DTE發(fā)來(lái)的數(shù)據(jù),是與請(qǐng)求發(fā)送信號(hào)RTS相應(yīng)的信號(hào)。當(dāng)MODEM準(zhǔn)備好接收終端傳來(lái)的數(shù)據(jù),并向前發(fā)送時(shí),使該信號(hào)有效,通知終端開始沿發(fā)送數(shù)據(jù)線TxD發(fā)送數(shù)據(jù)。
這對(duì)RTS/CTS請(qǐng)求應(yīng)答聯(lián)絡(luò)信號(hào)是用于半雙工MODEM系統(tǒng)中發(fā)送方式和接收方式之間的切換。在全雙工系統(tǒng)中,因配置雙向通道,故不需要RTS/CTS聯(lián)絡(luò)信號(hào),使其變高。
接收線信號(hào)檢出(ReceivedLinedetection-RLSD)——用來(lái)表示DCE已接通通信鏈路,告知DTE準(zhǔn)備接收數(shù)據(jù)。當(dāng)本地的MODEM收到由通信鏈路另一端(遠(yuǎn)地)的MODEM送來(lái)的載波信號(hào)時(shí),使RLSD信號(hào)有效,通知終端準(zhǔn)備接收,并且由MODEM將接收下來(lái)的載波信號(hào)解調(diào)成數(shù)字量數(shù)據(jù)后,沿接收數(shù)據(jù)線RxD送到終端。此線也叫做數(shù)據(jù)載波檢出(DataCarrierdectection-DCD)線。
振鈴指示(Ringing-RI)——當(dāng)MODEM收到交換臺(tái)送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效(ON狀態(tài)),通知終端,已被呼叫。
?。?)數(shù)據(jù)發(fā)送與接收線:
發(fā)送數(shù)據(jù)(Transmitteddata-TxD)——通過TxD終端將串行數(shù)據(jù)發(fā)送到MODEM,(DTE→DCE)。
接收數(shù)據(jù)(Receiveddata-RxD)——通過RxD線終端接收從MODEM發(fā)來(lái)的串行數(shù)據(jù),(DCE→DTE)。
(3)地線:
GND、Sig.GND——保護(hù)地和信號(hào)地,無(wú)方向。
上述控制信號(hào)線何時(shí)有效,何時(shí)無(wú)效的順序表示了接口信號(hào)的傳送過程。例如,只有當(dāng)DSR和DTR都處于有效(ON)狀態(tài)時(shí),才能在DTE和DCE之間進(jìn)行傳送操作。若DTE要發(fā)送數(shù)據(jù),則預(yù)先將DTR線置成有效(ON)狀態(tài),等CTS線上收到有效(ON)狀態(tài)的回答后,才能在TxD線上發(fā)送串行數(shù)據(jù)。這種順序的規(guī)定對(duì)半雙工的通信線路特別有用,因?yàn)榘腚p工的通信才能確定DCE已由接收方向改為發(fā)送方向,這時(shí)線路才能開始發(fā)送。
2個(gè)數(shù)據(jù)信號(hào):發(fā)送TXD;接收RXD。
1個(gè)信號(hào)地線:SG。
6個(gè)控制信號(hào):
DSR數(shù)據(jù)發(fā)送準(zhǔn)備好,DataSetReady。
DTR數(shù)據(jù)終端準(zhǔn)備好,DataTerminalReady。
RTSDTE請(qǐng)求DCE發(fā)送(RequestToSend)。
CTSDCE允許DTE發(fā)送(ClearToSend),該信號(hào)是對(duì)RTS信號(hào)的回答。
DCD數(shù)據(jù)載波檢測(cè)(DataCarrierDetection),當(dāng)本地DCE設(shè)備(Modem)收到對(duì)方的DCE設(shè)備送來(lái)的載波信號(hào)時(shí),使DCD有效,通知DTE準(zhǔn)備接收,并且由DCE將接收到的載波信號(hào)解調(diào)為數(shù)字信號(hào),經(jīng)RXD線送給DTE。
RI振鈴信號(hào)(Ringing),當(dāng)DCE收到對(duì)方的DCE設(shè)備送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效,通知DTE已被呼叫。
接線
在工程當(dāng)中經(jīng)常會(huì)用到232口,一般是圓頭8針與D型9針兩種串口。在一定的條件下,必須要自己制作一個(gè)相應(yīng)的"圓頭或者是D型的"232串口。
RS232C串口通信接線方法(三線制)
首先,串口傳輸數(shù)據(jù)只要有接收數(shù)據(jù)針腳和發(fā)送針腳就能實(shí)現(xiàn):同一個(gè)串口的接收腳和發(fā)送腳直接用線相連,兩個(gè)串口相連或一個(gè)串口和多個(gè)串口相連
同一個(gè)串口的接收腳和發(fā)送腳直接用線相連對(duì)9針串口和25針串口,均是2與3直接相連;
兩個(gè)不同串口(不論是同一臺(tái)計(jì)算機(jī)的兩個(gè)串口或分別是不同計(jì)算機(jī)的串口)
DB9-DB9
2-3,3-2,5-5
DB25-DB25
2-3,3-2,7-7
DB9-DB25
2-3,3-2,5-7
上面是對(duì)微機(jī)標(biāo)準(zhǔn)串行口而言的,還有許多非標(biāo)準(zhǔn)設(shè)備,如接收GPS數(shù)據(jù)或電子羅盤數(shù)據(jù),只要記住一個(gè)原則:接收數(shù)據(jù)針腳(或線)與發(fā)送數(shù)據(jù)針腳(或線)相連,彼此交叉,信號(hào)地對(duì)應(yīng)相接。
8針圓形串口接線:2"邏輯地",4"TXD",7"RXD"。
9針D型串口:2"RXD",3"TXD",5"邏輯地"。
RS-232-C的電氣接口電路
RS-232-C的電氣接口電路采取的是不平衡傳輸方式,即所謂單端通訊,其發(fā)送電平與接收電平的差只有2~3V,所以共模抑制能力較差,容易受到共地噪聲和外部干擾的影響,再加上信號(hào)線之間的分布電容,因此其傳送距離最大為約15米,最高數(shù)據(jù)傳輸速率為20kb/s。此外RS-232-C的接口電路的信號(hào)電平較高,容易損壞接口電路的芯片,與TTL電路的電平也不兼容,影響其通用性。為了彌補(bǔ)RS-232-C的不足,提高數(shù)據(jù)傳輸率和延長(zhǎng)通信距離,EIA于1977年制訂了RS-499串行通信標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)對(duì)RS-232-C的不足做了改進(jìn)和補(bǔ)充。RS-422A是RS-499的標(biāo)準(zhǔn)子集之一。
內(nèi)容來(lái)自百科網(wǎng)