天天看點

SATA協定18種原語介紹



Primitive基元解析

Primitive基元是用于控制和提供串行線狀态的Dword實體。比如ALIGNp, SOFp, EOFp, HOLDp, PMREQ_Pp, PMREQ_Sp, SYNCp, WTRMp, R_RDYp, X_RDYp等。其對應的含義以及DW解析如下表:

SATA協定18種原語介紹
SATA協定18種原語介紹
SATA協定18種原語介紹

理論再多不如實踐呐,現以裝置接收一個資料包的傳輸過程來說明基元的作用。首先主機、裝置都處于空閑狀态(SYNC)。

SATA協定18種原語介紹

(1) 主機有資料需要發送,發送X_RDY,通知裝置準備接收資料;

SATA協定18種原語介紹

(2)裝置檢查自己的狀态,準備好後發送R_RDY告訴主機可以發送資料;

SATA協定18種原語介紹

(3)主機開始發送資料, SOF為資料開始标志;

SATA協定18種原語介紹

(4)接收方在接收到資料時,以R_IP告訴主機正在接收資料;

SATA協定18種原語介紹

(5)主機的資料包沒有發送完,可是還有些資料沒有準備好,以HOLD告訴裝置暫停資料發送;

(6) 裝置接收到HOLD後,以HOLDA回應;

(7) 主機準備好了資料可以繼續發送,以HOLD結束等待狀态;

(8)主機繼續傳輸資料;

(9)裝置接收資料,以R_IP告訴主機正在接收資料;

SATA協定18種原語介紹

(10) 主機發送完了整個資料包,發送WTRM告訴裝置:主機正在等待傳輸結果;

SATA協定18種原語介紹

(11) 裝置接收完整個資料包并檢驗正确,以R_OK告訴主機接收正确;

SATA協定18種原語介紹

(12)主機進入空閑狀态,發送同步信号SYNC;

SATA協定18種原語介紹

(13)裝置進入空閑狀态,發送同步信号SYNC;

SATA協定18種原語介紹

繼續閱讀