メディア

マイコンのAXIプロトコルって何?Q&Aで学ぶマイコン講座(103)(2/4 ページ)

» 2025年05月22日 10時00分 公開

AXIプロトコルとは

 AXIのデータ転送は、基本的にバースト転送です。従来の「アドレスが来てから、データを出す」の「〜バス」(アドレスバス、データバスなど)で定義されるのではなく、独立した「〜チャネル」(読み出しアドレスチャネル、読み出しデータチャネルなど)で定義されます。各チャネルは独立して情報を転送します。転送は、マスターインタフェースがアドレスとコントロール信号(VALIDやREADY信号など)を転送することから始まります。スレーブインタフェースは、アドレスとコントロール信号に従って、データをバースト転送します。

 簡単に言うと「マスター側がデータ転送のリクエストを出すと、スレーブ側がリクエストの内容に従ってデータをバースト転送する。転送が終わったら、完了信号を返す動作」です。

AXIの仕様

 読み出しでは、次の2つのチャネルが定義されます。

  • 読み出しアドレス
  • 読み出しデータ

 書き込みは、次の3つのチャネルが定義されます。図2に書き込みチャネルの例を示します。

  • 書き込みアドレス
  • 書き込みデータ
  • 書き込み応答
<strong>図2:AXIプロトコル(書き込みチャネル)</strong> 図2:AXIプロトコル(書き込みチャネル)[クリックで拡大]

 このように、読み出しと書き込みを合わせると、5つのチャネルが定義されます.

 書き込みチャネルの場合、読み出しチャネルと同じようにマスターインタフェースから、スレーブインタフェース側にアドレスとコントロール信号を送ります。その後、マスターインタフェース側から、データを次々と送り出します。スレーブインタフェース側は、これらのデータを受け取り、受け取りが完了した時点で書き込み応答を返します。

 AXIは、命令フェッチとデータ読み出しのように、機能的に相関関係が無い場合は、混在して使うことができます。

 図3にイメージを示します。命令もデータも同じAXIに乗せて、命令フェッチとデータ読み出しを行うことができます。

<strong>図3:AXIプロトコル(命令とデータの関係)</strong> 図3:AXIプロトコル(命令とデータの関係)[クリックで拡大]

 AXIの仕様について詳しく知りたい方はArmのWebサイトを参照してください。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.