産品搜索:

技術交流

RS-232C接口标準其實還暗藏(cáng)這幾點貓(māo)膩
來源:   發布時間:2017-03-02   浏覽量(liàng):49

串行通(tōng)信接口标準經過(guò)使用(yòng)和發展,目前已經有幾種。但都是在 RS-232标準的基礎上經過改(gǎi)進而形成的。所以,以爲主來讨論。RS-323C标準是美國EIA(電(diàn)子工業聯合會)與BELL等公司一起(qǐ)開發的1969年公布(bù)的通信協議。它适合于數據傳輸速率在(zài)0~20000b/s範圍内的通信。這個标準對串行通信接口的有關問題,如(rú)信(xìn)号線功能、電器特性都作了明确規定。由于通(tōng)行設備廠(chǎng)商都(dōu)生産與制式兼容的(de)通信設備,因此,它作爲一種标(biāo)準,目前已在微機通信接口(kǒu)中廣泛(fàn)采用。

本文(wén)引用地址:http://eepw.com.cn/article/201702/344595.htm

  在讨論接(jiē)口(kǒu)标準的内容之前(qián),先說(shuō)明兩點:

  首先,RS-232-C标(biāo)準最初是遠程通信連接數據終端設備DTE(Data Terminal Equipment)與數據通信設備DCE(Data CommunicaTIon Equipment)而制定的。因此這個标準的制定,并未考慮計算機系(xì)統(tǒng)的應用要(yào)求。但目前它又廣(guǎng)泛地(dì)被借來用于計算機(jī)(更準确的說,是計算機接口(kǒu))與終端或外設之間的近(jìn)端連接(jiē)标準。顯然,這個标準的有些規定及和計算機系統是不(bú)一緻(zhì)的,甚至是相矛盾的。有(yǒu)了對這種背景的了解(jiě),我們對RS-232C标(biāo)準與(yǔ)計算(suàn)機不兼容的地(dì)方就不難理解了。

  其次,RS-232C标準中所提到的(de)“發送”和“接收”,都是站在DTE立場上,而不是站在DCE的立場來定義的。由于在計算機系統中(zhōng),往往是CPU和I/O設備之間傳(chuán)送信息,兩者都是DTE,因此雙方都能發送和接收。

  一、RS-232-C

  RS-232C标準(協議)的全稱是EIA-RS-232C标準,其中EIA(Electronic Industry AssociaTIon)代表美國電子工業協會,RS(ecommeded standard)代表推薦标準,232是标識号(hào),C代表RS232的最新一次修改(1969),在這之前,有RS232B、RS232A。。它規定連接(jiē)電纜和機械、電氣特性、信号功能及傳送(sòng)過程。常用物理标準還有有EIA?RS-232-C、EIA?RS-422-A、EIA?RS-423A、EIA?RS-485。 這裏隻(zhī)介紹EIA?RS-232-C(簡稱232,RS232)。 例如(rú),目前(qián)在IBM PC機上的COM1、COM2接口(kǒu),就是RS-232C接口。

  RS232C引腳定義

  串(chuàn)行口的典型代表(biǎo)是RS-232C及其兼容插口(kǒu),有9針和25針兩類。25針(zhēn)串行口具有20mA電流環接口功能,用9、11、18、25針來實現。其針腳功能如下:

  1.電氣特性

  EIA-RS-232C對電(diàn)器特性、邏輯電平和各種信号線功(gōng)能都作了(le)規定。

  在TxD和(hé)RxD上:邏(luó)輯1(MARK)=-3V~-15V

  邏(luó)輯0(SPACE)=+3~+15V

  在(zài)RTS、CTS、DSR、DTR和DCD等控制線上:

  信号有效(xiào)(接通,ON狀态,正電壓)=+3V~+15V

  信号無效(斷開,OFF狀态,負(fù)電壓(yā))=-3V~-15V

  以上規定說明了RS-323C标準對(duì)邏輯電平的定義。對于數(shù)據(信息碼):邏輯“1”(傳(chuán)号)的電平低于-3V,邏輯“0”(空号)的電平告語+3V;對于控制(zhì)信号;接通狀态(ON)即(jí)信号有效的(de)電平高于(yú)+3V,斷開狀态(OFF)即信号無效的電平低于-3V,也就是當傳輸電平的絕對值大于(yú)3V時,電(diàn)路可以有效(xiào)地檢查出來,介于-3~+3V之(zhī)間的電壓無意義,低于-15V或高于+15V的(de)電壓也認爲無意(yì)義(yì),因此,實際工作時,應保證電平在±(3~15)V之間。 字串2

  EIA-RS-232C與TTL轉換:EIA-RS-232C是(shì)用正負電壓來(lái)表示邏輯狀态,與TTL以(yǐ)高低電平表示邏輯

  狀态的規定(dìng)不同(tóng)。因此(cǐ),爲了能夠同計算機接口或終(zhōng)端(duān)的TTL器件連接,必須在EIA-RS-232C與TTL電路之間(jiān)進行電平和邏輯(jí)關系的(de)變換。實現這種(zhǒng)變換的方法可用分立元件,也可用集成電路芯片。目前較爲廣泛(fàn)地使用集成電路轉換器(qì)件,如MC1488、SN75150芯片可完(wán)成TTL電平到EIA電平的轉換,而MC1489、SN75154可實(shí)現EIA電平到TTL電平的轉換。MAX232芯片可(kě)完成TTL←→EIA雙向電平轉換,圖1顯示了1488和1489的内部(bù)結構和引腳。MC1488的引腳(jiǎo)(2)、(4,5)、(9,10)和(12,13)接TTL輸入。引腳3、6、8、11輸出端接EIA-RS-232C。MC1498的14的1、4、10、13腳接EIA輸入(rù),而3、6、8、11腳接TTL輸出。具體連接方法(fǎ)如圖2所示。圖中的(de)左邊(biān)是微機串行(háng)接口電路(lù)中的主芯片UART,它是TTL器件,右邊是EIA-RS-232C連接器(qì),要求EIA高電壓。因此,RS-232C所(suǒ)有的輸出、輸入信号(hào)都要分别經(jīng)過MC1488和(hé)MC1498轉換器,進行(háng)電平轉換後才能送(sòng)到連接器上去或從連接器上送進來。

  2、連(lián)接器的(de)機械特性:

  連接器: 由于RS-232C并未定義連接器的(de)物理特性,因此,出現了DB-25、DB-15和DB-9各種(zhǒng)類型的連接器,其引(yǐn)腳的定義也各不相同。下(xià)面分别介(jiè)紹兩(liǎng)種連接器。

  (1)DB-25: PC和XT機采用(yòng)DB-25型連接器。DB-25連接器定義了(le)25根信号線,分(fèn)爲4組:

  ①異步通信的9個(gè)電壓信号(含信号地SG)2,3,4,5,6,7,8,20,22

  字串6

  ②20mA電流環信号 9個(12,13,14,15,16,17,19,23,24)

  ③空6個(9,10,11,18,21,25)

  ④保護地(PE)1個,作爲設備接地端(1腳)

  DB-25型連接器的外形及信号線分配如(rú)圖3所示。注意,20mA電流環信号僅IBM PC和IBM PC/XT機提供,至AT機及以後,已不支持。

  電纜(lǎn)長度:在通信速率低于20kb/s時,RS-232C所直接連接的最大物理距離爲15m(50英尺)。

  最大直接傳輸距離說明:RS-232C标準規定,若不使用MODEM,在碼元(yuán)畸變小(xiǎo)于4%的情(qíng)況下,DTE和DCE之間最大傳輸距離爲15m(50英(yīng)尺)。可見這個最大的距離是在碼元畸變(biàn)小于4%的前提下給出的。爲了保證碼元畸(jī)變小于4%的要求,接口标準在電(diàn)氣特性中規定,驅動器的負載電容應(yīng)小于2500pF。

  3、RS-232C的(de)接口信号

  RS-232C規标準接(jiē)口有25條線(xiàn),4條數據線、11條控制線、3條(tiáo)定時線、7條備用和未定(dìng)義線,常用的隻(zhī)有9根,它們是:

  (1)聯絡控(kòng)制信号線 :

  數據裝置準備好(Data set ready-DSR)——有效時(ON)狀态,表明MODEM處于可以使用的狀态。

  數據終端準備好(Data set ready-DTR)——有效時(ON)狀态,表明數據終端可以使用。

  這兩個(gè)信号有時連到電源上,一上電就立即有效。這(zhè)兩個設備狀态信号有效,隻表示設備本身可用,并不說明通信鏈路可以開始(shǐ)進行通信了(le),能否開始進行通信要(yào)由下面的控制信(xìn)号決定。

  請求發送(Request to send-RTS)——用來表示DTE請求DCE發(fā)送數據,即當終端要(yào)發送數據(jù)時,使該信号有效(ON狀态),向MODEM請求發送。它用來控制MODEM是否要進入(rù)發送狀态。

  允許發送(Clear to send-CTS)——用來表示DCE準備好接收DTE發來的數據,是對請求發送信号RTS的響應信号。當MODEM已準備好接收(shōu)終端傳來的數據,并(bìng)向前發送時,使該信号有效,通知終端開(kāi)始沿發送數據線TxD發送數據。

  這對RTS/CTS請求應答聯絡信号是用于半雙(shuāng)工MODEM系統(tǒng)中發送方式和接收方式之(zhī)間的切換。在全

  雙工(gōng)系統中作發送方式(shì)和接收方(fāng)式之間的切換。在(zài)全雙(shuāng)工(gōng)系(xì)統(tǒng)中,因配置雙向通道,故不需要RTS/CTS聯絡信号,使其變高。

  接收線信号檢出(Received Line detecTIon-RLSD)——用來表示DCE已接通(tōng)通信(xìn)鏈路,告知DTE準備接收數據。當本地的MODEM收到由通信鏈路另一端(遠地(dì))的(de)MODEM送來的載波信(xìn)号時,使(shǐ)RLSD信号有效,通知終端準備接收,并且由MODEM将(jiāng)接收(shōu)下來(lái)的載波信号解調成數字兩數據後,沿接收數(shù)據(jù)線RxD送到終端。此線也叫做數據載波(bō)檢出(Data Carrier dectecTIon-DCD)線。

  振鈴指示(Ringing-RI)——當MODEM收到交換台送來的振鈴呼(hū)叫信号(hào)時,使該信号(hào)有效(ON狀态),通知終端,已被呼叫。

  (2)數據發送與(yǔ)接收線:

  發送數據(Transmitted data-TxD)——通過TxD終端(duān)将串行數據發送到MODEM,(DTE→DCE)。

  接收數據(jù)(Received data-RxD)——通過RxD線終端接(jiē)收從MODEM發來的串行數(shù)據,(DCE→DTE)。

  (3)地線

  有兩根線SG、PG——信号地和保護地信号線,無方向。

  上述(shù)控制(zhì)信号線何時有效,何時無效的順序表示了接口信(xìn)号(hào)的傳送過程。例如,隻有當DSR和DTR都(dōu)處于有效(ON)狀态時,才能(néng)在DTE和DCE之間進行傳送(sòng)操作。若DTE要發送(sòng)數據,則預先将DTR線置成有效(ON)狀态,等(děng)CTS線上收到有效(ON)狀态的回答後,才能在(zài)TxD線上發送串行數據。這種順序的(de)規定對半雙工的通信線路特别有用,因爲(wèi)半雙工的通信才能确定DCE已由接收方向改爲發送方向(xiàng),這時線路才能開始發送。

  2個(gè)數據信(xìn)号:發送TXD;接收RXD。

  1個信号地線:SG。

  6個控制信号:

  DSR??數傳機(即modem)準備好,Data Set Ready.

  DTR??數據終端(DTE,即微機接口電路,如Intel8250/8251,16550)準備(bèi)好,Data Terminal Ready。

  RTS??DTE請求DCE發送(Request To Send)。

  CTS??DCE允許DTE發送(Clear To Send),該信号是對RTS信号的回答。

  DCD??數據載波檢出,Data Carrier Detection當本地DCE設備(Modem)收到(dào)對(duì)方的(de)DCE設備送來的載波(bō)信号時,使DCD有效,通知DTE準(zhǔn)備接收, 并且由DCE将接收到的載波信号解調爲(wèi)數字信号, 經RXD線送給DTE。

  RI??振鈴信号(hào) Ringing當DCE收到交換機送來的振鈴呼叫信号時,使該(gāi)信号有效,通知DTE已被呼叫。

  遠距離通信

  第1和第(dì)2中情況是屬于遠距離通信(傳(chuán)輸距離大于15m的通信)的例(lì)子,故一般要加調制解調器MODEM,因此使用的信号線較(jiào)多。注(zhù)意:在以下各圖中(zhōng),DTE信(xìn)号爲RS-232-C信号,DTE與計算機間的電平(píng)轉換電路(lù)未畫出。

  1、采(cǎi)用Modem(DCE)和電話網通(tōng)信時的信号連接:

  若在雙方MODEM之間采用(yòng)普通電(diàn)話交換線進行通信,除了需要2~8号信号線外還要增加RI(22号)和DTR(20号)兩個(gè)信号線進行聯(lián)絡,如圖4所示。

  DSR、DTR:數傳機(DCE)準備好、數據終端(DTE)準備好,隻表示設備本身可用。

  首(shǒu)先,通過(guò)電話機拔号呼叫對方,電話交換台向對方發出拔号呼(hū)叫信号,當(dāng)對方DCE收到(dào)該信号(hào)後,使(shǐ)RI(振鈴信号)有效,通(tōng)知DTE,已(yǐ)被(bèi)呼叫。當對(duì)方“摘機(jī)”後,兩方建立(lì)了通信鏈路。

  若計算機要發送數據(jù)至對方,首先通過接(jiē)口電(diàn)路(DTE)發出RTS(請求發送)信号。此(cǐ)時(shí),若(ruò)DCE(Modem)允許傳送,則向(xiàng)DTE回答CTS(允許發送)信号。一般可直(zhí)接将RTS/CTS接(jiē)高電平,即隻要通信鏈(liàn)路已建(jiàn)立,就可傳送信号。(RTS/CTS可(kě)隻(zhī)用于半雙工系(xì)統中(zhōng)作發送方式和接收方式的切換。

  當DTE獲得CTS信号後,通過T XD線向DCE發出串行信(xìn)号,DCE(Modem)将這些(xiē)數字(zì)信号調制成模拟(nǐ)信(xìn)号(hào)(又稱載波信(xìn)号),傳向對(duì)方。

  計算機(jī)向DTE“數據輸出寄存器”傳送新的數據(jù)前,應檢(jiǎn)查Modem狀态(tài)和數據輸出寄存器爲空。當對(duì)方的DCE收到載波信号後,向(xiàng)對(duì)方的DTE發出DCD信号(數據載波檢出),通(tōng)知其DTE準備(bèi)接收,同時,将載波信号(hào)解(jiě)調爲數據信号,從(cóng)RXD線上送給DTE,DTE通過串行接收移位寄存器對接收(shōu)到的位流進行(háng)移位,當收(shōu)到1個字符的全部位流後,把該字符的(de)數據位送到數(shù)據輸(shū)入寄存器(qì),CPU可以從數據輸入寄存器讀取字符。

  近距離通信:

  當(dāng)通信距離較近時,可不需要Modem,通信雙方可以直(zhí)接連接,這種情況下(xià),隻需使用少數(shù)幾根信号線。最簡單的情況,在通(tōng)信中根(gēn)本不需要RS-232C的控制聯絡信号(hào),隻需三根線(發送線、接收線、信号(hào)地線)便可實現全雙工異步串行通信,即是這裏要讨論的第(dì)一種情況。

  無Modem時,最大通信距離按如(rú)下方式計算:

  RS-232C标準規(guī)定:當誤碼率小(xiǎo)于4%時,要求導線的電(diàn)容值應小于2500PF。對于普通導線,其電容值約(yuē)爲170PF/M。則允許距(jù)離L=2500PF/(170PF/M)=15M

  這一距離的計算,是(shì)偏于保守的,實際應用中,當使用9600bps,普通雙絞屏蔽線時,距離可(kě)達30~35米(mǐ)。