マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、上級者の方からよく質問される「AXIプロトコル」についてです。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、上級者から多く寄せられる質問です。
Arm Cortex-M7プロセッサ(以降、Cortex-M7)を搭載しているマイコンのマニュアルに、AXIプロトコルと記載されているのですが、そもそもAXIとは何ですか?通常のバスのプロトコルと何が違うのでしょうか?
AXI(Advanced eXtensible Interface)プロトコルは、Arm Cortex-RやArm Cortex-Aで採用されている高性能、高周波システムをサポートするプロトコルです。Cortex-Mシリーズでは、Cortex-M7が初めて搭載しました。STマイクロエレクトロニクス(以降、ST)の汎用32ビットマイコンSTM32F7シリーズなどのコアはCortex-M7であるため、内部バスインタフェースはAXIを採用しています。
通常のバスのプロトコルは「アドレスが来てから、データを出す」ですが、AXIのデータは、基本的にバースト送信です。そのため、従来の「〜バス」ではなく、独立した「〜チャネル」で定義されます。そして、各チャネルは独立して情報を送信します。AXIでは、チャネルでデータを送信することを転送と呼びます。
図1に読み出しチャネルの動作例を示します。
AXIのマスターインタフェースから、スレーブインタフェース側にアドレスとコントロール信号を転送します。すると、スレーブインタフェース側から、データが次々と読み出されます。読み出しデータはバースト転送で読み出されるので、タイムロスが少なく、効率の高い転送ができます。
Copyright © ITmedia, Inc. All Rights Reserved.