AMBA APB

AMBA APB

AMBA APBはARMのバスプロトコルの一つです。

APB protoclの詳細は以下からもダウンロードできます。

Documentation – Arm Developer

信号

表の青色の信号は必須、緑色の信号はオプション(なくてもいい)です。

SignalsourceWidthDescription
PCLKclock1クロック
PRESETnreset1リセット
PADDRRequesterADDR_WIDTHアドレス
PPROTRequester3Protection Typeの設定 デフォルト値は3’b000
PSELxRequester1Completerとアクセスを開始時に1を出力
PENABLERequester1PSELx=1後、2サイクル目に1を出力
PWRITERequester1PSELxと同じタイミングで1 or 0を出力
PWDATARequesterDATA_WIDTHライトデータ。データフェーズでPREADY=1まで出力
PSTRBRequesterDATA_WIDTH/8データの有効ビットを指定
PREADYCompleter1データ転送の準備が完了していれば1を出力
PRDATACompleterDATA_WIDTHリードデータ
PSLVERRCompleter1エラーであることを提示
PWAKEUPRequester1通信不要時は0(sleep)
PAUSERRequesterUSER_REQ_WIDTHユーザー指定で利用する信号
PWUSERRequesterUSER_DATA_WIDTHユーザー指定で利用する信号
PRUSERCompleterUSER_DATA_WIDTHユーザー指定で利用する信号
PBUSERCompleterUSER_RESP_WIDTHユーザー指定で利用する信号

WRITE

write動作時の波形は以下のようになります。

Requester(マスター側)はPADDR、PWRITE、PSELを1stサイクルで設定し、2ndサイクルでPENABLEを1に設定します。

Completer(スレーブ側)は、T2でPSEL=1を受け、PREADY=1を返します。

RequesterはT3でReady=1を受け、データ転送完了できたので、PSEL=0にし終了します。

T3でPSEL=1を認識しても受信側で準備が完了していない場合はPREADY=0となります。

PWRITE、PSEL、PWDATAを保持し続け、PREADY=1を受け、完了します。

READ

readもwrite同様、Requester(マスター側)はPADDR、PWRITE、PSELを1stサイクルで設定し、2ndサイクルでPENABLEを1に設定します。

Completer(スレーブ側)は、T2でPSEL=1を受け、PREADY=1とPREADを返します。

RequesterはT3でReady=1とPRDATAを受け取り、データ転送完了できたので、PSEL=0にし終了します。

wait時間がある場合はwrite同様READY=1を待って終了します。

IHI0024D_amba_apb_protocol_spec.pdfを参照

コメント

Copied title and URL