串口通訊協議介紹

一、通信協議

是指通信雙方的一種約定,包括對於同步方式、數據格式、傳送速度、傳送步驟、檢糾錯方式、控制字符的定義等,做出統一的規定,需要通信雙方的共同遵守;也叫做通信控制規程、傳輸控制規程,它屬於ISO(International Organization for Standardization,國際標準化組織)的OSI(Open System Interconnect,開放式系統互連)七層參考模型中的數據鏈路層。串行通信協議分爲兩類:同步協議、異步協議。同步協議有3種:面向字符Character、面向比特Bit、面向字節計數。常用的異步協議有:起止式異步協議,實例介紹如下。

首先,規定了3種功能位的電平:起始位(0)、停止位(1)、空閒位(1);停止位、空閒位均爲高電平,這就保證了在起始位的開始處有一個下降沿。字符幀,又稱做數據幀,由起始位(1位)、數據位(5-9位,D0居前)、奇偶校驗位(0、1位)、停止位(1、1.5、2位)依次組成;該格式是依靠起始位、停止位來實現字符(數據)的界定、同步的,故稱爲起止式協議。起始位是作爲聯絡信號而附加進來的,在接收方,它的到來,表明緊接着要來數據位了,現在需要做好數據位等的接收準備。

 

示意圖如下,

 

 

二、流控

 

這裏講到的“流”,當然指的是數據流。數據在兩個串口之間傳輸時,常常會出現丟失數據的現象,或者兩臺計算機的處理速度不同,如臺式機與單片機之間的通訊,接收端數據緩衝區已滿,則此時繼續發送來的數據就會丟失。現在我們在網絡上通過modem進行數據傳輸,這個問題就尤爲突出。流控制能解決這個問題,當接收端數據處理不過來時,就發出“不再接收”的信號,發送端就停止發送,直到收到“可以繼續發送”的信號再發送數據。因此流控制可以控制數據傳輸的進程,防止數據的丟失。 pc機中常用的兩種流控制是硬件流控制(包括rts/cts、dtr/cts等)和軟件流控制xon/xoff(繼續/停止)。

 

參考:http://book.51cto.com/art/201211/365354.htm

https://blog.csdn.net/lijia11080117/article/details/51371893

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章