所謂通信協議是指通信雙方的一種約定。約定包括對數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題做出統一規定,通信雙方必須共同遵守。因此,也叫做通信控制規程,或稱傳輸控制規程,它屬于ISO'S OSI七層參考模型中的數據鏈路層。 目前,采用的通信協議有兩類:異步協議和同步協議。同步協議又有面向字符和面向比特以及面向字節計數三種。其中,面向字節計數的同步協議主要用于DEC公司的網絡體系結構中。 一、物理接口標準 1.串行通信接口的基本任務 (1)實現數據格式化:因為來自CPU的是普通的并行數據,所以,接口電路應具有實現不同串行通信方式下的數據格式化的任務。在異步通信方式下,接口自動生成起止式的幀數據格式。在面向字符的同步方式下,接口要在待傳送的數據塊前加上同步字符。 (2)進行串-并轉換:串行傳送,數據是一位一位串行傳送的,而計算機處理數據是并行數據。嵌入式物聯網智能硬件等提升加意義氣嗚嗚吧久零就易,所以當數據由計算機送至數據發送器時,首先把串行數據轉換為并行數才能送入計算機處理。因此串并轉換是串行接口電路的重要任務。 (3)控制數據傳輸速率:串行通信接口電路應具有對數據傳輸速率——波特率進行選擇和控制的能力。 (4)進行錯誤檢測:在發送時接口電路對傳送的字符數據自動生成奇偶校驗位或其他校驗碼。在接收時,接口電路檢查字符的奇偶校驗或其他校驗碼,確定是否發生傳送錯誤。 (5)進行TTL與EIA電平轉換:CPU和終端均采用TTL電平及正邏輯,它們與EIA采用的電平及負邏輯不兼容,需在接口電路中進行轉換。 (6)提供EIA-RS-232C接口標準所要求的信號線:遠距離通信采用MODEM時,需要9根信號線;近距離零MODEM方式,只需要3根信號線。這些信號線由接口電路提供,以便與MODEM或終端進行聯絡與控制。 2、串行通信接口電路的組成 為了完成上述串行接口的任務,串行通信接口電路一般由可編程的串行接口芯片、波特率發生器、EIA與TTL電平轉換器以及地址譯碼電路組成。其中,串行接口芯片,隨著大規模繼承電路技術的發展,通用的同步(USRT)和異步(UART)接口芯片種類越來越多,如下表所示。它們的基本功能是類似的,都能實現上面提出的串行通信接口基本任務的大部分工作,且都是可編程的。才用這些芯片作為串行通信接口電路的核心芯片,會使電路結構比較簡單。 file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wpsD5ED.tmp.jpg 3.有關串行通信的物理標準 為使計算機、電話以及其他通信設備互相溝通,現在,已經對串行通信建立了幾個一致的概念和標準,這些概念和標準屬于三個方面:傳輸率,電特性,信號名稱和接口標準。 1、傳輸率:所謂傳輸率就是指每秒傳輸多少位,傳輸率也常叫波特率。國際上規定了一個標準波特率系列,標準波特率也是最常用的波特率,標準波特率系列為110、300、600、1200、4800、9600和19200。大多數CRT終端都能夠按110到9600范圍中的任何一種波特率工作。打印機由于機械速度比較慢而使傳輸波特率受到限制,所以,一般的串行打印機工作在110波特率,點針式打印機由于其內部有較大的行緩沖區,所以可以按高達2400波特的速度接收打印信息。大多數接口的接收波特率和發送波特率可以分別設置,而且,可以通過編程來指定。 2、RS-232-C標準:RS-232-C標準對兩個方面作了規定,即信號電平標準和控制信號線的定義。RS-232-C采用負邏輯規定邏輯電平,信號電平與通常的TTL電平也不兼容,RS-232-C將-5V~-15V規定為“1”,+5V~+15V規定為“0”。圖1是TTL標準和RS-232-C標準之間的電平轉換。 file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wpsD5FE.tmp.jpg 二、軟件協議 1.OSI協議和TCP/IP協議 file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wpsD60E.tmp.jpg (1)OSI協議 OSI七層參考模型不是通訊標準,它只給出一個不會由于技術發展而必須修改的穩定模型,使有關標準和協議能在模型定義的范圍內開發和相互配合。 一般的通訊協議只符合OSI七層模型的某幾層,如: EIA-RS-232-C:實現了物理層。 IBM的SDLC(同步數據鏈路控制規程):數據鏈路層。ANSI的ADCCP(先進數據通訊規程):數據鏈路層IBM的BSC(二進制同步通訊協議):數據鏈路層。應用層的電子郵件協議SMTP只負責寄信、POP3只負責收信。 (2)TCP/IP協議 實現了五層協議。 (1)物理層:對應OSI的物理層。 (2)網絡接口層:類似于OSI的數據鏈路層。 (3)Internet層:OSI模型在Internet網使用前提出,未考慮網間連接。 (4)傳輸層:對應OSI的傳輸層。 (5)應用層:對應OSI的表示層和應用層。 2.串行通信協議 串行通信協議分同步協議和異步協議。 (1)異步通信協議的實例——起止式異步協議 file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wpsD60F.tmp.jpg 特點與格式: 起止式異步協議的特點是一個字符一個字符傳輸,并且傳送一個字符總是以起始位開始,以停止位結束,字符之間沒有固定的時間間隔要求。其格式如圖3所示。每一個字符的前面都有一位起始位(低電平,邏輯值0),字符本身有5~7位數據位組成,接著字符后面是一位校驗位(也可以沒有校驗位),最后是一位,或意味半,或二位停止位,停止位后面是不定長度的空閑位。停止位和空閑位都規定為高電平(邏輯值),這樣就保證起始位開始處一定有一個下跳沿。 從圖中可以看出,這種格式是靠起始位和停止位來實現字符的界定或同步的,故稱為起始式協議。傳送時,數據的低位在前,高位在后,圖4表示了傳送一個字符E的ASCAII碼的波形1010001。當把它的最低有效位寫到右邊時,就是E的ASCII碼1000101=45H & I9 j6 [2 I( k( w4 a
|