「SAM(Smart Arm-based Microcontrollers)」というブランドを冠したArmコア搭載製品を展開しているAtmelは、最近、相次いでセンサー・ハブやIoT(Internet of Things)に向けた新ファミリを市場へ投入している。2014年1月に発売した「SAM Gファミリ」は、さまざまな低消費電力化の技術を盛り込みつつ、CPUコアに「Cortex-M4F」を採用することで高速・高精度演算にも対応する。ここではスマートフォンなどに採用されているセンサー・ハブ技術の概要とSAM Gファミリの特徴を紹介する。
ビッグデータ時代を支える「センサー・ハブ」
現在のモバイル機器は、多くのセンサー素子を搭載している。例えば、スマートフォンのカメラ・アプリを考えてみよう。まず、UI(ユーザー・インタフェース)操作にタッチ・センサーを使用する。環境光センサーの測定結果を利用してカメラの感度や絞りを調節する。ジャイロ・センサーはカメラの手ぶれ補正に利用されるかもしれない。加えて、アナログ素子であるセンサーの多くは環境温度によって特性が変化する。そこで温度センサーの測定結果を利用して温度補正を行う必要がある。このように、「写真撮影」というスマホの基本機能一つとっても、多くのセンサー素子が協調動作している。
バッテリ駆動のモバイル機器の場合、低消費電力化が不可欠であり、センサー素子の稼動・停止をきめ細かく制御しなければならない。メインのCPU(アプリケーション・プロセッサ)を使って多数のセンサーを制御できないわけではないが、こうしたCPUは高機能・高性能な反面、消費電力が大きい。そこで最近は、メインCPUとは別に、「センサー・ハブ」と呼ぶコプロセッサ(サブCPU)を導入している。例えばApple社の「iPhone 5S」は、メインのA7プロセッサとは別に、加速度センサー、ジャイロ・センサー、電子コンパスなどの制御を担うM7プロセッサを搭載している。
またセンサー・ハブの搭載は、スマホやタブレット、ノート・パソコンなどモバイル機器だけにとどまらない。「ヘルスケア端末やウェアラブル端末、IoT端末などにも利用される」(上大迫氏)。
高度な電力管理機能でCPUの休止期間を延長
Atmelは、センサー・ハブ市場向けマイコン製品として、Cortex-M0+コアを搭載した「SAM Dファミリ」を2013年6月にリリースしている。2014年1月には、その上位に位置づけられる「SAM Gファミリ」の出荷を開始した。このファミリはFPU(浮動小数点演算回路)を内蔵する「Cortex-M4F」コアを搭載し、DSP機能と合わせて、高速・高精度演算を実現している。
今回のSAM Gを搭載するセンサー・ハブのシステムとして、同社では二通りの構成を想定している。一つ目は、SAM Gがジャイロ・センサーや電子コンパスなどを制御してデータを取得し、その情報をホストとなるCPUへ転送する構成である。これはモバイル機器などでよく見られる構成だ。二つ目は、SAM Gを使って各種センサー素子からデータを取得し、併せてディスプレイやUI操作の制御、およびZigBeeなどの通信モジュールとのインタフェース処理も行わせる構成である。ウェアラブル端末やIoT端末などがこの構成である。
Atmelは、システム全体の消費電力を引き下げるためのさまざまな工夫をSAM Gに盛り込んでいる。まず、DSPとFPUを搭載することで、積和演算や乗算、高精度演算を効率的に実行できるようにした。コード効率が上がると、その分、消費電力を低く抑えられる。
低消費電力モードにはWAITモード(SRAM Retention)を用意した。内蔵SRAMの状態を保持しつつ、CPUコア、メモリ、ペリフェラルなどへのクロックを停止し、フラッシュも低消費電力モードに設定しておく。
WAITモードにおける消費電流は7μA。また、3μsという短い時間で休止状態から動作状態へ移行する。Wake-upに要する時間が短ければ短いほど、ぎりぎりまで休止状態を維持でき、全体の消費電力を減らせるという。なお、動作時の消費電流は100μA/MHz程度。
さらに、CPUの休止期間を延ばせるように、18チャネルのDMAコントローラと、周辺回路を制御するペリフェラル・イベント・システム機能を装備している。DMAコントローラを利用すると、CPUを介入させずに、シリアル・インタフェースやA-Dコンバータなどの周辺回路と内蔵メモリの間でデータを受け渡せる。ペリフェラル・イベント・システムは、周辺回路同士の間のデータ転送を管理する。
加えて、特定の条件が成立したときにCPUを休止状態から動作状態へ移行させるSleepWalkingと呼ぶ機能を備える。従来の方法では、内部タイマーが定期的にCPUを起動し、対応が必要な条件があるかどうかをチェックしていたため、CPUとSRAMはかなりの電力を消費していた。また、応答時間が短すぎる場合には、CPUが休止状態に戻ることさえできなかった。SleepWalkingではCPUを深い眠りにつかせ、事前に認められたイベントが発生したときにのみ起動する。CPUは、特定の条件があるかどうかをチェックする必要はない。例えば、あるアドレスがTWI(I2C)インタフェースでの条件と一致する、あるいは特定のしきい値を超えたA-Dコンバータにセンサーが接続されている、などの条件で起動する。SleepWalking機能があれば、周辺回路がこれらのすべてを行い、CPUとSRAMは、条件が一致しない限り起動しない。
これらの技術の多くは、同社の他のマイコン・ファミリにも採用されており、こうしたマイコン向けの低消費電力技術を、同社では包括的にpicoPower技術と呼んでいる。
29ドルで評価できる開発プラットフォームを提供
Atmelは、SAM Gを搭載したボードとライブラリを含む評価キット「Xplained Pro Evaluation Kit」を29ドルで提供している。このボードは、無線モジュールやセンサー・モジュールなどを接続するコネクタを備えている。同社はセンサー素子メーカーやセンサー向けソフトウェアのベンダーと提携関係を結んでおり、各種センサー・モジュールやソフトウェアはこれらのベンダーから提供される。さらに同社は、統合開発環境「Atmel Studio 6」も無償提供している。「SAM Gファミリは、真の“ローパワー”を実現していると自負している。安価に評価できる環境を用意しているので、実際に触れて評価して欲しい」(ガン氏)。
こちらも是非
“もっと見る” インタビュー
IoT社会が求めるセーフティとセキュリティを提供するBlackBerry
携帯端末会社からソフトウェア会社へと変貌を遂げたカナダのBlackBerry。同社を代表するリアルタイムオペレーティングシステム「QNX OS」は、さまざまな組み込みシステムのほか、数多くの自動車に搭載されている。近年、同社が力を入れているのが、FA機器や医療機器など、企業活動や生命財産に影響を与える恐れのあるミッション・クリティカルなシステムだ。取り組みについて日本でBlackBerry QNXするアガルワル・サッチン氏に話を聞いた。
「あるくメカトロウィーゴ」に命を吹き込む、 STM32マイコンと使いやすく充実したエコシステム
リビングロボットが開発した「あるくメカトロウィーゴ」は、ロボット・キャラクターとしての造形の可愛さに加え、ロボットの動作をプログラミングできる手軽さもあり、さまざまな教育現場で活用されている。その動きの制御を担っているのが、STマイクロエレクトロニクス(以下ST)の32ビット汎用マイコンSTM32とセンサーデバイスだ。今回は採用に至った経緯や実際の開発についてお話を伺った。