コンテンツにスキップ

IPRO7AI

IPRO7AI は IPRO7 と同じダイで、NPU を有効にし、8 MB の PSRAM と Flash をパッケージに内蔵したものです。CPU、ワイヤレス、周辺機能は IPRO7 と同じです。IPRO7AI Reef EVK のメインチップです。本リリースでは、カメラによる物体認識、3 つの IPRO AI Teach ツール、IPRO AI Studio のボード上推論を実行します。

0.1 TOPSNPU
8 MBパッケージ内蔵 PSRAM
IPRO7AI書き込み時の --chip-variant
libai.aビルド済み推論ランタイム

IPRO7 との違い

項目 IPRO7AI
NPU 有効、0.1 TOPS。NPU のアクティベーションバッファーは PSRAM に置かれるため、AI アプリケーションにはすべて PSRAM が必要です
PSRAM パッケージ内蔵 8 MB、0x1e000000
Flash パッケージ内蔵。SDK はデフォルトで 1 MB のレイアウトをリンクし、CONFIG_IPRO7_FLASH_2M=y で 2 MB のレイアウトを選択します。ipro7ai_reef_demo の .config には、ブートログに JEDEC ID 0xEF4015(2 MB)と表示された場合にこの行を追加できると記載されています
書き込み --chip-variant IPRO7AI でこのチップの Flash ピンを選択します(ツールの設定ファイルでは flash_pin 0x9)
その他 CPU、メモリマップ、ワイヤレス、周辺機能は IPRO7 と同じです。IPRO7 の主な仕様を参照

Reef 用の構成のうち、ipro_reef_teach と ipro_agora_sentino の .config、および ipro_ble_remote、ipro_le_audio_headset、ipro_ai_link の defconfig_reef は、すでに 2 MB のレイアウトを使っています。その他の Reef 用構成は 1 MB のレイアウトです。

NPU と推論ランタイム

推論ランタイムはビルド済みライブラリ components/ai/lib/libai.a として提供されます。公開ヘッダーは components/ai/iproai_def.h と、components/ai/ 以下の各モジュールのヘッダーです。ランタイムのソースはパッケージに含まれていません。V2.2.1 の components/ai は IPRO Edge AI プラットフォーム V2.0 で、ランタイム、ツールごとに 1 スロットを持つモデルストア、入力ソース、前処理、アプリケーションフレームワークで構成されます。NPU の完了待ちには上限時間があり、タイムアウトすると NPU ブロックをリセットして安全なフォールト状態にします。CPU での推論には TensorFlow Lite Micro、NMSIS-NN、TinyMaix(components/3rdparty/)を使えます。

AI を有効にする

アプリケーションの .config に次の設定を明示的に記述してください。この SDK のビルドは Kconfig の select を適用しないため、PSRAM は自動では有効になりません。

.config(抜粋)
CONFIG_AI_SUPPORT=y          # components/ai(libai.a)をリンクする
CONFIG_USE_PSRAM=y           # NPU のアクティベーションバッファーとモデルは PSRAM に置かれる
CONFIG_MM_SUPPORT=y          # カメラと ISP を使う場合
CONFIG_AI_MODEL_FROM_FILE=y  # SD カードからモデルを読み込む場合

ipro_reef_teach の .config と ipro_ai_link の defconfig_reef は、そのまま出発点にできる完全な Reef 用構成です。

モデルの格納場所

NPU は .inm 形式のモデルを実行します。モデルは次の 3 か所のいずれかに格納します。

格納場所 方法 Reef での例
mfg Flash パーティション 書き込みツールで --mfg を指定して書き込みます。ipro_reef_teach は独自のパーティションテーブル partition_reef_teach.toml と mfg レイアウト(モード、声紋モデル、画像モデル、センサーモデルにそれぞれ 1 スロット)を持ち、書き込むデータは mfg_payload.py で作成します ipro_reef_teach
ファームウェアにリンク モデルをイメージに組み込みます。ほかに書き込むものはありません ipro7_uvc_cam の defconfig_reef_rps
SD カード 実行時に sd:/(FatFS)から PSRAM に読み込みます ipro_ai_link の defconfig_reef

パッケージに含まれるモデル:apps/ai/ipro_reef_teach/model/(声紋モデル model_b.spkb)、tools/teach_web/assets/、apps/platform/ipro7_demo/demo/ai/ai_model/、apps/test/ipro_npu_yolo/src/、apps/ai/ipro7ai_evk_rps/model/。IPRO AI Studio と Edge AI ツールは SDK ではなく、別の IPRO Edge AI パッケージで提供されます。モデル変換ツールについては INTELPRO にお問い合わせください。

メモリ

AI と画像処理の両方を有効にすると(CONFIG_AI_SUPPORT、CONFIG_MM_SUPPORT)、NPU の SRAM が 0x11020000 以降にマッピングされるため、リンカーは OCRAM を先頭の 64 KB(0x11010000–0x11020000)に制限します。アプリケーションが BLE コントローラーの Exchange Memory も確保する場合(CONFIG_EM_SIZE が 0 以外)、OCRAM は 48 KB と、64 KB − CONFIG_EM_SIZE の非保持領域になります。CMake はビルド中に選択したレイアウトを表示します(例:AI+MM (EM=0): OCRAM=64KB)。

Zephyr RTOS ポートには NPU ドライバーがありません。NPU サンプルは FreeRTOS アプリケーションです。

Reef での NPU サンプル

サンプル Reef 用構成 内容
ipro_reef_teach .config IPRO AI Teach 2.0 のボード用ファームウェア。image(USB カメラと画像分類器)、voice(声紋)、sensor(センサー信号)の 3 つのツールを 1 つずつ実行し、IPRO AI Studio から操作します
ipro7_uvc_cam defconfig_reef_rps NPU によるじゃんけんの認識結果を映像に描画する USB ウェブカメラ
ipro_ai_link defconfig_reef IPRO AI Studio の「Run on board」用のボードファームウェア。sd:/ からモデルと入力を読み込み、出力を USB で返します

その他の NPU サンプルは IPRO7AI EVK または IPRO7 EVB が対象です(ipro7ai_evk_person_detect、ipro7ai_evk_rps、ipro7ai_evk_launcher、ipro_speaker_recog、ipro_npu_yolo、ipro_ai_bench)。サンプルを参照してください。

IPRO7AI 搭載ボード

ボード パッケージ ボード設定
IPRO7AI Reef EVK V4.0 QFN56、ボードに実装 CONFIG_IPRO7AI_REEF=y

IPRO7AI EVK(CONFIG_IPRO7AI_EVK=y)もこのチップを搭載しています。このボードについては INTELPRO にお問い合わせください。

関連ドキュメント

  • IPRO7:チップの全仕様とメモリマップ。
  • AI と NPU ガイド:モデルのデプロイと推論 API。
  • IPRO AI Teach:IPRO AI Studio を使って、画像、声紋、センサー信号を Reef に学習させます。
  • IPRO7 データシート:ドキュメントを参照してください。