Application Note : No.20240109-01.00
Internal ARMM

改版履歴：.....................................................................................................................11. 概要..........................................................................................................................1a. 本App noteの目的...............................................................................................2b. 対象者.................................................................................................................3
2. 詳細説明.................................................................................................................. 3
a. ARMMの利用目的.......................................................................................................... 3
b. ARMMの基本動作.......................................................................................................... 3c. 内蔵型ARMMボード説明.................................................................................................3i. 32bit MCU........................................................................................................................4d. ARMMシリアル通信........................................................................................................ 5e. 通信パケット仕様............................................................................................................ 5f. コマンド一覧..................................................................................................................... 6
g. Log ファイル.................................................................................................................... 8h. AI Boxとの接続............................................................................................................... 8
3. 利用手順...............................................................................................................................9a. 利用手順.........................................................................................................................9b. 通信制御用プログラムのインストール..............................................................................94. 質問等対応............................................................................................................. 11a. 質問は device_support@edgematrix.com にて受け付けております。..........................11

改版履歴：
Jan. 9, 2024

第１版

1. 概要ARMM(Auto Recovery Monitoring Module)はEDGEMATRIX Inc.が開発した32ビットMCUを搭載した超小型ボードです。Edge AI Box（以後単にAI Boxと呼ぶ）とシリアル通信を介してheat beatや各種コマンドのやりとりを行います。またAI Boxの主電源をON/OFFできる機能を持っており、AI Boxからのheart beat途絶を検出した場合にAI1

Boxの主電源を入れ直します。これによりAI Boxのheart beat停止状態、すなわち異常動作からの回復を試みます。
AI Boxが設置された環境の変化や予期せぬAI処理の異常、見落とされたバグ、電源の瞬断、落雷によるサージ大電流、高速AI処理などによる発熱、モバイルブロードバンド通信異常など、AI Boxが異常動作となる要因は数多くあります。異常動作時には予想できなかった動作や動作停止が発生し、運よくそれらをAI Box自身のソフトウェアで検出してリブート(ウォームブート）を行ったとしても復帰できない場合が発生します。そのような場合、多くは現地に行って大元の電源（主電源）を一度切り、放電を待ったのち再投入を行い（コールドブート）、AI Boxの正常動作復帰を確認します。
もちろん市場にはこのような機能を持った機器が販売されています。つまり、ネットワーク経由などで対象機器を監視して、動作異常を検出した場合、ウォームブートやコールドブートを行わせることができます。しかしながら、ネットワーク機能が正常に動作していることを前提とした比較的高価な機器やクラウドソリューションになっており、機器スペースやランニング費用がかかります。また電源を分離しなければならないなど、電源周りの設計や格納スペースが必要です。
ARMMは、その様な問題点を考慮し、必要最低限の機能と容積で、クラウドなど外部との接続を必要としない、安価で十分なリカバリー機能をAI Boxに提供できるように設計されました。ARMMでAI Boxは異常状態から短時間で自動復帰し、継続してAI動作を続けることができ、障害対応など保守費を削減することができます。さらに付加機能として、主電源の停止記録、シリアル通信を使ったNVIDIA®︎ Jetson™︎との通信を介したheart beat 記録や各種コマンドの実行を行うことができます。
ARMMには外付け型と内蔵型の2種類があります。本アプリケーションノートではInternal ARMM（内蔵型ARMM）について説明します。
なお、内蔵型ARMMではNVIDIA®︎ Jetson™︎側で実行されるプログラムにて、モバイルブロードバンドモジュールのみの電源OFF/ON、PoE電源のみのOFF/ON、すなわちPoEカメラのコールドリブートなど、異常発生頻度の高い部分の電源のみをOFF/ONできる機能を追加し、NVIDIA®︎ Jetson™︎CPU動作を止めることなく、短時間で正常復帰を行える機能などが追加されています。

a. 本App noteの目的
本アプリケーションノートは内蔵型ARMMを利用するユーザー向け説明書です。

b. 対象者
HW設計、STM32 MCU、シリアル通信、Pythonプログラム、Ubuntuコマンドやシェルスクリプトなどの知識をもつエンジニアを対象とします。

2

2. 詳細説明
a. ARMMの利用目的
ARMMを利用することで、基本的に次の２項目を実行できます。
1. 思わぬ障害などにより、AI Boxが停止した場合、AI Boxの主電源を入れ直す(cold bootを行う）ことができる。
2. 主電源が喪失した場合の時刻を特定できる。

内蔵型では更に電源ボタン押下やRESETボタン押下をARMMボードで行うことができます。更にキャリアボード機能を併用して、モバイルブロードバン
ドモジュールのみの電源ON /OFF、PoE電源のON /OFFを独立して行うことができます。

b. ARMMの基本動作
本説明は、ARMMボードが動作許可となっており、本体側の通信制御プログラムがインストールされている状態を対象とします。なお、本体側のプログ
ラムは弊社で用意したサンプルプログラムと仮定した説明になっています。
詳細は3.利用手順をご参照ください。
主電源が入ると、ARMMボードは本体側からのheartbeat通信(alive_reqコマンド)を待ちます。初期設定では５分毎にheartbeatが来ると仮定して待機します。通常の電源投入の場合、ARMMボードが先に立ち上がり、待機状態に入っています。heartbeatを受信すると応答(alive_resコマンド)を返してheartbeat手順を終了します。2回連続してheartbeatが来ない場合は、ARMMボードは本体の動作異常と判断して主電源の入れ直し(OFF->ON)を行います。

c. 内蔵型ARMMボード説明

3

上写真が内蔵型ARMMボードになります。主要部品は、中央にある32bit
MCU、左奥のスーパーキャパシター、前側中央右のピアノSW、前側右のフラットケーブルコネクター、そして前側左の10pinコネクターになります。以下に各部品の説明をします。

i.

32bit MCU
STM32F03を使用しています。

ii.

スーパーキャパシター
突然の電源断でもMCUが記録を残せるようにバッテリーとして動作します。数時間動作し続けることが可能です。

iii.

ピアノSW
SWの設定で、ARMMボードの動作許可/動作禁止、およびLED表示切り替えが可能です。出荷時はARMMボード動作禁止になっています。
使用時には本体側の通信制御プログラムが動作するようにした上で、SW1をONにして、電源を入れます。
SW2は、ARMMボードの動作確認や通信状態の確認に使用します。

iv.

フラットケーブルコネクター

4

STM32プログラムのフラッシュに使用します。EDGEMATRIX社内用です。
v.

10pinコネクター
EX3あるいはEX5のキャリアボードに10pinケーブルにて接続します。出荷時にケーブル接続済みです。

d. ARMMシリアル通信
内蔵型も外付け型も23bit MCUを持っており、シリアル通信を介してAIBoxと通信します。以下に主な違いを表にしました。
内蔵型

外付け型

通信ポート

UART

USB2.0 (COM)

キャリアボードとの接続

10pin ケーブル

USB2.0 ケーブル

通信フォー
マットとボーレート

Stop bit : 1
Parity bit : non
1200bps

Stop bit : 1
Parity bit : non
115200bps

ボーレートに関しては、内蔵型の場合、信号ノイズの関係で1200bpsとしています。初期ロット品では、ノイズによるビット過ちが通信単位で1/1000程度の確率でおこる可能性があります。本体側アプリケーションにて、checksum データ部を利用してビット過ちを検出することができます。1ヶ月以上の試験結果、利用に問題ないと判断しています。本件は次ロットにて改善する予定です。

e. 通信パケット仕様

f. コマンド一覧
コマンド一覧が以下の表になります。

5

なお、内蔵型では全コマンドをサポートしますが、外付け型では、poweroff_time_req から、temperature_resまではサポートされません。

また、温度測定ではサーミスタ(NCP15WB473F03RC)を使用しましたが、AD変換後の誤差値がおおきいため実用になりません。次ロットにて改善する予定です。

6

g. Log ファイル
ARMM本体側ではBT-logファイルにlogを書き出します。ファイルは毎日AM2:15頃、更新され、古いBT-logはBT-log.1、BT-log.1はBT-log.2と、BT-log.7までシフトされます。
log読み出しでは、ARMMボードからlogを読み出し、BT-logファイルへ書き込みます。
フォーマットは以下になります。

h. AI Boxとの接続10pinコネクタの信号は以下になります。

7

3. 利用手順
a. 利用手順１）EX3あるいはEX5側に通信制御用プログラムをインストールおよび自動起動設定をおこないます。
２）ARMMボードのピアノSW設定を動作許可にして、電源を立ち上げます。
以降にその手順を順に説明します。

b. 通信制御用プログラムのインストール
最初に通信制御用プログラムをインストールしてから、ARMMボードを動作させるようにします。
https://github.com/hsugihara/ARMM

c. ARMMボードのピアノＳＷ設定i.

EX3あるいはEX5の裏蓋を開けます。
電源が落ちたのを確認してから裏蓋の4隅のねじをとって蓋を開けます。

8

開けたのち、奥にARMMボードが確認できます。また、中央やや右にピアノＳＷが見えます。SW1をON （下）にして終了です。裏蓋を戻し、電源を入れるとARMMボードが動作します。

9

4. 質問等対応
a. 質問は device_support@edgematrix.com にて受け付けております。

以上

10