1. 程式人生 > >匯流排通訊控制

匯流排通訊控制

1、目的

解決主裝置和從裝置的協調配合問題

2、匯流排傳輸週期:

指主裝置和從裝置之間完成完整地可靠的通訊所需要的時長

 

  1. 申請分配階段:主模組申請佔用匯流排的請求,匯流排運用判優控制仲裁決定
  2. 定址階段:主模組向從模組給出地址和命令
  3. 傳數階段:主模組和從模組交換資料
  4. 結束階段:主模組撤銷有關訊息

 

3、匯流排通訊的四種方式:

  • (1)同步資料輸入/出(有定寬定距的時長)
  • (2)非同步資料輸入/出

不互鎖:

主裝置發出請求訊號,從裝置發出應答訊號,經過一定的延時,主裝置不管有沒有收到從裝置的應答訊號都會撤銷請求訊號,從裝置也如此,不管主裝置有沒有收到應答訊號,經過一定的延時以後,會自動撤銷應答訊號。

 

半互鎖:

主裝置發出請求訊號以後,從裝置接受到請求訊號,發出應答訊號,主裝置唯有接受到從裝置發出的應答訊號後才會撤銷請求訊號,但是從裝置不管主裝置有沒有接受到應答訊號,經過一定的延時,都會撤銷應答訊號,這就可能造成主裝置一直沒有接受到應答訊號導致主裝置發出的請求訊號一直處於高電平狀態

 

全互鎖:

全互鎖解決了半互鎖存在的問題,當主裝置向從裝置發出請求訊號以後,從裝置接收到請求訊號之後將發出應答訊號直到主裝置接收到來自從裝置的應答訊號才撤銷請求訊號,主裝置撤銷請求應答訊號之後,從裝置才會撤銷應答訊號,這就避免了可能導致主裝置發出的請求訊號一直處於高電平的狀態。

 

三種方式可以類比為微信的撤回功能。

 

  • (3)半同步通訊方式(結合同、非同步通訊)

這樣就允許了不同速度的主從裝置之間進行資訊交換。

  • 同步

傳送方用系統時鐘前延發訊號

接收方用系統時鐘後延判斷、識別

  • 非同步

允許不同模組和諧工作

增加一條等待訊號

 

過程模擬:

  • T1:主模組發地址
  • T2:主模組發命令
  • Tw:等待從裝置準備資料
  • Tw:等待從裝置準備資料
  • ...
  • T3:從模組發資料
  • T4:從模組撤銷資料,主模組撤銷命令

上述通訊方式的共同點:

  1. 都是主模組發地址、命令 (佔用匯流排)
  2. 從模組準備資料 (不佔用匯流排)
  3. 從模組向主模組傳輸資料 (佔用匯流排)

 

我們瞭解到匯流排的執行一直處於一個瓶頸,匯流排很忙,但我們發現上述的通訊方式,匯流排在特定的時間段內是空閒著的,這就造成了一張浪費,為了充分利用這段時間,我們將週期分為兩個週期:

  • 子週期1:主模組發地址、命令 (佔用匯流排)
  • 子週期2:從模組向匯流排傳資料 (佔用匯流排)

這就是我們說的 分離式通訊

它的特點有:

  1. 各模組有權申請佔用匯流排
  2. 採用同步方式通訊,不等對方回答(通過等寬等距的方式)
  3. 各模組準備資料、不佔用匯流排
  4. 匯流排為空閒時段