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