總線通信控制
參考鏈接:總線通信控制_KAKA的博客-CSDN博客_總線通信控制
總線傳輸周期:主設備和從設備之間完成完整地可靠的通信所需要的時長
- 申請分配階段:主設備申請,總線仲裁(總線判優邏輯)
- 尋址階段:主設備將地址、命令發送給從設備
- 傳數階段:交換數據
- 結束階段:主模塊撤銷消息
總線通信:
一、同步通信 由統一時標控制數據傳送 固定時間點上給出固定的操作
同步數據輸入(以CPU為主設備為例,數據傳入CPU):
分析:總線傳輸周期分為四個周期,每個周期執行不同的任務:第一個時鍾周期T1的上升沿,CPU給出地址信號,第二個時鍾周期T2的上升沿,CPU給出讀命令;第三個時鍾周期T3的上升沿,從設備輸出數據(CPU接收數據);T4上升沿,CPU的數據接收和操作命令結束;T4結束,地址傳輸命令結束。
同步數據輸出:
分析:第一個時鍾周期T1的上升沿,CPU給出地址信號;第一個時鍾周期T1的下降沿,CPU給出數據信號;第二個時鍾周期上升沿給出寫命令,CPU給出寫命令,在第四個時鍾周期上升沿時,數據信號和控制命令停止。第四個時鍾周期結束,地址信號停止。
二、異步通信 采用應答方式,沒有公共時鍾標
不互鎖方式:主設備給出請求后(不考慮主設備是否收到了應答請求),就撤銷信號;從設備收到請求信號后給出應答信號,從設備撤銷應答信號。
半互鎖方式 :主設備給出請求信號后,從設備收到請求信號后給出回答信號,主設備收到回答信號后撤銷請求信號,從設備撤銷請求信號,如果接收不到應答信號,請求信號會保持
全互鎖方式 主設備給出請求信號,從設備收到請求信號后給出應答信號,主設備收到從設備的應答信號后撤銷請求信號;只有主設備撤銷請求信號后,從設備才撤銷應答信號
三、半同步通信 同步、異步結合
1.同步:發送方用系統時鍾前沿發信號 , 接收方用系統時鍾后沿判斷,識別
2.異步:允許速度不同的模塊和諧工作,增加一條等待相應信號線 WAIT
工作原理:(設CPU向某一外設讀取數據)T1上升沿CPU給出地址信號,T2上升沿CPU給出控制信號,若在第三個時鍾周期從設備不能准備好數據(應答部分),則需要將WAIT信號設置為低電平,Tw上升沿WAIT為低電平,等待一個時鍾周期T;T3上升沿開始讀數據,同時給出數據信號;T4開始結束數據信號和控制信號,T4結束時撤銷地址信號
上述三種通信的共同點
- 主模塊發地址,命令 占用總線
- 從模塊准備數據 不占用總線,總線空閑(WAIT)
- 從模塊向主模塊發數據 占用總線
四、分離式通信 充分挖掘系統總線每個瞬間的潛力
在一個總線傳輸周期內
- 子周期1 主模塊申請占用總線,使用完后即放棄總線的使用權
- 子周期2 從模塊申請占用總線,將信息送至總線上
特點:
- 各模塊有權申請占用總線(即主從設備狀態可調換)
- 采用同步方式通信,不等對方回答
- 准備數據時不占用總線
- 總線被占用時,無空閑