RS232通信協(xié)議詳解_第1頁(yè)
RS232通信協(xié)議詳解_第2頁(yè)
RS232通信協(xié)議詳解_第3頁(yè)
RS232通信協(xié)議詳解_第4頁(yè)
RS232通信協(xié)議詳解_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、RS232通信協(xié)議詳解通信協(xié)議 所謂通信協(xié)議是指通信雙方的一種約定。約定包括對(duì)數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、檢糾錯(cuò)方式以及控制字符定義等問(wèn)題做出統(tǒng)一規(guī)定,通信雙方必須共同遵守。因此, 也叫做通信控制規(guī)程,或稱傳輸控制規(guī)程,它屬于ISO'S OSI 七層參考模型中的數(shù)據(jù)鏈路層。目前,采用的通信協(xié)議有兩類:異步協(xié)議和同步協(xié)議。同步協(xié)議又有面向字符和面向比特以及面向字節(jié)計(jì)數(shù)三種。其中,面向字節(jié)計(jì)數(shù)的同步協(xié)議主要用于DEC公司的網(wǎng)絡(luò)體系結(jié)構(gòu)中。1. 串行通信接口的基本任務(wù)( 1)實(shí)現(xiàn)數(shù)據(jù)格式化:因?yàn)閬?lái)自CPU的是普通的并行數(shù)據(jù),所以,接口電路應(yīng)具有實(shí)現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化的

2、任務(wù)。在異步通信方式下,接口自動(dòng)生成起止式的幀數(shù)據(jù)格式。在面向字符的同步方式下,接口要在待傳送的數(shù)據(jù)塊前加上同步字符。( 2)進(jìn)行串并轉(zhuǎn)換:串行傳送,數(shù)據(jù)是一位一位串行傳送的,而計(jì)算機(jī)處理數(shù)據(jù)是并行數(shù)據(jù)。所以當(dāng)數(shù)據(jù)由計(jì)算機(jī)送至數(shù)據(jù)發(fā)送器時(shí),首先把串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)才能送入計(jì)算機(jī)處理。因此串并轉(zhuǎn)換是串行接口電路的重要任務(wù)。( 3)控制數(shù)據(jù)傳輸速率:串行通信接口電路應(yīng)具有對(duì)數(shù)據(jù)傳輸速率波特率進(jìn)行選擇和控制的能力。( 4)進(jìn)行錯(cuò)誤檢測(cè):在發(fā)送時(shí)接口電路對(duì)傳送的字符數(shù)據(jù)自動(dòng)生成奇偶校驗(yàn)位或其他校驗(yàn)碼。在接收時(shí),接口電路檢查字符的奇偶校驗(yàn)或其他校驗(yàn)碼,確定是否發(fā)生傳送錯(cuò)誤。( 5)進(jìn)行TTL 與 EI

3、A電平轉(zhuǎn)換:CPU和終端均采用TTL電平及正邏輯,它們與EIA采用的電平及負(fù)邏輯不兼容,需在接口電路中進(jìn)行轉(zhuǎn)換。( 6)提供EIA-RS-232C 接口標(biāo)準(zhǔn)所要求的信號(hào)線:遠(yuǎn)距離通信采用MODEM時(shí),需要9根信號(hào)線;近距離零MODEM方式,只需要3 根信號(hào)線。這些信號(hào)線由接口電路提供,以便與MODEM或終端進(jìn)行聯(lián)絡(luò)與控制。2、串行通信接口電路的組成為了完成上述串行接口的任務(wù),串行通信接口電路一般由可編程的串行接口芯片、波特率發(fā)生器、EIA與 TTL 電平轉(zhuǎn)換器以及地址譯碼電路組成。其中, 串行接口芯片,隨著大規(guī)模繼承電路技術(shù)的發(fā)展,通用的同步(USRT)和異步(UART)接口芯片種類越來(lái)越多,

4、如下表所示。它們的基本功能是類似的,都能實(shí)現(xiàn)上面提出的串行通信接口基本任務(wù)的大部分工作,且都是可編程的。才用這些芯片作為串行通信接口電路的核心芯片,會(huì)使電路結(jié)構(gòu)比較簡(jiǎn)單。3. 有關(guān)串行通信的物理標(biāo)準(zhǔn)為使計(jì)算機(jī)、電話以及其他通信設(shè)備互相溝通,現(xiàn)在, 已經(jīng)對(duì)串行通信建立了幾個(gè)一致的概念和標(biāo)準(zhǔn),這些概念和標(biāo)準(zhǔn)屬于三個(gè)方面:傳輸率,電特性,信號(hào)名稱和接口標(biāo)準(zhǔn)。1、傳輸率:所謂傳輸率就是指每秒傳輸多少位,傳輸率也常叫波特率。國(guó)際上規(guī)定了一個(gè)標(biāo)準(zhǔn)波特率系列,標(biāo)準(zhǔn)波特率也是最常用的波特率,標(biāo)準(zhǔn)波特率系列為110、 300、 600、 1200、 4800、 9600 和19200。大多數(shù)CRT 終端都能夠按

5、110 到 9600范圍中的任何一種波特率工作。打印機(jī)由于機(jī)械速度比較慢而使傳輸波特率受到限制,所以,一般的串行打印機(jī)工作在110 波特率,點(diǎn)針式打印機(jī)由于其內(nèi)部有較大的行緩沖區(qū),所以可以按高達(dá)2400 波特的速度接收打印信息。大多數(shù)接口的接收波特率和發(fā)送波特率可以分別設(shè)置,而且,可以通過(guò)編程來(lái)指定。2、 RS-232-C標(biāo)準(zhǔn):RS-232-C 標(biāo)準(zhǔn)對(duì)兩個(gè)方面作了規(guī)定,即信號(hào)電平標(biāo)準(zhǔn)和控制信號(hào)線的定義。RS-232C 采用負(fù)邏輯規(guī)定邏輯電平,信號(hào)電平與通常的TTL電平也不兼容,RS-232-C 將 -5V -15V 規(guī)定為“1”,+5V +15V規(guī)定為“0”。圖1 是 TTL 標(biāo)準(zhǔn)和 RS-2

6、32-C標(biāo)準(zhǔn)之間的電平轉(zhuǎn)換。1.OSI 協(xié)議和 TCP/IP 協(xié)議( 1) OSI 協(xié)議OSI 七層參考模型不是通訊標(biāo)準(zhǔn),它只給出一個(gè)不會(huì)由于技術(shù)發(fā)展而必須修改的穩(wěn)定模型,使有關(guān)標(biāo)準(zhǔn)和協(xié)議能在模型定義的范圍內(nèi)開發(fā)和相互配合。一般的通訊協(xié)議只符合OSI 七層模型的某幾層,如: EIA-RS-232-C :實(shí)現(xiàn)了物理層。IBM 的 SDLC(同步數(shù)據(jù)鏈路控制規(guī)程):數(shù)據(jù)鏈路層。ANSI 的ADCC(先進(jìn)數(shù)據(jù)通訊規(guī)程):數(shù)據(jù)鏈路層PIBM 的 BSC(二進(jìn)制同步通訊協(xié)議):數(shù)據(jù)鏈路層。應(yīng)用層的電子郵件協(xié)議SMTP只負(fù)責(zé)寄信、POP3只負(fù)責(zé)收信。( 2) TCP/IP 協(xié)議實(shí)現(xiàn)了五層協(xié)議。( 1)物理

7、層:對(duì)應(yīng)OSI 的物理層。( 2)網(wǎng)絡(luò)接口層:類似于OSI 的數(shù)據(jù)鏈路層。( 3) Internet 層: OSI 模型在 Internet 網(wǎng)使用前提出,未考慮網(wǎng)間連接。( 4)傳輸層:對(duì)應(yīng)OSI 的傳輸層。( 5)應(yīng)用層:對(duì)應(yīng)OSI 的表示層和應(yīng)用層。2. 串行通信協(xié)議串行通信協(xié)議分同步協(xié)議和異步協(xié)議。( 1)異步通信協(xié)議的實(shí)例起止式異步協(xié)議特點(diǎn)與格式:起止式異步協(xié)議的特點(diǎn)是一個(gè)字符一個(gè)字符傳輸,并且傳送一個(gè)字符總是以起始位開始,以停止位結(jié)束, 字符之間沒有固定的時(shí)間間隔要求。其格式如圖3 所示。 每一個(gè)字符的前面都有一位起始位(低電平,邏輯值0),字符本身有5 7 位數(shù)據(jù)位組成,接著字符

8、后面是一位校驗(yàn)位(也可以沒有校驗(yàn)位),最后是一位,或意味半,或二位停止位,停止位后面是不定長(zhǎng)度的空閑位。停止位和空閑位都規(guī)定為高電平(邏輯值),這樣就保證起始位開始處一定有一個(gè)下跳沿。從圖中可以看出,這種格式是靠起始位和停止位來(lái)實(shí)現(xiàn)字符的界定或同步的,故稱為起始式協(xié)議。傳送時(shí),數(shù)據(jù)的低位在前,高位在后,圖4 表示了傳送一個(gè)字符E 的 ASCAII 碼的波形1010001。當(dāng)把它的最低有效位寫到右邊時(shí),就是E 的 ASCII 碼 1000101=45H。起止位的作用:起始位實(shí)際上是作為聯(lián)絡(luò)信號(hào)附加進(jìn)來(lái)的,當(dāng)它變?yōu)榈碗娖綍r(shí),告訴收方傳送開始。它的到來(lái),表示下面接著是數(shù)據(jù)位來(lái)了,要準(zhǔn)備接收。而停止位

9、標(biāo)志一個(gè)字符的結(jié)束,它的出現(xiàn),表示一個(gè)字符傳送完畢。這樣就為通信雙方提供了何時(shí)開始收發(fā),何時(shí)結(jié)束的標(biāo)志。傳送開始前,發(fā)收雙方把所采用的起止式格式(包括字符的數(shù)據(jù)位長(zhǎng)度,停止位位數(shù),有無(wú)校驗(yàn)位以及是奇校驗(yàn)還是偶校驗(yàn)等)和數(shù)據(jù)傳輸速率作統(tǒng)一規(guī)定。傳送開始后,接收設(shè)備不斷地檢測(cè)傳輸線,看是否有起始位到來(lái)。當(dāng)收到一系列的“1”(停止位或空閑位)之后,檢測(cè)到一個(gè)下跳沿,說(shuō)明起始位出現(xiàn),起始位經(jīng)確認(rèn)后,就開始接收所規(guī)定的數(shù)據(jù)位和奇偶校驗(yàn)位以及停止位。經(jīng)過(guò)處理將停止位去掉,把數(shù)據(jù)位拼裝成一個(gè)并行字節(jié),并且經(jīng)校驗(yàn)后,無(wú)奇偶錯(cuò)才算正確的接收一個(gè)字符。一個(gè)字符接收完畢,接收設(shè)備有繼續(xù)測(cè)試傳輸線,監(jiān)視“0”電平的到

10、來(lái)和下一個(gè)字符的開始,直到全部數(shù)據(jù)傳送完畢。由上述工作過(guò)程可看到,異步通信是按字符傳輸?shù)?,每傳輸一個(gè)字符,就用起始位來(lái)通知收方,以此來(lái)重新核對(duì)收發(fā)雙方同步。若接收設(shè)備和發(fā)送設(shè)備兩者的時(shí)鐘頻率略有偏差,這也不會(huì)因偏差的累積而導(dǎo)致錯(cuò)位,加之字符之間的空閑位也為這種偏差提供一種緩沖,所以異步串行通信的可靠性高。但由于要在每個(gè)字符的前后加上起始位和停止位這樣一些附加位,使得傳輸效率變低了,只有約80%。因此,起止協(xié)議一般用在數(shù)據(jù)速率較慢的場(chǎng)合(小于19.2kbit/s )。在高速傳送時(shí),一般要采用同步協(xié)議。( 2)面向字符的同步協(xié)議特點(diǎn)與格式:這種協(xié)議的典型代表是IBM公司的二進(jìn)制同步通信協(xié)議(BSC

11、) 。 它的特點(diǎn)是一次傳送由若干個(gè)字符組成的數(shù)據(jù)塊,而不是只傳送一個(gè)字符,并規(guī)定了10 個(gè)字符作為這個(gè)數(shù)據(jù)塊的開頭與結(jié)束標(biāo)志以及整個(gè)傳輸過(guò)程的控制信息,它們也叫做通信控制字。由于被傳送的數(shù)據(jù)塊是由字符組成,故被稱作面向字符的協(xié)議。特定字符(控制字符)的定義:由上面的格式可以看出,數(shù)據(jù)塊的前后都加了幾個(gè)特定字符。SYN是同步字符(synchronous Character ),每一幀開始處都有SYN,加一個(gè)SYN的稱單同步,加兩個(gè)SYN的稱雙同步設(shè)置同步字符是起聯(lián)絡(luò)作用, 傳送數(shù)據(jù)時(shí), 接收端不斷檢測(cè), 一旦出現(xiàn)同步字符, 就知道是一幀開始了。接著的SOH是序始字符(Start Of Heade

12、r ),它表示標(biāo)題的開始。標(biāo)題中包括院地址、目的地址和路由指示等信息。STX是文始字符(StartOfText ),它標(biāo)志著傳送的正文(數(shù)據(jù)塊)開始。數(shù)據(jù)塊就是被傳送的正文內(nèi)容,由多個(gè)字符組成。數(shù)據(jù)塊后面是組終字符ETB( End Of Transmission Block) 或文終字符ETX(EndOfText) ,其中ETB用在正文很長(zhǎng)、需要分成若干個(gè)分?jǐn)?shù)據(jù)塊、分別在不同幀中發(fā)送的場(chǎng)合,這時(shí)在每個(gè)分?jǐn)?shù)據(jù)塊后面用文終字符ETX。一幀的最后是校驗(yàn)碼,它對(duì)從SOH開始到ETX(或ETB)字段進(jìn)行校驗(yàn),校驗(yàn)方式可以是縱橫奇偶校驗(yàn)或CRC。另外,在面向字符協(xié)議中還采用了一些其他通信控制字,它們的名稱

13、如下表所示:數(shù)據(jù)透明的實(shí)現(xiàn):面向字符的同步協(xié)議,不象異步起止協(xié)議那樣,需要在每個(gè)字符前后附加起始和停止位,因此,傳輸效率提高了。同時(shí),由于采用了一些傳輸控制字,故增強(qiáng)了通信控制能力和校驗(yàn)功能。但也存在一些問(wèn)題,例如,如何區(qū)別數(shù)據(jù)字符代碼和特定字符代碼的問(wèn)題,因?yàn)樵跀?shù)據(jù)塊中完全有可能出現(xiàn)與特定字符代碼相同的數(shù)據(jù)字符,這就會(huì)發(fā)生誤解。比如正文有個(gè)與文終字符ETX 的代碼相同的數(shù)據(jù)字符,接收端就不會(huì)把它當(dāng)作為普通數(shù)據(jù)處理,而誤認(rèn)為是正文結(jié)束,因而產(chǎn)生差錯(cuò)。因此,協(xié)議應(yīng)具有將特定字符作為普通數(shù)據(jù)處理的能力,這種能力叫做“數(shù)據(jù)透明”。為此,協(xié)議中設(shè)置了轉(zhuǎn)移字符DLE(Data LinkEscape) 。

14、當(dāng)把一個(gè)特定字符看成數(shù)據(jù)時(shí),在它前面要加一個(gè)DLE,這樣接收器收到一個(gè)DLE就可預(yù)知下一個(gè)字符是數(shù)據(jù)字符,而不會(huì)把它當(dāng)作控制字符來(lái)處理了。DLE 本身也是特定字符,當(dāng)它出現(xiàn)在數(shù)據(jù)塊中時(shí),也要在它前面加上另一個(gè)DLE。這種方法叫字符填充。字符填充實(shí)現(xiàn)起來(lái)相當(dāng)麻煩,且依賴于字符的編碼。正是由于以上的缺點(diǎn),故又產(chǎn)生了新的面向比特的同步協(xié)議。( 3)面向比特的同步協(xié)議特點(diǎn)與格式:面向比特的協(xié)議中最具有代表性的是IBM的同步數(shù)據(jù)鏈路控制規(guī)程SDLC( SynchronousData Link Control), 國(guó)際標(biāo)準(zhǔn)化組織ISO(International StandardOrganization

15、)的高級(jí)數(shù)據(jù)鏈路控制規(guī)程HDLC( High Level Data link Control), 美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(Americal National StandardInstitute) 的先進(jìn)數(shù)據(jù)通信規(guī)程ADCCP(AdvancedData Communication Control Procedure) 。這些協(xié)議的特點(diǎn)是所傳輸?shù)囊粠瑪?shù)據(jù)可以是任意位,而且它是靠約定的位組合模式,而不是靠特定字符來(lái)標(biāo)志幀的開始和結(jié)束,故稱“面向比特”的協(xié)議。這中協(xié)議的一般幀格式如圖 5 所示:幀信息的分段:由圖5 可見,SDLC/HDLC的一幀信息包括以下幾個(gè)場(chǎng)(Filed ),所有場(chǎng)都是從有效位開始傳送

16、。( 1) SDLC/HDLC標(biāo)志字符:SDLC/HDLC協(xié)議規(guī)定,所有信息傳輸必須以一個(gè)標(biāo)志字符開始,且以同一個(gè)字符結(jié)束。這個(gè)標(biāo)志字符是01111110, 稱標(biāo)志場(chǎng) (F) 。 從開始標(biāo)志到結(jié)束標(biāo)志之間構(gòu)成一個(gè)完整的信息單位,稱為一幀(Frame)。所有的信息是以幀的形傳輸?shù)?,而?biāo)志字符提供了每一幀的邊界。接收端可以通過(guò)搜索“01111110”來(lái)探知幀的開頭和結(jié)束,以此建立幀同步。( 2)地址場(chǎng)和控制場(chǎng):在標(biāo)志場(chǎng)之后,可以有一個(gè)地址場(chǎng)A(Address)和一個(gè)控制場(chǎng)C(Control) 。地址場(chǎng)用來(lái)規(guī)定與之通信的次站的地址??刂茍?chǎng)可規(guī)定若干個(gè)命令。SDLC規(guī)定A 場(chǎng)和 C場(chǎng)的寬度為8 位或

17、16 位。 接收方必須檢查每個(gè)地址字節(jié)的第一位,如果為 “ 0” , 則后面跟著另一個(gè)地址字節(jié);若為“1”,則該字節(jié)就是最后一個(gè)地址字節(jié)。同理,如果控制場(chǎng)第一個(gè)字節(jié)的第一位為為“0”,則還有第二個(gè)控制場(chǎng)字節(jié),否則就只有一個(gè)字節(jié)。( 3)信息場(chǎng):跟在控制場(chǎng)之后的是信息場(chǎng)I(Information) 。 I 場(chǎng)包含有要傳送的數(shù)據(jù),并不是每一幀都必須有信息場(chǎng)。即數(shù)據(jù)場(chǎng)可以為0,當(dāng)它為0 時(shí),則這一幀主要是控制命令。( 4)幀校驗(yàn)信息:緊跟在信息場(chǎng)之后的是兩字節(jié)的爭(zhēng)校驗(yàn),幀校驗(yàn)場(chǎng)稱為FC(FrameCheck)場(chǎng)或稱為幀校驗(yàn)序列FCS(Frame check Squence) 。 SDLC/HDLC均

18、采用16 位循環(huán)冗余校驗(yàn)碼CRC( CyclicRedundancy Code)。除了標(biāo)志場(chǎng)和自動(dòng)插入的“0”以外,所有的信息都參加CRC計(jì)算。實(shí)際應(yīng)用時(shí)的兩個(gè)技術(shù)問(wèn)題:( 1)“0”位插入/刪除:如上所述,SDLC/HDLC協(xié)議規(guī)定以01111110為標(biāo)志字節(jié),但在信息場(chǎng)中也完全有可能有同一種模式的字符,為了把它與標(biāo)志區(qū)分開來(lái),所以采取了“0”位插入和刪除技術(shù)。具體作法是發(fā)送端在發(fā)送所有信息(除標(biāo)志字節(jié)外)時(shí),只要遇到連續(xù)5 個(gè)“1”,就自動(dòng)插入一個(gè)“ 0”,當(dāng)接收端在接收數(shù)據(jù)時(shí)(除標(biāo)志字節(jié))如果連續(xù)收到5 個(gè)“ 1”,就自動(dòng)將其后的一個(gè)“0”刪除是,以恢復(fù)信息的原有形式。這種“0”位的插入和刪除過(guò)程是由硬件自動(dòng)完成的。( 2) SDLC/HDLC異常結(jié)束:若在發(fā)送過(guò)程中出現(xiàn)錯(cuò)誤,則 SDLC/HDLC協(xié)議常用異常結(jié)束(Abort) 字符,或稱為失效序列使本幀作廢。在HDLC規(guī)程中,7 個(gè)連續(xù)的“1”被作為失效字符,而在SDLC 中失效字符是 8 個(gè)連續(xù)的“1”。當(dāng)然在試銷序列中不使用“0”位插入/刪除技術(shù)。LC/HDLC 協(xié)議規(guī)定,在一幀之內(nèi)不允許出現(xiàn)數(shù)據(jù)間隔。在兩幀之間,發(fā)送器可以連續(xù)輸出標(biāo)志字符序列,也可以輸出連續(xù)的高電平,它被稱為空閑(Idle )信號(hào)。數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論