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