串口掃盲六:異步通信方式


串行通信可以分為兩種類型:同步通信、異步通信.

1. 異步通信的特點及信息幀格式:

以起止式異步協議為例,下圖顯示的是起止式一幀數據的格式:

圖1

起止式異步通信的特點是:一個字符一個字符地傳輸,每個字符一位一位地傳輸,並且傳輸一個字符時,總是以"起始位"開始,以"停止位"結束,字符之間沒有固定的時間間隔要求.每一個字符的前面都有一位起始位(低電平,邏輯值),字符本身由5-7位數據位組成,接着字符后面是一位校驗位(也可以沒有校驗位),最后是一位或一位半或二位停止位,停止位后面是不定長的空閑位.停止位和空閑位都規定為高電平(邏輯值1),這樣就保證起始位開始處一定有一個下跳沿.

從圖中可看出,這種格式是靠起始位和停止位來實現字符的界定或同步的,故稱為起止式協議.

異步通信可以采用正邏輯或負邏輯,正負邏輯的表示如下表所示:

 

邏輯0

邏輯1

正邏輯

低電平

高電平

負邏輯

高電平

低電平

異步通信的信息格式如下邊的表所示:

起始位

邏輯0

1位

數據位

邏輯0或1

5位、6位、7位、8位

校驗位

邏輯0或1

1位或無

停止位

邏輯1

1位,1.5位或2位

空閑位

邏輯1

任意數量

注:表中位數的本質含義是信號出現的時間,故可有分數位,如1.5.

例:傳送8位數據45H(0100,0101B),奇校驗,1個停止位,則信號線上的波形象圖2所示那樣:異步通信的速率:若9600bps,每字符8位,1起始,1停止,無奇偶,則實際每字符傳送10位,則960字符/秒.

圖2

2. 異步通信的接收過程

接收端以"接收時鍾"和"波特率因子"決定一位的時間長度.下面以波特率因子等於16(接收時鍾每16個時鍾周期,使接收移位寄存器移位一次),正邏輯為例說明,如圖3所示.

圖3

  1. 開始通信時,信號線為空閑(邏輯1),當檢測到由1到0的跳變時,開始對"接收時鍾"計數.
  2. 當計到8個時鍾時,對輸入信號進行檢測,若仍為低電平,則確認這是"起始位"B,而不是干擾信號.
  3. 接收端檢測到起始位后,隔16個接收時鍾,對輸入信號檢測一次,把對應的值作為D0位數據.若為邏輯1, 作為數據位1;若為邏輯0,作為數據位0.
  4. 再隔16個接收時鍾,對輸入信號檢測一次,把對應的值作為D1位數據.….,直到全部數據位都輸入.
  5. 檢測校驗位P(如果有的話).
  6. 接收到規定的數據位個數和校驗位后,通信接口電路希望收到停止位S(邏輯1),若此時未收到邏輯1,說明出現了錯誤,在狀態寄存器中置"幀錯誤"標志.若沒有錯誤,對全部數據位進行奇偶校驗,無校驗錯時,把數據位從移位寄存器中送數據輸入寄存器.若校驗錯,在狀態寄存器中置奇偶錯標志.
  7. 本幀信息全部接收完,把線路上出現的高電平作為空閑位.

當信號再次變為低時,開始進入下一幀的檢測.

3. 異步通信的發送過程

發送端以"發送時鍾"和"波特率因子"決定一位的時間長度.

 

  1. 當初始化后,或者沒有信息需要發送時,發送端輸出邏輯1,即空閑位,空閑位可以有任意數量.
  2. 當需要發送時,發送端首先輸出邏輯0,作為起始位.
  3. 接着,發送端首先發送D0位,直到各數據位發送完.
  4. 如果需要的話,發送端輸出校驗位.
  5. 最后,發送端輸出停止位(邏輯1).
  6. 如果沒有信息需要發送時,發送端輸出邏輯1,即空閑位,空閑位可以有任意數量.如果還有信息需要發送,轉入第(2)步.

對於以上發送、接收過程應注意以下幾點:

  1. 接收端總是在每個字符的頭部(即起始位)進行一次重新定位,因此發送端可以在字符之間插入不等長的空閑位,不影響接收端的接收.
  2. 發送端的發送時鍾和接收端的接收時鍾,其頻率允許有一定差異,當頻率差異在一定范圍內,不會引起接收端檢測錯位,能夠正確接收.並且這種頻率差異不會因多個字符的連續接收而造成誤差累計(因為每個字符的開始(起始位處)接收方均重新定位).只有當發送時鍾和接收時鍾頻率差異太大,引起接收端采樣錯位,才造成接收錯誤.
  3. 起始位,校驗位,停止位,空閑位的信號,由"發送移位寄存器"自動插入.在接收方,"接收移位寄存器"接收到一幀完整信息(起始,數據,校驗,停止)后,僅把數據的各位送至"數據輸入寄存器",即CPU從"數據輸入寄存器"中讀得的信息,只是有效數字,不包含起始位,校驗位,停止位信息.

本文轉自:http://cs.nju.edu.cn/yangxc/dcc2003.files/jszc-sub/comif-06.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM