RS-232-C 串口通訊詳解
1、采用Modem(DCE)和電話網(wǎng)通信時(shí)的信號連接:
若在雙方MODEM之間采用普通電話交換線進(jìn)行通信,除了需要2~8號信號線外還要增加RI(22號)和DTR(20號)兩個(gè)信號線進(jìn)行聯(lián)絡(luò),如圖1所示。
DSR、DTR:數(shù)傳機(jī)(DCE)準(zhǔn)備好、數(shù)據(jù)終端(DTE)準(zhǔn)備好,只表示設(shè)備本身可用。
首先,通過電話機(jī)拔號呼叫對方,電話交換臺向?qū)Ψ桨l(fā)出拔號呼叫信號,當(dāng)對方DCE收到該信號后,使RI(振鈴信號)有效,通知DTE,已被呼叫。當(dāng)對方“摘機(jī)”后,兩方建立了通信鏈路。
若計(jì)算機(jī)要發(fā)送數(shù)據(jù)至對方,首先通過接口電路(DTE)發(fā)出RTS(請求發(fā)送)信號。此時(shí),若DCE(Modem)允許傳送,則向DTE回答CTS (允許發(fā)送)信號。一般可直接將RTS/CTS接高電平,即只要通信鏈路已建立,就可傳送信號。(RTS/CTS可只用于半雙工系統(tǒng)中作發(fā)送方式和接收方式的切換。
當(dāng)DTE獲得CTS信號后,通過TXD線向DCE發(fā)出串行信號,DCE(Modem)將這些數(shù)字信號調(diào)制成模擬信號(又稱載波信號),傳向?qū)Ψ健?br /> 計(jì)算機(jī)向DTE“數(shù)據(jù)輸出寄存器”傳送新的數(shù)據(jù)前,應(yīng)檢查Modem狀態(tài)和數(shù)據(jù)輸出寄存器為空。當(dāng)對方的DCE收到載波信號后,向?qū)Ψ降腄TE發(fā)出 DCD信號(數(shù)據(jù)載波檢出),通知其DTE準(zhǔn)備接收,同時(shí),將載波信號解調(diào)為數(shù)據(jù)信號,從RXD線上送給DTE,DTE通過串行接收移位寄存器對接收到的位流進(jìn)行移位,當(dāng)收到1個(gè)字符的全部位流后,把該字符的數(shù)據(jù)位送到數(shù)據(jù)輸入寄存器,CPU可以從數(shù)據(jù)輸入寄存器讀取字符。
2、采用專用電話線通信:
在通信雙方的MODEM之間采用電話線進(jìn)行通信,則只要使用2~8號信號線進(jìn)行聯(lián)絡(luò)與控制。不需要電話機(jī)、振鈴信號RI和DTR信號,其信號線的連接如圖2那樣。
三、近距離通信:
當(dāng)通信距離較近時(shí),可不需要Modem,通信雙方可以直接連接,這種情況下,只需使用少數(shù)幾根信號線。最簡單的情況,在通信中根本不需要RS-232C的控制聯(lián)絡(luò)信號,只需三根線(發(fā)送線、接收線、信號地線)便可實(shí)現(xiàn)全雙工異步串行通信,即是這里要討論的第一種情況。
無Modem時(shí),最大通信距離按如下方式計(jì)算:
RS-232C標(biāo)準(zhǔn)規(guī)定:當(dāng)誤碼率小于4%時(shí),要求導(dǎo)線的電容值應(yīng)小于2500PF。對于普通導(dǎo)線,其電容值約為170PF/M。則允許距離L=2500PF/(170PF/M)=15M
這一距離的計(jì)算,是偏于保守的,實(shí)際應(yīng)用中,當(dāng)使用9600bps,普通雙絞屏蔽線時(shí),距離可達(dá)30~35米。
1、零Modem 的最簡連線(3線制)
圖3是零MODEM方式的最簡單連接(即三線連接),圖中的2號線與3號線交叉連接是因?yàn)樵谥边B方式時(shí),把通信雙方都當(dāng)作數(shù)據(jù)終端設(shè)備看待,雙方都可發(fā)也可收。在這種方式下,通信雙方的任何一方,只要請求發(fā)送RTS有效和數(shù)據(jù)終端準(zhǔn)備好DTR有效就能開始發(fā)送和接收。
?。?)RTS與CTS互聯(lián):只要請求發(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ò)控制信號,則采用零MODEM方式的標(biāo)準(zhǔn)連接方法,其通信雙方信號線安排如下1-2-3-4-5順序所演示的那樣。
無Modem的標(biāo)準(zhǔn)聯(lián)線(7線制)如圖所示:
從中可以看出,RS-232C接口標(biāo)準(zhǔn)定義的所有信號線都用到了,并且是按照DTE和DCE之間信息交換協(xié)議的要求進(jìn)行連接的,只不過是把DTE自己發(fā)出的信號線送過來,當(dāng)作對方DCE發(fā)來的信號,因此,又把這種連接稱為雙叉環(huán)回接口。
雙方的握手信號關(guān)系如下(注:甲方乙方并未在圖中標(biāo)出):
?。?)當(dāng)甲方的DTE準(zhǔn)備好,發(fā)出DTR信號,該信號直接聯(lián)至乙方的RI(振鈴信號)和DSR(數(shù)傳機(jī)準(zhǔn)備好)。即只要甲方準(zhǔn)備好,乙方立即產(chǎn)生呼叫(RI)有效,并同時(shí)準(zhǔn)備好(DSR)。盡管此時(shí)乙方并不存在DCE(數(shù)傳機(jī))。
(2)甲方的RTS和CTS相連,并與乙方的DCD互連。即:一旦甲方請求發(fā)送(RTS),便立即得到允許(CTS),同時(shí),使乙方的DCD有效,即檢測到載波信號。
?。?)甲方的TXD與乙方的RXD相連,一發(fā)一收。
評論