製品概要

2.1. 製品の特長

2.1.1. Armadilloとは

「Armadillo(アルマジロ)」は、Armコアプロセッサ搭載・Linux対応の組み込みプラットフォームのブランドです。 Armadilloブランド製品には以下の特長があります。

  • Armプロセッサ搭載・省電力設計

    Armコアプロセッサを搭載しています。1~数ワット程度で動作する省電力設計で、 発熱が少なくファンを必要としません。

  • 小型・手のひらサイズ

    CPUボードは名刺サイズ程度の手のひらサイズが主流です。 名刺の1/3程度の小さなCPUモジュールや無線LANモジュール等、超小型のモジュールもラインアップしています。

  • 標準OSとしてLinuxをプリインストール

    標準OSにLinuxを採用しており、豊富なソフトウェア資産と実績のある安定性を提供します。 ソースコードをオープンソースとして公開しています。

  • 開発環境

    Armadilloの開発環境として、「Atmark Techno Development Environment ATDE)」を無償で提供しています。 ATDEは、VMwareなど仮想マシン向けのデータイメージです。 このイメージには、Linuxデスクトップ環境をベースにGNUクロス開発ツールやその他の必要なツールが事前にインストールされています。 ATDEを使うことで、開発用PCの用意やツールのインストールなどといった開発環境を整える手間を軽減することができます。

2.1.2. Armadillo-X2とは

Armadillo-X2は、GUIを必要とする機器や映像出力機器などに最適な小型・高性能CPUボードです。 Armadillo-X2には以下の特長があります。

images/about-x2.png

図2.1 Armadillo-X2とは


  • GUI開発環境「Flutter」に標準対応

    Googleが提供するオープンソースのGUI開発環境「Flutter」に標準対応。 このモバイルアプリフレームワークを活用することで、 容易にGUIアプリケーションを開発できます。

images/about-x2-flutter.png

図2.2 Flutterを用いたGUIアプリケーション開発例


  • エッジAI処理を省電力で実現

    内蔵するNPUにより高効率な演算を省電力で実現することができるため、 顔認識や人物検知、製造・建築業におけるAIソリューションなど、様々な現場で採用いただけます。

images/g4-npu-ai.png

図2.3 エッジAI処理、機械学習の例


  • NXP製i.MX 8M Plus搭載・動画を高速処理

    Arm Cortex-A53(1.6GHz)4コアのSoC「i.MX 8M Plus」(NXP Semiconductors 製)を搭載しています。 フルHDサイズ(1080p)のH.264エンコード/デコード機能も用意されており、 動画を記録しながらのAI処理も可能です。

  • ファンレス・小型設計

    高負荷のかかるエッジAI処理でも、動作温度範囲内であれば処理能力が低下しない稼働を期待できます。 これまで設置が難しかった環境でも採用いただけるファンレス・小型設計で、 産業用PCよりも安価に導入することができます。

  • オプションで専用アルミケースを選択可能

    オプションで専用のアルミケースが用意されています。 熱源であるSoCをメインボードの裏面にレイアウトし、 ヒートシンクなどを使わずアルミ製のケースに直接放熱することで、 ボード単体で使用するよりも更に安定した稼働を見込めます。

images/about-x2-head-dissipation.png

図2.4 SoCの発熱をアルミケースに直接放熱


  • ADLINK製タッチモニタ「OM Series」に対応

    オープンフレーム産業用タッチモニタ「OM Series」は、 Armadillo-X2で動作確認済みのデバイスです。 10.1/15.6/21.5インチからモデルを選択できます。

  • Armadillo Base OS搭載

    「Armadillo Base OS」を搭載しています。 ユーザー自身がゲートウェイの機能を自由に設計・開発して書き込むことで、 多様な製品を作ることができます。

  • セキュアエレメント搭載

    NXP Semiconductors 製のセキュアエレメント「SE050」を標準搭載しています。 これを使用することで、ハードウェアRoot of Trustによる高いセキュリティを実現できます。

2.1.3. Armadillo Base OSとは

Armadillo Base OSは、アットマークテクノが提供する専用ディストリビューションです。 Linux5.10をベースに、コンテナ管理機能、ソフトウェアアップデート機能、ネットワークマネージャーなどに対応。 機能を限定したコンパクトなOSで、安全性の高い運用を実現します。

images/about-armadillo-base-os.png

図2.5 Armadillo Base OSとは


  • OSのコンパクト化

    OS基盤の機能を最小限にしたことで、セキュリティリスクを低減しています。 アットマークテクノが継続的にアップデートを提供するため、 高セキュリティなIoT機器として長期間に渡り運用することができます。

  • コンテナによるアプリケーション運用

    アプリケーションを「コンテナ」単位でOSから分離して管理できるため、コンテナごとのアップデートが可能です。 サンドボックス化されることにより、悪意あるソフトウェアからの攻撃に対する機器全体の保護に有効性を発揮します。

images/app-operation-container.png

図2.6 コンテナによるアプリケーションの運用


  • アップデート機能を標準搭載

    ネットワークやUSBメモリ、microSDカード、Armadillo Twinによるアップデート機能を標準搭載しています。 正しく署名されたソフトウェアのみアップデートできる仕組みや、差分アップデート機能も用意されています。 OS・ブートローダー・コンテナ部分は、安全性を担保するため二面化し、リカバリー機能を備えています。 万が一アップデートに失敗した場合でも、作業前の状態にロールバックすることができます。

images/rollback.png

図2.7 ロールバックの仕組み


  • 堅牢性の向上

    安定性の高いファイルシステムで、ストレージへの書込みを減らして消耗を抑制するなど、 高い堅牢性を有します。運用ログの記録機能も標準搭載しています。

  • セキュリティ機能の向上

    コンテナにアクセス権限を設けて管理することができます。 デバイス証明に利用できるセキュアエレメントを搭載するほか、セキュア環境「OP-TEE」を利用 可能な状態で提供しています。

2.1.4. Armadillo Base OSのメンテナンスポリシーとアップデートの推奨

Armadillo Base OSはアットマークテクノがセキュリティアップデートの提供、既存機能のバグ修正、今はない便利な機能の追加を継続的に行い、ユーザービリティの向上に努めます。緊急時を除き月末に "製品アップデート" としてこれらをリリースをし、Armadilloサイトから通知、変更内容の公開を行います。ユーザー登録を行うことで通知をメールで受け取ることもできます。

ArmadilloをIoT機器としてネットワークに接続し長期に運用を行う場合、継続的に最新バージョンを使用することを強く推奨いたします。

2.1.4.1. 後方互換性について

Armadillo Base OSは、原則、abos-ctrlコマンド等の各種機能や、sysfsノード、コンテナ制御をするためのpodmanコマンド等のAPI後方互換を維持します。また、Armadillo Base OSとコンテナ間でサンドボックス化されていることもあり、互いのlibc等のライブラリや、各種パッケージなどの組み合わせによって互換性の問題は発生しません。 このため、Armadillo Base OSをアップデートしても、これまで利用していたアプリケーションコンテナは原則的にそのまま起動・動作させることができます。

しかし、Armadillo Base OS内のLinux-Kernelやalpineパッケージ変更によって、細かな動作タイミングが変更になる場合があるため、タイミングに大きく依存するようなアプリケーションをコンテナ内部に組み込んでいた場合に、動作に影響を与える可能性があります。 まずは、テスト環境でArmadillo Base OS更新を行い、アプリケーションコンテナと組み合わせた評価を行った後、市場で動作しているArmadilloに対してアップデートを行うことを推奨します。

製品開発を開始するにあたり、Armadillo Base OS に関してより詳細な情報が必要な場合は、 「開発前に知っておくべき Armadillo Base OS の機能・特徴」 を参照してください。

2.1.5. Armadillo Twin とは

Armadillo Twin は、アットマークテクノが提供する Armadillo Base OS 搭載のデバイスをリモートから運用管理することができるクラウドサービスです。 様々なタスクをリモートから実行できるようになり、 OS アップデートもサービス画面からの操作で行えるため、稼働中のデバイスは常に最新の状態を維持することができます。また、バグ修正やセキュリティ対策などのメンテナンスのほか、機能追加や設定変更、アプリケーションのアップデートなども行えるため、デバイスの設置現場に出向くことなく、計画的で効率的なDevOpsを実現することができます。

本書では、開発・量産・運用の各フェーズにおける Armadillo Twin の利用について記載しています。

images/abos-images/armadillo-twin/about-armadillo-twin.png

図2.8 Armadillo Twin とは


2.1.5.1. サービスの特徴

  • ソフトウェアアップデート (OTA)

    遠隔からデバイスのソフトウェアアップデートをすることで、長期的にセキュリティ性の高いシステムを保つと共に、新たな機能を提供することも可能です。本サービスで管理するデバイスに搭載されている Armadillo Base OS は、不正なソフトウェアへのアップデートを行わせない署名検証機能や、アップデートが失敗した際に自動で元の状態に戻るロールバック機能を備えています。そのため、安心してソフトウェアアップデートを利用することができます。

  • 遠隔稼働監視

    登録されたデバイスの死活監視をはじめ、CPU の使用率や温度、メモリの使用量、モバイル回線の電波状況、ストレージの空き容量や寿命を監視することができます。各値にはアラートの設定を行うことができ、異常を検知した場合はアラートメールを管理者に送信します。メールを受けた管理者は本サービスの遠隔操作機能を利用し、即座に対応を行うことができるため、システムの安定運用を行うことができます。 そのほか、本サービスに登録したデバイスは、自由にラベル名を付けたりグループを作成して管理することができるため、どのデバイスをどの場所に設置したか画面上で把握することが容易になります。また、デバイス本体に搭載されているセキュアエレメントを利用した個体認証により、不正なデバイスの登録を防ぎます。

  • 遠隔操作

    画面上で入力した任意のコマンドをデバイス上で実行することができます。本サービスは遠隔操作で一般的に使われる SSH(Secure Shell) のように固定グローバル IP アドレスの設定は不要です。そのため、通信回線の契約料金を安くできるだけではなく、インターネット上からのサイバー攻撃のリスクを抑制する効果も期待できます。 任意のコマンドは単一のデバイスだけではなく、グループ単位、また複数のデバイスを選択して一括して実行したり、時刻を指定するスケジュール実行にも対応しています。

2.1.5.2. 提供する機能一覧

Armadillo Twin は、下記の機能を提供します。

遠隔稼働監視

死活監視、アプリケーションコンテナ稼働状況、 CPU使用率・温度/メモリ使用率、ストレージ寿命、モバイル回線電波強度、モバイル回線基地局の位置情報[a]、アラートメール

遠隔操作

ソフトウェアアップデート(OTA)、任意コマンド実行、ソフトウェアバージョン確認、設定変更、グループ一括実行、スケジュール実行[a]

個体管理

デバイス登録(デバイス証明書を利用)、ラベル付け、デバイスグループ化機能

ユーザ管理

ユーザーの追加/削除、ユーザー権限の設定

お知らせ

セキュリティアップデート、システム障害通知

[a] サービス開始時には非対応の機能です。今後のアップデートで対応予定です。

2.2. 製品ラインアップ

Armadillo-X2の製品ラインアップは次のとおりです。

表2.1 Armadillo-X2ラインアップ

名称 型番

Armadillo-X2 開発セット(メモリ2GB)

AX2210-U00D0

Armadillo-X2 量産ボード(メモリ2GB、ストレージ10GB)

AX2210-U00Z

Armadillo-X2 量産ボード(メモリ2GB、ストレージ10GB、ケース入り)

AX2210-C00Z


2.2.1. Armadillo-X2 開発セット

Armadillo-X2を使った開発がすぐに開始できるように、 開発に必要なものを一式含んだ製品をラインアップしています。

images/ax2210-u00z.svg

図2.9 Armadillo-X2の外観


Armadillo-X2 開発セットのセット内容は以下のとおりです。 ケースは付属しませんので、必要な場合は別途ご用意ください。

  • Armadillo-X2 (基板単体)
  • USB(Aオス-microB)ケーブル
  • ACアダプタ(12V/3.0A)
  • ジャンパソケット

2.2.2. Armadillo-X2 量産ボード

Armadillo-X2の量産用に、必要最小限の内容物に絞った製品を ラインアップしています。

AX2210-UxxZが基板単体、AX2210-CxxZがケースに収められた製品となります。 こちらには、ACアダプタ、ケーブル類は付属しておりませんので、適宜必要となるものをご用意ください。

2.3. 仕様

Armadillo-X2の主な仕様は次のとおりです。

表2.2 仕様

型番 AX2210-U00D0,AX2210-U00Z,AX2210-C00Z

CPU

NXP Semiconductors i.MX 8M Plus

Arm Cortex-A53 × 4

・命令/データキャッシュ 32kByte/32kByte

・L2 キャッシュ 512kByte

・メディアプロセッシングエンジン(NEON)搭載

・Thumb code(16bit 命令セット)サポート

Arm Cortex-M7 × 1

・命令/データキャッシュ 32kByte/32kByte

・TCM 256kByte

システムクロック

CPU コアクロック(Arm Cortex-A53): 1.6GHz

CPU コアクロック(Arm Cortex-M7): 800MHz

DDR クロック: 2GHz

源発振クロック: 32.768kHz、24MHz

NPU

2.3 TOPS

RAM

LPDDR4: 2GByte

バス幅: 32bit

ROM

eMMC: 9.8GiB [a]

HS400(最大転送速度: 400MB/s)

LAN(Ethernet)

1000BASE-T × 1

AUTO-MDIX対応

モバイル通信

非搭載

USB

USB 3.0 Host × 1 (Type-A)、USB 2.0 Host x 1 (Type-A)、USB 2.0 Host x 1 (ピンヘッダ)

SD

microSDスロット × 1 (UHS-I)

ビデオ

HDMI出力 × 1 (micro Type-D)

オーディオ

HDMI出力 × 1 (micro Type-D)

カメラ

MIPI CSI-2 (2レーン) × 1 [b]

拡張インターフェース[b] [c]

USB 2.0 × 1、GPIO × 21、SPI × 2、UART × 2、 PDM MIC × 4、I2S × 1、CAN x 2、I2C × 3、PWM × 4

カレンダー時計

リアルタイムクロック [d]: 平均月差 8秒(周囲温度-20℃~70℃における参考値)

スイッチ

ユーザースイッチ × 1

LED

ユーザー LED × 1

電源 LED × 1 [b]

メンテナンスポート

USB micro-B シリアルコンソール

セキュアエレメント

NXP Semiconductors SE050

電源電圧

DC 12V±10%

消費電力(参考値)

2.2W(定常状態) [e]

動作温度範囲

-20~+70℃(結露なきこと)

外形サイズ(基板)

115×75mm(突起部を除く)

外形サイズ(ケース)

123×82×26mm(突起部を除く)

[a] pSLCモードで動作します。

[b] ケース装着時はケース外部から利用できません。

[c] 拡張インターフェース(CON11)の信号線において、i.MX 8M Plusのピンマルチプクレスの設定で、優先的に機能を割り当てた場合に拡張可能な最大数を記載しています。

[d] コイン電池によるバックアップが可能です。電池は付属していません。

[e] 外部接続機器の消費分は含みません。


2.4. インターフェースレイアウト

Armadillo-X2のインターフェースレイアウトです。 各インターフェースの配置場所等を確認してください。

images/x2-interface-layout.svg

図2.10 インターフェースレイアウト (ケース内部)


表2.3 インターフェース内容

部品番号 インターフェース名 説明

CON1

SDインターフェース

microSDカード用のSDスロットです。外部ストレージが必要な場合や、microSDカードに配置したブートディスクイメージから起動する場合などに使用します。

CON3

LANインターフェース

LANケーブル接続用のRJ-45コネクタです。有線LANを利用する場合に使用します。

CON4

USBインターフェース

USBメモリやUSB接続デバイス接続用のUSB3.0 Type-Aコネクタです。外部ストレージが必要な場合や、USB接続の各種デバイスを使用する場合に使用します。

CON6

USBコンソールインターフェース

USB microBケーブル接続用のUSB micro-Bコネクタです。コンソール入出力を利用する場合に使用します。

CON8

HDMIインターフェース

HDMI Type-Dケーブル接続用のHDMI Type-Dコネクタです。HDMI対応ディスプレイ等を利用する場合に使用します。

CON10

MIPI-CSIインターフェース

MIPI CSI-2対応カメラ接続用の15ピン(1mmピッチ)FFCコネクタです。MIPI CSI-2対応カメラを利用する場合に使用します。

CON11

拡張インターフェース1

2列17ピン(2.54mmピッチ)のピンヘッダが搭載されています。機能拡張する場合に使用します

CON13

RTCバックアップインターフェース

CR2032等のコイン形電池接続用の電池ボックスです。リアルタイムクロックのバックアップ給電が必要な場合に使用します。

CON14

電源入力インターフェース1

ACアダプタ接続用DCジャックです。付属のACアダプタからArmadillo-IoT ゲートウェイ G4へ電源供給する場合に使用します[a]

CON15

電源入力インターフェース2

電源入力用2ピン(2mmピッチ)ライトアングルコネクタです。ACアダプタ以外の電源装置かららArmadillo-IoT ゲートウェイ G4へ電源供給する場合に使用します[a]

CON16

3.3V電源出力インターフェース

2ピン(2.54mmピッチ)のピンヘッダが搭載されています。機能拡張する場合の3.3V電源として使用できます。

CON17

USBインターフェース2

USBメモリやUSB接続デバイス接続用のUSB 2.0 Type-Aコネクタです。外部ストレージが必要な場合や、USB接続の各種デバイスを使用する場合に使用します。

JP1

起動デバイス設定ジャンパ

起動モードを設定するための2ピン(2.54mmピッチ)ピンヘッダです。

SW1

ユーザースイッチ

ユーザーが利用可能なタクトスイッチです。

LED3

ユーザーLED

ユーザーが利用可能な砲弾タイプ(Φ3mm)の緑色LEDです。

LED4

電源LED

電源の入力状態を表示する表面実装タイプの緑色LEDです。

[a] 電源入力インターフェース1と電源入力インターフェース2の両方から同時に電源供給することはできません。


2.5. ブロック図

Armadillo-X2のブロック図を図2.11「ブロック図」に示します。

images/block.svg

図2.11 ブロック図


2.6. ストレージデバイスのパーティション構成

Armadillo-X2のeMMCのパーティション構成を 表2.4「eMMCメモリマップ」に示します。

表2.4 eMMCメモリマップ

パーティション サイズ ラベル 説明

1

300MiB

rootfs_0

A/B アップデートのA面パーティション(Linuxカーネルイメージ, Device Tree Blob, Alpine Linux rootfsを含む)

2

300MiB

rootfs_1

A/B アップデートのB面パーティション(Linuxカーネルイメージ, Device Tree Blob, Alpine Linux rootfsを含む)

3

50MiB

logs

ログ書き込み用パーティション

4

200MiB

firm

ファームウェア用パーティション

5

8.95GiB

app

アプリケーション用パーティション


Armadillo-X2のeMMCのブートパーティションの構成を表2.5「eMMC ブートパーティション構成」に示します。

表2.5 eMMC ブートパーティション構成

ディスクデバイス サイズ 説明

/dev/mmcblk2boot0

31.5 MiB

A/B アップデートのA面

/dev/mmcblk2boot1

31.5 MiB

A/B アップデートのB面


Armadillo-X2のeMMCのGPP(General Purpose Partition)の構成を表2.6「eMMC GPP構成」に示します。

表2.6 eMMC GPP構成

ディスクデバイス サイズ 説明

/dev/mmcblk2gp0

8 MiB

ライセンス情報等の為の予約領域

/dev/mmcblk2gp1

8 MiB

動作ログ領域

/dev/mmcblk2gp2

8 MiB

動作ログ予備領域[a]

/dev/mmcblk2gp3

8 MiB

ユーザー領域

[a] 詳細は「ログ用パーティションについて」を参照ください。


2.7. ソフトウェアのライセンス

Armadillo Base OS に含まれるソフトウェアのライセンスは、 Armadillo にログイン後に特定のコマンドを実行することで参照できます。

手順について、詳細は以下の Howto を参照してください。