1. 程式人生 > >總線的異步通訊方式

總線的異步通訊方式

是否 所有 方差 應該 響應 可見 串行通信 upload 回來

總線的異步通訊方式

異步通訊克服了同步銅須的缺點,允許各模塊的速度不一致,給設計者充分的靈活性和選擇余地。它沒有公共的時鐘標準,不要求所有部件嚴格的統一操作時間,而是采用應答方式(又稱握手方式),即當主模塊發出請求信號時,一直等待從模塊反饋回來“響應”信號後,才開始通信。這要求主從模塊之間增加兩條應答新。

異步通訊又稱應答通訊,是一種建立在應答式或互鎖機制基礎上的通訊方式。即後一事件出現在總線上的時刻取決於前一事件的出現。在這種系統中,不需要統一的公共時鐘信號,總線周期的長度是可變的,不把響應時間強加到功能部件上,因而允許快速和慢速的功能部件都能連接到同一總線上,但這是以增加總線的復雜性和成本為代價的。

異步通訊中根據應答信號是否互鎖,即請求和回答信號的建立和撤消是否互相依賴,異步通訊可分為三種類型:非互鎖通訊、半互鎖通訊和全互鎖通訊。

非互鎖通訊

技術分享技術分享

圖1 非互鎖通訊

主模塊發出請求信號後,不必等待接到從模塊的回答信號,而是進過一段時間,確認從模塊已收到請求信號後,便撤銷其請求信號;從模塊接到請求信號後,在條件允許時發出回答信號,並且經過一段時間(這段時間的設置對不同設備而言是不同的)確認主模塊已經收到回答信號後,自動撤銷回答信號。可見通信雙方並無互鎖關系。

例如,COU向主存寫信息,CPU要先後給出地址性能好、寫命令以及寫入數據,即采用此方式。

以下是非轉載的一點理解

如何理解:進過一段時間,確認從模塊已收到請求信號後,便撤銷其請求信號

這句話呢,經過詢問大佬,一個合理的解釋是,經過一段時間後,這段時間是,發送方覺得接收方差不多收到了,於是就撤銷請求信號

如果接收方確實沒收到,那也沒辦法,這個方式本來應該就有這種缺陷,而且在圖上看到,請求信號的下降沿沒有前置信號的依賴。

半互鎖通訊

技術分享技術分享

圖2 半互鎖通訊

主模塊發出請求信號,必須待接到從模塊的回答信號後再撤銷其請求信號,或互鎖關系;而從模塊在接到請求信號後發出回答信號,但不必等待獲知蛛魔款的請求已經撤銷,而是隔一段時間後自動撤銷其回答信號,無互鎖關系。由於一方存在互鎖關系,一方不存在互鎖關系,故稱半互鎖方式。

例如,在多主機系統中,某個CPU需要訪問共享存儲器(供所有CPU訪問的存儲器)時,該CPU發出訪問存儲器命令後,不許收到存儲器未被占用的回答信號,才能真正進行訪存操作。

全互鎖通訊

技術分享技術分享

圖3 全互鎖通訊

主模塊發出請求信號,必須待從模塊回答後再撤銷其請求信號;從模塊發出回答信號,必須待獲知主模塊請求信號已經撤銷後,再撤銷其應答信號。雙發存在互鎖關系,故稱全互鎖方式

例如,在網絡通信中,通信雙方采用的就是全互鎖方式。

異步通信可用於並行傳送或串行傳送。異步並行通行如圖4所示,圖中的“Ready“和“Strobe”就是聯絡信號。異步串行通信時,沒有同步時鐘,也不需要在數據傳送中傳送同步信號。為了確認被傳送的字符,約定字符格式為:1個起始位(低電平)、5~8位數據位(如ASCI碼為7位)、1位奇偶校驗位(作檢錯用)、1或1.5或2位終止位(高電平)。傳送時起始位後面緊跟的是要傳送字符的最低位,每個字符的結束是一個高電平的終止位。起始位至終止位構成一幀,兩幀之間的間隔可以是任意長度的。 技術分享

圖4 異步並行”應答“聯絡方式

轉載自:http://blog.csdn.net/ce123/article/details/6933329

總線的異步通訊方式