詳解RS-232C接口標準
串行通信接口標準經(jīng)過(guò)使用和發(fā)展,目前已經(jīng)有幾種。但都是在 RS-232標準的基礎上經(jīng)過(guò)改進(jìn)而形成的。所以,以RS-232C為主來(lái)討論。RS-323C標準是美國EIA(電子工業(yè)聯(lián)合會(huì ))與BELL等公司一起開(kāi)發(fā)的1969年公布的通信協(xié)議。它適合于數據傳輸速率在0~20000b/s范圍內的通信。這個(gè)標準對串行通信接口的有關(guān)問(wèn)題,如信號線(xiàn)功能、電器特性都作了明確規定。由于通行設備廠(chǎng)商都生產(chǎn)與RS-232C制式兼容的通信設備,因此,它作為一種標準,目前已在微機通信接口中廣泛采用。
本文引用地址:http://dyxdggzs.com/article/201710/366264.htm在討論RS-232C接口標準的內容之前,先說(shuō)明兩點(diǎn):
首先,RS-232-C標準最初是遠程通信連接數據終端設備DTE(Data Terminal Equipment)與數據通信設備DCE(Data CommunicaTIon Equipment)而制定的。因此這個(gè)標準的制定,并未考慮計算機系統的應用要求。但目前它又廣泛地被借來(lái)用于計算機(更準確的說(shuō),是計算機接口)與終端或外設之間的近端連接標準。顯然,這個(gè)標準的有些規定及和計算機系統是不一致的,甚至是相矛盾的。有了對這種背景的了解,我們對RS-232C標準與計算機不兼容的地方就不難理解了。
其次,RS-232C標準中所提到的“發(fā)送”和“接收”,都是站在DTE立場(chǎng)上,而不是站在DCE的立場(chǎng)來(lái)定義的。由于在計算機系統中,往往是CPU和I/O設備之間傳送信息,兩者都是DTE,因此雙方都能發(fā)送和接收。
一、RS-232-C
RS-232C標準(協(xié)議)的全稱(chēng)是EIA-RS-232C標準,其中EIA(Electronic Industry AssociaTIon)代表美國電子工業(yè)協(xié)會(huì ),RS(ecommeded standard)代表推薦標準,232是標識號,C代表RS232的最新一次修改(1969),在這之前,有RS232B、RS232A。。它規定連接電纜和機械、電氣特性、信號功能及傳送過(guò)程。常用物理標準還有有EIA?RS-232-C、EIA?RS-422-A、EIA?RS-423A、EIA?RS-485。 這里只介紹EIA?RS-232-C(簡(jiǎn)稱(chēng)232,RS232)。 例如,目前在IBM PC機上的COM1、COM2接口,就是RS-232C接口。
RS232C引腳定義
串行口的典型代表是RS-232C及其兼容插口,有9針和25針兩類(lèi)。25針串行口具有20mA電流環(huán)接口功能,用9、11、18、25針來(lái)實(shí)現。其針腳功能如下:
1.電氣特性
EIA-RS-232C對電器特性、邏輯電平和各種信號線(xiàn)功能都作了規定。
在TxD和RxD上:邏輯1(MARK)=-3V~-15V
邏輯0(SPACE)=+3~+15V
在RTS、CTS、DSR、DTR和DCD等控制線(xiàn)上:
信號有效(接通,ON狀態(tài),正電壓)=+3V~+15V
信號無(wú)效(斷開(kāi),OFF狀態(tài),負電壓)=-3V~-15V
以上規定說(shuō)明了RS-323C標準對邏輯電平的定義。對于數據(信息碼):邏輯“1”(傳號)的電平低于-3V,邏輯“0”(空號)的電平告語(yǔ)+3V;對于控制信號;接通狀態(tài)(ON)即信號有效的電平高于+3V,斷開(kāi)狀態(tài)(OFF)即信號無(wú)效的電平低于-3V,也就是當傳輸電平的絕對值大于3V時(shí),電路可以有效地檢查出來(lái),介于-3~+3V之間的電壓無(wú)意義,低于-15V或高于+15V的電壓也認為無(wú)意義,因此,實(shí)際工作時(shí),應保證電平在±(3~15)V之間。 字串2
EIA-RS-232C與TTL轉換:EIA-RS-232C是用正負電壓來(lái)表示邏輯狀態(tài),與TTL以高低電平表示邏輯
狀態(tài)的規定不同。因此,為了能夠同計算機接口或終端的TTL器件連接,必須在EIA-RS-232C與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現這種變換的方法可用分立元件,也可用集成電路芯片。目前較為廣泛地使用集成電路轉換器件,如MC1488、SN75150芯片可完成TTL電平到EIA電平的轉換,而MC1489、SN75154可實(shí)現EIA電平到TTL電平的轉換。MAX232芯片可完成TTL←→EIA雙向電平轉換,圖1顯示了1488和1489的內部結構和引腳。MC1488的引腳(2)、(4,5)、(9,10)和(12,13)接TTL輸入。引腳3、6、8、11輸出端接EIA-RS-232C。MC1498的14的1、4、10、13腳接EIA輸入,而3、6、8、11腳接TTL輸出。具體連接方法如圖2所示。圖中的左邊是微機串行接口電路中的主芯片UART,它是TTL器件,右邊是EIA-RS-232C連接器,要求EIA高電壓。因此,RS-232C所有的輸出、輸入信號都要分別經(jīng)過(guò)MC1488和MC1498轉換器,進(jìn)行電平轉換后才能送到連接器上去或從連接器上送進(jìn)來(lái)。
2、連接器的機械特性:
連接器: 由于RS-232C并未定義連接器的物理特性,因此,出現了DB-25、DB-15和DB-9各種類(lèi)型的連接器,其引腳的定義也各不相同。下面分別介紹兩種連接器。
?。?)DB-25: PC和XT機采用DB-25型連接器。DB-25連接器定義了25根信號線(xiàn),分為4組:
?、佼惒酵ㄐ诺?個(gè)電壓信號(含信號地SG)2,3,4,5,6,7,8,20,22
字串6
?、?0mA電流環(huán)信號 9個(gè)(12,13,14,15,16,17,19,23,24)
?、劭?個(gè)(9,10,11,18,21,25)
?、鼙Wo地(PE)1個(gè),作為設備接地端(1腳)
DB-25型連接器的外形及信號線(xiàn)分配如圖3所示。注意,20mA電流環(huán)信號僅IBM PC和IBM PC/XT機提供,至AT機及以后,已不支持。
電纜長(cháng)度:在通信速率低于20kb/s時(shí),RS-232C所直接連接的最大物理距離為15m(50英尺)。
最大直接傳輸距離說(shuō)明:RS-232C標準規定,若不使用MODEM,在碼元畸變小于4%的情況下,DTE和DCE之間最大傳輸距離為15m(50英尺)??梢?jiàn)這個(gè)最大的距離是在碼元畸變小于4%的前提下給出的。為了保證碼元畸變小于4%的要求,接口標準在電氣特性中規定,驅動(dòng)器的負載電容應小于2500pF。
3、RS-232C的接口信號
RS-232C規標準接口有25條線(xiàn),4條數據線(xiàn)、11條控制線(xiàn)、3條定時(shí)線(xiàn)、7條備用和未定義線(xiàn),常用的只有9根,它們是:
?。?)聯(lián)絡(luò )控制信號線(xiàn) :
數據裝置準備好(Data set ready-DSR)——有效時(shí)(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。
數據終端準備好(Data set ready-DTR)——有效時(shí)(ON)狀態(tài),表明數據終端可以使用。
這兩個(gè)信號有時(shí)連到電源上,一上電就立即有效。這兩個(gè)設備狀態(tài)信號有效,只表示設備本身可用,并不說(shuō)明通信鏈路可以開(kāi)始進(jìn)行通信了,能否開(kāi)始進(jìn)行通信要由下面的控制信號決定。
請求發(fā)送(Request to send-RTS)——用來(lái)表示DTE請求DCE發(fā)送數據,即當終端要發(fā)送數據時(shí),使該信號有效(ON狀態(tài)),向MODEM請求發(fā)送。它用來(lái)控制MODEM是否要進(jìn)入發(fā)送狀態(tài)。
允許發(fā)送(Clear to send-CTS)——用來(lái)表示DCE準備好接收DTE發(fā)來(lái)的數據,是對請求發(fā)送信號RTS的響應信號。當MODEM已準備好接收終端傳來(lái)的數據,并向前發(fā)送時(shí),使該信號有效,通知終端開(kāi)始沿發(fā)送數據線(xiàn)TxD發(fā)送數據。
這對RTS/CTS請求應答聯(lián)絡(luò )信號是用于半雙工MODEM系統中發(fā)送方式和接收方式之間的切換。在全
雙工系統中作發(fā)送方式和接收方式之間的切換。在全雙工系統中,因配置雙向通道,故不需要RTS/CTS聯(lián)絡(luò )信號,使其變高。
接收線(xiàn)信號檢出(Received Line detecTIon-RLSD)——用來(lái)表示DCE已接通通信鏈路,告知DTE準備接收數據。當本地的MODEM收到由通信鏈路另一端(遠地)的MODEM送來(lái)的載波信號時(shí),使RLSD信號有效,通知終端準備接收,并且由MODEM將接收下來(lái)的載波信號解調成數字兩數據后,沿接收數據線(xiàn)RxD送到終端。此線(xiàn)也叫做數據載波檢出(Data Carrier dectecTIon-DCD)線(xiàn)。
振鈴指示(Ringing-RI)——當MODEM收到交換臺送來(lái)的振鈴呼叫信號時(shí),使該信號有效(ON狀態(tài)),通知終端,已被呼叫。
?。?)數據發(fā)送與接收線(xiàn):
發(fā)送數據(Transmitted data-TxD)——通過(guò)TxD終端將串行數據發(fā)送到MODEM,(DTE→DCE)。
接收數據(Received data-RxD)——通過(guò)RxD線(xiàn)終端接收從MODEM發(fā)來(lái)的串行數據,(DCE→DTE)。
?。?)地線(xiàn)
有兩根線(xiàn)SG、PG——信號地和保護地信號線(xiàn),無(wú)方向。
上述控制信號線(xiàn)何時(shí)有效,何時(shí)無(wú)效的順序表示了接口信號的傳送過(guò)程。例如,只有當DSR和DTR都處于有效(ON)狀態(tài)時(shí),才能在DTE和DCE之間進(jìn)行傳送操作。若DTE要發(fā)送數據,則預先將DTR線(xiàn)置成有效(ON)狀態(tài),等CTS線(xiàn)上收到有效(ON)狀態(tài)的回答后,才能在TxD線(xiàn)上發(fā)送串行數據。這種順序的規定對半雙工的通信線(xiàn)路特別有用,因為半雙工的通信才能確定DCE已由接收方向改為發(fā)送方向,這時(shí)線(xiàn)路才能開(kāi)始發(fā)送。
2個(gè)數據信號:發(fā)送TXD;接收RXD。
1個(gè)信號地線(xiàn):SG。
6個(gè)控制信號:
DSR??數傳機(即modem)準備好,Data Set Ready.
DTR??數據終端(DTE,即微機接口電路,如Intel8250/8251,16550)準備好,Data Terminal Ready。
RTS??DTE請求DCE發(fā)送(Request To Send)。
CTS??DCE允許DTE發(fā)送(Clear To Send),該信號是對RTS信號的回答。
DCD??數據載波檢出,Data Carrier Detection當本地DCE設備(Modem)收到對方的DCE設備送來(lái)的載波信號時(shí),使DCD有效,通知DTE準備接收, 并且由DCE將接收到的載波信號解調為數字信號, 經(jīng)RXD線(xiàn)送給DTE。
RI??振鈴信號 Ringing當DCE收到交換機送來(lái)的振鈴呼叫信號時(shí),使該信號有效,通知DTE已被呼叫。
遠距離通信
第1和第2中情況是屬于遠距離通信(傳輸距離大于15m的通信)的例子,故一般要加調制解調器MODEM,因此使用的信號線(xiàn)較多。注意:在以下各圖中,DTE信號為RS-232-C信號,DTE與計算機間的電平轉換電路未畫(huà)出。
1、采用Modem(DCE)和電話(huà)網(wǎng)通信時(shí)的信號連接:
若在雙方MODEM之間采用普通電話(huà)交換線(xiàn)進(jìn)行通信,除了需要2~8號信號線(xiàn)外還要增加RI(22號)和DTR(20號)兩個(gè)信號線(xiàn)進(jìn)行聯(lián)絡(luò ),如圖4所示。
DSR、DTR:數傳機(DCE)準備好、數據終端(DTE)準備好,只表示設備本身可用。
首先,通過(guò)電話(huà)機拔號呼叫對方,電話(huà)交換臺向對方發(fā)出拔號呼叫信號,當對方DCE收到該信號后,使RI(振鈴信號)有效,通知DTE,已被呼叫。當對方“摘機”后,兩方建立了通信鏈路。
若計算機要發(fā)送數據至對方,首先通過(guò)接口電路(DTE)發(fā)出RTS(請求發(fā)送)信號。此時(shí),若DCE(Modem)允許傳送,則向DTE回答CTS(允許發(fā)送)信號。一般可直接將RTS/CTS接高電平,即只要通信鏈路已建立,就可傳送信號。(RTS/CTS可只用于半雙工系統中作發(fā)送方式和接收方式的切換。
當DTE獲得CTS信號后,通過(guò)T XD線(xiàn)向DCE發(fā)出串行信號,DCE(Modem)將這些數字信號調制成模擬信號(又稱(chēng)載波信號),傳向對方。
計算機向DTE“數據輸出寄存器”傳送新的數據前,應檢查Modem狀態(tài)和數據輸出寄存器為空。當對方的DCE收到載波信號后,向對方的DTE發(fā)出DCD信號(數據載波檢出),通知其DTE準備接收,同時(shí),將載波信號解調為數據信號,從RXD線(xiàn)上送給DTE,DTE通過(guò)串行接收移位寄存器對接收到的位流進(jìn)行移位,當收到1個(gè)字符的全部位流后,把該字符的數據位送到數據輸入寄存器,CPU可以從數據輸入寄存器讀取字符。
近距離通信:
當通信距離較近時(shí),可不需要Modem,通信雙方可以直接連接,這種情況下,只需使用少數幾根信號線(xiàn)。最簡(jiǎn)單的情況,在通信中根本不需要RS-232C的控制聯(lián)絡(luò )信號,只需三根線(xiàn)(發(fā)送線(xiàn)、接收線(xiàn)、信號地線(xiàn))便可實(shí)現全雙工異步串行通信,即是這里要討論的第一種情況。
無(wú)Modem時(shí),最大通信距離按如下方式計算:
RS-232C標準規定:當誤碼率小于4%時(shí),要求導線(xiàn)的電容值應小于2500PF。對于普通導線(xiàn),其電容值約為170PF/M。則允許距離L=2500PF/(170PF/M)=15M
這一距離的計算,是偏于保守的,實(shí)際應用中,當使用9600bps,普通雙絞屏蔽線(xiàn)時(shí),距離可達30~35米。
評論